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

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

Introduction

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

Prototype

String ENCODING_MULTIPART

To view the source code for com.google.gwt.user.client.ui FormPanel ENCODING_MULTIPART.

Click Source Link

Document

Used with #setEncoding(String) to specify that the form will be submitted using MIME encoding (necessary for FileUpload to work properly).

Usage

From source file:com.ponysdk.ui.terminal.ui.PTFileUpload.java

License:Apache License

@Override
public void create(final PTInstruction create, final UIService uiService) {
    wrappedFormPanel = new FormPanel();
    init(create, uiService, wrappedFormPanel);

    wrappedFormPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
    wrappedFormPanel.setMethod(FormPanel.METHOD_POST);
    final VerticalPanel panel = new VerticalPanel();
    panel.setSize("100%", "100%");
    wrappedFormPanel.setWidget(panel);//from ww  w .j  a va  2  s .com
    panel.add(fileUpload);

    wrappedFormPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

        @Override
        public void onSubmitComplete(final SubmitCompleteEvent event) {
            final PTInstruction eventInstruction = new PTInstruction();
            eventInstruction.setObjectID(create.getObjectID());
            eventInstruction.put(TYPE.KEY, TYPE.KEY_.EVENT);
            eventInstruction.put(HANDLER.KEY, HANDLER.KEY_.SUBMIT_COMPLETE_HANDLER);
            uiService.triggerEvent(eventInstruction);
        }
    });
}

From source file:com.qualogy.qafe.gwt.client.component.QPagingScrollTableOperation.java

License:Apache License

/**
 * Constructor./*  w ww  .  ja  v a  2 s .  c om*/
 *
 * @param table
 *            the table being affected
 * @param images
 *            the images to use
 */
