Example usage for com.google.gwt.user.client DOM createForm

List of usage examples for com.google.gwt.user.client DOM createForm

Introduction

In this page you can find the example usage for com.google.gwt.user.client DOM createForm.

Prototype

public static Element createForm() 

Source Link

Document

Creates an HTML FORM element.

Usage

From source file:com.extjs.gxt.ui.client.widget.form.FormPanel.java

License:sencha.com license

@Override
protected void onRender(Element target, int index) {
    super.onRender(target, index);
    body.setStyleAttribute("background", "none");

    form = new El(DOM.createForm());
    form.setStyleAttribute("overflow", "hidden");
    body.appendChild(form.dom);/*from w  ww . java  2  s  .  c o  m*/

    setMethod(method);
    setTarget(this.target);

    if (encoding != null) {
        setEncoding(encoding);
    }
    if (action != null) {
        setAction(action);
    }

    getLayoutTarget().setStyleAttribute("padding", padding + "px");

    if (getLayout() == null) {
        FormLayout layout = new FormLayout();
        layout.setDefaultWidth(fieldWidth);
        layout.setLabelWidth(labelWidth);
        layout.setLabelAlign(labelAlign);
        layout.setLabelSeparator(labelSeparator);
        layout.setHideLabels(hideLabels);
        setLayout(layout);
    }

    form.addEventsSunk(Event.ONLOAD);

    setAriaRole("region");
}

From source file:org.bonitasoft.web.toolkit.client.ui.component.form.AbstractForm.java

License:Open Source License

@Override
protected Element makeElement() {
    final Element form = DOM.createForm();
    form.addClassName("form");
    if (getJsId() != null) {
        form.addClassName(getJsId().toString("form"));
    }/*from  w w w .j ava 2s. co  m*/

    form.appendChild(this.containers.firstElement().getElement());
    form.appendChild(this.buttons.getElement());

    GQuery.$(form).submit(new Function() {

        @Override
        public boolean f(final Event e) {
            e.stopPropagation();
            AbstractForm.this.defaultAction.execute();
            return false;
        }

    });

    return form;
}

From source file:org.datacleaner.monitor.shared.widgets.FormWizardClientController.java

License:Open Source License

public FormWizardClientController(WizardNavigationServiceAsync service, TenantIdentifier tenant,
        WizardPage wizardPage) {//ww  w  .ja  v  a 2 s.  c  om
    _service = service;
    _tenant = tenant;
    _wizardPage = wizardPage;
    _form = DOM.createForm();
    _form.setInnerHTML(_wizardPage.getFormInnerHtml());
}

From source file:org.sigmah.client.page.orgunit.reports.OrgUnitReportsView.java

License:Open Source License

