List of usage examples for com.google.gwt.user.client.ui FileUpload addChangeHandler
public HandlerRegistration addChangeHandler(ChangeHandler handler)
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;/*from w w w . j a v a2 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:org.bonitasoft.console.client.view.FileUploadWidget.java
License:Open Source License
protected FileUpload getFileUpload() { FileUpload fileUpload = new FileUpload(); // mandatory/*from ww w . j a v a 2 s . c om*/ fileUpload.setName("uploadFormElement"); if (myFileNameValidationHandler != null) { fileUpload.addChangeHandler(myFileNameValidationHandler); } fileUpload.getElement().setAttribute("size", "45%"); return fileUpload; }
From source file:org.bonitasoft.forms.client.view.widget.FileUploadWidget.java
License:Open Source License
protected FileUpload addFileUploalToFormPanel(final String fileUploadName) { final FileUpload fileUpload = new FileUpload(); fileUpload.addChangeHandler(new ChangeHandler() { @Override//from w w w .ja va2 s .co m public void onChange(final ChangeEvent event) { formPanel.submit(); } }); fileUpload.setStyleName("bonita_file_upload"); // mandatory because we are in a true form with a post action fileUpload.setName(fileUploadName); if (DOMUtils.getInstance().isIE8()) { fileUpload.getElement().setPropertyString("contentEditable", "false"); } formPanel.add(fileUpload); final UploadSubmitHandler uploadHandler = new UploadSubmitHandler(); formPanel.addSubmitHandler(uploadHandler); formPanel.addSubmitCompleteHandler(uploadHandler); return fileUpload; }
From source file:org.ow2.proactive_grid_cloud_portal.rm.client.nodesource.serialization.ImportFromFilePanel.java
License:Open Source License
private FileUpload getFileUploadItem() { FileUpload fileUpload = new FileUpload(); fileUpload.setName(FILE_OPTION_NAME); fileUpload.addChangeHandler(onFileChosen -> { if (!fileUpload.getFilename().isEmpty()) { submit();// ww w . j av a 2 s .c o m } }); return fileUpload; }
From source file:org.pentaho.mantle.client.dialogs.ImportDialog.java
License:Open Source License
/** * @param repositoryFile//w ww .j a v a 2 s. com */ public ImportDialog(RepositoryFile repositoryFile, boolean allowAdvancedDialog) { super(Messages.getString("import"), Messages.getString("ok"), Messages.getString("cancel"), false, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ form = new FormPanel(); form.addSubmitHandler(new SubmitHandler() { @Override public void onSubmit(SubmitEvent se) { // if no file is selected then do not proceed okButton.setEnabled(false); cancelButton.setEnabled(false); MantleApplication.showBusyIndicator(Messages.getString("pleaseWait"), Messages.getString("importInProgress")); } }); form.addSubmitCompleteHandler(new SubmitCompleteHandler() { @Override public void onSubmitComplete(SubmitCompleteEvent sce) { MantleApplication.hideBusyIndicator(); okButton.setEnabled(false); cancelButton.setEnabled(true); ImportDialog.this.hide(); String result = sce.getResults(); if (result.length() > 5) { HTML messageTextBox = null; if (result.contains("INVALID_MIME_TYPE") == true) { messageTextBox = new HTML(Messages.getString("uploadInvalidFileTypeQuestion", result)); } else { logWindow(result, Messages.getString("importLogWindowTitle")); } if (messageTextBox != null) { PromptDialogBox dialogBox = new PromptDialogBox(Messages.getString("uploadUnsuccessful"), Messages.getString("close"), null, true, true); dialogBox.setContent(messageTextBox); dialogBox.center(); } } // if mantle_isBrowseRepoDirty=true: do getChildren call // if mantle_isBrowseRepoDirty=false: use stored fileBrowserModel in myself.get("cachedData") setBrowseRepoDirty(Boolean.TRUE); // BISERVER-9319 Refresh browse perspective after import final GenericEvent event = new GenericEvent(); event.setEventSubType("ImportDialogEvent"); EventBusUtil.EVENT_BUS.fireEvent(event); } }); VerticalPanel rootPanel = new VerticalPanel(); VerticalPanel spacer = new VerticalPanel(); spacer.setHeight("10px"); rootPanel.add(spacer); Label fileLabel = new Label(Messages.getString("file") + ":"); final TextBox importDir = new TextBox(); rootPanel.add(fileLabel); okButton.setEnabled(false); final TextBox fileTextBox = new TextBox(); fileTextBox.setEnabled(false); //We use an fileNameOverride because FileUpload can only handle US character set reliably. final Hidden fileNameOverride = new Hidden("fileNameOverride"); final FileUpload upload = new FileUpload(); upload.setName("fileUpload"); ChangeHandler fileUploadHandler = new ChangeHandler() { @Override public void onChange(ChangeEvent event) { fileTextBox.setText(upload.getFilename()); if (!"".equals(importDir.getValue())) { //Set the fileNameOverride because the fileUpload object can only reliably transmit US-ASCII //character set. See RFC283 section 2.3 for details String fileNameValue = upload.getFilename().replaceAll("\\\\", "/"); fileNameValue = fileNameValue.substring(fileNameValue.lastIndexOf("/") + 1); fileNameOverride.setValue(fileNameValue); okButton.setEnabled(true); } else { okButton.setEnabled(false); } } }; upload.addChangeHandler(fileUploadHandler); upload.setVisible(false); HorizontalPanel fileUploadPanel = new HorizontalPanel(); fileUploadPanel.add(fileTextBox); fileUploadPanel.add(new HTML(" ")); Button browseButton = new Button(Messages.getString("browse") + "..."); browseButton.setStyleName("pentaho-button"); fileUploadPanel.add(browseButton); browseButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { setRetainOwnershipState(); jsClickUpload(upload.getElement()); } }); rootPanel.add(fileUploadPanel); rootPanel.add(upload); applyAclPermissions.setName("applyAclPermissions"); applyAclPermissions.setValue(Boolean.FALSE); applyAclPermissions.setFormValue("false"); applyAclPermissions.setEnabled(true); applyAclPermissions.setVisible(false); final CheckBox overwriteAclPermissions = new CheckBox(Messages.getString("overwriteAclPermissions"), true); overwriteAclPermissions.setName("overwriteAclPermissions"); applyAclPermissions.setValue(Boolean.FALSE); applyAclPermissions.setFormValue("false"); overwriteAclPermissions.setEnabled(true); overwriteAclPermissions.setVisible(false); final Hidden overwriteFile = new Hidden("overwriteFile"); overwriteFile.setValue("true"); final Hidden logLevel = new Hidden("logLevel"); logLevel.setValue("ERROR"); final Hidden retainOwnership = new Hidden("retainOwnership"); retainOwnership.setValue("true"); rootPanel.add(applyAclPermissions); rootPanel.add(overwriteAclPermissions); rootPanel.add(overwriteFile); rootPanel.add(logLevel); rootPanel.add(retainOwnership); rootPanel.add(fileNameOverride); spacer = new VerticalPanel(); spacer.setHeight("4px"); rootPanel.add(spacer); DisclosurePanel disclosurePanel = new DisclosurePanel(Messages.getString("advancedOptions")); disclosurePanel.getHeader().setStyleName("gwt-Label"); disclosurePanel.setVisible(allowAdvancedDialog); HorizontalPanel mainPanel = new HorizontalPanel(); mainPanel.add(new HTML(" ")); VerticalPanel disclosureContent = new VerticalPanel(); HTML replaceLabel = new HTML(Messages.getString("fileExists")); replaceLabel.setStyleName("gwt-Label"); disclosureContent.add(replaceLabel); final CustomListBox overwriteFileDropDown = new CustomListBox(); final CustomListBox filePermissionsDropDown = new CustomListBox(); DefaultListItem replaceListItem = new DefaultListItem(Messages.getString("replaceFile")); replaceListItem.setValue("true"); overwriteFileDropDown.addItem(replaceListItem); DefaultListItem doNotImportListItem = new DefaultListItem(Messages.getString("doNotImport")); doNotImportListItem.setValue("false"); overwriteFileDropDown.addItem(doNotImportListItem); overwriteFileDropDown.setVisibleRowCount(1); disclosureContent.add(overwriteFileDropDown); spacer = new VerticalPanel(); spacer.setHeight("4px"); disclosureContent.add(spacer); HTML filePermissionsLabel = new HTML(Messages.getString("filePermissions")); filePermissionsLabel.setStyleName("gwt-Label"); disclosureContent.add(filePermissionsLabel); DefaultListItem usePermissionsListItem = new DefaultListItem(Messages.getString("usePermissions")); usePermissionsListItem.setValue("false"); filePermissionsDropDown.addItem(usePermissionsListItem); // If selected set "overwriteAclPermissions" to // false. DefaultListItem retainPermissionsListItem = new DefaultListItem(Messages.getString("retainPermissions")); retainPermissionsListItem.setValue("true"); filePermissionsDropDown.addItem(retainPermissionsListItem); // If selected set "overwriteAclPermissions" to // true. final ChangeListener filePermissionsHandler = new ChangeListener() { @Override public void onChange(Widget sender) { String value = filePermissionsDropDown.getSelectedItem().getValue().toString(); applyAclPermissions.setValue(Boolean.valueOf(value)); applyAclPermissions.setFormValue(value); overwriteAclPermissions.setFormValue(value); overwriteAclPermissions.setValue(Boolean.valueOf(value)); setRetainOwnershipState(); } }; filePermissionsDropDown.addChangeListener(filePermissionsHandler); filePermissionsDropDown.setVisibleRowCount(1); disclosureContent.add(filePermissionsDropDown); spacer = new VerticalPanel(); spacer.setHeight("4px"); disclosureContent.add(spacer); HTML fileOwnershipLabel = new HTML(Messages.getString("fileOwnership")); fileOwnershipLabel.setStyleName("gwt-Label"); disclosureContent.add(fileOwnershipLabel); retainOwnershipDropDown.addChangeListener(new ChangeListener() { @Override public void onChange(Widget sender) { String value = retainOwnershipDropDown.getSelectedItem().getValue().toString(); retainOwnership.setValue(value); } }); DefaultListItem keepOwnershipListItem = new DefaultListItem(Messages.getString("keepOwnership")); keepOwnershipListItem.setValue("true"); retainOwnershipDropDown.addItem(keepOwnershipListItem); DefaultListItem assignOwnershipListItem = new DefaultListItem(Messages.getString("assignOwnership")); assignOwnershipListItem.setValue("false"); retainOwnershipDropDown.addItem(assignOwnershipListItem); retainOwnershipDropDown.setVisibleRowCount(1); disclosureContent.add(retainOwnershipDropDown); spacer = new VerticalPanel(); spacer.setHeight("4px"); disclosureContent.add(spacer); ChangeListener overwriteFileHandler = new ChangeListener() { @Override public void onChange(Widget sender) { String value = overwriteFileDropDown.getSelectedItem().getValue().toString(); overwriteFile.setValue(value); } }; overwriteFileDropDown.addChangeListener(overwriteFileHandler); HTML loggingLabel = new HTML(Messages.getString("logging")); loggingLabel.setStyleName("gwt-Label"); disclosureContent.add(loggingLabel); final CustomListBox loggingDropDown = new CustomListBox(); loggingDropDown.addChangeListener(new ChangeListener() { public void onChange(Widget sender) { String value = loggingDropDown.getSelectedItem().getValue().toString(); logLevel.setValue(value); } }); DefaultListItem noneListItem = new DefaultListItem(Messages.getString("none")); noneListItem.setValue("ERROR"); loggingDropDown.addItem(noneListItem); DefaultListItem shortListItem = new DefaultListItem(Messages.getString("short")); shortListItem.setValue("WARN"); loggingDropDown.addItem(shortListItem); DefaultListItem debugListItem = new DefaultListItem(Messages.getString("verbose")); debugListItem.setValue("TRACE"); loggingDropDown.addItem(debugListItem); loggingDropDown.setVisibleRowCount(1); disclosureContent.add(loggingDropDown); mainPanel.add(disclosureContent); disclosurePanel.setContent(mainPanel); rootPanel.add(disclosurePanel); importDir.setName("importDir"); importDir.setText(repositoryFile.getPath()); importDir.setVisible(false); rootPanel.add(importDir); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); setFormAction(); form.add(rootPanel); setContent(form); }
From source file:org.pentaho.platform.dataaccess.datasource.ui.importing.MetadataImportDialogController.java
License:Open Source License
@Bindable public void addLocalizedBundle() { final FileUpload localizedBundleUpload = new FileUpload(); localizedBundleUpload.setName("localeFiles"); localizedBundleUpload.getElement().setId("propertyFileUpload" + FILE_UPLOAD_SUFFIX++); localizedBundleUpload.addChangeHandler(new ChangeHandler() { @Override//from w w w . j a v a2s . c o m public void onChange(ChangeEvent event) { String fileName = ((FileUpload) event.getSource()).getFilename(); if (fileName == null || fileName.length() < 1) { // Trying to detect a cancel propertiesFileImportPanel.remove(localizedBundleUpload); } else { importDialogModel.addLocalizedBundle(fileName, fileName); } } }); propertiesFileImportPanel.add(localizedBundleUpload); jsClickUpload(localizedBundleUpload.getElement().getId()); }