// CHECKSTYLE.OFF: CyclomaticComplexity
public QPagingScrollTableOperation(final QPagingScrollTable table, ScrollTableOperationImages images) {
    this.table = table;
    if (this.table instanceof QPagingScrollTable) {
        ((QPagingScrollTable) this.table).setScrollTableOperations(this);
    }

    // Create the main widget
    HorizontalPanel hPanel = new HorizontalPanel();
    initWidget(hPanel);
    hPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    setStyleName(DEFAULT_STYLENAME);

    // Create the paging image buttons
    createPageButtons(images);

    // Create the error label
    errorLabel = new HTML();
    errorLabel.setStylePrimaryName("errorMessage");

    // Add the widgets to the panel
    hPanel.add(createSpacer());
    if (hasAddControl(table)) {
        hPanel.add(addImage);
        hPanel.add(createSpacer());
    }
    if (hasDeleteControl(table)) {
        hPanel.add(deleteImage);
        hPanel.add(createSpacer());
    }

    if (isEditableDatagrid(table) || hasDeleteControl(table) || hasAddControl(table)) {
        if (saveDatagrid(table)) {
            hPanel.add(saveImage);
            hPanel.add(createSpacer());
        }
        if (refreshDatagrid(table)) {
            hPanel.add(refreshImage);
            hPanel.add(createSpacer());
        }
        if (cancelDatagrid(table)) {
            hPanel.add(cancelImage);
            hPanel.add(createSpacer());
        }
    }

    hPanel.add(errorLabel);

    if (table.getSource().getImportEnabled() != null && table.getSource().getImportEnabled().booleanValue()) {
        final DisclosurePanel importPanel = new DisclosurePanel("Upload data");
        hPanel.add(importPanel);
        final FormPanel formPanel = new FormPanel();

        formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.datagridupload");
        formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
        formPanel.setMethod(FormPanel.METHOD_POST);

        FileUpload fileUploadComponent = new FileUpload();
        fileUploadComponent.setName("uploadElement");

        Button uploadButtonComponent = new Button("Upload");
        uploadButtonComponent.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                formPanel.submit();
            }
        });

        CheckBox isFirstLineHeader = new CheckBox("Is first row header ?");
        isFirstLineHeader.setName("isFirstLineHeader");
        isFirstLineHeader.setTitle(
                "Check wheter or not the first line of the uploaded file is a header/column definition");
        HorizontalPanel hp = new HorizontalPanel();

        Label label = new Label("Delimeter");
        final TextBox delimiter = new TextBox();
        delimiter.setValue(",");
        delimiter.setTitle("Insert the delimeter (can be any value, as long it's length 1)");
        delimiter.setName("delimiter");
        delimiter.setWidth("15px");
        hp.setSpacing(10);
        hp.add(label);
        hp.add(delimiter);

        Grid gridPanel = new Grid(2, 4);
        gridPanel.setWidget(0, 0, fileUploadComponent);
        gridPanel.setWidget(0, 1, uploadButtonComponent);
        gridPanel.setWidget(1, 0, isFirstLineHeader);
        gridPanel.setWidget(1, 1, hp);

        formPanel.add(gridPanel);

        formPanel.addSubmitHandler(new FormPanel.SubmitHandler() {

            public void onSubmit(SubmitEvent event) {
                // This event is fired just before the form is submitted. We can
                // take
                // this opportunity to perform validation.
                if (delimiter.getText().length() == 0 || delimiter.getText().length() > 1) {
                    ClientApplicationContext.getInstance().log("Ooops...Delimeter invalid",
                            "Make sure there is valid delimeter value.One character only (current value ='"
                                    + delimiter.getText() + "'",
                            true);
                    event.cancel();
                }
            }

        });

        formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

            public void onSubmitComplete(SubmitCompleteEvent event) {
                String uuId = event.getResults();
                if (uuId != null && uuId.indexOf("=") > 0) {
                    uuId = uuId.substring(uuId.indexOf("=") + 1);
                    processData(uuId);
                    importPanel.setOpen(false);
                } else {
                    ClientApplicationContext.getInstance().log("Upload failed", event.getResults(), true);
                }
            }
        });
        importPanel.add(formPanel);
    }

    if (table.getSource() != null && table.getSource().getExport() != null
            && table.getSource().getExport().booleanValue()) {

        createExportLabelsAndImages();

        final DisclosurePanel exportPanel = new DisclosurePanel("Export");
        String[] labels = getExportLabels(table.getSource().getExportFormats());
        Image[] exportImages = getExportImages(labels);

        FlexTable gridExportPanel = new FlexTable();
        hPanel.add(exportPanel);
        exportPanel.add(gridExportPanel);
        final Frame frame = new Frame();
        frame.setHeight("0");
        frame.setWidth("0");
        frame.setVisible(false);
        final String moduleRelativeURL = GWT.getModuleBaseURL() + "/rpc.export";
        gridExportPanel.setWidget(0, 0, frame);

        final CheckBox generateColumnHeaderBox = new CheckBox("Generate Column Header");
        gridExportPanel.getFlexCellFormatter().setColSpan(1, 1, 7);
        gridExportPanel.setWidget(2, 1, generateColumnHeaderBox);
        gridExportPanel.getFlexCellFormatter().setColSpan(2, 1, 6);

        for (int i = 0; i < labels.length; i++) {

            exportImages[i].setStylePrimaryName("datagridexportlabel");
            exportImages[i].setTitle(labels[i]);
            gridExportPanel.setWidget(0, i + 1, exportImages[i]);

            exportImages[i].addClickHandler(new ClickHandler() {

                public void onClick(ClickEvent event) {
                    if (event.getSource() instanceof Image) {
                        Image image = (Image) (event.getSource());
                        final String exportCode = image.getTitle();
                        RPCServiceAsync service = MainFactoryActions.createService();
                        AsyncCallback<?> callback = new AsyncCallback<Object>() {
                            public void onSuccess(Object result) {
                                String uuid = (String) result;
                                // set frame
                                frame.setUrl(moduleRelativeURL + "?uuid=" + uuid);
                                ClientApplicationContext.getInstance().setBusy(false);
                            }

                            public void onFailure(Throwable caught) {

                                ClientApplicationContext.getInstance().log("Export failed",
                                        "Export failed for " + exportCode + " ", true, true, caught);
                                ClientApplicationContext.getInstance().setBusy(false);
                                FunctionsExecutor.setProcessedBuiltIn(true);
                            }
                        };
                        List<DataContainerGVO> dList = new ArrayList<DataContainerGVO>();
                        // following loop is to maintain the order of rows while exporting.
                        for (int i = 0; i < (table.getAbsoluteLastRowIndex() + 1); i++) {
                            dList.add(table.getRowValue(i));
                        }
                        service.prepareForExport(dList, exportCode, null,
                                generateColumnHeaderBox.getValue().booleanValue(), callback);
                    }
                }
            });
        }
    }
}

From source file:com.qualogy.qafe.gwt.client.factory.MainFactory.java

License:Apache License

