List of usage examples for com.google.gwt.user.client Window open
public static void open(String url, String name, String features)
From source file:com.openkm.frontend.client.panel.ExtendedDockPanel.java
License:Open Source License
/** * enableKeyShorcuts/*from ww w. j ava2 s.co m*/ */ public void enableKeyShorcuts() { // Log.debug("ExtendedDockPanel enableKeyShortcuts"); dockPanel.sinkEvents(Event.KEYEVENTS); handlerRegistration = Event.addNativePreviewHandler(new NativePreviewHandler() { @Override public void onPreviewNativeEvent(NativePreviewEvent event) { boolean propagate = true; int type = event.getTypeInt(); if (type == Event.ONKEYDOWN) { int keyCode = event.getNativeEvent().getKeyCode(); switch (keyCode) { case Keyboard.KEY_F2: if (actualView == UIDockPanelConstants.DESKTOP && Main.get().activeFolderTree.isPanelSelected() && Main.get().mainPanel.topPanel.toolBar.getToolBarOption().renameOption && (Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_TAXONOMY || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_PERSONAL || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_TEMPLATES || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_CATEGORIES || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_MAIL)) { Main.get().mainPanel.topPanel.toolBar.executeRename(); propagate = false; } else if (Main.get().mainPanel.topPanel.toolBar.getToolBarOption().renameOption && (Main.get().mainPanel.desktop.browser.fileBrowser.isDocumentSelected() || Main.get().mainPanel.desktop.browser.fileBrowser.isFolderSelected() || Main.get().mainPanel.desktop.browser.fileBrowser.isMailSelected())) { Main.get().mainPanel.topPanel.toolBar.executeRename(); propagate = false; } break; // case Keyboard.KEY_SUPR: // if (actualView == UIDockPanelConstants.DESKTOP && // Main.get().activeFolderTree.isPanelSelected() && // Main.get().mainPanel.topPanel.toolBar.getToolBarOption().deleteOption && // (Main.get().mainPanel.desktop.navigator.getStackIndex()==UIDesktopConstants.NAVIGATOR_TAXONOMY // || // Main.get().mainPanel.desktop.navigator.getStackIndex()==UIDesktopConstants.NAVIGATOR_CATEGORIES // || // Main.get().mainPanel.desktop.navigator.getStackIndex()==UIDesktopConstants.NAVIGATOR_PERSONAL // || // Main.get().mainPanel.desktop.navigator.getStackIndex()==UIDesktopConstants.NAVIGATOR_TEMPLATES // || // Main.get().mainPanel.desktop.navigator.getStackIndex()==UIDesktopConstants.NAVIGATOR_MAIL)) { // // Main.get().mainPanel.topPanel.toolBar.executeDelete(); // propagate = false; // } else if (Main.get().mainPanel.topPanel.toolBar.getToolBarOption().deleteOption && ( // Main.get().mainPanel.desktop.browser.fileBrowser.isDocumentSelected() || // Main.get().mainPanel.desktop.browser.fileBrowser.isFolderSelected() || // Main.get().mainPanel.desktop.browser.fileBrowser.isMailSelected())) { // // Main.get().mainPanel.topPanel.toolBar.executeDelete(); // propagate = false; // } // break; case Keyboard.KEY_C: case Keyboard.KEY_X: // Case CTRL + SHIFT + C if (event.getNativeEvent().getCtrlKey() && event.getNativeEvent().getShiftKey()) { if (actualView == UIDockPanelConstants.DESKTOP && Main.get().activeFolderTree.isPanelSelected() && Main.get().mainPanel.topPanel.toolBar.getToolBarOption().copyOption && (Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_TAXONOMY || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_PERSONAL || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_TEMPLATES || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_MAIL)) { // Saves folder to be copied GWTFolder folder = Main.get().activeFolderTree.getFolder(); folderSelectPopup.setEntryPoint(FolderSelectPopup.ENTRYPOINT_KEYBOARD); switch (keyCode) { case Keyboard.KEY_C: folderSelectPopup.setToCopy(folder); Main.get().mainPanel.bottomPanel.setStatus("status.folder.copied", false); break; case Keyboard.KEY_X: Main.get().mainPanel.bottomPanel.setStatus("status.folder.cut", false); // Sets the origin panel an treitem to be removed after move folderSelectPopup .setOriginPanel(Main.get().mainPanel.desktop.navigator.getStackIndex()); TreeItem actualItem = Main.get().activeFolderTree.getActualItem(); folderSelectPopup.setTreeItemToBeDeleted(actualItem); folderSelectPopup.setToMove(folder); break; } propagate = false; } else if (Main.get().mainPanel.topPanel.toolBar.getToolBarOption().copyOption && (Main.get().mainPanel.desktop.browser.fileBrowser.isDocumentSelected() || Main.get().mainPanel.desktop.browser.fileBrowser.isFolderSelected() || Main.get().mainPanel.desktop.browser.fileBrowser.isMailSelected())) { // Saves the document or folder to be copied folderSelectPopup.setEntryPoint(FolderSelectPopup.ENTRYPOINT_KEYBOARD); if (Main.get().mainPanel.desktop.browser.fileBrowser.isDocumentSelected()) { GWTDocument document = Main.get().mainPanel.desktop.browser.fileBrowser .getDocument(); switch (keyCode) { case Keyboard.KEY_C: Main.get().mainPanel.bottomPanel.setStatus("status.document.copied", false); folderSelectPopup.setToCopy(document); break; case Keyboard.KEY_X: Main.get().mainPanel.bottomPanel.setStatus("status.document.cut", false); folderSelectPopup.setToMove(document); break; } } else if (Main.get().mainPanel.desktop.browser.fileBrowser.isMailSelected()) { GWTMail mail = Main.get().mainPanel.desktop.browser.fileBrowser.getMail(); switch (keyCode) { case Keyboard.KEY_C: Main.get().mainPanel.bottomPanel.setStatus("status.document.copied", false); folderSelectPopup.setToCopy(mail); break; case Keyboard.KEY_X: Main.get().mainPanel.bottomPanel.setStatus("status.document.cut", false); folderSelectPopup.setToMove(mail); break; } } else { GWTFolder folder = Main.get().mainPanel.desktop.browser.fileBrowser.getFolder(); switch (keyCode) { case Keyboard.KEY_C: Main.get().mainPanel.bottomPanel.setStatus("status.folder.copied", false); folderSelectPopup.setToCopy(folder); break; case Keyboard.KEY_X: Main.get().mainPanel.bottomPanel.setStatus("status.folder.cut", false); // Sets the origin panel and treeitem to be removed after move folderSelectPopup.setOriginPanel( Main.get().mainPanel.desktop.navigator.getStackIndex()); TreeItem actualItem = Main.get().activeFolderTree .getChildFolder(folder.getPath()); folderSelectPopup.setTreeItemToBeDeleted(actualItem); folderSelectPopup.setToMove(folder); break; } } propagate = false; } } break; case Keyboard.KEY_V: // Case CTRL + SHIFT + V if (event.getNativeEvent().getCtrlKey() && event.getNativeEvent().getShiftKey() && (folderSelectPopup.getAction() == FolderSelectPopup.ACTION_COPY || folderSelectPopup.getAction() == FolderSelectPopup.ACTION_MOVE)) { // Destination folder is always selected by tree if (actualView == UIDockPanelConstants.DESKTOP && Main.get().activeFolderTree.isPanelSelected() && (Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_TAXONOMY || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_PERSONAL || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_TEMPLATES || Main.get().mainPanel.desktop.navigator .getStackIndex() == UIDesktopConstants.NAVIGATOR_MAIL)) { // Evaluates destination folder grant to copy GWTFolder folder = Main.get().activeFolderTree.getFolder(); if (folderSelectPopup.evaluateActionSecurity(folder)) { Main.get().mainPanel.bottomPanel.resetStatus(); folderSelectPopup.executeAction(folder.getPath(), true); } } propagate = false; } break; case Keyboard.KEY_D: // Case CTRL + D if (event.getNativeEvent().getCtrlKey() && actualView == UIDockPanelConstants.DESKTOP && Main.get().mainPanel.topPanel.toolBar.getToolBarOption().downloadOption) { Main.get().mainPanel.topPanel.toolBar.executeDownload(); propagate = false; } break; case Keyboard.KEY_T: // Case CTRL+T if (event.getNativeEvent().getCtrlKey()) { Main.get().testPopup.center(); } break; case Keyboard.KEY_Z: // Case CTRL+Z if (event.getNativeEvent().getCtrlKey()) { if (Log.getCurrentLogLevel() == Log.LOG_LEVEL_DEBUG) { Log.setCurrentLogLevel(Log.LOG_LEVEL_OFF); Main.get().mainPanel.bottomPanel.setStatus("status.debug.disabled", false); } else { Log.setCurrentLogLevel(Log.LOG_LEVEL_DEBUG); Main.get().mainPanel.bottomPanel.setStatus("status.debug.enabled", false); } propagate = false; } break; case Keyboard.KEY_N: // Case CTRL + N if (event.getNativeEvent().getCtrlKey() && actualView == UIDockPanelConstants.DESKTOP && Main.get().mainPanel.topPanel.toolBar.getToolBarOption().createFolderOption) { Main.get().mainPanel.topPanel.toolBar.executeFolderDirectory(); propagate = false; } break; case Keyboard.KEY_F5: if (actualView == UIDockPanelConstants.DESKTOP && Main.get().mainPanel.topPanel.toolBar.getToolBarOption().refreshOption) { Main.get().mainPanel.topPanel.toolBar.executeRefresh(); propagate = false; } break; case Keyboard.KEY_INSERT: if (actualView == UIDockPanelConstants.DESKTOP && Main.get().mainPanel.topPanel.toolBar.getToolBarOption().addDocumentOption) { Main.get().mainPanel.topPanel.toolBar.executeAddDocument(); propagate = false; } break; case Keyboard.KEY_B: // Case ALT + B if (event.getNativeEvent().getAltKey() && Main.get().mainPanel.topPanel.mainMenu.getToolBarOption().homeOption) { Main.get().mainPanel.topPanel.mainMenu.manageBookmarkPopup.showPopup(); propagate = false; } break; case Keyboard.KEY_F1: Window.open(MainMenu.URI_DOCUMENTATION, "_blank", ""); propagate = false; break; case Keyboard.KEY_Q: // Case CTRL + ALT + Q if (event.getNativeEvent().getCtrlKey() && event.getNativeEvent().getAltKey()) { Main.get().logoutPopup.logout(); } break; // case Keyboard.KEY_DOWN: // if (isFilebrowserKeyEnabled()) { // Main.get().mainPanel.desktop.browser.fileBrowser.table.selectDown(); // } // break; // // case Keyboard.KEY_UP: // if (isFilebrowserKeyEnabled()) { // Main.get().mainPanel.desktop.browser.fileBrowser.table.selectUp(); // } // break; } } // Not propagates event to the browser if (!propagate) { DOM.eventPreventDefault((Event) event.getNativeEvent()); } } }); }
From source file:com.openkm.frontend.client.widget.ErrorPopup.java
License:Open Source License
public void onClick(ClickEvent event) { Log.debug("onClick(" + event + ")"); hide();/*from w w w. j a v a 2 s . c om*/ // Removes all previous text for next errors messages, varios errors can be added simultanealy // on show(String msg ) text.setText(""); if (logout) { Log.debug("onClick: redirect"); Window.open("index.jsp", "_self", ""); } Log.debug("onClick: void"); }
From source file:com.openkm.frontend.client.widget.form.FormManager.java
License:Open Source License
/** * drawFormElement/* w w w.jav a2 s . c om*/ */ private void drawFormElement(int row, final GWTFormElement gwtFormElement, boolean readOnly, boolean searchView) { final String propertyName = gwtFormElement.getName(); if (gwtFormElement instanceof GWTButton) { final GWTButton gWTButton = (GWTButton) gwtFormElement; if (submitForm != null) { submitForm.setVisible(false); // Always set form hidden because there's new buttons } Button transButton = new Button(gWTButton.getLabel()); String style = Character.toUpperCase(gWTButton.getStyle().charAt(0)) + gWTButton.getStyle().substring(1); transButton.setStyleName("okm-" + style + "Button"); HTML space = new HTML(" "); submitButtonPanel.add(transButton); submitButtonPanel.add(space); submitButtonPanel.setCellWidth(space, "5px"); // Setting submit button transButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (gWTButton.getConfirmation() != null && !gWTButton.getConfirmation().equals("")) { Main.get().confirmPopup.setConfirm(ConfirmPopup.CONFIRM_WORKFLOW_ACTION); Main.get().confirmPopup.setConfirmationText(gWTButton.getConfirmation()); ValidationButton validationButton = new ValidationButton(gWTButton, singleton); Main.get().confirmPopup.setValue(validationButton); Main.get().confirmPopup.center(); } else { if (gWTButton.isValidate()) { if (validationProcessor.validate()) { if (gWTButton.getTransition().equals("")) { workflow.setTaskInstanceValues(taskInstance.getId(), null); } else { workflow.setTaskInstanceValues(taskInstance.getId(), gWTButton.getTransition()); } disableAllButtonList(); } } else { if (gWTButton.getTransition().equals("")) { workflow.setTaskInstanceValues(taskInstance.getId(), null); } else { workflow.setTaskInstanceValues(taskInstance.getId(), gWTButton.getTransition()); } disableAllButtonList(); } } } }); // Adding button to control list if (!buttonControlList.contains(transButton)) { buttonControlList.add(transButton); } } else if (gwtFormElement instanceof GWTTextArea) { HorizontalPanel hPanel = new HorizontalPanel(); TextArea textArea = new TextArea(); textArea.setEnabled((!readOnly && !((GWTTextArea) gwtFormElement).isReadonly()) || isSearchView); // read only hPanel.add(textArea); textArea.setStyleName("okm-TextArea"); textArea.setText(((GWTTextArea) gwtFormElement).getValue()); textArea.setSize(gwtFormElement.getWidth(), gwtFormElement.getHeight()); HTML text = new HTML(); // Create a widget for this property text.setHTML(((GWTTextArea) gwtFormElement).getValue().replaceAll("\n", "<br>")); hWidgetProperties.put(propertyName, hPanel); table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>"); table.setWidget(row, 1, text); table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP); table.getCellFormatter().setWidth(row, 1, "100%"); if (searchView || isMassiveView) { final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { for (int row = 0; row < table.getRowCount(); row++) { if (table.getWidget(row, 2).equals(removeImage)) { table.removeRow(row); break; } } hWidgetProperties.remove(propertyName); hPropertyParams.remove(propertyName); formElementList.remove(gwtFormElement); propertyHandler.propertyRemoved(); } }); removeImage.addStyleName("okm-Hyperlink"); table.setWidget(row, 2, removeImage); table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP); if (propertyHandler != null) { textArea.addKeyUpHandler(new KeyUpHandler() { @Override public void onKeyUp(KeyUpEvent event) { propertyHandler.metadataValueChanged(); } }); } setRowWordWarp(row, 3, true); } else { setRowWordWarp(row, 2, true); } } else if (gwtFormElement instanceof GWTInput) { final HorizontalPanel hPanel = new HorizontalPanel(); final TextBox textBox = new TextBox(); // Create a widget for this property textBox.setEnabled((!readOnly && !((GWTInput) gwtFormElement).isReadonly()) || isSearchView); // read only hPanel.add(textBox); String value = ""; if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_TEXT) || ((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_LINK) || ((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_FOLDER)) { textBox.setText(((GWTInput) gwtFormElement).getValue()); value = ((GWTInput) gwtFormElement).getValue(); } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) { if (((GWTInput) gwtFormElement).getDate() != null) { DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern")); textBox.setText(dtf.format(((GWTInput) gwtFormElement).getDate())); value = dtf.format(((GWTInput) gwtFormElement).getDate()); } } textBox.setWidth(gwtFormElement.getWidth()); textBox.setStyleName("okm-Input"); hWidgetProperties.put(propertyName, hPanel); table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>"); table.setHTML(row, 1, value); if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) { final PopupPanel calendarPopup = new PopupPanel(true); final CalendarWidget calendar = new CalendarWidget(); calendar.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { calendarPopup.hide(); DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern")); textBox.setText(dtf.format(calendar.getDate())); ((GWTInput) gwtFormElement).setDate(calendar.getDate()); if (propertyHandler != null) { propertyHandler.metadataValueChanged(); } } }); calendarPopup.add(calendar); final Image calendarIcon = new Image(OKMBundleResources.INSTANCE.calendar()); if (readOnly || ((GWTInput) gwtFormElement).isReadonly()) { // read only calendarIcon.setResource(OKMBundleResources.INSTANCE.calendarDisabled()); } else { calendarIcon.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { calendarPopup.setPopupPosition(calendarIcon.getAbsoluteLeft(), calendarIcon.getAbsoluteTop() - 2); if (calendar.getDate() != null) { calendar.setNow((Date) calendar.getDate().clone()); } else { calendar.setNow(null); } calendarPopup.show(); } }); } calendarIcon.setStyleName("okm-Hyperlink"); hPanel.add(Util.hSpace("5")); hPanel.add(calendarIcon); textBox.setEnabled(false); } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_LINK)) { if (!value.equals("")) { HorizontalPanel hLinkPanel = new HorizontalPanel(); Anchor anchor = new Anchor(value, true); final String url = value; anchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open(url, url, ""); } }); anchor.setStyleName("okm-Hyperlink"); String containerName = ((GWTInput) gwtFormElement).getName() + "ContainerName"; hLinkPanel.add(new HTML("<div id=\"" + containerName + "\"></div>\n")); HTML space = new HTML(""); hLinkPanel.add(space); hLinkPanel.add(anchor); hLinkPanel.setCellWidth(space, "5px"); table.setWidget(row, 1, hLinkPanel); Util.createClipboardButton(containerName, url); } else { table.setHTML(row, 1, ""); } } else if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_FOLDER)) { if (!value.equals("")) { Anchor anchor = new Anchor(); final GWTFolder folder = ((GWTInput) gwtFormElement).getFolder(); // remove first ocurrence String path = value.substring(value.indexOf("/", 1) + 1); // Looks if must change icon on parent if now has no childs and properties with user security // atention if (folder.isHasChildren()) { anchor.setHTML(Util.imageItemHTML("img/menuitem_childs.gif", path, "top")); } else { anchor.setHTML(Util.imageItemHTML("img/menuitem_empty.gif", path, "top")); } anchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { CommonUI.openPath(folder.getPath(), null); } }); anchor.setStyleName("okm-KeyMap-ImageHover"); table.setWidget(row, 1, anchor); } else { table.setHTML(row, 1, ""); } Image pathExplorer = new Image(OKMBundleResources.INSTANCE.folderExplorer()); pathExplorer.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { // when any changes is done is fired search.metadataValueChanged(); folderSelectPopup.show(textBox, propertyHandler); } }); pathExplorer.setStyleName("okm-KeyMap-ImageHover"); hPanel.add(Util.hSpace("5")); hPanel.add(pathExplorer); hPanel.setCellVerticalAlignment(pathExplorer, HasAlignment.ALIGN_MIDDLE); pathExplorer.setVisible((!readOnly && !((GWTInput) gwtFormElement).isReadonly()) || isSearchView); // read only textBox.setEnabled(false); } table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP); table.getCellFormatter().setWidth(row, 1, "100%"); if (searchView || isMassiveView) { if (searchView) { // Second date input if (((GWTInput) gwtFormElement).getType().equals(GWTInput.TYPE_DATE)) { final TextBox textBoxTo = new TextBox(); textBoxTo.setWidth(gwtFormElement.getWidth()); textBoxTo.setStyleName("okm-Input"); hPanel.add(new HTML(" ↔ ")); hPanel.add(textBoxTo); if (((GWTInput) gwtFormElement).getDateTo() != null) { DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern")); textBoxTo.setText(dtf.format(((GWTInput) gwtFormElement).getDateTo())); } final PopupPanel calendarPopup = new PopupPanel(true); final CalendarWidget calendar = new CalendarWidget(); calendar.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { calendarPopup.hide(); DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.day.pattern")); textBoxTo.setText(dtf.format(calendar.getDate())); ((GWTInput) gwtFormElement).setDateTo(calendar.getDate()); if (propertyHandler != null) { propertyHandler.metadataValueChanged(); } } }); calendarPopup.add(calendar); final Image calendarIcon = new Image(OKMBundleResources.INSTANCE.calendar()); calendarIcon.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { calendarPopup.setPopupPosition(calendarIcon.getAbsoluteLeft(), calendarIcon.getAbsoluteTop() - 2); calendarPopup.show(); } }); calendarIcon.setStyleName("okm-Hyperlink"); hPanel.add(Util.hSpace("5")); hPanel.add(calendarIcon); textBoxTo.setEnabled(false); // Clean final Image cleanIcon = new Image(OKMBundleResources.INSTANCE.cleanIcon()); cleanIcon.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { TextBox textBox = (TextBox) hPanel.getWidget(0); textBox.setText(""); textBoxTo.setText(""); ((GWTInput) gwtFormElement).setDate(null); ((GWTInput) gwtFormElement).setDateTo(null); } }); cleanIcon.setStyleName("okm-Hyperlink"); hPanel.add(Util.hSpace("5")); hPanel.add(cleanIcon); } } // Delete final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { for (int row = 0; row < table.getRowCount(); row++) { if (table.getWidget(row, 2).equals(removeImage)) { table.removeRow(row); break; } } hWidgetProperties.remove(propertyName); hPropertyParams.remove(propertyName); formElementList.remove(gwtFormElement); propertyHandler.propertyRemoved(); } }); removeImage.addStyleName("okm-Hyperlink"); table.setWidget(row, 2, removeImage); table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP); if (propertyHandler != null) { textBox.addKeyUpHandler(new KeyUpHandler() { @Override public void onKeyUp(KeyUpEvent event) { propertyHandler.metadataValueChanged(); } }); } setRowWordWarp(row, 3, true); } else { // Clean icon ( case is not readonly ) final Image cleanIcon = new Image(OKMBundleResources.INSTANCE.cleanIcon()); cleanIcon.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { TextBox textBox = (TextBox) hPanel.getWidget(0); textBox.setText(""); ((GWTInput) gwtFormElement).setDate(null); ((GWTInput) gwtFormElement).setFolder(new GWTFolder()); } }); cleanIcon.setStyleName("okm-Hyperlink"); hPanel.add(Util.hSpace("5")); hPanel.add(cleanIcon); cleanIcon.setVisible((!readOnly && !((GWTInput) gwtFormElement).isReadonly())); // read only setRowWordWarp(row, 2, true); } } else if (gwtFormElement instanceof GWTSuggestBox) { HorizontalPanel hPanel = new HorizontalPanel(); final GWTSuggestBox suggestBox = (GWTSuggestBox) gwtFormElement; final TextBox textBox = new TextBox(); // Create a widget for this property textBox.setWidth(gwtFormElement.getWidth()); textBox.setStyleName("okm-Input"); textBox.setReadOnly(true); textBox.setEnabled((!readOnly && !suggestBox.isReadonly()) || isSearchView); // read only final HTML hiddenKey = new HTML(""); hiddenKey.setVisible(false); if (suggestBox.getValue() != null) { hiddenKey.setHTML(suggestBox.getValue()); } hPanel.add(textBox); hPanel.add(hiddenKey); final HTML value = new HTML(""); table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>"); table.setWidget(row, 1, value); table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP); table.getCellFormatter().setWidth(row, 1, "100%"); if (textBox.isEnabled()) { final Image databaseRecordImage = new Image(OKMBundleResources.INSTANCE.databaseRecord()); databaseRecordImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { List<String> tables = new ArrayList<String>(); if (suggestBox.getTable() != null) { tables.add(suggestBox.getTable()); } DatabaseRecord databaseRecord = new DatabaseRecord(hiddenKey, textBox); // when any changes is done is fired search.metadataValueChanged(); DatabaseRecordSelectPopup drsPopup = new DatabaseRecordSelectPopup(suggestBox, databaseRecord, propertyHandler); drsPopup.setWidth("300"); drsPopup.setHeight("220"); drsPopup.setStyleName("okm-Popup"); drsPopup.setPopupPosition(databaseRecordImage.getAbsoluteLeft(), databaseRecordImage.getAbsoluteTop() - 2); drsPopup.show(); } }); databaseRecordImage.setStyleName("okm-Hyperlink"); hPanel.add(new HTML(" ")); hPanel.add(databaseRecordImage); } hWidgetProperties.put(propertyName, hPanel); if (!suggestBox.getValue().equals("")) { textBox.setValue(suggestBox.getText()); value.setHTML(suggestBox.getText()); hiddenKey.setHTML(suggestBox.getValue()); /*List<String> tables = new ArrayList<String>(); if (suggestBox.getTable() != null) { tables.add(suggestBox.getTable()); } String formatedQuery = MessageFormat.format(suggestBox.getValueQuery(), suggestBox.getValue()); keyValueService.getKeyValues(tables, formatedQuery, new AsyncCallback<List<GWTKeyValue>>() { @Override public void onSuccess(List<GWTKeyValue> result) { if (!result.isEmpty()) { GWTKeyValue keyValue = result.get(0); textBox.setValue(keyValue.getValue()); value.setHTML(keyValue.getValue()); hiddenKey.setHTML(keyValue.getKey()); } } @Override public void onFailure(Throwable caught) { Main.get().showError("getKeyValues", caught); } }); */ } if (searchView || isMassiveView) { final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { for (int row = 0; row < table.getRowCount(); row++) { if (table.getWidget(row, 2).equals(removeImage)) { table.removeRow(row); break; } } hWidgetProperties.remove(propertyName); hPropertyParams.remove(propertyName); formElementList.remove(gwtFormElement); propertyHandler.propertyRemoved(); } }); removeImage.addStyleName("okm-Hyperlink"); table.setWidget(row, 2, removeImage); table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP); textBox.addKeyUpHandler( Main.get().mainPanel.search.searchBrowser.searchIn.searchControl.keyUpHandler); setRowWordWarp(row, 3, true); } else { setRowWordWarp(row, 2, true); } } else if (gwtFormElement instanceof GWTCheckBox) { CheckBox checkBox = new CheckBox(); checkBox.setEnabled((!readOnly && !((GWTCheckBox) gwtFormElement).isReadonly()) || isSearchView); // read only checkBox.setValue(((GWTCheckBox) gwtFormElement).getValue()); hWidgetProperties.put(propertyName, checkBox); table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>"); if (checkBox.getValue()) { table.setWidget(row, 1, new Image(OKMBundleResources.INSTANCE.yes())); } else { table.setWidget(row, 1, new Image(OKMBundleResources.INSTANCE.no())); } table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP); table.getCellFormatter().setWidth(row, 1, "100%"); if (searchView || isMassiveView) { final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { for (int row = 0; row < table.getRowCount(); row++) { if (table.getWidget(row, 2).equals(removeImage)) { table.removeRow(row); break; } } hWidgetProperties.remove(propertyName); hPropertyParams.remove(propertyName); formElementList.remove(gwtFormElement); propertyHandler.propertyRemoved(); } }); removeImage.addStyleName("okm-Hyperlink"); table.setWidget(row, 2, removeImage); table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP); if (propertyHandler != null) { checkBox.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { propertyHandler.metadataValueChanged(); } }); } setRowWordWarp(row, 3, true); } else { setRowWordWarp(row, 2, true); } } else if (gwtFormElement instanceof GWTSelect) { final GWTSelect gwtSelect = (GWTSelect) gwtFormElement; if (!gwtSelect.getOptionsData().equals("") && workflowVarMap.keySet().contains(gwtSelect.getOptionsData())) { gwtSelect.setOptions(getOptionsFromVariable(workflowVarMap.get(gwtSelect.getOptionsData()))); } if (gwtSelect.getType().equals(GWTSelect.TYPE_SIMPLE)) { String selectedLabel = ""; HorizontalPanel hPanel = new HorizontalPanel(); ListBox listBox = new ListBox(); listBox.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only hPanel.add(listBox); listBox.setStyleName("okm-Select"); listBox.addItem("", ""); // Always we set and empty value for (GWTOption option : gwtSelect.getOptions()) { listBox.addItem(option.getLabel(), option.getValue()); if (option.isSelected()) { listBox.setItemSelected(listBox.getItemCount() - 1, true); selectedLabel = option.getLabel(); } } // Mark suggested if (!gwtSelect.getSuggestion().equals("")) { NodeList<Element> nodeList = listBox.getElement().getElementsByTagName("option"); int count = 1; // 0 is empty value for (GWTOption option : gwtSelect.getOptions()) { if (nodeList.getLength() < (count)) { break; } if (option.isSuggested()) { nodeList.getItem(count).setClassName("okm-Option-Suggested"); } else { nodeList.getItem(count).setClassName("okm-Option"); } count++; } } hWidgetProperties.put(propertyName, hPanel); table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>"); table.setHTML(row, 1, selectedLabel); table.getCellFormatter().setWidth(row, 1, "100%"); if (searchView || isMassiveView) { final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { for (int row = 0; row < table.getRowCount(); row++) { if (table.getWidget(row, 2).equals(removeImage)) { table.removeRow(row); break; } } hWidgetProperties.remove(propertyName); hPropertyParams.remove(propertyName); formElementList.remove(gwtFormElement); propertyHandler.propertyRemoved(); } }); removeImage.addStyleName("okm-Hyperlink"); table.setWidget(row, 2, removeImage); table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP); if (propertyHandler != null) { listBox.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { propertyHandler.metadataValueChanged(); } }); } setRowWordWarp(row, 3, true); } else { setRowWordWarp(row, 2, true); } } else if (gwtSelect.getType().equals(GWTSelect.TYPE_MULTIPLE)) { final HorizontalPanel hPanel = new HorizontalPanel(); ListBox listMulti = new ListBox(); listMulti.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only listMulti.setStyleName("okm-Select"); listMulti.addItem("", ""); // Always we set and empty value // Table for values FlexTable tableMulti = new FlexTable(); Button addButton = new Button(Main.i18n("button.add"), new ClickHandler() { @Override public void onClick(ClickEvent event) { HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName); FlexTable tableMulti = (FlexTable) hPanel.getWidget(0); ListBox listMulti = (ListBox) hPanel.getWidget(2); Button addButton = (Button) hPanel.getWidget(4); if (listMulti.getSelectedIndex() > 0) { final HTML htmlValue = new HTML(listMulti.getValue(listMulti.getSelectedIndex())); int rowTableMulti = tableMulti.getRowCount(); Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Widget sender = (Widget) event.getSource(); HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName); FlexTable tableMulti = (FlexTable) hPanel.getWidget(0); ListBox listMulti = (ListBox) hPanel.getWidget(2); Button addButton = (Button) hPanel.getWidget(4); String value = htmlValue.getText(); String optionLabel = ""; for (Iterator<GWTOption> itOptions = gwtSelect.getOptions() .iterator(); itOptions.hasNext();) { GWTOption option = itOptions.next(); if (option.getValue().equals(htmlValue.getText())) { optionLabel = option.getLabel(); break; } } listMulti.addItem(optionLabel, value); listMulti.setVisible(true); addButton.setVisible(true); // Looking for row to delete for (int i = 0; i < tableMulti.getRowCount(); i++) { if (tableMulti.getWidget(i, 1).equals(sender)) { tableMulti.removeRow(i); } } if (propertyHandler != null) { propertyHandler.metadataValueChanged(); } } }); removeImage.setStyleName("okm-Hyperlink"); tableMulti.setWidget(rowTableMulti, 0, htmlValue); tableMulti.setWidget(rowTableMulti, 1, removeImage); tableMulti.setHTML(rowTableMulti, 2, listMulti.getItemText(listMulti.getSelectedIndex())); setRowWordWarp(tableMulti, rowTableMulti, 2, true); listMulti.removeItem(listMulti.getSelectedIndex()); htmlValue.setVisible(false); if (listMulti.getItemCount() <= 1) { listMulti.setVisible(false); addButton.setVisible(false); } if (propertyHandler != null) { propertyHandler.metadataValueChanged(); } } } }); addButton.setEnabled((!readOnly && !gwtSelect.isReadonly()) || isSearchView); // read only addButton.setStyleName("okm-AddButton"); hPanel.add(tableMulti); hPanel.add(new HTML(" ")); hPanel.add(listMulti); hPanel.add(new HTML(" ")); hPanel.add(addButton); hPanel.setVisible(true); listMulti.setVisible(false); addButton.setVisible(false); hPanel.setCellVerticalAlignment(tableMulti, VerticalPanel.ALIGN_TOP); hPanel.setCellVerticalAlignment(listMulti, VerticalPanel.ALIGN_TOP); hPanel.setCellVerticalAlignment(addButton, VerticalPanel.ALIGN_TOP); hPanel.setHeight("100%"); table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>"); table.setWidget(row, 1, hPanel); table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP); table.getCellFormatter().setVerticalAlignment(row, 1, VerticalPanel.ALIGN_TOP); table.getCellFormatter().setWidth(row, 1, "100%"); for (Iterator<GWTOption> itData = gwtSelect.getOptions().iterator(); itData.hasNext();) { final GWTOption option = itData.next(); // Looks if there's some selected value if (option.isSelected()) { int rowTableMulti = tableMulti.getRowCount(); HTML htmlValue = new HTML(option.getValue()); Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); // read only for this element goes at edit() logic removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Widget sender = (Widget) event.getSource(); HorizontalPanel hPanel = (HorizontalPanel) hWidgetProperties.get(propertyName); FlexTable tableMulti = (FlexTable) hPanel.getWidget(0); ListBox listMulti = (ListBox) hPanel.getWidget(2); Button addButton = (Button) hPanel.getWidget(4); listMulti.addItem(option.getLabel(), option.getValue()); listMulti.setVisible(true); addButton.setVisible(true); // Looking for row to delete for (int i = 0; i < tableMulti.getRowCount(); i++) { if (tableMulti.getWidget(i, 1).equals(sender)) { tableMulti.removeRow(i); } } if (propertyHandler != null) { propertyHandler.metadataValueChanged(); } } }); removeImage.setStyleName("okm-Hyperlink"); tableMulti.setWidget(rowTableMulti, 0, htmlValue); tableMulti.setWidget(rowTableMulti, 1, removeImage); tableMulti.setHTML(rowTableMulti, 2, option.getLabel()); setRowWordWarp(tableMulti, rowTableMulti, 2, true); htmlValue.setVisible(false); removeImage.setVisible(false); } else { listMulti.addItem(option.getLabel(), option.getValue()); } } // Mark suggested if (!gwtSelect.getSuggestion().equals("")) { NodeList<Element> nodeList = listMulti.getElement().getElementsByTagName("option"); int count = 1; // 0 is empty value for (GWTOption option : gwtSelect.getOptions()) { // In list only are shown not selected items if (!option.isSelected()) { if (nodeList.getLength() < (count)) { break; } if (option.isSuggested()) { nodeList.getItem(count).setClassName("okm-Option-Suggested"); } else { nodeList.getItem(count).setClassName("okm-Option"); } count++; } } } // Save panel hWidgetProperties.put(propertyName, hPanel); if (searchView || isMassiveView) { final Image removeImage = new Image(OKMBundleResources.INSTANCE.deleteIcon()); removeImage.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { for (int row = 0; row < table.getRowCount(); row++) { if (table.getWidget(row, 2).equals(removeImage)) { table.removeRow(row); break; } } hWidgetProperties.remove(propertyName); hPropertyParams.remove(propertyName); formElementList.remove(gwtFormElement); propertyHandler.propertyRemoved(); } }); removeImage.addStyleName("okm-Hyperlink"); table.setWidget(row, 2, removeImage); table.getCellFormatter().setVerticalAlignment(row, 2, HasAlignment.ALIGN_TOP); // not implemented // textBox.addKeyUpHandler(Main.get().mainPanel.search.searchBrowser.searchIn.searchControl.keyUpHandler); setRowWordWarp(row, 3, true); } else { setRowWordWarp(row, 2, true); } } } else if (gwtFormElement instanceof GWTUpload) { final GWTUpload upload = (GWTUpload) gwtFormElement; HorizontalPanel hPanel = new HorizontalPanel(); FileUpload fileUpload = new FileUpload(); fileUpload.setStyleName("okm-Input"); fileUpload.getElement().setAttribute("size", "" + upload.getWidth()); final Anchor documentLink = new Anchor(); // Setting document link by uuid if (upload.getDocumentUuid() != null && !upload.getDocumentUuid().equals("")) { repositoryService.getPathByUUID(upload.getDocumentUuid(), new AsyncCallback<String>() { @Override public void onSuccess(String result) { documentService.get(result, new AsyncCallback<GWTDocument>() { @Override public void onSuccess(GWTDocument result) { final String docPath = result.getPath(); documentLink.setText(result.getName()); documentLink.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { CommonUI.openPath(Util.getParent(docPath), docPath); } }); } @Override public void onFailure(Throwable caught) { Main.get().showError("getDocument", caught); } }); } @Override public void onFailure(Throwable caught) { Main.get().showError("getPathByUUID", caught); } }); } documentLink.setStyleName("okm-Hyperlink"); hPanel.add(documentLink); hPanel.add(fileUpload); hWidgetProperties.put(propertyName, hPanel); table.setHTML(row, 0, "<b>" + gwtFormElement.getLabel() + "</b>"); table.setWidget(row, 1, new HTML("")); table.getCellFormatter().setVerticalAlignment(row, 0, VerticalPanel.ALIGN_TOP); table.getCellFormatter().setWidth(row, 1, "100%"); setRowWordWarp(row, 2, true); // If folderPath is null must initialize value if (upload.getFolderPath() == null || upload.getFolderPath().equals("") && upload.getFolderUuid() != null && !upload.getFolderUuid().equals("")) { repositoryService.getPathByUUID(upload.getFolderUuid(), new AsyncCallback<String>() { @Override public void onSuccess(String result) { upload.setFolderPath(result); } @Override public void onFailure(Throwable caught) { Main.get().showError("getPathByUUID", caught); } }); } } else if (gwtFormElement instanceof GWTText) { HorizontalPanel hPanel = new HorizontalPanel(); HTML title = new HTML(" " + ((GWTText) gwtFormElement).getLabel() + " "); title.setStyleName("okm-NoWrap"); hPanel.add(Util.hSpace("10")); hPanel.add(title); hPanel.setCellWidth(title, ((GWTText) gwtFormElement).getWidth()); hWidgetProperties.put(propertyName, hPanel); table.setWidget(row, 0, hPanel); table.getFlexCellFormatter().setColSpan(row, 0, 2); } else if (gwtFormElement instanceof GWTSeparator) { HorizontalPanel hPanel = new HorizontalPanel(); Image horizontalLine = new Image("img/transparent_pixel.gif"); horizontalLine.setStyleName("okm-TopPanel-Line-Border"); horizontalLine.setSize("10", "2px"); Image horizontalLine2 = new Image("img/transparent_pixel.gif"); horizontalLine2.setStyleName("okm-TopPanel-Line-Border"); horizontalLine2.setSize("100%", "2px"); HTML title = new HTML(" " + ((GWTSeparator) gwtFormElement).getLabel() + " "); title.setStyleName("okm-NoWrap"); hPanel.add(horizontalLine); hPanel.add(title); hPanel.add(horizontalLine2); hPanel.setCellVerticalAlignment(horizontalLine, HasAlignment.ALIGN_MIDDLE); hPanel.setCellVerticalAlignment(horizontalLine2, HasAlignment.ALIGN_MIDDLE); hPanel.setCellWidth(horizontalLine2, ((GWTSeparator) gwtFormElement).getWidth()); hWidgetProperties.put(propertyName, hPanel); table.setWidget(row, 0, hPanel); table.getFlexCellFormatter().setColSpan(row, 0, 2); } else if (gwtFormElement instanceof GWTDownload) { HorizontalPanel hPanel = new HorizontalPanel(); hWidgetProperties.put(propertyName, hPanel); table.setWidget(row, 0, hPanel); table.getFlexCellFormatter().setColSpan(row, 0, 2); GWTDownload download = (GWTDownload) gwtFormElement; FlexTable downloadTable = new FlexTable(); HTML description = new HTML("<b>" + gwtFormElement.getLabel() + "</b>"); downloadTable.setWidget(0, 0, description); downloadTable.getFlexCellFormatter().setColSpan(0, 0, 2); for (final GWTNode node : download.getNodes()) { int downloadTableRow = downloadTable.getRowCount(); final Anchor anchor = new Anchor("<b>" + node.getLabel() + "</b>", true); if (!node.getUuid().equals("")) { repositoryService.getPathByUUID(node.getUuid(), new AsyncCallback<String>() { @Override public void onSuccess(String result) { folderService.isValid(result, new AsyncCallback<Boolean>() { @Override public void onSuccess(Boolean result) { final boolean isFolder = result; anchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (isFolder) { Util.downloadFileByUUID(node.getUuid(), "export"); } else { Util.downloadFileByUUID(node.getUuid(), ""); } } }); } @Override public void onFailure(Throwable caught) { Main.get().showError("getPathByUUID", caught); } }); } @Override public void onFailure(Throwable caught) { Main.get().showError("getPathByUUID", caught); } }); } else if (!node.getPath().equals("")) { repositoryService.getUUIDByPath(node.getPath(), new AsyncCallback<String>() { @Override public void onSuccess(String result) { final String uuid = result; folderService.isValid(node.getPath(), new AsyncCallback<Boolean>() { @Override public void onSuccess(Boolean result) { final boolean isFolder = result; anchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { if (isFolder) { Util.downloadFileByUUID(uuid, "export"); } else { Util.downloadFileByUUID(uuid, ""); } } }); } @Override public void onFailure(Throwable caught) { Main.get().showError("getPathByUUID", caught); } }); } @Override public void onFailure(Throwable caught) { Main.get().showError("getUUIDByPath", caught); } }); } anchor.setStyleName("okm-Hyperlink"); downloadTable.setWidget(downloadTableRow, 0, new HTML(" ")); downloadTable.setWidget(downloadTableRow, 1, anchor); } hPanel.add(downloadTable); } else if (gwtFormElement instanceof GWTPrint) { HorizontalPanel hPanel = new HorizontalPanel(); hWidgetProperties.put(propertyName, hPanel); table.setWidget(row, 0, hPanel); table.getFlexCellFormatter().setColSpan(row, 0, 2); GWTPrint print = (GWTPrint) gwtFormElement; FlexTable printTable = new FlexTable(); HTML description = new HTML("<b>" + gwtFormElement.getLabel() + "</b>"); printTable.setWidget(0, 0, description); printTable.getFlexCellFormatter().setColSpan(0, 0, 2); for (final GWTNode node : print.getNodes()) { int downloadTableRow = printTable.getRowCount(); final Button downloadButton = new Button(Main.i18n("button.print")); if (!node.getUuid().equals("")) { downloadButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Util.print(node.getUuid()); } }); } else if (!node.getPath().equals("")) { repositoryService.getUUIDByPath(node.getPath(), new AsyncCallback<String>() { @Override public void onSuccess(String result) { final String uuid = result; downloadButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Util.print(uuid); } }); } @Override public void onFailure(Throwable caught) { Main.get().showError("getUUIDByPath", caught); } }); } downloadButton.setStyleName("okm-DownloadButton"); printTable.setWidget(downloadTableRow, 0, new HTML(" " + node.getLabel() + " ")); printTable.setWidget(downloadTableRow, 1, downloadButton); } hPanel.add(printTable); } }
From source file:com.openkm.frontend.client.widget.properties.MailViewer.java
License:Open Source License
/** * Sets the mail values/*from ww w . j av a 2 s .co m*/ * * @param mail The document object */ public void set(GWTMail mail) { this.mail = mail; Anchor hFrom = new Anchor(); final String mailFrom = mail.getFrom().contains("<") ? mail.getFrom().substring(mail.getFrom().indexOf("<") + 1, mail.getFrom().indexOf(">")) : mail.getFrom(); hFrom.setHTML(mail.getFrom().replace("<", "<").replace(">", ">")); hFrom.setTitle("mailto:" + mailFrom); hFrom.setStyleName("okm-Mail-Link"); hFrom.addStyleName("okm-NoWrap"); hFrom.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("mailto:" + mailFrom, "_self", ""); } }); dataTable.setWidget(0, 1, hFrom); VerticalPanel replyPanel = new VerticalPanel(); for (int i = 0; i < mail.getReply().length; i++) { Anchor hReply = new Anchor(); final String mailReply = mail.getReply()[i].contains("<") ? mail.getReply()[i].substring( mail.getReply()[i].indexOf("<") + 1, mail.getReply()[i].indexOf(">")) : mail.getReply()[i]; hReply.setHTML(mail.getReply()[i].replace("<", "<").replace(">", ">")); hReply.setTitle("mailto:" + mailReply); hReply.setStyleName("okm-Mail-Link"); hReply.addStyleName("okm-NoWrap"); hReply.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("mailto:" + mailReply, "_self", ""); } }); replyPanel.add(hReply); } dataTable.setWidget(1, 1, replyPanel); VerticalPanel toPanel = new VerticalPanel(); for (int i = 0; i < mail.getTo().length; i++) { Anchor hTo = new Anchor(); final String mailTo = mail.getTo()[i].contains("<") ? mail.getTo()[i].substring(mail.getTo()[i].indexOf("<") + 1, mail.getTo()[i].indexOf(">")) : mail.getTo()[i]; hTo.setHTML(mail.getTo()[i].replace("<", "<").replace(">", ">")); hTo.setTitle("mailto:" + mailTo); hTo.setStyleName("okm-Mail-Link"); hTo.addStyleName("okm-NoWrap"); hTo.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("mailto:" + mailTo, "_self", ""); } }); toPanel.add(hTo); } dataTable.setWidget(2, 1, toPanel); dataTable.setHTML(3, 1, mail.getSubject()); mailPreview.showContent(mail); // Enable select dataTable.getFlexCellFormatter().setStyleName(0, 1, "okm-EnableSelect"); dataTable.getFlexCellFormatter().setStyleName(1, 1, "okm-EnableSelect"); dataTable.getFlexCellFormatter().setStyleName(2, 1, "okm-EnableSelect"); dataTable.getFlexCellFormatter().setStyleName(3, 1, "okm-EnableSelect"); attachmentsTable.removeAllRows(); attachmentsList = new HashMap<Integer, GWTDocument>(); int count = 0; for (Iterator<GWTDocument> it = mail.getAttachments().iterator(); it.hasNext();) { final GWTDocument attach = it.next(); attachmentsList.put(new Integer(count), attach); count++; Anchor hLink = new Anchor(); hLink.setHTML(attach.getName()); hLink.setTitle(attach.getName()); hLink.setStyleName("okm-Mail-Link"); hLink.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Util.downloadFileByUUID(attach.getUuid(), ""); } }); int row = attachmentsTable.getRowCount(); attachmentsTable.setHTML(row, 0, Util.mimeImageHTML(attach.getMimeType())); attachmentsTable.setWidget(row, 1, hLink); attachmentsTable.setHTML(row, 2, Util.formatSize(attach.getActualVersion().getSize())); attachmentsTable.getCellFormatter().setHorizontalAlignment(row, 2, HasAlignment.ALIGN_CENTER); } }
From source file:com.openkm.frontend.client.widget.searchresult.SearchFullResult.java
License:Open Source License
/** * Adding mail// w w w. j a va2s. c o m * * @param gwtQueryResult Query result * @param score The mail score */ private void addMailRow(GWTQueryResult gwtQueryResult, Score score) { int rows = table.getRowCount(); final GWTMail mail = gwtQueryResult.getMail(); // Mail row HorizontalPanel hPanel = new HorizontalPanel(); hPanel.setStyleName("okm-NoWrap"); hPanel.add(new HTML(score.getHTML())); hPanel.add(Util.hSpace("5")); if (mail.getAttachments().size() > 0) { hPanel.add(new HTML(Util.imageItemHTML("img/email_attach.gif"))); } else { hPanel.add(new HTML(Util.imageItemHTML("img/email.gif"))); } Anchor anchor = new Anchor(); anchor.setHTML(mail.getSubject()); anchor.setTitle(mail.getParentPath()); anchor.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { String docPath = mail.getPath(); CommonUI.openPath(Util.getParent(docPath), docPath); } }); anchor.setStyleName("okm-Hyperlink"); hPanel.add(anchor); table.setWidget(rows++, 0, hPanel); // Mail Subject HorizontalPanel hPanel2 = new HorizontalPanel(); hPanel2.setStyleName("okm-NoWrap"); hPanel2.add(new HTML("<b>" + Main.i18n("mail.subject") + ":</b> ")); hPanel2.add(new HTML(mail.getSubject())); // Excerpt row if ((Main.get().mainPanel.search.searchBrowser.searchIn.searchControl .getSearchMode() == SearchControl.SEARCH_MODE_SIMPLE || !Main.get().mainPanel.search.searchBrowser.searchIn.searchNormal.content.getText().equals("")) && gwtQueryResult.getExcerpt() != null) { table.setHTML(rows++, 0, "" + gwtQueryResult.getExcerpt() + (gwtQueryResult.getExcerpt().length() > 256 ? " ..." : "")); HTML space = new HTML(); table.setWidget(rows, 0, space); table.getFlexCellFormatter().setHeight(rows++, 0, "5"); } // Folder row HorizontalPanel hPanel3 = new HorizontalPanel(); hPanel3.setStyleName("okm-NoWrap"); hPanel3.add(new HTML("<b>" + Main.i18n("document.folder") + ":</b> ")); hPanel3.add(drawFolder(mail.getParentPath())); table.setWidget(rows++, 0, hPanel3); // mail details HorizontalPanel hPanel4 = new HorizontalPanel(); hPanel4.setStyleName("okm-NoWrap"); hPanel4.add(new HTML("<b>" + Main.i18n("search.result.author") + ":</b> ")); hPanel4.add(new HTML(mail.getAuthor())); hPanel4.add(Util.hSpace("33")); hPanel4.add(new HTML("<b>" + Main.i18n("search.result.size") + ":</b> ")); hPanel4.add(new HTML(Util.formatSize(mail.getSize()))); hPanel4.add(Util.hSpace("33")); hPanel4.add(new HTML("<b>" + Main.i18n("search.result.date.create") + ": </b>")); DateTimeFormat dtf = DateTimeFormat.getFormat(Main.i18n("general.date.pattern")); hPanel4.add(new HTML(dtf.format(mail.getCreated()))); table.setWidget(rows++, 0, hPanel4); // Categories and tagcloud rows = addCategoriesKeywords(mail.getCategories(), mail.getKeywords(), table); // PropertyGroups rows = addPropertyGroups(mail.getPath(), table); // From, To and Reply panel HorizontalPanel hPanel5 = new HorizontalPanel(); hPanel5.setStyleName("okm-NoWrap"); hPanel5.add(new HTML("<b>" + Main.i18n("mail.from") + ":</b> ")); hPanel5.add(new HTML(mail.getFrom())); if (mail.getTo().length > 0) { VerticalPanel toPanel = new VerticalPanel(); for (int i = 0; i < mail.getTo().length; i++) { Anchor hTo = new Anchor(); final String mailTo = mail.getTo()[i].contains("<") ? mail.getTo()[i].substring(mail.getTo()[i].indexOf("<") + 1, mail.getTo()[i].indexOf(">")) : mail.getTo()[i]; hTo.setHTML(mail.getTo()[i].replace("<", "<").replace(">", ">")); hTo.setTitle("mailto:" + mailTo); hTo.setStyleName("okm-Mail-Link"); hTo.addStyleName("okm-NoWrap"); hTo.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("mailto:" + mailTo, "_self", ""); } }); toPanel.add(hTo); } hPanel5.add(Util.hSpace("33")); hPanel5.add((new HTML("<b>" + Main.i18n("mail.to") + ":</b> "))); hPanel5.add(toPanel); } if (mail.getReply().length > 0) { VerticalPanel replyPanel = new VerticalPanel(); for (int i = 0; i < mail.getReply().length; i++) { Anchor hReply = new Anchor(); final String mailReply = mail.getReply()[i].contains("<") ? mail.getReply()[i].substring( mail.getReply()[i].indexOf("<") + 1, mail.getReply()[i].indexOf(">")) : mail.getReply()[i]; hReply.setHTML(mail.getReply()[i].replace("<", "<").replace(">", ">")); hReply.setTitle("mailto:" + mailReply); hReply.setStyleName("okm-Mail-Link"); hReply.addStyleName("okm-NoWrap"); hReply.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { Window.open("mailto:" + mailReply, "_self", ""); } }); replyPanel.add(hReply); } hPanel5.add(Util.hSpace("33")); hPanel5.add(new HTML("<b>" + Main.i18n("mail.reply") + ":</b> ")); hPanel5.add(replyPanel); } table.setWidget(rows++, 0, hPanel5); // Separator end line Image horizontalLine = new Image("img/transparent_pixel.gif"); horizontalLine.setStyleName("okm-TopPanel-Line-Border"); horizontalLine.setSize("100%", "2px"); table.setWidget(rows, 0, horizontalLine); table.getFlexCellFormatter().setVerticalAlignment(rows, 0, HasAlignment.ALIGN_BOTTOM); table.getFlexCellFormatter().setHeight(rows, 0, "30"); }
From source file:com.pietschy.gwt.pectin.demo.client.misc.AbstractDemo.java
License:Apache License
private void showSource(Class<?> clazz) { String url = "http://code.google.com/p/gwt-pectin/source/browse/trunk/demo/src/main/java/" + clazz.getName().replace('.', '/') + ".java"; Window.open(url, "PectinSource", ""); }
From source file:com.pronoiahealth.olhie.client.widgets.booklist3d.BookList3D.java
License:Open Source License
/** * Used to add books in after the initial display * /*from w ww. j ava2 s . c o m*/ * @param bookDiv */ public void attachEventsToLst() { this.books = $("#bk-list > li > div.bk-book", bookList.getParentElement()); this.currentBookCnt = books.length(); books.each(new Function() { @Override public void f(Element e) { final GQuery book = $(e); final GQuery other = books.not(book); final GQuery parent = book.parent(); final GQuery page = book.children("div.bk-page"); final GQuery bookview = parent.find("button.bk-bookview"); final GQuery flipAction = parent.find("button.bk-bookback"); final GQuery content = page.children("div.bk-content"); final GQuery toc = page.find("div.bk-toc"); final GQuery tocPageMyCollectionsBtn = toc.find("a.bk-tocPage-myCollectionsBtn"); final GQuery tocPageCommentRatingBtn = toc.find("a.bk-tocPage-commentRatingBtn"); final GQuery tocItems = page.find("div.bk-toc-item"); final GQuery tocLinks = page.find("div.bk-toc-link"); final GQuery downloadContentBtns = page.find("a.bk-download-btn"); final GQuery viewContentBtns = page.find("a.bk-view-btn"); final GQuery linkContentBtns = page.find("a.bk-link-btn"); final IntHolder current = new IntHolder(); // Book Id final String bookId = book.attr("bookId"); // Bind the call back book.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { checkBookIsAuthorRequestEvent.fire(new CheckBookIsAuthorRequestEvent(bookId)); return false; } }); flipAction.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { // Toggle the button if (flipAction.hasClass("bk-bookback-pressed") == true) { flipAction.removeClass("bk-bookback-pressed"); } else { flipAction.addClass("bk-bookback-pressed"); } bookview.removeClass("bk-active"); boolean flipVal = false; Object flipObj = book.data("flip"); if (flipObj != null) { flipVal = (Boolean) flipObj; } if (flipVal == true) { book.data("opened", false).data("flip", false); book.removeClass("bk-viewback"); book.addClass("bk-bookdefault"); } else { book.data("opened", false).data("flip", true); book.removeClass("bk-viewinside").removeClass("bk-bookdefault"); book.addClass("bk-viewback"); } return true; } }); bookview.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { // If the view back cover was pressed need to reset // the button if (flipAction.hasClass("bk-bookback-pressed") == true) { flipAction.removeClass("bk-bookback-pressed"); } GQuery thisPt = $(e); other.data("opened", false); other.removeClass("bk-viewinside"); GQuery otherParent = other.parent().css(CSS.ZINDEX.with(0)); otherParent.find("button.bk-bookview").removeClass("bk-active"); if (!other.hasClass("bk-viewback")) { other.addClass("bk-bookdefault"); } boolean openedVal = false; Object openedObj = book.data("opened"); if (openedObj != null) { openedVal = (Boolean) openedObj; } if (openedVal == true) { thisPt.removeClass("bk-active"); book.data("opened", false).data("flip", false); book.removeClass("bk-viewinside"); book.addClass("bk-bookdefault"); } else { thisPt.addClass("bk-active"); book.data("opened", true).data("flip", false); book.removeClass("bk-viewback").removeClass("bk-bookdefault"); book.addClass("bk-viewinside"); parent.css(CSS.ZINDEX.with(currentBookCnt++)); current.setIntVal(0); content.removeClass("bk-content-current").eq(current.getIntVal()) .addClass("bk-content-current"); } return true; } }); // If it is a btn-success buton we want to add the book to the // users collection, otherwise remove for the collection. // Clear results container tocPageMyCollectionsBtn.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { GQuery anchor = $(e); boolean addToCollection = anchor.hasClass("btn-success"); adjustMyCollection(bookId, addToCollection); return false; } }); tocPageCommentRatingBtn.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { addUpdateComment(bookId); return false; } }); if (content.length() > 1) { GQuery navPrev = $("<span class=\"bk-page-prev\"><</span>"); GQuery navNext = $("<span class=\"bk-page-next\">></span>"); page.append($("<nav></nav>").append(navPrev).append(navNext)); navPrev.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { if (current.getIntVal() > 0) { current.subOne(); content.removeClass("bk-content-current").eq(current.getIntVal()) .addClass("bk-content-current"); } return false; } }); navNext.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { if (current.getIntVal() < content.length() - 1) { current.plusOne(); content.removeClass("bk-content-current").eq(current.getIntVal()) .addClass("bk-content-current"); } return false; } }); // TOC items tocItems.each(new Function() { @Override public void f(Element e) { GQuery item = $(e); item.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { GQuery thisItem = $(e); String refStr = thisItem.attr("item-ref"); int refInt = Integer.parseInt(refStr); if (refInt <= content.length() - 1) { current.setIntVal(refInt); content.removeClass("bk-content-current").eq(current.getIntVal()) .addClass("bk-content-current"); } return false; } }); } }); // TOC link tocLinks.each(new Function() { @Override public void f(Element e) { GQuery item = $(e); item.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { current.setIntVal(0); content.removeClass("bk-content-current").eq(current.getIntVal()) .addClass("bk-content-current"); return false; } }); } }); // Link buttons linkContentBtns.each(new Function() { @Override public void f(Element e) { GQuery btn = $(e); btn.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { GQuery thisAnchor = $(e); String href = thisAnchor.attr("href"); Window.open(href, "_black", ""); return false; } }); } }); // Download content buttons downloadContentBtns.each(new Function() { @Override public void f(Element e) { GQuery btn = $(e); btn.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { GQuery thisAnchor = $(e); String assetId = thisAnchor.attr("bookassetid"); downloadBookAssetEvent.fire(new DownloadBookAssetEvent(assetId)); return false; } }); } }); // view content buttons viewContentBtns.each(new Function() { @Override public void f(Element e) { GQuery btn = $(e); // fire action if they are not disabled btn.bind(Event.ONCLICK, new Function() { @Override public boolean f(Event e) { GQuery thisAnchor = $(e); String disabledStr = thisAnchor.attr("disabled"); boolean disabled = (disabledStr != null ? Boolean.parseBoolean(disabledStr) : false); if (disabled == false) { String assetId = thisAnchor.attr("bookassetid"); String contentTypeKey = thisAnchor.attr("viewable-content-key"); showViewBookassetDialogEvent .fire(new ShowViewBookassetDialogEvent(assetId, contentTypeKey)); } return false; } }); } }); } } }); // Add Tooltips $("[rel=tooltip]", bookList.getParentElement()).as(Tooltip).tooltip(); }
From source file:com.qualogy.qafe.gwt.client.ui.renderer.FileUploadRenderer.java
License:Apache License
public UIObject render(ComponentGVO component, String uuid, String parent, String context) { HorizontalPanel uiObject = null;/* w w w. j a va 2 s . c o m*/ final String finalParent = parent; if (component != null) { if (component instanceof FileUploadGVO) { if (component.getMenu() != null) { final ComponentGVO finalComponentGVO = component; final String finalUuid = uuid; uiObject = new HorizontalPanel() { @Override public void onBrowserEvent(Event event) { if (event.getTypeInt() == Event.ONCONTEXTMENU) { DOM.eventPreventDefault(event); applyContextMenu(event, finalComponentGVO, finalUuid, finalParent); } super.onBrowserEvent(event); } @Override protected void setElement(Element elem) { super.setElement(elem); sinkEvents(Event.ONCONTEXTMENU); } }; } else { uiObject = new HorizontalPanel(); } final FormPanel formPanel = new FormPanel(); formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload"); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); final Button uploadButtonComponent = new Button("Upload"); uploadButtonComponent.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { formPanel.submit(); } }); final FileUpload fileUploadComponent = new FileUpload(); fileUploadComponent.setName("uploadElement"); fileUploadComponent.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { String filename = fileUploadComponent.getFilename(); boolean enabled = (filename != null) && (filename.length() > 0); uploadButtonComponent.setEnabled(enabled); } }); Hidden appId = new Hidden(); final String appID = ClientApplicationContext.getInstance().getWindowSession(); appId.setName("APPUUID=" + appID); Hidden windowId = new Hidden(); windowId.setName("WINDOWID=" + parent); Grid gridPanel = new Grid(2, 4); gridPanel.setWidget(0, 0, fileUploadComponent); gridPanel.setWidget(0, 1, uploadButtonComponent); gridPanel.setWidget(0, 2, appId); gridPanel.setWidget(0, 3, windowId); formPanel.add(gridPanel); RendererHelper.fillIn(component, formPanel, uuid, parent, context); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String uuId = event.getResults(); boolean success = false; if (uuId != null && uuId.indexOf("=") > 0) { uuId = uuId.substring(uuId.indexOf("=") + 1); success = true; } if (formPanel instanceof HasWidgets) { HasWidgets hasWidgets = (HasWidgets) formPanel; Iterator<Widget> itr = hasWidgets.iterator(); while (itr.hasNext()) { Widget widget = itr.next(); if (widget instanceof Grid) { Grid gridPanel = (Grid) widget; final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0); final Button uploadButton = (Button) gridPanel.getWidget(0, 1); if (success) { fileUpload.setVisible(false); uploadButton.setVisible(false); String fileName = event.getResults().substring(0, event.getResults().indexOf("#")); final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID + "&WINDOWID=" + finalParent + "&VIEW=" + uuId; final Label fileNameLabel = new Label(fileName); DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand"); fileNameLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Window.open(viewUrl, "UploadedFile", null); } }); fileNameLabel.setVisible(true); final Label clearLabel = new Label("Clear"); clearLabel.setVisible(true); final String finalUuId = uuId; DOM.setStyleAttribute(clearLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(clearLabel.getElement(), "cursor", "hand"); clearLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { MainFactoryActions.removeUploadedFile(appID, finalParent, finalUuId); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", ""); fileNameLabel.setVisible(false); clearLabel.setVisible(false); fileUpload.setVisible(true); uploadButton.setVisible(true); init(fileUpload, uploadButton); } }); gridPanel.setWidget(1, 0, fileNameLabel); gridPanel.setWidget(1, 1, clearLabel); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId); CallbackHandler.createCallBack(formPanel, "onfinish", null, null); } else { Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0); fileNameLabel.setText("Uploading unsuccessfull."); fileNameLabel.setVisible(true); } } } } } }); uiObject.add(formPanel); init(fileUploadComponent, uploadButtonComponent); } } return uiObject; }
From source file:com.qualogy.qafe.gwt.client.vo.functions.execute.OpenWindowExecute.java
License:Apache License
public void execute(BuiltInFunctionGVO builtInFunction) { if (builtInFunction instanceof OpenWindowGVO) { OpenWindowGVO openWindow = (OpenWindowGVO) builtInFunction; if (openWindow.getWindow() != null && openWindow.getWindow().length() != 0) { if (ClientApplicationContext.getInstance().isMDI()) { ClientApplicationContext.getInstance().removeWindow(openWindow.getWindow(), openWindow.getContext(), openWindow.getUuid()); } else { WindowFactory.clearWidgetFromMainPanel(); }//from w ww . ja v a2s . c om MainFactoryActions.getUIByUUID(openWindow.getUuid(), openWindow.getWindow()); } else if (openWindow.getUrl() != null && openWindow.getUrl().length() != 0) { String title = openWindow.getUrl(); if (openWindow.getTitle() != null) { title = openWindow.getTitle(); title = title.replace(" ", "_"); } int width = 0; int height = 0; int left = 20; int top = 20; String menubar = "no"; String scrollbars = "no"; String toolbar = "no"; String status = "no"; String resize = "yes"; String modal = "no"; String features = ""; if (openWindow.getParams() != null) { String[] paramArr = openWindow.getParams().split(","); String temp = null; for (int i = 0; i < paramArr.length; i++) { if (paramArr[i].indexOf("width") > -1) { width = Integer.parseInt(paramArr[i].substring(paramArr[i].indexOf("=") + 1)); } else if (paramArr[i].indexOf("height") > -1) { height = Integer.parseInt(paramArr[i].substring(paramArr[i].indexOf("=") + 1)); } else if (paramArr[i].indexOf("left") > -1) { left = Integer.parseInt(paramArr[i].substring(paramArr[i].indexOf("=") + 1)); } else if (paramArr[i].indexOf("top") > -1) { top = Integer.parseInt(paramArr[i].substring(paramArr[i].indexOf("=") + 1)); } else if (paramArr[i].indexOf("menubar") > -1) { temp = paramArr[i].substring(paramArr[i].indexOf("=") + 1); if (temp.equalsIgnoreCase("yes") || temp.equalsIgnoreCase("true") || temp.equals("1")) { menubar = "yes"; } features = features + "menubar=" + menubar + ","; } else if (paramArr[i].indexOf("scrollbars") > -1) { temp = paramArr[i].substring(paramArr[i].indexOf("=") + 1); if (temp.equalsIgnoreCase("yes") || temp.equalsIgnoreCase("true") || temp.equals("1")) { scrollbars = "yes"; } features = features + "scrollbars=" + scrollbars + ","; } else if (paramArr[i].indexOf("toolbar") > -1) { temp = paramArr[i].substring(paramArr[i].indexOf("=") + 1); if (temp.equalsIgnoreCase("yes") || temp.equalsIgnoreCase("true") || temp.equals("1")) { toolbar = "yes"; } features = features + "toolbar=" + toolbar + ","; } else if (paramArr[i].indexOf("status") > -1) { temp = paramArr[i].substring(paramArr[i].indexOf("=") + 1); if (temp.equalsIgnoreCase("yes") || temp.equalsIgnoreCase("true") || temp.equals("1")) { status = "yes"; } features = features + "status=" + status + ","; } else if (paramArr[i].indexOf("resizable") > -1) { temp = paramArr[i].substring(paramArr[i].indexOf("=") + 1); if (temp.equalsIgnoreCase("no") || temp.equalsIgnoreCase("no") || temp.equals("1")) { resize = "no"; } features = features + "resizable=" + resize + ","; } else if (paramArr[i].indexOf("modal") > -1) { temp = paramArr[i].substring(paramArr[i].indexOf("=") + 1); if (temp.equalsIgnoreCase("yes") || temp.equalsIgnoreCase("true") || temp.equals("1")) { modal = "yes"; } } } } if (openWindow.getExternal()) { // Set the title to "" when open a window externally, the title will not be shown anyway, // in IE this will give an exception when title is not empty title = ""; if (openWindow.getParams() != null) { int index = openWindow.getParams().indexOf("left") + openWindow.getParams().indexOf("top") + openWindow.getParams().indexOf("screenX") + openWindow.getParams().indexOf("screenY"); if (index > -1) { Window.open(openWindow.getUrl(), title, openWindow.getParams()); } else { ClientApplicationContext.getInstance().externalWindowCount++; if (openWindow.getPlacement().equals(OpenWindowGVO.PLACEMENT_CASCADE)) { if (ClientApplicationContext.getInstance().externalWindowCount > 1) { for (int i = 1; i < ClientApplicationContext .getInstance().externalWindowCount; i++) { left = left + 20; top = top + 20; } } features = features + ",screenX=" + left + ",screenY=" + top; } else if (openWindow.getPlacement().equals(OpenWindowGVO.PLACEMENT_CENTER_CASCADE)) { String centerCordinates = centeredWindow(width, height); if (ClientApplicationContext.getInstance().externalWindowCount > 1) { String[] centerCordinatesArr = centerCordinates.split(","); for (int i = 0; i < centerCordinatesArr.length; i++) { if (centerCordinatesArr[i].indexOf("screenX") == 0) { left = Integer.parseInt(centerCordinatesArr[i] .substring(centerCordinatesArr[i].indexOf("=") + 1)); } if (centerCordinatesArr[i].indexOf("screenY") == 0) { top = Integer.parseInt(centerCordinatesArr[i] .substring(centerCordinatesArr[i].indexOf("=") + 1)); } } for (int i = 1; i < ClientApplicationContext .getInstance().externalWindowCount; i++) { left = left + 20; top = top + 20; } features = features + ",screenX=" + left + ",screenY=" + top; } else { features = features + centerCordinates; } } Window.open(openWindow.getUrl(), title, features); } } else { Window.open(openWindow.getUrl(), title, ""); } } else { boolean resizable = true; boolean isModal = false; if (resize.equals("") || resize.equals("no")) { resizable = false; } if (modal.equals("yes")) { isModal = true; } boolean centered = false; if (openWindow.getPlacement().equals(OpenWindowGVO.PLACEMENT_CASCADE)) { if (ClientApplicationContext.getInstance().internalWindowCount > 0) { for (int i = 0; i < ClientApplicationContext.getInstance().internalWindowCount; i++) { left = left + 20; top = top + 20; } } } else if (openWindow.getPlacement().equals(OpenWindowGVO.PLACEMENT_CENTER_CASCADE)) { String[] centerCordinatesArr = centeredWindow(width, height).split(","); for (int i = 0; i < centerCordinatesArr.length; i++) { if (centerCordinatesArr[i].indexOf("screenX") == 0) { left = Integer.parseInt( centerCordinatesArr[i].substring(centerCordinatesArr[i].indexOf("=") + 1)); } if (centerCordinatesArr[i].indexOf("screenY") == 0) { top = Integer.parseInt( centerCordinatesArr[i].substring(centerCordinatesArr[i].indexOf("=") + 1)); } } if (ClientApplicationContext.getInstance().internalWindowCount > 0) { for (int i = 0; i < ClientApplicationContext.getInstance().internalWindowCount; i++) { left = left + 20; top = top + 20; } } } else if (openWindow.getPlacement().equals(OpenWindowGVO.PLACEMENT_TILED)) { top = 30; left = 0; if (ClientApplicationContext.getInstance().internalWindowCount > 0) { int row = 1; int column = 1; boolean makeNextRow = false; for (int i = 0; i < ClientApplicationContext.getInstance().internalWindowCount; i++) { left = (width * (i + 1)); if ((left + width) > screenWidth()) { left = 0; makeNextRow = true; if (row > 1) { left = (width * column); column++; if ((left + width) > screenWidth()) { makeNextRow = true; } else { makeNextRow = false; } } if (makeNextRow) { left = 0; column = 1; top = 30 + (height * row); row++; makeNextRow = false; } } else { top = 30; } } } } // corrections for the height if (width == 0) { width = 600; } if (height == 0) { height = 450; } MainFactory.createWindowWithUrl(title, openWindow.getUrl(), width, height, resizable, centered, top, left, isModal); ClientApplicationContext.getInstance().internalWindowCount++; } } FunctionsExecutor.setProcessedBuiltIn(true); } }
From source file:com.qualogy.qafe.gwt.client.vo.handlers.OpenWindowHandler.java
License:Apache License
private void openUrlExternal(final String url, final Map<String, String> paramMap) { // Set the title to "" when open a window externally, the title will not be shown anyway, // in IE this will give an exception when title is not empty final String title = ""; final String features = toCommaSeperated(paramMap); Window.open(url, title, features); ClientApplicationContext.getInstance().externalWindowCount++; }