/** * constructor. * * @param pnumberRenderer number renderer * @param pnumberParser number parser * @param pkeyPressHandler key press handler */ public AbstractWebShimedMinMaxTextBox(final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final KeyPressHandler pkeyPressHandler) { super(pnumberRenderer, pnumberParser, pkeyPressHandler); this.nativeSupport = this.isNative(); }
@Override public void setValue(final T value, final boolean fireEvents) { final T oldValue = getValue(); final String renderedDate = numberRenderer.render(value); getInputElement().setValue(renderedDate); if (!this.nativeSupport && WebshimResources.isInitialized()) { this.getJQueryElement().val(renderedDate); } if (fireEvents) { ValueChangeEvent.fireIfNotEqual(this, oldValue, value); } }
@Override protected void onEnsureDebugId(final String pbaseId) { super.onEnsureDebugId(pbaseId); if (!this.nativeSupport) { WebshimResources.whenReady(event -> { Scheduler.get().scheduleFixedDelay(() -> { this.getJQueryElement().updatePolyfill(); GWT.log("Initialize webshim for: " + getElement().getId()); try { this.getJQueryElement().getShadowElement().addEventListener(Event.CHANGE, listener -> ValueChangeEvent.fire(this, getValue())); } catch (final Exception exception) { GWT.log(exception.getMessage()); } return false; }, 1000); }); } }
@Override public void setStep(final Integer pstep) { super.setStep(pstep); this.updateAttribute("step", Objects.toString(pstep, null)); }
private void updateAttribute(final String pattr, final String pvalue) { if (!this.nativeSupport && WebshimResources.isInitialized()) { if (StringUtils.isEmpty(pvalue)) { this.getJQueryElement().removeAttr(pattr); } else { this.getJQueryElement().attr(pattr, pvalue); } } }
private boolean isNative() { final String rememberValue = getInputElement().getValue(); getInputElement().setValue("x"); final String dateInput = getInputElement().getValue(); getInputElement().setValue(rememberValue); return !StringUtils.equals(dateInput, "x"); }
private JQuery getJQueryElement() { return JQuery.$("#" + getElement().getId()); } }
@Override public void setValue(final T value, final boolean fireEvents) { final T oldValue = getValue(); final String renderedDate = numberRenderer.render(value); getInputElement().setValue(renderedDate); if (!this.nativeSupport && WebshimResources.isInitialized()) { this.getJQueryElement().val(renderedDate); } if (fireEvents) { ValueChangeEvent.fireIfNotEqual(this, oldValue, value); } }
@Override protected void onEnsureDebugId(final String pbaseId) { super.onEnsureDebugId(pbaseId); if (!this.nativeSupport) { WebshimResources.whenReady(event -> { Scheduler.get().scheduleFixedDelay(() -> { this.getJQueryElement().updatePolyfill(); GWT.log("Initialize webshim for: " + getElement().getId()); try { this.getJQueryElement().getShadowElement().addEventListener(Event.CHANGE, listener -> ValueChangeEvent.fire(this, getValue())); } catch (final Exception exception) { GWT.log(exception.getMessage()); } return false; }, 1000); }); } }
@Override public void setStep(final Integer pstep) { super.setStep(pstep); this.updateAttribute("step", Objects.toString(pstep, null)); }
private void updateAttribute(final String pattr, final String pvalue) { if (!this.nativeSupport && WebshimResources.isInitialized()) { if (StringUtils.isEmpty(pvalue)) { this.getJQueryElement().removeAttr(pattr); } else { this.getJQueryElement().attr(pattr, pvalue); } } }
private boolean isNative() { final String rememberValue = getInputElement().getValue(); getInputElement().setValue("x"); final String dateInput = getInputElement().getValue(); getInputElement().setValue(rememberValue); return !StringUtils.equals(dateInput, "x"); }
private JQuery getJQueryElement() { return JQuery.$("#" + getElement().getId()); } }
/** * constructor. * * @param pnumberRenderer number renderer * @param pnumberParser number parser * @param pkeyPressHandler key press handler */ public AbstractWebShimedMinMaxTextBox(final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final KeyPressHandler pkeyPressHandler) { super(pnumberRenderer, pnumberParser, pkeyPressHandler); this.nativeSupport = this.isNative(); }
@Override public void setMin(final T pmin) { super.setMin(pmin); this.updateAttribute("min", numberRenderer.render(pmin)); }
/** * constructor. * * @param pelement input element * @param ptype type of the input element * @param pnumberRenderer number renderer * @param pnumberParser number parser * @param pkeyPressHandler key press handler */ public AbstractWebShimedMinMaxTextBox(final InputElement pelement, final String ptype, final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final KeyPressHandler pkeyPressHandler) { super(pelement, ptype, pnumberRenderer, pnumberParser, pkeyPressHandler); this.nativeSupport = this.isNative(); }
@Override public void setMin(final T pmin) { super.setMin(pmin); this.updateAttribute("min", numberRenderer.render(pmin)); }
/** * constructor. * * @param pnumberRenderer number renderer * @param pnumberParser number parser * @param pplainNumberRenderer number renderer for internal usage * @param pplainNumberParser number parser for internal usage * @param pkeyPressHandler key press handler */ public AbstractWebShimedMinMaxTextBox(final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final Renderer<T> pplainNumberRenderer, final Parser<T> pplainNumberParser, final KeyPressHandler pkeyPressHandler) { super(pnumberRenderer, pnumberParser, pplainNumberRenderer, pplainNumberParser, pkeyPressHandler); this.nativeSupport = this.isNative(); }
@Override public void setMax(final T pmax) { super.setMax(pmax); this.updateAttribute("max", numberRenderer.render(pmax)); }
/** * constructor. * * @param pelement input element * @param ptype type of the input element * @param pnumberRenderer number renderer * @param pnumberParser number parser * @param pkeyPressHandler key press handler */ public AbstractWebShimedMinMaxTextBox(final InputElement pelement, final String ptype, final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final KeyPressHandler pkeyPressHandler) { super(pelement, ptype, pnumberRenderer, pnumberParser, pkeyPressHandler); this.nativeSupport = this.isNative(); }