public static void createTryMeWindow(String subwindow) {

    final WindowPanel w = new WindowPanel("Try me!");

    w.setResizable(true);/*from ww  w  . jav  a 2s .  c o m*/

    w.setAnimationEnabled(true);
    w.setSize("800px", "500px");

    VerticalPanel verticalPanel = new VerticalPanel();
    final ScrollLayoutPanel vp = new ScrollLayoutPanel();
    vp.setAlwaysShowScrollBars(false);
    vp.setWidth("800px");
    vp.setHeight("500px");
    w.setWidget(verticalPanel);
    // vp.setSpacing(5);
    // vp.setWidth("100%");
    final TabPanel tabPanel = new TabPanel();
    tabPanel.setAnimationEnabled(true);
    tabPanel.setWidth("580px");
    tabPanel.setHeight("500px");

    DockPanel dockPanel = new DockPanel();
    dockPanel.setWidth("580px");
    dockPanel.setHeight("500px");
    tabPanel.add(dockPanel, "Insert code!");
    final TextArea textArea = new TextArea();
    textArea.setVisibleLines(30);
    textArea.setHeight("auto");
    textArea.setWidth("580px");
    DOM.setElementAttribute(textArea.getElement(), "font-size", "10pt");

    dockPanel.add(textArea, DockPanel.CENTER);
    final MenuBar menu = new MenuBar();
    MenuBar renderMenu = new MenuBar(true);
    w.addResizeHandler(new ResizeHandler() {

        public void onResize(ResizeEvent event) {
            int height = event.getHeight();
            int width = event.getWidth();

            if (w.getWidget() != null) {
                w.setHeight((height) + "px");
                w.setWidth((width) + "px");
                vp.setHeight((height - 20) + "px");
                vp.setWidth((width - 20) + "px");
                tabPanel.setHeight((height - 20) + "px");
                tabPanel.setWidth((width - 20) + "px");
                menu.setWidth((width) + "px");
                textArea.setWidth((width - 20) + "px");
            }

        }
    });

    MenuItem gwtMenuItem = new MenuItem("GWT output", new Command() {

        public void execute() {
            String xml = textArea.getText();
            if (xml == null || xml.length() == 0) {
                MessageBox.error("Try me:Error", "There is no input");
            } else {
                MainFactoryActions.processUIXml(xml);
            }

        }
    });
    MenuItem flexMenuItem = new MenuItem("Flex output", new Command() {

        public void execute() {
            String xml = textArea.getText();
            if (xml == null || xml.length() == 0) {
                MessageBox.error("Try me:Error", "There is no input");
            } else {
                MainFactoryActions.processUIXmlFlex(xml);
            }

        }
    });

    renderMenu.addItem(gwtMenuItem);
    renderMenu.addItem(flexMenuItem);

    MenuBar codeMenu = new MenuBar(true);

    MenuItem clearXmlInput = new MenuItem("Clear", new Command() {

        public void execute() {
            textArea.setText("");

        }
    });

    MenuItem createHeaderButton = new MenuItem("Create Header", new Command() {

        public void execute() {
            final String headerText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"
                    + "<application-mapping xmlns=\"http://qafe.com/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://qafe.com/schema http://www.qafe.com/schema/2.2/application-mapping.xsd\"> \n"
                    + "  <!-- PLEASE ENTER YOUR CODE HERE --> \n" + "</application-mapping> \n";

            textArea.setText(headerText);

        }
    });

    MenuItem createSampleAppButton = new MenuItem("Create Sample Application", new Command() {

        public void execute() {
            final String sampleText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n"
                    + "<application-mapping xmlns=\"http://qafe.com/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://qafe.com/schema http://www.qafe.com/schema/2.2/application-mapping.xsd\"> \n"
                    + "<presentation-tier>\n" + "  <view>\n"
                    + "    <window id=\"window1\" displayname=\"Hello World\" width=\"200\" height=\"200\">\n"
                    + "      <rootpanel id=\"myRootPanel\">   \n" + "        <verticallayout>\n\n"
                    + "          <!-- PLEASE ENTER HERE YOUR CODE -->\n\n"
                    + "          <label id=\"mylabel\" displayname=\"Hello World\" />\n\n"
                    + "        </verticallayout>\n" + "      </rootpanel>\n" + "    </window>\n" + " </view>\n"
                    + "</presentation-tier>\n" +

                    "</application-mapping> \n";

            textArea.setText(sampleText);

        }
    });

    codeMenu.addItem(clearXmlInput);
    codeMenu.addItem(createHeaderButton);
    codeMenu.addItem(createSampleAppButton);

    menu.addItem("Render", renderMenu);
    menu.addItem("Code", codeMenu);

    if (menu != null) {
        verticalPanel.add(menu);
    }
    verticalPanel.add(vp);

    // w.setWidget(tabPanel);

    /*
     * FMB Upload
     */
    final FormPanel fmbForm = new FormPanel();
    fmbForm.setAction(GWT.getModuleBaseURL() + "/rpc.fmbupload");

    // 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.
    fmbForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    fmbForm.setMethod(FormPanel.METHOD_POST);
    // Create a panel to hold all of the form widgets.
    VerticalPanel panelFmbUpload = new VerticalPanel();
    panelFmbUpload.setWidth("580px");
    panelFmbUpload.setHeight("500px");
    // panelFmbUpload.setHeight("100%");

    final FileUpload fmbFile = new FileUpload();
    final TextBox emailBox = new TextBox();
    final TextBox phoneBox = new TextBox();
    fmbFile.setName("fmbUploadElement");

    // Add an event handler to the form.
    fmbForm.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {

        public void onSubmitComplete(SubmitCompleteEvent event) {

            if (event.getResults() != null) {
                if (event.getResults().startsWith("Conversion failed")) {
                    ClientApplicationContext.getInstance().log("Conversion failed",
                            "The file doesn't seem to be a valid Oracle Forms file. If you still want it to be converted for demo purpose, you can also send it to info@qafe.com",
                            true);

                } else if (event.getResults().startsWith("UUID")) {

                    String[] split = event.getResults().split("=");
                    if (split.length == 2) {
                        String uuid = split[1];
                        MainFactoryActions.processUIByUUID(uuid, textArea);
                        MainFactoryActions.notify("FMB uploaded with filename [" + fmbFile.getFilename() + "]",
                                "The message was sent by " + emailBox.getText() + " with optional phonenr: "
                                        + phoneBox.getText());
                        tabPanel.selectTab(0);
                    }
                } else {
                    // firefox workaround
                    String[] split = event.getResults().split("=");
                    if (split.length == 2) {
                        String uuid = split[1];

                        uuid = uuid.replaceAll("</pre>", "");
                        MainFactoryActions.processUIByUUID(uuid, textArea);
                        MainFactoryActions.notify("FMB uploaded with filename [" + fmbFile.getFilename() + "]",
                                "The message was sent by " + emailBox.getText() + " with optional phonenr: "
                                        + phoneBox.getText());
                        tabPanel.selectTab(0);
                    } else {
                        ClientApplicationContext.getInstance().log(event.getResults());
                    }
                }

            } else {
                ClientApplicationContext.getInstance().log(
                        "The Forms Conversion process could not handle this file. Please check the file.",
                        "Check whether or not this file is an FMB (not an FMX)", true);
            }
        }
    });

    FlexTable tempFmbPanel = new FlexTable();
    tempFmbPanel.setWidget(0, 1, fmbFile);
    tempFmbPanel.setWidget(0, 0, new Label("Input for FMB"));

    tempFmbPanel.setWidget(1, 0, new HTML(
            "<p>Note: the FMB you are uploading is only for <span style=\"color:red;\">demo</span> purpose.</p>"
                    + "<p>FMB's can have external dependencies like <span style=\"color:red;\">PLL, OLB's, images</span>,etc. Since they are <span style=\"color:red;\">not</span> included in the upload, the output might not appear correct.</p>"
                    + "<p>For a more detailed conversion of your FMB's please contact us at <span style=\"color:red;\">info@qafe.com </span></p> <p/>"
                    + "<p>Please fill in the information below, so that we can contact you for more information</p> "));
    tempFmbPanel.getFlexCellFormatter().setColSpan(1, 0, 2);

    tempFmbPanel.setWidget(2, 0, new Label("E-mail: (required)"));

    emailBox.setName("fmbEmail");
    emailBox.addBlurHandler(new BlurHandler() {

        public void onBlur(BlurEvent event) {
            String textValue = ((TextBoxBase) event.getSource()).getText();
            if (textValue != null) {
                if (textValue.replaceFirst(TextFieldGVO.REGEXP_TYPE_EMAIL_VALUE, "").length() > 0) {
                    ClientApplicationContext.getInstance().log("Email validation error",
                            TextFieldGVO.TYPE_EMAIL_DEFAULT_MESSAGE, true);
                }
            }

        }
    });
    tempFmbPanel.setWidget(2, 1, emailBox);

    tempFmbPanel.setWidget(3, 0, new Label("Phonenr:"));

    phoneBox.setName("fmbPhone");
    phoneBox.addBlurHandler(new BlurHandler() {

        public void onBlur(BlurEvent event) {

        }
    });
    tempFmbPanel.setWidget(3, 1, phoneBox);

    fmbForm.add(tempFmbPanel);

    panelFmbUpload.add(fmbForm);
    // Add a 'submit' button.
    panelFmbUpload.add(new Button("Generate", new ClickHandler() {

        public void onClick(ClickEvent event) {
            fmbForm.submit();

        }
    }));
    // Add an event handler to the form.
    fmbForm.addSubmitHandler(new FormPanel.SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            // This event is fired just before the form is submitted. We can take
            // this opportunity to perform validation.
            if (emailBox.getText().length() == 0) {
                ClientApplicationContext.getInstance().log("Email validation error",
                        "Please fill in your email address", true);
                event.cancel();
            } else if (fmbFile.getFilename() == null || fmbFile.getFilename().length() == 0) {
                ClientApplicationContext.getInstance().log("Uploaded file validation error",
                        "There is no file selected. Please select one to continue", true);
                event.cancel();
            }
        }
    });

    tabPanel.add(panelFmbUpload, "Forms Conversion");

    vp.add(tabPanel);
    w.center();
    if (QAFEKeywordsGVO.SYSTEM_MENUITEM_TRYME_FORMS.equals(subwindow)) {
        tabPanel.selectTab(1);

    } else {
        tabPanel.selectTab(0);
    }
}