public void setReport(final ProjectReportDTO report) {
    mainPanel.removeAll();//from w  ww  . j  a v a  2 s .  c om
    // currentReport = report;

    if (autoSaveTimer != null) {
        autoSaveTimer.cancel();
        autoSaveTimer = null;
    }

    if (report == null)
        return;

    // Preparing the view for the new report
    textAreas.clear();
    oldContents.clear();
    keyQuestionState.clear();

    // Title bar
    final ContentPanel reportPanel = new ContentPanel(new FitLayout());
    reportPanel.setScrollMode(Scroll.AUTOY);
    reportPanel.setHeading(report.getName());

    final ToolButton closeButton = new ToolButton("x-tool-close");
    closeButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            final OrgUnitState state = new OrgUnitState(currentState.getOrgUnitId());
            state.setCurrentSection(currentState.getCurrentSection());
            state.setArgument("-1");

            eventBus.fireEvent(new NavigationEvent(NavigationHandler.NavigationRequested, state, null));
        }
    });
    reportPanel.getHeader().addTool(closeButton);

    // Report container
    final FlowPanel flowPanel = new FlowPanel();

    // Report
    final FoldPanel root = new FoldPanel();
    root.addStyleName("project-report");

    final List<ProjectReportSectionDTO> sections = report.getSections();

    final StringBuilder prefix = new StringBuilder();

    for (int index = 0; index < sections.size(); index++) {
        final ProjectReportSectionDTO section = sections.get(index);

        prefix.append(index + 1).append('.');
        displaySection(section, root, prefix, 1, report.isDraft());

        prefix.setLength(0);
    }

    // Toolbar
    final ToolBar toolBar = new ToolBar();

    final IconImageBundle icons = GWT.create(IconImageBundle.class);

    if (report.isDraft()) {
        // Draft banner
        final HorizontalPanel header = new HorizontalPanel();
        header.addStyleName("project-report-draft");

        // The "Personal Draft"
        final Label personalDraft = new Label(I18N.MESSAGES.personalDraft());
        personalDraft.addStyleName("project-report-personalDraft");

        final DateTimeFormat dateFormat = DateTimeFormat.getMediumDateFormat();
        final DateTimeFormat timeFormat = DateTimeFormat.getMediumTimeFormat();

        // The label showing the last changed time
        final Label draftLastChangedTime = new Label(I18N.MESSAGES.reportDraftLastChanged(
                dateFormat.format(report.getLastEditDate()), timeFormat.format(report.getLastEditDate())));

        // Add the two labels
        header.add(personalDraft);
        header.add(draftLastChangedTime);

        final Button cancelButton = new Button(I18N.CONSTANTS.delete());
        final Button sendButton = new Button(I18N.CONSTANTS.sendReportDraft());

        cancelButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final RemoveProjectReportDraft removeDraft = new RemoveProjectReportDraft(
                        report.getVersionId());
                final GetProjectReport getReport = new GetProjectReport(report.getId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(removeDraft, null, callback);
                dispatcher.execute(getReport, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportEditCancelSuccess());
                        setReport(result);
                    }

                });
            }
        });

        sendButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final HashMap<String, Object> changes = new HashMap<String, Object>();
                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        changes);
                final PromoteProjectReportDraft promoteDraft = new PromoteProjectReportDraft(report.getId(),
                        report.getVersionId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(updateEntity, null, callback);
                dispatcher.execute(promoteDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());
                        setReport(result);
                    }

                });
            }
        });

        final HorizontalPanel buttons = new HorizontalPanel();
        buttons.setSpacing(5);
        buttons.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
        buttons.addStyleName("project-report-draft-button");
        buttons.add(cancelButton);
        buttons.add(sendButton);

        header.add(buttons);
        header.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_RIGHT);

        flowPanel.add(header);

        // Save action
        final Listener<BaseEvent> saveListener = new Listener<BaseEvent>() {

            @Override
            public void handleEvent(BaseEvent be) {
                final HashMap<String, String> changes = new HashMap<String, String>();

                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        (Map<String, Object>) (Map<String, ?>) changes);
                dispatcher.execute(updateEntity, null, new AsyncCallback<VoidResult>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(VoidResult result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());

                        final Date now = new Date();
                        header.clear();
                        draftLastChangedTime.setText(I18N.MESSAGES
                                .reportDraftLastChanged(dateFormat.format(now), timeFormat.format(now)));
                        personalDraft.setText(I18N.MESSAGES.personalDraft());
                        header.add(personalDraft);
                        header.add(draftLastChangedTime);
                        header.add(buttons);

                        boolean found = false;
                        for (int index = 0; !found && index < store.getCount(); index++) {
                            final ReportReference reference = store.getAt(index);

                            if (reference.getId().equals(report.getId())) {
                                store.remove(reference);

                                reference.setEditorName(authentication.getUserShortName());
                                reference.setPhaseName(phaseName);
                                reference.setLastEditDate(new Date());

                                store.add(reference);

                                found = true;
                            }
                        }

                        updateChanges();

                        autoSaveTimer.cancel();
                        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);
                    }
                });
            }
        };

        // Save button
        final Button saveButton = new Button(I18N.CONSTANTS.save(), icons.save());
        saveButton.addListener(Events.Select, saveListener);

        toolBar.add(saveButton);
        toolBar.add(new SeparatorToolItem());

        // Auto save timer
        autoSaveTimer = new Timer() {

            @Override
            public void run() {
                saveListener.handleEvent(null);
            }
        };
        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);

    } else {
        final Button editReportButton = new Button(I18N.CONSTANTS.edit(), icons.editPage());

        if (ProfileUtils.isGranted(authentication, GlobalPermissionEnum.MANAGE_UNIT)) {
            toolBar.add(editReportButton);
        }

        editReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                // Draft creation
                final HashMap<String, Object> properties = new HashMap<String, Object>();
                properties.put("reportId", report.getId());
                properties.put("phaseName", phaseName);
                final CreateEntity createDraft = new CreateEntity("ProjectReportDraft", properties);

                // Retrieving the new draft
                final GetProjectReport getReportDraft = new GetProjectReport(report.getId());

                final AsyncCallback<CreateResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(createDraft, null, callback);
                dispatcher.execute(getReportDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        setReport(result);
                    }

                });
            }
        });

        final Button exportReportButton = new Button(I18N.CONSTANTS.exportToWord(), icons.msword());
        toolBar.add(exportReportButton);

        exportReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final FormElement form = FormElement.as(DOM.createForm());
                form.setAction(GWT.getModuleBaseURL() + "export");
                form.setTarget("_downloadFrame");
                form.setMethod("POST");

                final InputElement typeField = InputElement.as(DOM.createInputText());
                typeField.setAttribute("type", "hidden");
                typeField.setName(ExportUtils.PARAM_EXPORT_TYPE);
                typeField.setValue(ExportUtils.ExportType.PROJECT_REPORT.toString());
                form.appendChild(typeField);

                final InputElement formatField = InputElement.as(DOM.createInputText());
                formatField.setAttribute("type", "hidden");
                formatField.setName(ExportUtils.PARAM_EXPORT_FORMAT);
                formatField.setValue(ExportUtils.ExportFormat.MS_WORD.name());
                form.appendChild(formatField);

                final InputElement idField = InputElement.as(DOM.createInputText());
                idField.setAttribute("type", "hidden");
                idField.setName(ExportUtils.PARAM_EXPORT_PROJECT_ID);
                idField.setAttribute("value", report.getId().toString());
                form.appendChild(idField);

                RootPanel.getBodyElement().appendChild(form);

                form.submit();
                form.removeFromParent();
            }
        });

        toolBar.add(new SeparatorToolItem());
    }

    // Key question info
    final Label keyQuestionLabel = keyQuestionState.getLabel();
    toolBar.add(keyQuestionLabel);
    toolBar.add(new SeparatorToolItem());

    // Overview mode
    final Button foldButton = new Button(I18N.CONSTANTS.reportOverviewMode());
    foldButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            root.expand(true);
            root.fold(true);
        }
    });
    // Expanded mode
    final Button expandButton = new Button(I18N.CONSTANTS.reportFullMode());
    expandButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            root.expand(true);
        }
    });

    toolBar.add(foldButton);
    toolBar.add(expandButton);

    if (report.isDraft()) {
        toolBar.add(new SeparatorToolItem());
        createRichTextToolbar(toolBar);
    }

    flowPanel.add(root);
    reportPanel.add(flowPanel);
    reportPanel.setTopComponent(toolBar);

    // Display
    mainPanel.add(reportPanel, new BorderLayoutData(LayoutRegion.CENTER));
    mainPanel.layout();

    mainPanel.unmask();
}

