Example usage for com.google.gwt.user.client.ui FormPanel setEncoding

List of usage examples for com.google.gwt.user.client.ui FormPanel setEncoding

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui FormPanel setEncoding.

Prototype

public void setEncoding(String encodingType) 

Source Link

Document

Sets the encoding used for submitting this form.

Usage

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;
}