From source file:com.qualogy.qafe.gwt.client.ui.renderer.FileUploadRenderer.java

License:Apache License

public UIObject render(ComponentGVO component, String uuid, String parent, String context) {
    HorizontalPanel uiObject = null;//from   w ww . j a v  a2 s  .  c o  m
    final String finalParent = parent;
    if (component != null) {
        if (component instanceof FileUploadGVO) {
            if (component.getMenu() != null) {
                final ComponentGVO finalComponentGVO = component;
                final String finalUuid = uuid;
                uiObject = new HorizontalPanel() {
                    @Override
                    public void onBrowserEvent(Event event) {
                        if (event.getTypeInt() == Event.ONCONTEXTMENU) {
                            DOM.eventPreventDefault(event);
                            applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
                        }
                        super.onBrowserEvent(event);
                    }

                    @Override
                    protected void setElement(Element elem) {
                        super.setElement(elem);
                        sinkEvents(Event.ONCONTEXTMENU);
                    }
                };
            } else {
                uiObject = new HorizontalPanel();
            }
            final FormPanel formPanel = new FormPanel();
            formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload");
            formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
            formPanel.setMethod(FormPanel.METHOD_POST);

            final Button uploadButtonComponent = new Button("Upload");
            uploadButtonComponent.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    formPanel.submit();
                }
            });

            final FileUpload fileUploadComponent = new FileUpload();
            fileUploadComponent.setName("uploadElement");
            fileUploadComponent.addChangeHandler(new ChangeHandler() {
                public void onChange(ChangeEvent event) {
                    String filename = fileUploadComponent.getFilename();
                    boolean enabled = (filename != null) && (filename.length() > 0);
                    uploadButtonComponent.setEnabled(enabled);
                }
            });

            Hidden appId = new Hidden();
            final String appID = ClientApplicationContext.getInstance().getWindowSession();
            appId.setName("APPUUID=" + appID);

            Hidden windowId = new Hidden();
            windowId.setName("WINDOWID=" + parent);

            Grid gridPanel = new Grid(2, 4);
            gridPanel.setWidget(0, 0, fileUploadComponent);
            gridPanel.setWidget(0, 1, uploadButtonComponent);
            gridPanel.setWidget(0, 2, appId);
            gridPanel.setWidget(0, 3, windowId);
            formPanel.add(gridPanel);

            RendererHelper.fillIn(component, formPanel, uuid, parent, context);
            formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

                public void onSubmitComplete(SubmitCompleteEvent event) {
                    String uuId = event.getResults();
                    boolean success = false;
                    if (uuId != null && uuId.indexOf("=") > 0) {
                        uuId = uuId.substring(uuId.indexOf("=") + 1);
                        success = true;
                    }
                    if (formPanel instanceof HasWidgets) {
                        HasWidgets hasWidgets = (HasWidgets) formPanel;
                        Iterator<Widget> itr = hasWidgets.iterator();
                        while (itr.hasNext()) {
                            Widget widget = itr.next();
                            if (widget instanceof Grid) {
                                Grid gridPanel = (Grid) widget;
                                final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0);
                                final Button uploadButton = (Button) gridPanel.getWidget(0, 1);
                                if (success) {
                                    fileUpload.setVisible(false);
                                    uploadButton.setVisible(false);
                                    String fileName = event.getResults().substring(0,
                                            event.getResults().indexOf("#"));
                                    final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID
                                            + "&WINDOWID=" + finalParent + "&VIEW=" + uuId;
                                    final Label fileNameLabel = new Label(fileName);
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand");
                                    fileNameLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            Window.open(viewUrl, "UploadedFile", null);
                                        }
                                    });
                                    fileNameLabel.setVisible(true);

                                    final Label clearLabel = new Label("Clear");
                                    clearLabel.setVisible(true);
                                    final String finalUuId = uuId;

                                    DOM.setStyleAttribute(clearLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(clearLabel.getElement(), "cursor", "hand");

                                    clearLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            MainFactoryActions.removeUploadedFile(appID, finalParent,
                                                    finalUuId);
                                            DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", "");
                                            fileNameLabel.setVisible(false);
                                            clearLabel.setVisible(false);
                                            fileUpload.setVisible(true);
                                            uploadButton.setVisible(true);
                                            init(fileUpload, uploadButton);
                                        }
                                    });
                                    gridPanel.setWidget(1, 0, fileNameLabel);
                                    gridPanel.setWidget(1, 1, clearLabel);

                                    DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId);
                                    CallbackHandler.createCallBack(formPanel, "onfinish", null, null);
                                } else {
                                    Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0);
                                    fileNameLabel.setText("Uploading unsuccessfull.");
                                    fileNameLabel.setVisible(true);
                                }
                            }
                        }
                    }
                }
            });
            uiObject.add(formPanel);

            init(fileUploadComponent, uploadButtonComponent);
        }
    }
    return uiObject;
}