From source file:org.sigmah.client.page.project.reports.ProjectReportsView.java

License:Open Source License

public void setReport(final ProjectReportDTO report) {
    mainPanel.removeAll();//from   w w  w.  ja  v  a 2s. c  om
    // currentReport = report;

    if (autoSaveTimer != null) {
        autoSaveTimer.cancel();
        autoSaveTimer = null;
    }

    if (report == null) {
        currentReportId = -1;
        return;
    }

    currentReportId = report.getId();

    // Preparing the view for the new report
    textAreas.clear();
    oldContents.clear();
    keyQuestionState.clear();

    // Title bar
    final ContentPanel reportPanel = new ContentPanel(new FitLayout());
    reportPanel.setScrollMode(Scroll.AUTOY);
    reportPanel.setHeading(report.getName());

    final ToolButton closeButton = new ToolButton("x-tool-close");
    closeButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            final ProjectState state = new ProjectState(currentState.getProjectId());
            state.setCurrentSection(currentState.getCurrentSection());
            state.setArgument("-1");

            eventBus.fireEvent(new NavigationEvent(NavigationHandler.NavigationRequested, state, null));
        }
    });
    reportPanel.getHeader().addTool(closeButton);

    // Report container
    final FlowPanel flowPanel = new FlowPanel();

    // Report
    final FoldPanel root = new FoldPanel();
    root.addStyleName("project-report");

    final List<ProjectReportSectionDTO> sections = report.getSections();

    final StringBuilder prefix = new StringBuilder();

    for (int index = 0; index < sections.size(); index++) {
        final ProjectReportSectionDTO section = sections.get(index);

        prefix.append(index + 1).append('.');
        displaySection(section, root, prefix, 1, report.isDraft());

        prefix.setLength(0);
    }

    // Toolbar
    final ToolBar toolBar = new ToolBar();

    final IconImageBundle icons = GWT.create(IconImageBundle.class);

    if (report.isDraft()) {
        // Draft banner
        final HorizontalPanel header = new HorizontalPanel();
        header.addStyleName("project-report-draft");

        // The "Personal Draft"
        final Label personalDraft = new Label(I18N.MESSAGES.personalDraft());
        personalDraft.addStyleName("project-report-personalDraft");

        final DateTimeFormat dateFormat = DateTimeFormat.getMediumDateFormat();
        final DateTimeFormat timeFormat = DateTimeFormat.getMediumTimeFormat();

        // The label showing the last changed time
        final Label draftLastChangedTime = new Label(I18N.MESSAGES.reportDraftLastChanged(
                dateFormat.format(report.getLastEditDate()), timeFormat.format(report.getLastEditDate())));

        // Add the two labels
        header.add(personalDraft);
        header.add(draftLastChangedTime);

        final Button cancelButton = new Button(I18N.CONSTANTS.delete());
        final Button sendButton = new Button(I18N.CONSTANTS.sendReportDraft());

        cancelButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final RemoveProjectReportDraft removeDraft = new RemoveProjectReportDraft(
                        report.getVersionId());
                final GetProjectReport getReport = new GetProjectReport(report.getId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(removeDraft, null, callback);
                dispatcher.execute(getReport, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportEditCancelSuccess());
                        setReport(result);
                    }

                });
            }
        });

        sendButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final HashMap<String, Object> changes = new HashMap<String, Object>();
                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        changes);
                final PromoteProjectReportDraft promoteDraft = new PromoteProjectReportDraft(report.getId(),
                        report.getVersionId());

                final AsyncCallback<VoidResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(updateEntity, null, callback);
                dispatcher.execute(promoteDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());
                        setReport(result);
                    }

                });
            }
        });

        final HorizontalPanel buttons = new HorizontalPanel();
        buttons.setSpacing(5);
        buttons.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
        buttons.addStyleName("project-report-draft-button");
        buttons.add(cancelButton);
        buttons.add(sendButton);

        header.add(buttons);
        header.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_RIGHT);

        flowPanel.add(header);

        // Save action
        final Listener<BaseEvent> saveListener = new Listener<BaseEvent>() {

            @Override
            public void handleEvent(BaseEvent be) {
                final HashMap<String, String> changes = new HashMap<String, String>();

                changes.put("currentPhase", phaseName);

                for (final Map.Entry<Integer, RichTextArea> entry : textAreas.entrySet())
                    changes.put(entry.getKey().toString(), entry.getValue().getHTML());

                final UpdateEntity updateEntity = new UpdateEntity("ProjectReport", report.getVersionId(),
                        (Map<String, Object>) (Map<String, ?>) changes);
                dispatcher.execute(updateEntity, null, new AsyncCallback<VoidResult>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportSaveError(),
                                null);
                    }

                    @Override
                    public void onSuccess(VoidResult result) {
                        Notification.show(I18N.CONSTANTS.projectTabReports(),
                                I18N.CONSTANTS.reportSaveSuccess());

                        final Date now = new Date();
                        header.clear();
                        draftLastChangedTime.setText(I18N.MESSAGES
                                .reportDraftLastChanged(dateFormat.format(now), timeFormat.format(now)));
                        personalDraft.setText(I18N.MESSAGES.personalDraft());
                        header.add(personalDraft);
                        header.add(draftLastChangedTime);
                        header.add(buttons);

                        boolean found = false;
                        for (int index = 0; !found && index < store.getCount(); index++) {
                            final ReportReference reference = store.getAt(index);

                            if (reference.getId().equals(report.getId())) {
                                store.remove(reference);

                                reference.setEditorName(authentication.getUserShortName());
                                reference.setPhaseName(phaseName);
                                reference.setLastEditDate(new Date());

                                store.add(reference);

                                found = true;
                            }
                        }

                        updateChanges();

                        autoSaveTimer.cancel();
                        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);
                    }
                });
            }
        };

        // Save button
        final Button saveButton = new Button(I18N.CONSTANTS.save(), icons.save());
        saveButton.addListener(Events.Select, saveListener);

        toolBar.add(saveButton);
        toolBar.add(new SeparatorToolItem());

        // Auto save timer
        autoSaveTimer = new Timer() {

            @Override
            public void run() {
                saveListener.handleEvent(null);
            }
        };
        autoSaveTimer.schedule(AUTO_SAVE_PERIOD);

    } else {
        final Button editReportButton = new Button(I18N.CONSTANTS.edit(), icons.editPage());

        if (ProfileUtils.isGranted(authentication, GlobalPermissionEnum.EDIT_PROJECT)) {
            toolBar.add(editReportButton);
        }

        editReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                // Draft creation
                final HashMap<String, Object> properties = new HashMap<String, Object>();
                properties.put("reportId", report.getId());
                properties.put("phaseName", phaseName);
                final CreateEntity createDraft = new CreateEntity("ProjectReportDraft", properties);

                // Retrieving the new draft
                final GetProjectReport getReportDraft = new GetProjectReport(report.getId());

                final AsyncCallback<CreateResult> callback = AsyncCallbacks.emptyCallback();
                dispatcher.execute(createDraft, null, callback);
                dispatcher.execute(getReportDraft, null, new AsyncCallback<ProjectReportDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        MessageBox.alert(I18N.CONSTANTS.projectTabReports(), I18N.CONSTANTS.reportEditError(),
                                null);
                    }

                    @Override
                    public void onSuccess(ProjectReportDTO result) {
                        setReport(result);
                    }

                });
            }
        });

        final Button exportReportButton = new Button(I18N.CONSTANTS.exportToWord(), icons.msword());
        toolBar.add(exportReportButton);

        exportReportButton.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
                final FormElement form = FormElement.as(DOM.createForm());
                form.setAction(GWT.getModuleBaseURL() + "export");
                form.setTarget("_downloadFrame");
                form.setMethod("POST");

                final InputElement typeField = InputElement.as(DOM.createInputText());
                typeField.setAttribute("type", "hidden");
                typeField.setName(ExportUtils.PARAM_EXPORT_TYPE);
                typeField.setValue(ExportUtils.ExportType.PROJECT_REPORT.toString());
                form.appendChild(typeField);

                final InputElement formatField = InputElement.as(DOM.createInputText());
                formatField.setAttribute("type", "hidden");
                formatField.setName(ExportUtils.PARAM_EXPORT_FORMAT);
                formatField.setValue(ExportUtils.ExportFormat.MS_WORD.name());
                form.appendChild(formatField);

                final InputElement idField = InputElement.as(DOM.createInputText());
                idField.setAttribute("type", "hidden");
                idField.setName(ExportUtils.PARAM_EXPORT_PROJECT_ID);
                idField.setAttribute("value", report.getId().toString());
                form.appendChild(idField);

                RootPanel.getBodyElement().appendChild(form);

                form.submit();
                form.removeFromParent();
            }
        });

        toolBar.add(new SeparatorToolItem());
    }

    // Key question info
    final Label keyQuestionLabel = keyQuestionState.getLabel();
    toolBar.add(keyQuestionLabel);
    toolBar.add(new SeparatorToolItem());

    // Overview mode
    final Button foldButton = new Button(I18N.CONSTANTS.reportOverviewMode());
    foldButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            root.expand(true);
            root.fold(true);
        }
    });
    // Expanded mode
    final Button expandButton = new Button(I18N.CONSTANTS.reportFullMode());
    expandButton.addListener(Events.Select, new Listener<BaseEvent>() {

        @Override
        public void handleEvent(BaseEvent be) {
            root.expand(true);
        }
    });

    toolBar.add(foldButton);
    toolBar.add(expandButton);

    if (report.isDraft()) {
        toolBar.add(new SeparatorToolItem());
        createRichTextToolbar(toolBar);
    }

    flowPanel.add(root);
    reportPanel.add(flowPanel);
    reportPanel.setTopComponent(toolBar);

    // Display
    mainPanel.add(reportPanel, new BorderLayoutData(LayoutRegion.CENTER));
    mainPanel.layout();

    mainPanel.unmask();
}

