List of usage examples for com.google.gwt.user.client.ui FormPanel setEncoding
public void setEncoding(String encodingType)
From source file:org.freemedsoftware.gwt.client.screen.patient.ScannedDocumentsEntryScreen.java
License:Open Source License
protected void initClinicalAssesmentForm() { containerScannedDocumentsForm = new VerticalPanel(); containerScannedDocumentsForm.setWidth("100%"); if (canWrite) tabPanel.add(containerScannedDocumentsForm, scannedDocumentsEntryLabel.getText()); containerScannedDocumentsForm.setWidth("100%"); scannedDocumentsEntryLabel.setStyleName(AppConstants.STYLE_LABEL_HEADER_MEDIUM); scannedDocumentsEntryLabel.setVisible(false); containerScannedDocumentsForm.add(scannedDocumentsEntryLabel); int row = 0;/*from w w w .j a v a 2 s .c o m*/ final FlexTable flexTable = new FlexTable(); containerScannedDocumentsForm.add(flexTable); Label label = new Label(_("Date")); flexTable.setWidget(row, 0, label); final CustomDatePicker date = new CustomDatePicker(); flexTable.setWidget(row, 1, date); containerScannedDocumentsFormFields.put("imagedt", date); row++; label = new Label(_("Type of Image")); flexTable.setWidget(row, 0, label); final CustomListBox typeOfImage = new CustomListBox(); typeOfImage.addItem(_("Operative Report"), "op_report/misc"); typeOfImage.addItem("- " + _("Colonoscopy"), "op_report/colonoscopy"); typeOfImage.addItem("- " + _("Endoscopy"), "op_report/endoscopy"); typeOfImage.addItem(_("Miscellaneous"), "misc/misc"); typeOfImage.addItem("- " + _("Consult"), "misc/consult"); typeOfImage.addItem("- " + _("Discharge Summary"), "misc/discharge_summary"); typeOfImage.addItem("- " + _("History and Physical"), "misc/history_and_physical"); typeOfImage.addItem(_("Lab Report"), "lab_report/misc"); typeOfImage.addItem("- CBC", "lab_report/cbc"); typeOfImage.addItem("- C8", "lab_report/c8"); typeOfImage.addItem("- LFT", "lab_report/lft"); typeOfImage.addItem("- " + _("Lipid Profile"), "lab_report/lipid_profile"); typeOfImage.addItem("- UA", "lab_report/ua"); typeOfImage.addItem("- " + _("Thyroid Profile"), "lab_report/thyroid_profile"); typeOfImage.addItem(_("Letters"), "letters/misc"); typeOfImage.addItem(_("Oncology"), "oncology/misc"); typeOfImage.addItem(_("Hospital Records"), "hospital/misc"); typeOfImage.addItem("- " + _("Discharge Summary"), "hospital/discharge"); typeOfImage.addItem(_("Pathology"), "pathology/misc"); typeOfImage.addItem(_("Patient"), "patient/misc"); typeOfImage.addItem("- " + _("Consent"), "patient/consent"); typeOfImage.addItem("- " + _("History"), "patient/history"); typeOfImage.addItem("- " + _("Time Out"), "patient/time_out"); typeOfImage.addItem(_("Questionnaire"), "questionnaire/misc"); typeOfImage.addItem(_("Radiology"), "radiology/misc"); typeOfImage.addItem("- " + _("Abdominal Radiograph"), "radiology/abdominal_radiograph"); typeOfImage.addItem("- " + _("Chest Radiograph"), "radiology/chest_radiograph"); typeOfImage.addItem("- " + _("Abdominal CT Reports"), "radiology/abdominal_ct_reports"); typeOfImage.addItem("- " + _("Chest CT Reports"), "radiology/chest_ct_reports"); typeOfImage.addItem("- " + _("Mammogram Reports"), "radiology/mammogram_reports"); typeOfImage.addItem(_("Insurance Card"), "insurance_card"); typeOfImage.addItem(_("Referral"), "referral/misc"); typeOfImage.addItem("- " + _("Notes"), "referral/notes"); typeOfImage.addItem("- " + _("Radiographs"), "referral/radiographs"); typeOfImage.addItem("- " + _("Lab Reports"), "referral/lab_reports"); typeOfImage.addItem("- " + _("Consult"), "referral/consult"); typeOfImage.addItem(_("Financial Information"), "financial/misc"); flexTable.setWidget(row, 1, typeOfImage); containerScannedDocumentsFormFields.put("imagetypecat", typeOfImage); row++; label = new Label(_("Physician")); flexTable.setWidget(row, 0, label); final ProviderWidget provider = new ProviderWidget(); flexTable.setWidget(row, 1, provider); containerScannedDocumentsFormFields.put("imagephy", provider); row++; label = new Label(_("Description")); flexTable.setWidget(row, 0, label); final TextArea description = new TextArea(); flexTable.setWidget(row, 1, description); containerScannedDocumentsFormFields.put("imagedesc", description); row++; label = new Label(_("Attach Image")); flexTable.setWidget(row, 0, label); final FileUpload fileUpload = new FileUpload(); fileUpload.setName("imageupload"); final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.add(fileUpload); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { @Override public void onSubmitComplete(SubmitCompleteEvent arg0) { Integer id = (Integer) JsonUtil.shoehornJson(JSONParser.parseStrict(arg0.getResults()), "Integer"); if (id != null) { Util.showInfoMsg(moduleName, _("Document added successfully.")); formPanel.reset(); resetForm(); populateAvailableData(); } else { Util.showErrorMsg(moduleName, _("Failed to add document.")); } } }); flexTable.setWidget(row, 1, formPanel); row++; HorizontalPanel buttonContainer = new HorizontalPanel(); flexTable.setWidget(row, 1, buttonContainer); wSubmit = new CustomButton(_("Submit"), AppConstants.ICON_ADD); buttonContainer.add(wSubmit); wSubmit.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { String method = "Add"; HashMap<String, String> data = Util.populateHashMap(containerScannedDocumentsFormFields); data.put("imagepat", patientId.toString()); if (scannedDocumentId != null) { data.put("id", scannedDocumentId.toString()); method = "Mod"; } String[] params = { JsonUtil.jsonify(data) }; String url = Util.getJsonRequest("org.freemedsoftware.module.ScannedDocuments." + method, params); formPanel.setAction(url); formPanel.submit(); } }); CustomButton resetButton = new CustomButton(_("Reset"), AppConstants.ICON_CLEAR); buttonContainer.add(resetButton); resetButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent arg0) { formPanel.reset(); resetForm(); } }); wDelete = new CustomButton(_("Delete"), AppConstants.ICON_DELETE); buttonContainer.add(wDelete); wDelete.setVisible(false); wDelete.addClickHandler(new ClickHandler() { public void onClick(ClickEvent evt) { deleteRecord(SCANNED_DOCUMENT, scannedDocumentId); } }); }
From source file:org.jboss.as.console.client.shared.deployment.DeploymentStep1.java
License:Open Source License
public Widget asWidget() { final TabPanel tabs = new TabPanel(); tabs.setStyleName("default-tabpanel"); // -------/* w ww . j a v a 2 s .c om*/ VerticalPanel layout = new VerticalPanel(); layout.setStyleName("window-content"); // Create a FormPanel and point it at a service. final FormPanel form = new FormPanel(); String url = Console.getBootstrapContext().getProperty(BootstrapContext.DEPLOYMENT_API); form.setAction(url); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); // Create a panel to hold all of the form widgets. VerticalPanel panel = new VerticalPanel(); panel.getElement().setAttribute("style", "width:100%"); form.setWidget(panel); // Create a FileUpload widget. final FileUpload upload = new FileUpload(); upload.setName("uploadFormElement"); panel.add(upload); final HTML errorMessages = new HTML("Please chose a file!"); errorMessages.setStyleName("error-panel"); errorMessages.setVisible(false); panel.add(errorMessages); // Add a 'submit' button. ClickHandler cancelHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { window.hide(); } }; ClickHandler submitHandler = new ClickHandler() { @Override public void onClick(ClickEvent event) { errorMessages.setVisible(false); // verify form String filename = upload.getFilename(); if (tabs.getTabBar().getSelectedTab() == 1) { // unmanaged content if (unmanagedForm.validate().hasErrors()) { return; } else { wizard.onCreateUnmanaged(unmanagedForm.getUpdatedEntity()); } } else if (filename != null && !filename.equals("")) { loading = Feedback.loading(Console.CONSTANTS.common_label_plaseWait(), Console.CONSTANTS.common_label_requestProcessed(), new Feedback.LoadingCallback() { @Override public void onCancel() { } }); form.submit(); } else { errorMessages.setVisible(true); } } }; DialogueOptions options = new DialogueOptions(Console.CONSTANTS.common_label_next(), submitHandler, Console.CONSTANTS.common_label_cancel(), cancelHandler); // Add an event handler to the form. form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { @Override public void onSubmitComplete(FormPanel.SubmitCompleteEvent event) { getLoading().hide(); String html = event.getResults(); // Step 1: upload content, retrieve hash value try { String json = html; try { if (!GWT.isScript()) // TODO: Formpanel weirdness json = html.substring(html.indexOf(">") + 1, html.lastIndexOf("<")); } catch (StringIndexOutOfBoundsException e) { // if I get this exception it means I shouldn't strip out the html // this issue still needs more research Log.debug("Failed to strip out HTML. This should be preferred?"); } JSONObject response = JSONParser.parseLenient(json).isObject(); JSONObject result = response.get("result").isObject(); String hash = result.get("BYTES_VALUE").isString().stringValue(); // step2: assign name and group wizard.onUploadComplete(upload.getFilename(), hash); } catch (Exception e) { Log.error(Console.CONSTANTS.common_error_failedToDecode() + ": " + html, e); } // Option 2: Unmanaged content } }); String stepText = "<h3>" + Console.CONSTANTS.common_label_step() + "1/2: " + Console.CONSTANTS.common_label_deploymentSelection() + "</h3>"; layout.add(new HTML(stepText)); HTML description = new HTML(); description.setHTML(Console.CONSTANTS.common_label_chooseFile()); description.getElement().setAttribute("style", "padding-bottom:15px;"); layout.add(description); layout.add(form); // Unmanaged form VerticalPanel unmanagedPanel = new VerticalPanel(); unmanagedPanel.setStyleName("window-content"); String unmanagedText = "<h3>" + Console.CONSTANTS.common_label_step() + "1/1: Specify Deployment</h3>"; unmanagedPanel.add(new HTML(unmanagedText)); unmanagedForm = new Form<DeploymentRecord>(DeploymentRecord.class); TextAreaItem path = new TextAreaItem("path", "Path"); TextBoxItem relativeTo = new TextBoxItem("relativeTo", "Relative To", false); TextBoxItem name = new TextBoxItem("name", "Name"); TextBoxItem runtimeName = new TextBoxItem("runtimeName", "Runtime Name"); CheckBoxItem archive = new CheckBoxItem("archive", "Is Archive?"); archive.setValue(true); unmanagedForm.setFields(path, relativeTo, archive, name, runtimeName); unmanagedPanel.add(unmanagedForm.asWidget()); // Composite view tabs.add(layout, "Managed"); tabs.add(unmanagedPanel, "Unmanaged"); tabs.selectTab(0); return new WindowContentBuilder(tabs, options).build(); }
From source file:org.jbpm.form.builder.ng.model.client.form.FBForm.java
License:Apache License
public FormPanel asFormPanel(Map<String, Object> data) { FormPanel panel = new FormPanel(); data.put(CommonGlobals.FORM_PANEL_KEY, panel); panel.setAction(this.action); panel.setEncoding(this.enctype); panel.setMethod(this.method); FlowPanel flow = new FlowPanel(); FormElement el = FormElement.as(panel.getElement()); el.setName(this.name); flow.add(new HTML("<!-- process name: " + getProcessId() + ", task name: " + getTaskId() + " -->")); for (FBFormItem item : getItems()) { flow.add(item.cloneDisplay(data)); }//from www. ja va2s. c o m panel.addSubmitHandler(new SubmitHandler() { @Override public void onSubmit(SubmitEvent event) { for (FBValidationItem item : getValidationItems()) { if (item.canValidateOnClient()) { if (!item.isValid(null)) { Window.alert("Validation " + item.getName() + " failed"); event.cancel(); } } } } }); panel.addSubmitCompleteHandler(new SubmitCompleteHandler() { @Override public void onSubmitComplete(SubmitCompleteEvent event) { RootPanel.get().getElement().setInnerHTML(event.getResults()); } }); panel.setWidget(flow); return panel; }
From source file:org.jbpm.formbuilder.client.form.FBForm.java
License:Apache License
public FormPanel asFormPanel(Map<String, Object> data) { FormPanel panel = new FormPanel(); data.put(FormBuilderGlobals.FORM_PANEL_KEY, panel); panel.setAction(this.action); panel.setEncoding(this.enctype); panel.setMethod(this.method); FlowPanel flow = new FlowPanel(); FormElement el = FormElement.as(panel.getElement()); el.setName(this.name); flow.add(new HTML("<!-- process name: " + getProcessId() + ", task name: " + getTaskId() + " -->")); for (FBFormItem item : getItems()) { flow.add(item.cloneDisplay(data)); }/*from w w w . j a v a 2 s . co m*/ panel.addSubmitHandler(new SubmitHandler() { @Override public void onSubmit(SubmitEvent event) { for (FBValidationItem item : getValidationItems()) { if (!item.createValidation().isValid(null)) { Window.alert("Validation " + item.getName() + " failed"); event.cancel(); } } } }); panel.addSubmitCompleteHandler(new SubmitCompleteHandler() { @Override public void onSubmitComplete(SubmitCompleteEvent event) { RootPanel.get().getElement().setInnerHTML(event.getResults()); } }); panel.setWidget(flow); return panel; }
From source file:org.kuali.continuity.admin.main.client.Location.java
License:Educational Community License
protected void doExtraSectionLoad() { // init form/*from www.j a va2 s .c om*/ final VerticalPanel vPanel = new VerticalPanel(); final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(Window.Location.getProtocol() + "//" + Window.Location.getHost() + "/continuity/admin/customImageUpload"); // set form handler formPanel.addFormHandler(new FormHandler() { public void onSubmit(FormSubmitEvent event) { // event.setCancelled(true); } public void onSubmitComplete(FormSubmitCompleteEvent event) { boolean isRestore = restore.getValue().equals("true"); if (uiImageEnum.getValue().equals("BEGIN")) { imgRestoreButton1.setVisible(!isRestore); } else if (uiImageEnum.getValue().equals("BEGIN_TEXT")) { imgRestoreButton2.setVisible(!isRestore); } else if (uiImageEnum.getValue().equals("BANNER")) { imgRestoreButton3.setVisible(!isRestore); } else if (uiImageEnum.getValue().equals("BANNER_TEXT")) { imgRestoreButton4.setVisible(!isRestore); } csrfToken.setValue(Cookies.getCookie(CSRF_TOKEN)); String message = isRestore ? "Default image restored!" : "Custom image upload completed!"; Window.alert(message); } }); // custom image labels Label lblImg1 = new Label("Entry screen top image:"); Label lblImg2 = new Label("Entry screen bottom image:"); Label lblImg3 = new Label("Banner left image:"); Label lblImg4 = new Label("Banner right image:"); Label lblImgDim1 = new Label("Recommended dimensions: 700 pixels x 200 pixels"); Label lblImgDim2 = new Label("Recommended dimensions: 700 pixels x 100 pixels"); Label lblImgDim3 = new Label("Recommended height: 80 pixels"); Label lblImgDim4 = new Label("Recommended height: 80 pixels"); // styles lblImg1.setStyleName("gwt-HTML-location-bold"); lblImg2.setStyleName("gwt-HTML-location-bold"); lblImg3.setStyleName("gwt-HTML-location-bold"); lblImg4.setStyleName("gwt-HTML-location-bold"); lblImgDim1.setStyleName("gwt-HTML-location"); lblImgDim2.setStyleName("gwt-HTML-location"); lblImgDim3.setStyleName("gwt-HTML-location"); lblImgDim4.setStyleName("gwt-HTML-location"); // entry fields imgInstallButton1.setStyleName("ButtonClass"); imgInstallButton2.setStyleName("ButtonClass"); imgInstallButton3.setStyleName("ButtonClass"); imgInstallButton4.setStyleName("ButtonClass"); imgRestoreButton1.setStyleName("ButtonClass"); imgRestoreButton2.setStyleName("ButtonClass"); imgRestoreButton3.setStyleName("ButtonClass"); imgRestoreButton4.setStyleName("ButtonClass"); imgUpload1.setStyleName("ButtonClass"); imgUpload2.setStyleName("ButtonClass"); imgUpload3.setStyleName("ButtonClass"); imgUpload4.setStyleName("ButtonClass"); imgUpload1.setWidth("300px"); imgUpload2.setWidth("300px"); imgUpload3.setWidth("300px"); imgUpload4.setWidth("300px"); imgUpload1.setName("uploadedImg1"); imgUpload2.setName("uploadedImg2"); imgUpload3.setName("uploadedImg3"); imgUpload4.setName("uploadedImg4"); // construct table FlexTable imageTable = new FlexTable(); imageTable.setStylePrimaryName("location-form"); imageTable.getFlexCellFormatter().setColSpan(0, 0, 3); imageTable.setWidget(0, 0, lblImg1); imageTable.getFlexCellFormatter().setColSpan(1, 0, 3); imageTable.setWidget(1, 0, lblImgDim1); imageTable.setWidget(2, 0, imgUpload1); imageTable.setWidget(2, 1, imgInstallButton1); imageTable.setWidget(2, 2, imgRestoreButton1); imageTable.getFlexCellFormatter().setColSpan(3, 0, 3); imageTable.setWidget(3, 0, lblImg2); imageTable.getFlexCellFormatter().setColSpan(4, 0, 3); imageTable.setWidget(4, 0, lblImgDim2); imageTable.setWidget(5, 0, imgUpload2); imageTable.setWidget(5, 1, imgInstallButton2); imageTable.setWidget(5, 2, imgRestoreButton2); imageTable.getFlexCellFormatter().setColSpan(6, 0, 3); imageTable.setWidget(6, 0, lblImg3); imageTable.getFlexCellFormatter().setColSpan(7, 0, 3); imageTable.setWidget(7, 0, lblImgDim3); imageTable.setWidget(8, 0, imgUpload3); imageTable.setWidget(8, 1, imgInstallButton3); imageTable.setWidget(8, 2, imgRestoreButton3); imageTable.getFlexCellFormatter().setColSpan(9, 0, 3); imageTable.setWidget(9, 0, lblImg4); imageTable.getFlexCellFormatter().setColSpan(10, 0, 3); imageTable.setWidget(10, 0, lblImgDim4); imageTable.setWidget(11, 0, imgUpload4); imageTable.setWidget(11, 1, imgInstallButton4); imageTable.setWidget(11, 2, imgRestoreButton4); imageTable.setWidget(12, 0, systemDomainId); imageTable.setWidget(12, 1, restore); imageTable.setWidget(12, 2, uiImageEnum); // button click listener imgInstallButton1.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload1, false, "BEGIN"); } }); imgInstallButton2.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload2, false, "BEGIN_TEXT"); } }); imgInstallButton3.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload3, false, "BANNER"); } }); imgInstallButton4.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload4, false, "BANNER_TEXT"); } }); imgRestoreButton1.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload1, true, "BEGIN"); } }); imgRestoreButton2.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload2, true, "BEGIN_TEXT"); } }); imgRestoreButton3.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload3, true, "BANNER"); } }); imgRestoreButton4.addClickListener(new ClickListener() { public void onClick(final Widget sender) { customImageFormSubmit(formPanel, imgUpload4, true, "BANNER_TEXT"); } }); // vertical panel vPanel.setStylePrimaryName("location-shib-form"); vPanel.add(new HTML("<h1>Upload Custom Images</h1>")); vPanel.add(new HTML( "To upload custom images, highlight the row on the grid then use the entry form below to upload your images.")); // add table to form formPanel.add(imageTable); vPanel.add(formPanel); // dock form // dockPanel.add(vPanel, DockPanel.SOUTH); RootPanel rootPanel = RootPanel.get("gwtRoot"); rootPanel.add(vPanel); }
From source file:org.opencms.ade.upload.client.ui.CmsUploadDialogImpl.java
License:Open Source License
/** * Creates a form that contains the file input fields and the target folder.<p> * //w w w .j a v a 2 s. com * @return the form */ private FormPanel createForm() { // create a form using the POST method and multipart MIME encoding FormPanel form = new FormPanel(); form.setAction(getUploadUri()); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); // create a panel that contains the file input fields and the target folder FlowPanel inputFieldsPanel = new FlowPanel(); int count = 0; for (CmsFileInput input : m_inputsToUpload.values()) { String filename = input.getFiles()[0].getFileName(); String fieldName = "file_" + count++; input.setName(fieldName); if (getFilesToUpload().containsKey(filename)) { inputFieldsPanel.add(input); } addHiddenField(inputFieldsPanel, fieldName + I_CmsUploadConstants.UPLOAD_FILENAME_ENCODED_SUFFIX, URL.encode(filename)); } for (String filename : getFilesToUnzip(false)) { addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_UNZIP_FILES_FIELD_NAME, URL.encode(filename)); } addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_TARGET_FOLDER_FIELD_NAME, getTargetFolder()); form.setWidget(inputFieldsPanel); return form; }
From source file:org.opencms.gwt.client.ui.input.upload.impl.CmsUploaderDefault.java
License:Open Source License
/** * Creates a form to submit the upload files.<p> * * @param uploadUri the upload URI/* w ww. j av a 2 s .c o m*/ * @param targetFolder the target folder * @param isRootPath if the target folder is given as a root path * @param filesToUpload the files to upload * @param filesToUnzip the files to unzip * @return the created form panel */ private FormPanel createForm(String uploadUri, String targetFolder, boolean isRootPath, List<CmsFileInfo> filesToUpload, List<String> filesToUnzip) { // create a form using the POST method and multipart MIME encoding FormPanel form = new FormPanel(); form.setAction(uploadUri); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); // create a panel that contains the file input fields and the target folder FlowPanel inputFieldsPanel = new FlowPanel(); int count = 0; for (CmsFileInfo info : filesToUpload) { InputElement input = info.getInputElement(); String fieldName = "file_" + count++; input.setName(fieldName); inputFieldsPanel.getElement().appendChild(input); addHiddenField(inputFieldsPanel, fieldName + I_CmsUploadConstants.UPLOAD_FILENAME_ENCODED_SUFFIX, URL.encode(info.getOverrideFileName())); } for (String filename : filesToUnzip) { addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_UNZIP_FILES_FIELD_NAME, URL.encode(filename)); } addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_TARGET_FOLDER_FIELD_NAME, targetFolder); addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_IS_ROOT_PATH_FIELD_NAME, "" + isRootPath); form.setWidget(inputFieldsPanel); return form; }
From source file:org.ow2.proactive_grid_cloud_portal.common.client.CredentialsWindow.java
License:Open Source License
private void build() { /* smartGWT forms don't allow simple multipart file upload, * so we use a smartGWT form for login/password/checkbox, * a pure GWT form for file upload, and upon submission, * put the fields from the first form as hidden fields of the * pure GWT form. It's a bit convoluted but like this we get * the pretty widgets and the nice features */ TextItem loginField = new TextItem("login", "Login"); loginField.setRequired(true);// www . j a v a 2 s . co m PasswordItem passwordField = new PasswordItem("password", "Password"); passwordField.setRequired(true); final CheckboxItem moreField = new CheckboxItem("useSSH", "Use SSH private key"); moreField.setValue(false); // smartGWT form: only used to input the data before filling the hidden fields // in the other form with it final DynamicForm form = new DynamicForm(); form.setFields(loginField, passwordField, moreField); // pure GWT form for uploading, will be used to contact the servlet // even if no ssh key is used final FileUpload fileUpload = new FileUpload(); fileUpload.setName("sshkey"); final Hidden hiddenUser = new Hidden("username"); final Hidden hiddenPass = new Hidden("password"); final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "createcredential"); final VerticalPanel vpan = new VerticalPanel(); vpan.add(hiddenUser); vpan.add(hiddenPass); vpan.add(fileUpload); formPanel.setWidget(vpan); formPanel.setWidth("100%"); formPanel.setHeight("30px"); final HLayout formWrapper = new HLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.addChild(formPanel); formWrapper.setWidth100(); formWrapper.addDrawHandler(new DrawHandler() { public void onDraw(DrawEvent event) { // took me half a day to find this hack: // if the form is added to the page in a hidden element, // it is never created and submission fails without callback. // it needs to be visible so that it is created once, then // we can safely hide it and still use it if (disableFormWrapper) { disableFormWrapper = false; formWrapper.setVisible(false); } } }); // hide/show the ssh key upload input moreField.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent event) { if (moreField.getValueAsBoolean()) { formWrapper.setVisible(true); } else { formWrapper.setVisible(false); formPanel.reset(); } } }); // prevent form validation if no ssh key is selected Validator moreVal = new CustomValidator() { @Override protected boolean condition(Object value) { if (moreField.getValueAsBoolean()) { String file = fileUpload.getFilename(); return (file != null && file.length() > 0); } else { return true; } } }; moreVal.setErrorMessage("No file selected"); moreField.setValidators(moreVal); final IButton clearButton = new IButton("Clear"); clearButton.setIcon(Images.instance.clear_16().getSafeUri().asString()); clearButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { form.clearValues(); formPanel.reset(); formWrapper.setVisible(false); } }); final IButton closeButton = new IButton("Close"); final Label label = new Label("A Credential is a file containing all information used" + " for authentication, in an encrypted form. It allows easier authentication and" + " automation."); label.setHeight(50); final HLayout buttonBar = new HLayout(); final IButton okButton = new IButton(); okButton.setShowDisabled(false); okButton.setIcon(Images.instance.ok_16().getSafeUri().asString()); okButton.setTitle("Create"); okButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (!form.validate()) return; String login = form.getValueAsString("login"); String pw = form.getValueAsString("password"); hiddenUser.setValue(login); hiddenPass.setValue(pw); formPanel.submit(); } }); closeButton.setIcon(Images.instance.cancel_16().getSafeUri().asString()); closeButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { CredentialsWindow.this.window.hide(); CredentialsWindow.this.destroy(); } }); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { /* this happens only on error, if the call succeeds, * the response is relocated so that a 'save file' dialog appears */ String str = event.getResults(); label.setContents("<span style='color:red;'>" + str + "</span>"); } }); Layout formLayout = new VLayout(); formLayout.setHeight100(); formLayout.setWidth100(); formLayout.setMembersMargin(10); formLayout.addMember(form); formLayout.addMember(formWrapper); buttonBar.setWidth100(); buttonBar.setAlign(Alignment.RIGHT); buttonBar.setMembersMargin(5); buttonBar.setMembers(clearButton, okButton, closeButton); formLayout.addMember(buttonBar); VLayout layout = new VLayout(); layout.setMembersMargin(10); layout.setMargin(5); layout.setMembers(label, formLayout, buttonBar); this.window = new Window(); this.window.setTitle("Create Credentials"); this.window.setShowMinimizeButton(false); this.window.setIsModal(true); this.window.setShowModalMask(true); this.window.addItem(layout); this.window.setWidth(370); this.window.setHeight(260); this.window.centerInPage(); }
From source file:org.ow2.proactive_grid_cloud_portal.common.client.LoginPage.java
License:Open Source License
/** * @return the forms and widgets for plain login/password authentication *//* w w w.j a va 2 s. c o m*/ private Layout getPlainAuth() { /* smartGWT forms don't allow simple multipart file upload, * so we use a smartGWT form for login/password/checkbox, * a pure GWT form for file upload, and upon submission, * put the fields from the first form as hidden fields of the * pure GWT form. It's a bit convoluted but like this we get * the pretty widgets and the nice features */ TextItem loginField = new TextItem("login", "User"); loginField.setRequired(true); PasswordItem passwordField = new PasswordItem("password", "Password"); passwordField.setRequired(true); final CheckboxItem moreField = new CheckboxItem("useSSH", "Use SSH private key"); moreField.setValue(false); // smartGWT form: only used to input the data before filling the hidden fields // in the other form with it final DynamicForm form = new DynamicForm(); form.setFields(loginField, passwordField, moreField); form.hideItem("useSSH"); // pure GWT form for uploading, will be used to contact the servlet // even if no ssh key is used final FileUpload fileUpload = new FileUpload(); fileUpload.setName("sshkey"); final Hidden hiddenUser = new Hidden("username"); final Hidden hiddenPass = new Hidden("password"); final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "login"); final VerticalPanel vpan = new VerticalPanel(); vpan.add(hiddenUser); vpan.add(hiddenPass); vpan.add(fileUpload); formPanel.setWidget(vpan); formPanel.setWidth("100%"); formPanel.setHeight("30px"); final HLayout formWrapper = new HLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.addChild(formPanel); formWrapper.setWidth100(); formWrapper.addDrawHandler(new DrawHandler() { public void onDraw(DrawEvent event) { // took me half a day to find this hack: // if the form is added to the page in a hidden element, // it is never created and submission fails without callback. // it needs to be visible so that it is created once, then // we can safely hide it and still use it if (disableFormWrapper) { disableFormWrapper = false; formWrapper.setVisible(false); } } }); // hide/show the ssh key upload input moreField.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent event) { if (moreField.getValueAsBoolean()) { //formWrapper.setVisible(true); formWrapper.animateShow(AnimationEffect.FLY); } else { //formWrapper.setVisible(false); formWrapper.animateHide(AnimationEffect.FLY); formPanel.reset(); } } }); // prevent form validation if no ssh key is selected Validator moreVal = new CustomValidator() { @Override protected boolean condition(Object value) { if (moreField.getValueAsBoolean()) { String file = fileUpload.getFilename(); return (file != null && file.length() > 0); } else { return true; } } }; moreVal.setErrorMessage("No file selected"); moreField.setValidators(moreVal); final Runnable advancedVisibilityChanged = new Runnable() { @Override public void run() { if (!moreField.getVisible()) { authSelLayout.setVisible(true); form.showItem("useSSH"); optsLabel.setIcon(Images.instance.close_16().getSafeUri().asString()); optsLabel.setContents( "<nobr style='color:#003168;font-size: 1.2em;" + "cursor:pointer'>less options</nobr>"); } else { authTypeSelectForm.setValue("Mode", "Basic"); switchPlainCredForm.run(); authSelLayout.setVisible(false); form.hideItem("useSSH"); formWrapper.animateHide(AnimationEffect.FLY); moreField.setValue(false); formPanel.reset(); optsLabel.setIcon(Images.instance.expand_16().getSafeUri().asString()); optsLabel.setContents( "<nobr style='color:#003168;font-size: 1.2em;" + "cursor:pointer'>more options</nobr>"); } } }; optsLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { advancedVisibilityChanged.run(); } }); String cacheLogin = Settings.get().getSetting(controller.getLoginSettingKey()); if (cacheLogin != null) { form.setValue("login", cacheLogin); } final IButton okButton = new IButton(); okButton.setShowDisabled(false); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); okButton.setWidth(120); okButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (!form.validate()) return; String login = form.getValueAsString("login"); String pw = form.getValueAsString("password"); hiddenUser.setValue(login); hiddenPass.setValue(pw); okButton.setIcon("loading.gif"); okButton.setTitle("Connecting..."); form.disable(); formWrapper.disable(); authTypeSelectForm.disable(); okButton.disable(); // only submit once the the error message is hidden so we don't try to show it (on form response) // while the effect is played resulting in the message hidden staying hidden if (errorLabel.isDrawn() && errorLabel.isVisible()) { errorLabel.animateHide(AnimationEffect.FLY, new AnimationCallback() { @Override public void execute(boolean earlyFinish) { formPanel.submit(); } }); } else { formPanel.submit(); } } }); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String res = new HTML(event.getResults()).getText(); boolean fail = false; try { JSONValue val = controller.parseJSON(res); JSONObject obj = val.isObject(); if (obj != null && obj.containsKey("sessionId")) { String sess = obj.isObject().get("sessionId").isString().stringValue(); controller.login(sess, form.getValueAsString("login")); } else { fail = true; } } catch (Throwable t) { fail = true; } if (fail) { String err = JSONUtils.getJsonErrorMessage(res); int sta = JSONUtils.getJsonErrorCode(res); if (sta != -1) err += " (" + sta + ")"; errorLabel.setContents("<span style='color:red;'>Could not login: " + err + "</span>"); errorLabel.animateShow(AnimationEffect.FLY); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); formWrapper.enable(); form.enable(); authTypeSelectForm.enable(); okButton.enable(); } } }); form.addItemKeyPressHandler(new ItemKeyPressHandler() { public void onItemKeyPress(ItemKeyPressEvent event) { if ("Enter".equals(event.getKeyName())) { okButton.fireEvent(new ClickEvent(null)); } } }); Layout formLayout = new VLayout(); formLayout.setWidth100(); formLayout.setMembersMargin(10); formLayout.addMember(form); formLayout.addMember(formWrapper); HLayout buttonBar = new HLayout(); buttonBar.setWidth100(); buttonBar.setAlign(Alignment.CENTER); buttonBar.addMember(okButton); formLayout.addMember(buttonBar); return formLayout; }
From source file:org.ow2.proactive_grid_cloud_portal.common.client.LoginPage.java
License:Open Source License
/** * @return the forms and widgets for credentials authentication *//*from ww w.ja v a 2s . c o m*/ private Layout getCredAuth() { final FileUpload fileUpload = new FileUpload(); fileUpload.setName("credential"); // actual form final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "login"); formPanel.add(fileUpload); formPanel.setWidth("100%"); formPanel.setHeight("30px"); // wraps the GWT component so that we may show/hide it final VLayout formWrapper = new VLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.addMember(formPanel); formWrapper.setWidth100(); formWrapper.setMargin(10); final IButton okButton = new IButton(); okButton.setShowDisabled(false); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); okButton.setWidth(120); okButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { errorLabel.animateHide(AnimationEffect.FLY); okButton.setIcon("loading.gif"); okButton.setTitle("Connecting..."); formWrapper.disable(); authTypeSelectForm.disable(); okButton.disable(); // submits the form to LoginServlet formPanel.submit(); } }); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String res = event.getResults(); boolean fail = false; try { JSONValue val = controller.parseJSON(res); JSONObject obj = val.isObject(); if (obj != null && obj.containsKey("sessionId")) { String sess = obj.isObject().get("sessionId").isString().stringValue(); controller.login(sess, null); } else { fail = true; } } catch (Throwable t) { fail = true; } if (fail) { String err = JSONUtils.getJsonErrorMessage(res); errorLabel.setContents("<span style='color:red;'>Could not login: " + err + "</span>"); errorLabel.animateShow(AnimationEffect.FLY); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); formWrapper.enable(); authTypeSelectForm.enable(); okButton.enable(); } } }); Label createCred = new Label( "<nobr style='color:#003168;font-size: 1.2em;cursor:pointer'>" + "Create credentials</nobr>"); createCred.setHeight(20); createCred.setAlign(Alignment.CENTER); createCred.setIcon(Images.instance.key_16().getSafeUri().asString()); createCred.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { CredentialsWindow win = new CredentialsWindow(); win.show(); } }); formWrapper.addMember(createCred); Layout formLayout = new VLayout(); formLayout.setWidth100(); formLayout.setMembersMargin(10); formLayout.addMember(formWrapper); HLayout buttonBar = new HLayout(); buttonBar.setWidth100(); buttonBar.setAlign(Alignment.CENTER); buttonBar.addMember(okButton); formLayout.addMember(buttonBar); return formLayout; }