From source file:com.qualogy.qafe.mgwt.client.ui.renderer.FileUploadRenderer.java

License:Apache License

public UIObject render(ComponentGVO component, String owner, String uuid, String parent, String context,
        AbstractActivity activity) {//from  w  w w  . j  a v a 2  s .c  om
    HorizontalPanel uiObject = null;
    final String finalParent = parent;
    if (component != null) {
        if (component instanceof FileUploadGVO) {
            if (component.getMenu() != null) {
                final ComponentGVO finalComponentGVO = component;
                final String finalUuid = uuid;
                uiObject = new HorizontalPanel() {
                    @Override
                    public void onBrowserEvent(Event event) {
                        if (event.getTypeInt() == Event.ONCONTEXTMENU) {
                            DOM.eventPreventDefault(event);
                            applyContextMenu(event, finalComponentGVO, finalUuid, finalParent);
                        }
                        super.onBrowserEvent(event);
                    }

                    @Override
                    protected void setElement(Element elem) {
                        super.setElement(elem);
                        sinkEvents(Event.ONCONTEXTMENU);
                    }
                };
            } else {
                uiObject = new HorizontalPanel();
            }
            final FormPanel formPanel = new FormPanel();
            formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload");
            formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
            formPanel.setMethod(FormPanel.METHOD_POST);

            FileUpload fileUploadComponent = new FileUpload();
            fileUploadComponent.setName("uploadElement");

            Button uploadButtonComponent = new Button("Upload");
            uploadButtonComponent.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    formPanel.submit();
                }
            });

            Hidden appId = new Hidden();
            appId.setName("APPUUID=" + uuid);
            final String appID = uuid;

            Hidden windowId = new Hidden();
            windowId.setName("WINDOWID=" + parent);

            Grid gridPanel = new Grid(2, 4);
            gridPanel.setWidget(0, 0, fileUploadComponent);
            gridPanel.setWidget(0, 1, uploadButtonComponent);
            gridPanel.setWidget(0, 2, appId);
            gridPanel.setWidget(0, 3, windowId);
            formPanel.add(gridPanel);

            RendererHelper.fillIn(component, formPanel, uuid, parent, context);
            formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() {

                public void onSubmitComplete(SubmitCompleteEvent event) {
                    String uuId = event.getResults();
                    boolean success = false;
                    if (uuId != null && uuId.indexOf("=") > 0) {
                        uuId = uuId.substring(uuId.indexOf("=") + 1);
                        success = true;
                    }
                    if (formPanel instanceof HasWidgets) {
                        HasWidgets hasWidgets = (HasWidgets) formPanel;
                        Iterator<Widget> itr = hasWidgets.iterator();
                        while (itr.hasNext()) {
                            Widget widget = itr.next();
                            if (widget instanceof Grid) {
                                Grid gridPanel = (Grid) widget;
                                final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0);
                                final Button uploadButton = (Button) gridPanel.getWidget(0, 1);
                                if (success) {
                                    fileUpload.setVisible(false);
                                    uploadButton.setVisible(false);
                                    String fileName = event.getResults().substring(0,
                                            event.getResults().indexOf("#"));
                                    final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID
                                            + "&WINDOWID=" + finalParent + "&VIEW=" + uuId;
                                    final Label fileNameLabel = new Label(fileName);
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand");
                                    fileNameLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            Window.open(viewUrl, "UploadedFile", null);
                                        }
                                    });
                                    fileNameLabel.setVisible(true);

                                    final Label removeLabel = new Label("Remove");
                                    removeLabel.setVisible(true);
                                    final String finalUuId = uuId;

                                    DOM.setStyleAttribute(removeLabel.getElement(), "textDecoration",
                                            "underline");
                                    DOM.setStyleAttribute(removeLabel.getElement(), "cursor", "hand");

                                    removeLabel.addClickHandler(new ClickHandler() {
                                        public void onClick(ClickEvent event) {
                                            MainFactoryActions.removeUploadedFile(appID, finalParent,
                                                    finalUuId);
                                            DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", "");
                                            fileNameLabel.setVisible(false);
                                            removeLabel.setVisible(false);
                                            fileUpload.setVisible(true);
                                            uploadButton.setVisible(true);
                                        }
                                    });
                                    gridPanel.setWidget(1, 0, fileNameLabel);
                                    gridPanel.setWidget(1, 1, removeLabel);

                                    DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId);
                                    CallbackHandler.createCallBack(formPanel, "onfinish", null, null);
                                } else {
                                    Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0);
                                    fileNameLabel.setText("Uploading unsuccessfull.");
                                    fileNameLabel.setVisible(true);
                                }
                            }
                        }
                    }
                }
            });
            uiObject.add(formPanel);
        }
    }
    return uiObject;
}