From source file:org.sigmah.client.ui.presenter.contact.ContactDetailsPresenter.java

License:Open Source License

/**
 * Method executed on export contact action.
 *
 * @param contact//from www.  j a  v a  2  s .  c  o m
 *          The contact to export.
 */
private void onExportContact(final ContactDTO contact) {

    view.buildExportDialog(new ExportActionHandler() {

        @Override
        public void onExportContact(final boolean characteristicsField, final boolean allRelationsField,
                final boolean frameworkRelationsField, final boolean relationsByElementField) {

            final ServletUrlBuilder urlBuilder = new ServletUrlBuilder(injector.getAuthenticationProvider(),
                    injector.getPageManager(), Servlet.EXPORT, ServletMethod.EXPORT_CONTACT);

            urlBuilder.addParameter(RequestParameter.ID, contact.getId());
            urlBuilder.addParameter(RequestParameter.WITH_CHARACTERISTICS, characteristicsField);
            urlBuilder.addParameter(RequestParameter.WITH_ALL_RELATIONS, allRelationsField);
            urlBuilder.addParameter(RequestParameter.WITH_FRAMEWORK_RELATIONS, frameworkRelationsField);
            urlBuilder.addParameter(RequestParameter.WITH_RELATIONS_BY_ELEMENT, relationsByElementField);

            final FormElement form = FormElement.as(DOM.createForm());
            form.setAction(urlBuilder.toString());
            form.setTarget("_downloadFrame");
            form.setMethod(Method.POST.name());

            RootPanel.getBodyElement().appendChild(form);

            form.submit();
            form.removeFromParent();
        }
    });
}

