/** * constructor. * * @param pnumberRenderer number renderer * @param pnumberParser number parser * @param pkeyPressHandler key press handler */ public AbstractMinMaxTextBox(final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final KeyPressHandler pkeyPressHandler) { this(Browser.getDocument().createInputElement(), "number", pnumberRenderer, pnumberParser, pnumberRenderer, pnumberParser, pkeyPressHandler); }
/** * ui constructor. * * @param tag name of the tag to generate */ @UiConstructor public SimpleTagPanel(final String tag) { super((Element) Browser.getDocument().createElement(tag)); } }
final ScriptElement jsScript = Browser.getDocument().createScriptElement(); if (StringUtils.endsWith(scriptname, ".js")) { jsScript.setSrc(scriptname); Browser.getDocument().getHead().appendChild(jsScript);
popupElement.getStyle().setHeight("" + MIN_HEIGHT + "px"); popupElement.getStyle().setOpacity(0); Elements.getDocument().getBody().appendChild(popupElement); Elements.getDocument().addEventListener(Event.MOUSEDOWN, popupListener, false); Elements.getDocument().addEventListener(Event.KEYDOWN, keyboardListener, false); previousFocus = Elements.getDocument().getActiveElement(); Element elementToFocus = listElement.getFirstElementChild(); elementToFocus.setAttribute("selected", "true");
/** * add css script to header. * * @param scriptname style sheet file to add to header */ public static void addToHeader(final String scriptname) { if (!CssResources.isInHeader(scriptname)) { final LinkElement styleLinkElement = Browser.getDocument().createLinkElement(); styleLinkElement.setRel(CssResources.REL_TYPE); styleLinkElement.setType(CssResources.SCRIPT_TYPE); styleLinkElement.setHref(scriptname); Browser.getDocument().getHead().appendChild(styleLinkElement); } }
/** * check if script is already in the header. * * @return true if it exists */ public static boolean isInHeader() { final NodeList scriptList = Browser.getDocument().getHead().getElementsByTagName("script"); for (int i = 0; i < scriptList.getLength(); i++) { final ScriptElement scriptTag = (ScriptElement) scriptList.item(i); if (StringUtils.contains(scriptTag.getSrc(), WebshimResources.POLIFILLER_URL)) { return true; } } return false; } }
/** Activates the currently selected item. */ private void validateItem() { final Element current = Elements.getDocument().getActiveElement(); if (current.getParentElement().isEqualNode(listElement)) { this.popupWidget.validateItem(current); } }
final Element documentElement = Elements.getDocument().getDocumentElement(); EventListener downListener = new EventListener() {
final ScriptElement jsScript = Browser.getDocument().createScriptElement(); if (StringUtils.endsWith(scriptname, ".js")) { jsScript.setSrc(scriptname); Browser.getDocument().getHead().appendChild(jsScript);
/** * add css script to header. * * @param scriptname style sheet file to add to header */ public static void addToHeader(final String scriptname) { if (!CssResources.isInHeader(scriptname)) { final LinkElement styleLinkElement = Browser.getDocument().createLinkElement(); styleLinkElement.setRel(CssResources.REL_TYPE); styleLinkElement.setType(CssResources.SCRIPT_TYPE); styleLinkElement.setHref(scriptname); Browser.getDocument().getHead().appendChild(styleLinkElement); } }
/** * check if script is already in the header. * * @return true if it exists */ public static boolean isInHeader(final String scriptname) { final NodeList linkList = Browser.getDocument().getHead().getElementsByTagName(CssResources.TAG_TYPE); for (int i = 0; i < linkList.getLength(); i++) { final LinkElement linkTag = (LinkElement) linkList.item(i); if (StringUtils.equals(linkTag.getType(), CssResources.SCRIPT_TYPE) && StringUtils.equals(linkTag.getRel(), CssResources.REL_TYPE) && StringUtils.contains(linkTag.getHref(), scriptname)) { return true; } } return false; } }
/** * Returns current selected element when we have an item in focus or {@code null} otherwise * * @return current selected element or {@code null} when we have no any items in focus */ @Nullable private Element getSelectedElement() { Element selectedElement = Elements.getDocument().getActiveElement(); return selectedElement.getParentElement().isEqualNode(listElement) ? selectedElement : null; } }
/** * constructor. * * @param pnumberRenderer number renderer * @param pnumberParser number parser * @param pkeyPressHandler key press handler */ public AbstractMinMaxTextBox(final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final KeyPressHandler pkeyPressHandler) { this(Browser.getDocument().createInputElement(), "number", pnumberRenderer, pnumberParser, pnumberRenderer, pnumberParser, pkeyPressHandler); }
/** * async load of resources. * * @param function function to call on load */ public static void whenReady(final EventListener function) { JQueryResources.eventLisenerQueue.add(function); if (JQueryResources.initializationStarted || JQueryResources.isInHeader()) { if (JQueryResources.isInitialized()) { JQueryResources.eventLisenerQueue .forEach(action -> action.handleEvent(JQueryResources.rememberEvent)); JQueryResources.eventLisenerQueue.clear(); } return; } JQueryResources.initializationStarted = true; final ScriptElement jqueryScript = Browser.getDocument().createScriptElement(); jqueryScript.setSrc(JQueryResources.JQUERY_URL); jqueryScript.setType(JsResources.SCRIPT_TYPE); Browser.getDocument().getHead().appendChild(jqueryScript); jqueryScript.setOnload(event -> { JQueryResources.eventLisenerQueue.forEach(action -> action.handleEvent(event)); JQueryResources.eventLisenerQueue.clear(); JQueryResources.rememberEvent = event; }); }
/** * check if script is already in the header. * * @return true if it exists */ public static boolean isInHeader() { boolean jqueryInHeader = false; boolean jqueryMigrateInHeader = false; final NodeList scriptList = Browser.getDocument().getHead().getElementsByTagName("script"); for (int i = 0; i < scriptList.getLength() && !(jqueryInHeader && jqueryMigrateInHeader); i++) { final ScriptElement scriptTag = (ScriptElement) scriptList.item(i); jqueryInHeader |= StringUtils.contains(scriptTag.getSrc(), JQueryResources.JQUERY_URL); jqueryMigrateInHeader |= StringUtils.contains(scriptTag.getSrc(), JQueryResources.JQUERY_MIGRATE_URL); } return jqueryInHeader && jqueryMigrateInHeader; } }
/** * Focus the next item in the list, or the first item if we are already at the last. In the case * the list doesn't currently have focus, focus the first element. */ private void focusNext() { final Element current = Elements.getDocument().getActiveElement(); if (current.getParentElement().isEqualNode(listElement)) { final Element next = current.getNextElementSibling(); if (next != null) { select(next); next.focus(); } else { focusFirst(); } } else { // we don't actually have focus, focus the first element focusFirst(); } }
/** * ui constructor. * * @param tag name of the tag to generate */ @UiConstructor public SimpleTagPanel(final String tag) { super((Element) Browser.getDocument().createElement(tag)); } }
/** * 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 AbstractMinMaxTextBox(final Renderer<T> pnumberRenderer, final Parser<T> pnumberParser, final Renderer<T> pplainNumberRenderer, final Parser<T> pplainNumberParser, final KeyPressHandler pkeyPressHandler) { this(Browser.getDocument().createInputElement(), "number", pnumberRenderer, pnumberParser, pplainNumberRenderer, pplainNumberParser, pkeyPressHandler); }
final ScriptElement jqueryScript = Browser.getDocument().createScriptElement(); jqueryScript.setSrc(JQueryResources.JQUERY_URL); jqueryScript.setType(JsResources.SCRIPT_TYPE); Browser.getDocument().getHead().appendChild(jqueryScript); final ScriptElement jqueryMigrateScript = Browser.getDocument().createScriptElement(); jqueryMigrateScript.setSrc(JQueryResources.JQUERY_MIGRATE_URL); jqueryMigrateScript.setType(JsResources.SCRIPT_TYPE); Browser.getDocument().getHead().appendChild(jqueryMigrateScript); jqueryMigrateScript.setOnload(secondEvent -> { JQueryResources.eventLisenerQueue.forEach(action -> action.handleEvent(secondEvent));
/** * check if script is already in the header. * * @return true if it exists */ public static boolean isInHeader() { final NodeList scriptList = Browser.getDocument().getHead().getElementsByTagName("script"); for (int i = 0; i < scriptList.getLength(); i++) { final ScriptElement scriptTag = (ScriptElement) scriptList.item(i); if (StringUtils.contains(scriptTag.getSrc(), JQueryResources.JQUERY_URL)) { return true; } } return false; } }