From source file:com.sciencegadgets.client.UploadButton.java

License:Open Source License

public UploadButton() {
    uploadButton.setEncoding(FormPanel.ENCODING_MULTIPART);
    uploadButton.setMethod(FormPanel.METHOD_POST);
    DataModerator.database.getBlobURL(new AsyncCallback<String>() {
        @Override// w  w w  .  ja v a2 s.c  o  m
        public void onSuccess(String url) {
            url = url.replace("Silverado", "localhost");
            uploadButton.setAction(url);
        }

        @Override
        public void onFailure(Throwable caught) {
            Window.alert("Upload failed :(");
        }
    });

    initWidget(contentPanel);

    shadowUpload.getElement().getStyle().setDisplay(Display.NONE);
    shadowUpload.setName("upload");
    //                shadowUpload.getElement().setAttribute("multiple", "multiple");  
    shadowUpload.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent event) {
            shadowForm.submit();
            shadowForm.reset();
        }
    });

    shadowForm.addSubmitHandler(new SubmitHandler() {

        @Override
        public void onSubmit(SubmitEvent event) {
            //                                setLoadingFace();
        }
    });

    shadowForm.addSubmitCompleteHandler(new SubmitCompleteHandler() {

        @Override
        public void onSubmitComplete(SubmitCompleteEvent event) {
            String newUrl = event.getResults();
            setAction(newUrl);
        }
    });

    // Add the visible button
    uploadFace.addDomHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            shadowUpload.getElement().<InputElement>cast().click();

            uploadFace.addStyleName("shakes");

            new Timer() {

                @Override
                public void run() {
                    uploadFace.removeStyleName("shakes");
                }

            }.schedule(700);

        }
    }, ClickEvent.getType());

    shadowForm.add(shadowUpload);
    contentPanel.add(uploadFace);
    contentPanel.add(shadowForm);
}

From source file:com.siderakis.upload4gwt.client.UploadFormPanel.java

License:Apache License

