List of usage examples for com.google.gwt.user.client.ui FileUpload FileUpload
public FileUpload()
From source file:org.ow2.proactive_grid_cloud_portal.scheduler.client.SubmitWindow.java
License:Open Source License
/** * internal layout creation/* w w w . j a v a 2s .com*/ * * <pre> * +- Window ------------------+ * |+- VLayout ---------------+| * ||+- Label --------+ || <-- error messages * ||+----------------+ || when applicable * ||+- Layout --------------+|| * |||+- FormPanel ---------+||| * ||||+- VerticalPanel ---+|||| * ||||| form fields ||||| <-- GWT form wrapped * ||||+-------------------+|||| in SmartGWT layout * |||+---------------------+||| * ||+-----------------------+|| * ||+- DynamicForm ---------+|| SmartGWT form, check * ||| form fields ||| <-- to enable variable edition * ||+-----------------------+|| * || +- IButton --+|| <-- submit button * || +------------+|| * |+-------------------------+| * +---------------------------+ * </pre> * * If the <code>Edit variables</code> checkbox is checked, * the {@link UploadServlet} called by the GWT form will return the content * of the job descriptor, and we will create a new form to edit the * variables so that we may submit the job to a second servlet, {@link SubmitEditServlet}. * If the {@link SubmitEditServlet} submission fails, we get back in the same state * as before the first click to Submit * * */ private void build() { /* mixing GWT's native FormPanel with SmartGWT containers, * because SmartGWT's form somehow sucks when not using the datasource stuff * as a result the layout is a bit messy */ // root page of the window final VLayout layout = new VLayout(); layout.setMargin(10); layout.setWidth100(); layout.setHeight100(); // buttons final HLayout buttons = new HLayout(); buttons.setMembersMargin(5); buttons.setHeight(20); buttons.setWidth100(); buttons.setAlign(Alignment.RIGHT); final IButton uploadButton = new IButton("Submit"); uploadButton.setIcon(Images.instance.ok_16().getSafeUri().asString()); final IButton cancelButton = new IButton("Cancel"); cancelButton.setIcon(Images.instance.cancel_16().getSafeUri().asString()); cancelButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { SubmitWindow.this.window.hide(); SubmitWindow.this.destroy(); } }); buttons.setMembers(uploadButton, cancelButton); // holds the form fields VerticalPanel formContent = new VerticalPanel(); Hidden hiddenField = new Hidden(); hiddenField.setName("sessionId"); hiddenField.setValue(LoginModel.getInstance().getSessionId()); formContent.add(hiddenField); final FileUpload fileUpload = new FileUpload(); fileUpload.setName("job"); final Hidden editField = new Hidden("edit"); editField.setValue("0"); formContent.add(fileUpload); formContent.add(editField); // actual form final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "uploader"); formPanel.add(formContent); formPanel.setWidth("350px"); formPanel.setHeight("30px"); // wraps the GWT component so that we may show/hide it final HLayout formWrapper = new HLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.setHeight(30); formWrapper.addChild(formPanel); // error messages when applicable final Label label = new Label("Submit an XML Job Descriptor:"); label.setHeight(30); label.setWidth100(); // shown during submission final Label waitLabel = new Label("Please wait..."); waitLabel.setHeight(30); waitLabel.setIcon("loading.gif"); waitLabel.setWidth100(); waitLabel.setAlign(Alignment.CENTER); final CheckboxItem edit = new CheckboxItem("edit", "Edit variables definitions"); final DynamicForm editForm = new DynamicForm(); editForm.setHeight100(); editForm.setColWidths(20, "*"); editForm.setFields(edit); layout.addMember(label); layout.addMember(formWrapper); layout.addMember(editForm); layout.addMember(buttons); this.window = new Window(); this.window.setTitle("Submit Job"); this.window.setShowMinimizeButton(false); this.window.setIsModal(true); this.window.setShowModalMask(true); this.window.addItem(layout); this.window.setWidth(420); this.window.setHeight(180); this.window.centerInPage(); this.window.setCanDragResize(true); // click the upload button : // hide the form, show a 'please wait' label, // wait for the form's callback uploadButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { public void onClick(ClickEvent e) { editField.setValue(edit.getValueAsBoolean() ? "1" : "0"); formPanel.submit(); layout.removeMember(label); layout.removeMember(formWrapper); layout.removeMember(editForm); layout.removeMember(buttons); layout.addMember(waitLabel); } }); // form callback : silently close the window if no error, // else display message and allow new submission formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String fn = fileUpload.getFilename(); // chrome workaround final String fileName = fn.replace("C:\\fakepath\\", ""); String res = event.getResults(); boolean isError = false; try { JSONValue js = JSONParser.parseStrict(res); JSONObject obj = js.isObject(); /* * submission with no edition successful, result is the job id */ if (obj.get("id") != null && obj.get("id").isNumber() != null) { int id = (int) obj.get("id").isNumber().doubleValue(); SubmitWindow.this.destroy(); LogModel.getInstance().logMessage("Successfully submitted job " + fileName + ": " + id); controller.getExecutionController().getJobsController().addSubmittingJob(id, fileName); } /* * submission with edition: */ else if (obj.get("jobEdit") != null && obj.get("jobEdit").isString() != null) { String val = obj.get("jobEdit").isString().stringValue(); String job = new String( org.ow2.proactive_grid_cloud_portal.common.shared.Base64Utils.fromBase64(val)); final Map<String, String> variables = readVars(job); // presentation form final DynamicForm varForm = new DynamicForm(); final FormItem[] fields = new FormItem[variables.size()]; final Hidden[] _fields = new Hidden[variables.size()]; int i = 0; final VerticalPanel hiddenPane = new VerticalPanel(); for (Entry<String, String> var : variables.entrySet()) { TextItem t = new TextItem(var.getKey(), var.getKey()); t.setValue(var.getValue()); t.setWidth(240); _fields[i] = new Hidden("var_" + var.getKey()); hiddenPane.add(_fields[i]); fields[i] = t; i++; } varForm.setFields(fields); varForm.setWidth100(); varForm.setHeight100(); // actual form used to POST final FormPanel fpanel = new FormPanel(); fpanel.setMethod(FormPanel.METHOD_POST); fpanel.setAction(GWT.getModuleBaseURL() + "submitedit"); hiddenPane.add(new Hidden("job", job)); hiddenPane.add(new Hidden("sessionId", LoginModel.getInstance().getSessionId())); fpanel.setWidget(hiddenPane); final Layout fpanelWrapper = new Layout(); fpanelWrapper.addMember(fpanel); label.setContents( "Edit the variable definitions for job <strong>" + fileName + "</strong>"); final HLayout buttons2 = new HLayout(); buttons2.setWidth100(); buttons2.setHeight(20); buttons2.setAlign(Alignment.RIGHT); buttons2.setMembersMargin(5); final IButton reset = new IButton("Reset"); reset.setIcon(Images.instance.clear_16().getSafeUri().asString()); reset.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { for (FormItem it : fields) { String key = it.getName(); String val = variables.get(key); it.setValue(val); } } }); final IButton submit2 = new IButton("Submit"); submit2.setIcon(Images.instance.ok_16().getSafeUri().asString()); submit2.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { for (int i = 0; i < fields.length; i++) { String val = ""; if (fields[i].getValue() != null) { val = fields[i].getValue().toString(); } _fields[i].setValue(val); } fpanel.submit(); layout.removeMember(label); layout.removeMember(varForm); layout.removeMember(buttons2); layout.removeMember(fpanelWrapper); layout.addMember(waitLabel); layout.reflow(); } }); final IButton cancel2 = new IButton("Cancel"); cancel2.setIcon(Images.instance.cancel_16().getSafeUri().asString()); cancel2.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { SubmitWindow.this.window.hide(); SubmitWindow.this.destroy(); } }); buttons2.setMembers(reset, submit2, cancel2); fpanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String res = event.getResults(); boolean failure = false; try { JSONValue val = controller.parseJSON(res); if (val.isObject() != null && val.isObject().containsKey("id")) { int id = (int) val.isObject().get("id").isNumber().doubleValue(); SubmitWindow.this.destroy(); LogModel.getInstance() .logMessage("Successfully submitted job " + fileName + ": " + id); controller.getExecutionController().getJobsController().addSubmittingJob(id, fileName); } else { failure = true; } } catch (JSONException e) { failure = true; } if (failure) { String msg = JSONUtils.getJsonErrorMessage(res); layout.removeMember(waitLabel); label.setContents( "<span style='color:red; font-weight:bold'>Job submission failed:</span><br>" + "<span style=''>" + msg + "</span>"); layout.addMember(label); layout.addMember(formWrapper); layout.addMember(editForm); layout.addMember(buttons); layout.reflow(); LogModel.getInstance().logImportantMessage("Failed to submit job: " + msg); } } }); layout.removeMember(waitLabel); layout.addMember(label); layout.addMember(varForm); layout.addMember(fpanelWrapper); layout.addMember(buttons2); layout.setMargin(10); layout.reflow(); } else { isError = true; } } catch (JSONException t) { isError = true; } /* * submission failure */ if (isError) { String msg = JSONUtils.getJsonErrorMessage(res); layout.removeMember(waitLabel); label.setContents("<span style='color:red; font-weight:bold'>Job submission failed:</span><br>" + "<span style=''>" + msg + "</span>"); layout.addMember(label); layout.addMember(formWrapper); layout.addMember(editForm); layout.addMember(buttons); layout.reflow(); LogModel.getInstance().logImportantMessage("Failed to submit job: " + msg); } } }); }
From source file:org.pentaho.mantle.client.dialogs.ImportDialog.java
License:Open Source License
/** * @param repositoryFile//from w ww . j a va 2 s. c o m */ 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.pat.client.ui.panels.windows.ConnectMondrianPanel.java
License:Open Source License
private ConnectMondrianPanel(Boolean initData) { super(new BorderLayout()); idHidden = new Hidden(); nameTextBox = new TextBox(); saveButton = new Button(Pat.CONSTANTS.save()); uploadButton = new Button(Pat.CONSTANTS.upload()); viewSchemaButton = new Button(Pat.CONSTANTS.viewSchema()); cancelButton = new Button(Pat.CONSTANTS.cancel()); driverListBox = new ListBox(); urlTextBox = new TextBox(); userTextBox = new TextBox(); passwordTextBox = new PasswordTextBox(); roleTextBox = new TextBox(); fileUpload = new FileUpload(); schemaData = ""; //$NON-NLS-1$ startupCheckbox = new CheckBox(Pat.CONSTANTS.connectStartup()); startupCheckbox.setValue(true);//ww w . j av a 2s .c o m schemaValCheckbox = new CheckBox(Pat.CONSTANTS.validateSchema()); this.setStyleName(CONNECT_MONDRIAN_PANEL); init(); if (initData) { initDriverListBox(); } }
From source file:org.pentaho.platform.dataaccess.datasource.ui.importing.AnalysisImportDialogController.java
License:Open Source License
private void createWorkingForm() { if (formPanel == null) { formPanel = new FormPanel(); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setAction(MONDRIAN_POSTANALYSIS_URL); formPanel.getElement().getStyle().setProperty("position", "absolute"); formPanel.getElement().getStyle().setProperty("visibility", "hidden"); formPanel.getElement().getStyle().setProperty("overflow", "hidden"); formPanel.getElement().getStyle().setProperty("clip", "rect(0px,0px,0px,0px)"); mainFormPanel = new FlowPanel(); formPanel.add(mainFormPanel);/*w w w . j ava 2 s . co m*/ analysisFileUpload = new FileUpload(); analysisFileUpload.setName("uploadAnalysis"); analysisFileUpload.getElement().setId("analysisFileUpload"); analysisFileUpload.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { schemaNameLabel.setValue(((FileUpload) event.getSource()).getFilename()); importDialogModel.setUploadedFile(((FileUpload) event.getSource()).getFilename()); acceptButton.setDisabled(!isValid()); } }); mainFormPanel.add(analysisFileUpload); VerticalPanel vp = (VerticalPanel) hiddenArea.getManagedObject(); vp.add(formPanel); //addSubmitHandler(); moved to GwtDataSourceEditorEntryPoint } }
From source file:org.pentaho.platform.dataaccess.datasource.ui.importing.MetadataImportDialogController.java
License:Open Source License
private void createWorkingForm() { String importURL = METADATA_IMPORT_URL; formPanel = new FormPanel(); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setAction(importURL);/*www . j a v a 2s . co m*/ formPanel.getElement().getStyle().setProperty("position", "absolute"); formPanel.getElement().getStyle().setProperty("visibility", "hidden"); formPanel.getElement().getStyle().setProperty("overflow", "hidden"); formPanel.getElement().getStyle().setProperty("clip", "rect(0px,0px,0px,0px)"); mainFormPanel = new FlowPanel(); propertiesFileImportPanel = new FlowPanel(); mainFormPanel.add(propertiesFileImportPanel); formPanel.add(mainFormPanel); formDomainIdText = new TextBox(); formDomainIdText.setName("domainId"); mainFormPanel.add(formDomainIdText); metadataFileUpload = new FileUpload(); metadataFileUpload.setName("metadataFile"); metadataFileUpload.getElement().setId("metaFileUpload"); metadataFileUpload.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { metaFileLocation.setValue(((FileUpload) event.getSource()).getFilename()); importDialogModel.setUploadedFile(((FileUpload) event.getSource()).getFilename()); } }); mainFormPanel.add(metadataFileUpload); VerticalPanel vp = (VerticalPanel) hiddenArea.getManagedObject(); vp.add(formPanel); }
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 ww w.jav a 2s . 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()); }
From source file:org.pentaho.platform.dataaccess.datasource.wizard.UploadFile.java
License:Open Source License
public void onModuleLoad() { // Create a FormPanel and point it at a service. final FormPanel uploadForm = new FormPanel(); uploadForm.setAction(GWT.getModuleBaseURL() + "/UploadService"); // Because we're going to add a FileUpload widget, we'll need to set the // form to use the POST method, and multipart MIME encoding. uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART); uploadForm.setMethod(FormPanel.METHOD_POST); // Create a panel to hold all of the form widgets. VerticalPanel panel = new VerticalPanel(); uploadForm.setWidget(panel);/*from w ww. j av a2 s .c o m*/ // Create a TextBox, giving it a name so that it will be submitted. final TextBox tb = new TextBox(); tb.setName("textBoxFormElement"); panel.add(tb); // Create a FileUpload widget. FileUpload upload = new FileUpload(); upload.setName("uploadFormElement"); panel.add(upload); // Add a 'Upload' button. Button uploadSubmitButton = new Button("Upload"); panel.add(uploadSubmitButton); uploadSubmitButton.addClickListener(new ClickListener() { public void onClick(Widget sender) { uploadForm.submit(); } }); uploadForm.addFormHandler(new FormHandler() { public void onSubmit(FormSubmitEvent event) { } public void onSubmitComplete(FormSubmitCompleteEvent event) { Window.alert(event.getResults()); } }); RootPanel.get().add(uploadForm); }
From source file:org.pentaho.ui.xul.gwt.tags.GwtFileDialog.java
License:Open Source License
public GwtFileDialog() { super("filedialog"); uploadForm = new FormPanel(); uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART); uploadForm.setMethod(FormPanel.METHOD_POST); // Create a panel to hold all of the form widgets. VerticalPanel panel = new VerticalPanel(); uploadForm.setWidget(panel);/*from w w w. java 2 s . com*/ uploadForm.setVisible(false); // Create a FileUpload widget. upload = new FileUpload(); upload.setName("uploadFormElement"); //$NON-NLS-1$ panel.add(upload); RootPanel.get().add(uploadForm); setManagedObject(uploadForm); }
From source file:org.pentaho.ui.xul.gwt.tags.GwtFileUpload.java
License:Open Source License
@SuppressWarnings("deprecation") public void init(com.google.gwt.xml.client.Element srcEle, XulDomContainer container) { mainPanel = new VerticalPanel(); setManagedObject(mainPanel);/*from w w w . j ava2 s . c om*/ super.init(srcEle, container); if (!StringUtils.isEmpty(srcEle.getAttribute("action"))) { setAction(buildActionUrl(GWT.getModuleBaseURL(), srcEle.getAttribute("action"))); } if (!StringUtils.isEmpty(srcEle.getAttribute("onuploadsuccess"))) { setOnUploadSuccess(srcEle.getAttribute("onuploadsuccess")); } if (!StringUtils.isEmpty(srcEle.getAttribute("onuploadfailure"))) { setOnUploadFailure(srcEle.getAttribute("onuploadfailure")); } uploadForm = new FormPanel(); uploadForm.setEncoding(FormPanel.ENCODING_MULTIPART); uploadForm.setMethod(FormPanel.METHOD_POST); uploadForm.setHeight(getHeight() + "px"); uploadForm.setWidth(getWidth() + "px"); // Create a panel to hold all of the form widgets. HorizontalPanel panel = new HorizontalPanel(); uploadForm.setWidget(panel); uploadForm.setVisible(true); // Create a FileUpload widget. upload = new FileUpload(); upload.setStylePrimaryName("gwt-StyledFileUpload"); upload.setName("uploadFormElement"); //$NON-NLS-1$ upload.getElement().setId("uploadFormElement"); upload.setVisible(true); upload.setHeight(getHeight() + "px"); upload.setWidth(getWidth() + "px"); upload.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { setSelectedFile(upload.getFilename()); } }); uploadPanel = new VerticalPanel(); // -- upload styling -- // String uploadButtonImage = srcEle.getAttribute("image"); String uploadButtonDisabledImage = srcEle.getAttribute("disabledimage"); hiddenPanel = new HTMLPanel("<div id='hidden_div' class='gwt_file_upload_hidden_div'></div>"); uploadTextBox = new GwtLabel(); uploadTextBox.setId("gwt_FileUpload_uploadTextBox"); GwtButton uploadButton = new GwtButton(); uploadButton.setId("gwt_FileUpload_uploadButton"); uploadButton.setHeight(22); final LabelWidget label = new LabelWidget("uploadFormElement"); label.setStyleName("gwt_file_upload_label"); // If "image" attribute has been defined in the fileupload control do not display the file textfield AND do not // set the button label. if (StringUtils.isEmpty(uploadButtonImage)) { uploadButton.setLabel("..."); final Widget labelWidget = (Widget) uploadTextBox.getManagedObject(); label.add(labelWidget); uploadTextBox.layout(); labelWidget.setHeight(getHeight() + "px"); labelWidget.setWidth((getWidth() - 55) + "px"); DOM.setStyleAttribute(labelWidget.getElement(), "lineHeight", getHeight() + "px"); } else { uploadButton.setImage(uploadButtonImage); uploadButton.setDisabledImage(uploadButtonDisabledImage); } label.add((Widget) uploadButton.getManagedObject()); uploadButton.layout(); hiddenPanel.add(upload, "hidden_div"); hiddenPanel.add(label, "hidden_div"); // -- upload styling -- // uploadPanel.add(hiddenPanel); panel.add(uploadPanel); mainPanel.add(uploadForm); if (getHeight() >= 0) { mainPanel.setHeight(getHeight() + "px"); } if (getWidth() >= 0) { mainPanel.setWidth(getWidth() + "px"); } uploadForm.addFormHandler(new FormHandler() { public void onSubmit(FormSubmitEvent event) { if (upload.getFilename() == null) { try { GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadFailure(), new Object[] { new Throwable("No file has been selected. Please select the file to upload") }); return; } catch (XulException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public void onSubmitComplete(FormSubmitCompleteEvent event) { String results = event.getResults(); try { if (results != null && results.indexOf(ERROR) >= 0) { if (results.indexOf(ERROR) + ERROR.length() < results.length()) { String result = results.replaceAll("\\<.*?>", ""); GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadFailure(), new Object[] { new Throwable(result) }); } } else { if (results != null) { String result = results.replaceAll("\\<.*?>", ""); GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadSuccess(), new Object[] { result }); } else { GwtFileUpload.this.getXulDomContainer().invoke(getOnUploadFailure(), new Object[] { new Throwable("Unable to find upload service or " + "Upload service returned nothing") }); } } } catch (XulException xule) { xule.printStackTrace(); } } }); uploadForm.setWidth("100%"); }
From source file:org.pentaho.ui.xul.gwt.tags.GwtFileUpload.java
License:Open Source License
@Bindable public void setSelectedFile(String name) { if (name == null || name.length() <= 0) { hiddenPanel.remove(upload);//from w w w. j a v a 2 s .c o m upload = new FileUpload(); upload.setStylePrimaryName("gwt-StyledFileUpload"); upload.setName("uploadFormElement"); //$NON-NLS-1$ upload.getElement().setId("uploadFormElement"); upload.setVisible(true); upload.setHeight(getHeight() + "px"); //$NON-NLS-1$ upload.setWidth(getWidth() + "px"); //$NON-NLS-1$ upload.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { setSelectedFile(upload.getFilename()); } }); hiddenPanel.add(upload, "hidden_div"); } uploadTextBox.setValue(name); firePropertyChange("selectedFile", null, name); //$NON-NLS-1$ }