From source file:org.sigmah.client.ui.presenter.contact.ContactRelationshipsPresenter.java

License:Open Source License

/**
 * Method executed on export relationships action.
 *
 * @param contact//  w  w  w .j av  a2s .c o  m
 *          The contact to export.
 */
private void onExportContactRelationships(final ContactDTO contact) {

    view.buildExportDialog(new ExportActionHandler() {

        @Override
        public void onExportContactRelationships(final boolean characteristicsField,
                final boolean allRelationsField, final boolean frameworkRelationsField,
                final boolean relationsByElementField) {

            final ServletUrlBuilder urlBuilder = new ServletUrlBuilder(injector.getAuthenticationProvider(),
                    injector.getPageManager(), ServletConstants.Servlet.EXPORT,
                    ServletConstants.ServletMethod.EXPORT_CONTACT);

            urlBuilder.addParameter(RequestParameter.ID, contact.getId());
            urlBuilder.addParameter(RequestParameter.WITH_CHARACTERISTICS, characteristicsField);
            urlBuilder.addParameter(RequestParameter.WITH_ALL_RELATIONS, allRelationsField);
            urlBuilder.addParameter(RequestParameter.WITH_FRAMEWORK_RELATIONS, frameworkRelationsField);
            urlBuilder.addParameter(RequestParameter.WITH_RELATIONS_BY_ELEMENT, relationsByElementField);

            final FormElement form = FormElement.as(DOM.createForm());
            form.setAction(urlBuilder.toString());
            form.setTarget("_downloadFrame");
            form.setMethod(FormPanel.Method.POST.name());

            RootPanel.getBodyElement().appendChild(form);

            form.submit();
            form.removeFromParent();
        }
    });
}