public UploadFormPanel(final Boolean prefetchId) {
    super();// w w w . ja va2 s.  com

    if (prefetchId) {
        progressSyncer.getNextId(new AsyncCallback<String>() {

            @Override
            public void onFailure(final Throwable caught) {
            }

            @Override
            public void onSuccess(final String result) {
                uploadId = result;
                setAction(actionBase);
            }
        });
    }
    // 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.
    setEncoding(FormPanel.ENCODING_MULTIPART);
    setMethod(FormPanel.METHOD_POST);

    addSubmitHandler(new FormPanel.SubmitHandler() {
        @Override
        public void onSubmit(final SubmitEvent event) {
            // This event is fired just before the form is submitted. We can
            // take this opportunity to perform validation.
            if (uploadId == null) {
                event.cancel();
                GWT.log("UploadId is null");
                // try to get an id
                progressSyncer.getNextId(new AsyncCallback<String>() {

                    @Override
                    public void onFailure(final Throwable caught) {
                    }

                    @Override
                    public void onSuccess(final String result) {
                        // after id is received set it on form
                        uploadId = result;
                        setAction(actionBase);
                        // then resubmit
                        submit();
                    }
                });
            } else {
                progressSyncer.addStatusDisplay(uploadId, statusDisplay);
                progressSyncer.start(uploadId);
            }
        }
    });
    addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        @Override
        public void onSubmitComplete(final SubmitCompleteEvent event) {
            // When the form submission is successfully completed, this
            // event is fired. Assuming the service returned a response of
            // type
            // text/html, we can get the result text here (see the FormPanel
            // documentation for further explanation).
            // Window.alert(event.getResults());

            // progressSyncer.stop();
        }
    });

}

From source file:com.sneakyxpress.webapp.client.pages.truckclaim.TruckClaimContent.java

