/** * Get the JavaScript object for the current Page, or null if there is no * current page. * * @see Page#getCurrent() * * @return the JavaScript object corresponding to the current Page, or * <code>null</code> if there is no current page. */ public static JavaScript getCurrent() { Page page = Page.getCurrent(); if (page == null) { return null; } return page.getJavaScript(); }
/** * Executes JavaScript in this window. * * <p> * This method allows one to inject javascript from the server to client. A * client implementation is not required to implement this functionality, * but currently all web-based clients do implement this. * </p> * * <p> * Executing javascript this way often leads to cross-browser compatibility * issues and regressions that are hard to resolve. Use of this method * should be avoided and instead it is recommended to create new widgets * with GWT. For more info on creating own, reusable client-side widgets in * Java, read the corresponding chapter in Book of Vaadin. * </p> * * @param script * JavaScript snippet that will be executed. * * @deprecated As of 7.0, use JavaScript.getCurrent().execute(String) * instead */ @Deprecated public void executeJavaScript(String script) { getPage().getJavaScript().execute(script); }
@Override public void execute(final List<VertexRef> targets, final OperationContext operationContext) { final Collection<VertexRef> availableNodes = m_geoAssetProvider.getNodesWithCoordinates(); final StringBuilder sb = new StringBuilder(); sb.append(VaadinServlet.getCurrent().getServletContext().getContextPath()); sb.append("/node-maps#search/nodeId%20in%20"); final List<String> nodeIds = new ArrayList<>(); for (final VertexRef ref : targets) { if (availableNodes.contains(ref)) { nodeIds.add(ref.getId()); } } final Iterator<String> i = nodeIds.iterator(); while (i.hasNext()) { sb.append(i.next()); if (i.hasNext()) { sb.append(","); } } final String redirectUrl = sb.toString(); LOG.info("redirecting to: " + redirectUrl); final UI ui = operationContext.getMainWindow(); ui.getPage().getJavaScript().execute("window.location = '" + redirectUrl + "';"); }
private static void getDynamicStyles(final String colorPickedPreview) { Page.getCurrent().getJavaScript() .execute(HawkbitCommonUtil.changeToNewSelectedPreviewColor(colorPickedPreview)); }
private static void getDynamicStyles(final String colorPickedPreview) { Page.getCurrent().getJavaScript() .execute(HawkbitCommonUtil.changeToNewSelectedPreviewColor(colorPickedPreview)); }
@Override public void doRevert() { super.doRevert(); JavaScript js = Page.getCurrent().getJavaScript(); js.execute("window.close();"); }
@Override public void actionPerform(Component component) { super.actionPerform(component); JavaScript js = Page.getCurrent().getJavaScript(); js.execute("window.close();"); }
/** * Dynamic styles for window. * * @param top * int value * @param marginLeft * int value */ protected void getPreviewButtonColor(final String color) { Page.getCurrent().getJavaScript().execute(HawkbitCommonUtil.getPreviewButtonColorScript(color)); }
/** * Get target style - Dynamically as per the color picked, cannot be done * from the static css. * * @param colorPickedPreview */ private static void getTargetDynamicStyles(final String colorPickedPreview) { Page.getCurrent().getJavaScript() .execute(HawkbitCommonUtil.changeToNewSelectedPreviewColor(colorPickedPreview)); }
/** * Get target style - Dynamically as per the color picked, cannot be done * from the static css. * * @param colorPickedPreview */ private static void getTargetDynamicStyles(final String colorPickedPreview) { Page.getCurrent().getJavaScript() .execute(HawkbitCommonUtil.changeToNewSelectedPreviewColor(colorPickedPreview)); }
/** * Dynamic styles for window. * * @param top * int value * @param marginLeft * int value */ protected void getPreviewButtonColor(final String color) { Page.getCurrent().getJavaScript().execute(HawkbitCommonUtil.getPreviewButtonColorScript(color)); }
private void styleTableOnDistSelection() { Page.getCurrent().getJavaScript().execute(HawkbitCommonUtil.getScriptSMHighlightReset()); setCellStyleGenerator(new Table.CellStyleGenerator() { private static final long serialVersionUID = 1L; @Override public String getStyle(final Table source, final Object itemId, final Object propertyId) { return createTableStyle(itemId, propertyId); } }); }
private void styleTableOnDistSelection() { Page.getCurrent().getJavaScript().execute(HawkbitCommonUtil.getScriptSMHighlightReset()); setCellStyleGenerator(new Table.CellStyleGenerator() { private static final long serialVersionUID = 1L; @Override public String getStyle(final Table source, final Object itemId, final Object propertyId) { return createTableStyle(itemId, propertyId); } }); }
private void callElectronUiApi(String[] args) { JsonArray paramsArray = Json.createArray(); int i = 0; for (String arg : args) { paramsArray.set(i, Json.create(arg)); i++; } getPage().getJavaScript().execute("callElectronUiApi(" + paramsArray.toJson() + ")"); }
private static void addTypeStyle(final Long tagId, final String color) { final JavaScript javaScript = UI.getCurrent().getPage().getJavaScript(); UI.getCurrent() .access(() -> javaScript.execute( HawkbitCommonUtil.getScriptSMHighlightWithColor(".v-table-row-distribution-upload-type-" + tagId + "{background-color:" + color + " !important;background-image:none !important }"))); }
private static void addTypeStyle(final Long tagId, final String color) { final JavaScript javaScript = UI.getCurrent().getPage().getJavaScript(); UI.getCurrent() .access(() -> javaScript.execute( HawkbitCommonUtil.getScriptSMHighlightWithColor(".v-table-row-distribution-upload-type-" + tagId + "{background-color:" + color + " !important;background-image:none !important }"))); }
private void initElectronApi() { JavaScript js = getPage().getJavaScript(); js.addFunction("appMenuItemTriggered", arguments -> { if (arguments.length() == 1 && arguments.get(0) instanceof JsonString) { String menuId = arguments.get(0).asString(); if ("About".equals(menuId)) { onMenuAbout(); } else if ("Exit".equals(menuId)) { onWindowExit(); } } }); js.addFunction("appWindowExit", arguments -> onWindowExit()); Page.Styles styles = getPage().getStyles(); try { InputStream resource = MainUI.class.getResourceAsStream( "/org/strangeway/electronvaadin/resources/electron.css"); styles.add(IOUtils.toString(resource, StandardCharsets.UTF_8)); } catch (IOException ignored) { } }
protected void doAdd() { List<Pair<String,Object>> options = getAddOptions(); if (options == null || options.size() <= 0) return; // if (options.size() == 1) { // doAdd(options.get(0).getValue()); // } else { menuAdd.removeAllItems(); for (Pair<String, Object> item : options) { Pair<String, Object[]> out = new Pair<String, Object[]>(item.getKey(), new Object[] {"add", item.getValue()} ); menuAdd.addItem(out); } String myCode = "$('#" + menuAdd.getId() + "').find('input')[0].click();"; Page.getCurrent().getJavaScript().execute(myCode); // } }
protected void doModify() { List<Pair<String,Object>> options = getModifyOptions(); if (options == null || options.size() <= 0) return; // if (options.size() == 1) { // doModify(options.get(0).getValue()); // } else { menuModify.removeAllItems(); for (Pair<String, Object> item : options) { Pair<String, Object[]> out = new Pair<String, Object[]>(item.getKey(), new Object[] {"mod", item.getValue()} ); menuModify.addItem(out); } String myCode = "$('#" + menuModify.getId() + "').find('input')[0].click();"; Page.getCurrent().getJavaScript().execute(myCode); // } }
protected void doDelete() { List<Pair<String,Object>> options = getDeleteOptions(); if (options == null || options.size() <= 0) return; // if (options.size() == 1) { // doDelete(options.get(0).getValue()); // } else { menuDelete.removeAllItems(); for (Pair<String, Object> item : options) { Pair<String, Object[]> out = new Pair<String, Object[]>(item.getKey(), new Object[] {"del", item.getValue()} ); menuDelete.addItem(out); } String myCode = "$('#" + menuDelete.getId() + "').find('input')[0].click();"; Page.getCurrent().getJavaScript().execute(myCode); // } }