From source file:org.sigmah.client.ui.presenter.project.ProjectPresenter.java

License:Open Source License

/**
 * Method executed on export project action.
 * //from w ww.  ja  v  a 2  s  .  c  om
 * @param project
 *          The project to export.
 */
private void onExportProject(final ProjectDTO project) {

    view.buildExportDialog(new ExportActionHandler() {

        @Override
        public void onExportProject(final Field<Boolean> indicatorField, final Field<Boolean> logFrameField) {

            final ServletUrlBuilder urlBuilder = new ServletUrlBuilder(injector.getAuthenticationProvider(),
                    injector.getPageManager(), Servlet.EXPORT, ServletMethod.EXPORT_PROJECT);

            final ExportType type;

            if (indicatorField.getValue() && logFrameField.getValue()) {
                type = ExportType.PROJECT_SYNTHESIS_LOGFRAME_INDICATORS;

            } else if (indicatorField.getValue() && !logFrameField.getValue()) {
                type = ExportType.PROJECT_SYNTHESIS_INDICATORS;

            } else if (!indicatorField.getValue() && logFrameField.getValue()) {
                type = ExportType.PROJECT_SYNTHESIS_LOGFRAME;

            } else {
                type = ExportType.PROJECT_SYNTHESIS;
            }

            urlBuilder.addParameter(RequestParameter.ID, project.getId());
            urlBuilder.addParameter(RequestParameter.TYPE, type);

            final FormElement form = FormElement.as(DOM.createForm());
            form.setAction(urlBuilder.toString());
            form.setTarget("_downloadFrame");
            form.setMethod(Method.POST.name());

            RootPanel.getBodyElement().appendChild(form);

            form.submit();
            form.removeFromParent();
        }
    });
}

From source file:org.sigmah.client.ui.presenter.reports.ReportsPresenter.java

License:Open Source License

/**
 * Method executed on report export action.
 * //from ww  w. j  a v  a  2  s.  c  o m
 * @param report
 *          The current report.
 */
private void onExportReport(final ProjectReportDTO report) {

    final ServletUrlBuilder urlBuilder = new ServletUrlBuilder(injector.getAuthenticationProvider(),
            injector.getPageManager(), Servlet.EXPORT, ServletMethod.EXPORT_REPORT);

    urlBuilder.addParameter(RequestParameter.ID, report.getId());
    urlBuilder.addParameter(RequestParameter.TYPE, ExportType.PROJECT_REPORT);
    urlBuilder.addParameter(RequestParameter.FORMAT, ExportFormat.MS_WORD);

    final FormElement form = FormElement.as(DOM.createForm());
    form.setAction(urlBuilder.toString());
    form.setTarget("_downloadFrame");
    form.setMethod(Method.POST.name());

    RootPanel.getBodyElement().appendChild(form);

    form.submit();
    form.removeFromParent();
}