@Override
public void getAndChangeContent(final String input) {

    HTMLPanel content = new HTMLPanel(""); // The base panel to hold all
    // content/*w  ww . ja v  a 2 s  .  c  o  m*/
    content.addStyleName("row-fluid");

    // The left side will hold the form
    HTMLPanel leftSide = new HTMLPanel("");
    leftSide.addStyleName("span6");

    // 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.
    form.setEncoding(FormPanel.ENCODING_MULTIPART);
    form.setMethod(FormPanel.METHOD_POST);
    System.out.println(GWT.getModuleBaseURL());
    form.setAction(GWT.getModuleBaseURL() + "claimFormReq");

    // Create TextBoxes, giving it a name so that it will be submitted.
    // Vendor Id textbox - used to add to form
    vendorIdBox = createTextBox("Vendor Key");
    vendorIdBox.setName("vendorId");
    vendorIdBox.setVisible(false);
    vendorIdBox.setText(input);

    // Facebook Id textbox - used to add to form
    fbIdBox = createTextBox("Vendor Key");
    fbIdBox.setName("fbId");
    fbIdBox.setVisible(false);

    // Name textbox
    nameBox = createTextBox("Name On Business License");
    nameBox.setName("nameBoxInput");
    nameBox.setStyleName("input-block-level");

    // Email textbox
    emailBox = createTextBox("Contact Email");
    emailBox.setName("emailBoxInput");
    emailBox.setStyleName("input-block-level");

    // Phone textbox
    phoneBox = createTextBox("Contact Number");
    phoneBox.setName("phoneBoxInput");
    phoneBox.setStyleName("input-block-level");

    // Terms and agreement checkbox
    checkTerms = new CheckBox("I have read and agree to the Terms of Service.");
    checkTerms.setName("checkTerms");
    checkTerms.setValue(false);
    checkTerms.setWidth("400px");

    // Widget to set as form since can only add one widget to a form.
    VerticalPanel componentPanel = new VerticalPanel();

    // Add text boxes and checkbox
    componentPanel.add(fbIdBox);
    componentPanel.add(vendorIdBox);
    componentPanel.add(nameBox);
    componentPanel.add(emailBox);
    componentPanel.add(phoneBox);
    componentPanel.add(checkTerms);

    // Add a 'submit' button.
    submitButton = new Button("Submit Request");
    submitButton.addStyleName("btn btn-primary");
    submitButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            form.submit();
        }
    });

    // Add an event handler to the form. Form validation checks
    form.addSubmitHandler(new FormPanel.SubmitHandler() {
        public void onSubmit(SubmitEvent event) {
            String name = nameBox.getText().trim();
            String email = emailBox.getText().trim();
            String number = phoneBox.getText().trim();
            String facebookId = "";

            // Check to make sure logged in user is making request
            if (!FacebookTools.isLoggedIn()) {
                String errorMsg = "Sorry you're not logged in. Login or register a new account. ";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            }

            // Check for empty strings
            else if (name.length() == 0 || email.length() == 0 || number.length() == 0) {
                String errorMsg = "Sorry some of your inputs are empty. Please enter something.";
                module.addMessage(true, errorMsg);

                // if/else to detect and find a bug (can't submit multiple
                // forms)
                if (name.length() == 0) {
                    logger.log(Level.INFO, "Name Empty. Contents of TextBox: " + nameBox.getText());
                    nameBox.setFocus(true);
                } else if (email.length() == 0) {
                    logger.log(Level.INFO, "Email Empty. Contents of TextBox: " + emailBox.getText());
                    emailBox.setFocus(true);
                } else if (number.length() == 0) {
                    logger.log(Level.INFO, "Number Empty. Contents of TextBox: " + phoneBox.getText());
                    phoneBox.setFocus(true);
                } else {
                    logger.log(Level.SEVERE, "Unfound bug");
                }

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            }

            // Check name length does not exceed 70
            else if (name.length() > STANDARD_MAX_FULL_NAME_LENGTH) {
                String errorMsg = "Sorry, " + name + " is too long. "
                        + "Please ensure your full name input is within " + STANDARD_MAX_FULL_NAME_LENGTH
                        + " characters";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            } else if (!name.matches(NAME_PATTERN)) {
                String errorMsg = "Sorry, \"" + name + "\" contains invalid characters. "
                        + "Only letters and spaces are allowed. Please check your name input and try again.";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            }

            // Check email length does not exceed 255
            else if (email.length() > STANDARD_MAX_EMAIL_LENGTH) {
                String errorMsg = "Sorry, " + email + " is too long. "
                        + "Please ensure your email input is within " + STANDARD_MAX_EMAIL_LENGTH
                        + " characters";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            } else if (!email.matches(EMAIL_PATTERN)) {
                String errorMsg = "Sorry, \"" + email + "\" contains invalid characters. "
                        + "Please check your email input and try again.";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            }

            // Check phone number input only contains numbers
            else if (!number.matches(PHONE_PATTERN)) {
                String errorMsg = "Sorry, \"" + number + "\" contains invalid characters. "
                        + "Only numbers are allowed. Please check your phone number input and try again.";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            }

            // Phone number must have 10 digits
            else if (number.length() > STANDARD_PHONE_NUMBER_LENGTH
                    || number.length() < STANDARD_PHONE_NUMBER_LENGTH) {
                String errorMsg = "Please ensure your phone number input " + number + " contains "
                        + STANDARD_PHONE_NUMBER_LENGTH + " numbers.";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            } else if (!checkTerms.getValue()) {
                String errorMsg = "Sorry, please check off terms and agreement box and retry submitting your request again";
                module.addMessage(true, errorMsg);

                // Re-enable button to allow user to resubmit form with
                // changes
                submitButton.setEnabled(true);
                event.cancel();
            } else {
                // All checks passed, grab user's ID
                facebookId = FacebookTools.getUserId();
                fbIdBox.setText(facebookId);

                // Disable button to disallow users to resubmit same form
                // twice
                submitButton.setEnabled(false);
            }
        }
    });

    form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
        public void onSubmitComplete(SubmitCompleteEvent event) {
            // When the form submission is successfully completed, this
            // event is
            // fired. Assuming the service returned a response of type
            // text/html,
            // we can get the result text here (see the FormPanel
            // documentation for
            // further explanation).

            if (event.getResults().equals("true")) {
                // Display message to user
                module.addMessage(false, "Your request has been submitted to our administrators.");
            } else {
                module.addMessage(true,
                        "Error in submitting your request in submitting your requestion. you may have sent a claim form for this truck already.");
            }

            // Clear form
            form.reset();

            // Re-direct to home page since it's faster than re-directing to
            // user profile page
            History.newItem(new GreetingContent(module).getPageStub());
        }
    });

    componentPanel.add(getButtonWidget(submitButton));

    form.setWidget(componentPanel);
    leftSide.add(form);

    // The right side will hold the ToS
    HTMLPanel rightSide = new HTMLPanel(
            "<p class=\"well\"><strong>Terms of Service:</strong> " + TERMS_OF_SERVICE + "</p>");
    rightSide.addStyleName("span6");

    // Put it all together
    content.add(leftSide);
    content.add(rightSide);

    // Change the content
    module.changeContent(content);
}

From source file:com.square.composant.envoi.email.square.client.composant.FichierUpload.java

License:Open Source License

/** Initialisation du formulaire. */
private void initForm() {
    // Action  appeler lors du submit
    this.setAction("uploadFichierEnvoiEmail");

    // Encodage//from   www .ja v a 2s  .  c  om
    this.setEncoding(FormPanel.ENCODING_MULTIPART);

    // Mthode de soumission
    this.setMethod(FormPanel.METHOD_POST);

    // Ajout du handler pour la soumission du formulaire
    this.addSubmitHandler(this);
    this.addSubmitCompleteHandler(this);
}

From source file:com.tasktop.c2c.server.tasks.client.widgets.AttachmentsEditorView.java

License:Open Source License

public AttachmentsEditorView() {
    initWidget(uiBinder.createAndBindUi(this));

    attachmentForm.setEncoding(FormPanel.ENCODING_MULTIPART);
    attachmentForm.setMethod(FormPanel.METHOD_POST);
    attachment.setName("attachment0");
    attachmentDescription.setName("description0");
    hiddenTaskHandle.setName(AttachmentUploadUtil.TASK_HANDLE_FORM_NAME);

    attachmentSubmitButton.addClickHandler(new ClickHandler() {

        @Override//from ww w  .j  av  a2 s.c om
        public void onClick(ClickEvent event) {
            attachmentForm.submit();
        }
    });
}