List of usage examples for com.google.gwt.dom.client FormElement submit
public final void submit()
From source file:com.alkacon.geranium.client.ui.FrameDialog.java
License:Open Source License
/** * Shows an iFrame dialog popup.<p> * //from ww w . jav a2 s . com * @param title the dialog title * @param dialogUri the dialog URI * @param parameters the dialog post parameters * @param closeHandler the dialog close handler * * @return the opened popup */ public static Popup showFrameDialog(String title, String dialogUri, Map<String, String> parameters, CloseHandler<PopupPanel> closeHandler) { Popup popup = new Popup(title); popup.removePadding(); popup.addStyleName(I_LayoutBundle.INSTANCE.contentEditorCss().contentEditor()); popup.setGlassEnabled(true); IFrame editorFrame = new IFrame(IFRAME_NAME, ""); popup.add(editorFrame); final FormElement formElement = DomUtil.generateHiddenForm(dialogUri, Method.post, IFRAME_NAME, parameters); RootPanel.getBodyElement().appendChild(formElement); exportDialogFunctions(popup); popup.addCloseHandler(new CloseHandler<PopupPanel>() { public void onClose(CloseEvent<PopupPanel> event) { formElement.removeFromParent(); removeExportedFunctions(); } }); if (closeHandler != null) { popup.addCloseHandler(closeHandler); } popup.center(); formElement.submit(); return popup; }
From source file:org.jboss.errai.ui.client.widget.AbstractForm.java
License:Apache License
/** * Submit the form returned from {@link AbstractForm#getFormElement()}. Before * the form is submitted, it will be modifed so that it targets a hidden * iframe with the id {@link AbstractForm#ERRAI_FORM_FRAME_ID} with the * {@code action} set to the return value of * {@link AbstractForm#getFormAction()}. *//*w w w.j ava 2 s . com*/ public void submit() { final FormElement form = getFormElement(); prepareFormForSubmission(form); form.submit(); }
From source file:org.opencms.ade.containerpage.client.CmsContainerpageHandler.java
License:Open Source License
/** * Leaves the current page and opens the site-map.<p> *///from w w w.ja v a 2 s.com public void gotoSitemap() { final String sitemapUri = CmsCoreProvider.get().link(m_controller.getData().getSitemapUri()); if (sitemapUri.equals("")) { return; // normally, we shouldn't even get to this point because the sitemap button should be disabled } Command leaveCommand = new Command() { public void execute() { Map<String, String> parameter = new HashMap<String, String>(); parameter.put(CmsCoreData.PARAM_PATH, CmsContainerpageController.getCurrentUri()); parameter.put(CmsCoreData.PARAM_RETURNCODE, m_controller.getReturnCode()); FormElement form = CmsDomUtil.generateHiddenForm(sitemapUri, Method.post, Target.TOP, parameter); RootPanel.getBodyElement().appendChild(form); form.submit(); } }; leavePage(leaveCommand); }
From source file:org.opencms.ade.editprovider.client.CmsDirectEditButtons.java
License:Open Source License
/** * Opens the content editor.<p>// www . j a v a 2 s .c om * * @param isNew <code>true</code> to create and edit a new resource */ protected void openEditDialog(boolean isNew) { // create a form to submit a post request to the editor JSP Map<String, String> formVaules = new HashMap<String, String>(); if (m_editableData.getSitePath() != null) { formVaules.put("resource", m_editableData.getSitePath()); } if (m_editableData.getElementLanguage() != null) { formVaules.put("elementlanguage", m_editableData.getElementLanguage()); } if (m_editableData.getElementName() != null) { formVaules.put("elementname", m_editableData.getElementName()); } formVaules.put("backlink", CmsCoreProvider.get().getUri() + Window.Location.getQueryString()); formVaules.put("redirect", "true"); formVaules.put("directedit", "true"); if (isNew) { formVaules.put("newlink", m_editableData.getNewLink()); formVaules.put("editortitle", m_editableData.getNewTitle()); } FormElement formElement = CmsDomUtil.generateHiddenForm( CmsCoreProvider.get().link(CmsCoreProvider.get().getContentEditorUrl()), Method.post, Target.TOP, formVaules); getMarkerTag().appendChild(formElement); formElement.submit(); }
From source file:org.opencms.ade.sitemap.client.control.CmsSitemapController.java
License:Open Source License
/** * Opens the site-map specified.<p> * //w ww . ja v a2s.c om * @param sitePath the site path to the site-map folder */ public void openSiteMap(String sitePath) { Map<String, String> parameter = new HashMap<String, String>(); parameter.put(CmsCoreData.PARAM_PATH, sitePath); parameter.put(CmsCoreData.PARAM_RETURNCODE, getData().getReturnCode()); FormElement form = CmsDomUtil.generateHiddenForm(CmsCoreProvider.get().link(CmsCoreProvider.get().getUri()), Method.post, Target.TOP, parameter); RootPanel.getBodyElement().appendChild(form); form.submit(); }
From source file:org.opencms.gwt.client.ui.CmsFrameDialog.java
License:Open Source License
/** * Shows an iFrame dialog popup.<p> * /* w w w .ja v a 2 s .c om*/ * @param title the dialog title * @param dialogUri the dialog URI * @param parameters the dialog post parameters * @param closeHandler the dialog close handler * * @return the opened popup */ public static CmsPopup showFrameDialog(String title, String dialogUri, Map<String, String> parameters, CloseHandler<PopupPanel> closeHandler) { CmsPopup popup = new CmsPopup(title); popup.removePadding(); popup.addStyleName(I_CmsLayoutBundle.INSTANCE.contentEditorCss().contentEditor()); popup.setGlassEnabled(true); CmsIFrame editorFrame = new CmsIFrame(IFRAME_NAME, ""); popup.add(editorFrame); final FormElement formElement = CmsDomUtil.generateHiddenForm(dialogUri, Method.post, IFRAME_NAME, parameters); RootPanel.getBodyElement().appendChild(formElement); exportDialogFunctions(popup); popup.addCloseHandler(new CloseHandler<PopupPanel>() { public void onClose(CloseEvent<PopupPanel> event) { formElement.removeFromParent(); removeExportedFunctions(); } }); if (closeHandler != null) { popup.addCloseHandler(closeHandler); } popup.center(); formElement.submit(); return popup; }
From source file:org.opencms.ui.client.login.CmsLoginTargetOpenerConnector.java
License:Open Source License
/** * @see com.vaadin.client.extensions.AbstractExtensionConnector#extend(com.vaadin.client.ServerConnector) *//*from ww w . j a va 2 s .co m*/ @Override protected void extend(ServerConnector extendedComponent) { registerRpc(I_CmsLoginTargetRpc.class, new I_CmsLoginTargetRpc() { private static final long serialVersionUID = 1L; public void openTarget(String target, boolean isPublicPC) { if (isPublicPC) { // in this case we do not want to trigger the browsers password manager, just call the login target Window.Location.assign(target); } else { // Post a hidden form with user name and password fields, // to hopefully trigger the browser's password manager Document doc = Document.get(); FormElement formEl = (FormElement) doc.getElementById("opencms-login-form"); CmsDebugLog.consoleLog("form target = " + formEl.getTarget()); // make sure user name and password are children of the form Element user = doc.getElementById("hidden-username"); Element password = doc.getElementById("hidden-password"); if ((user != null) && !formEl.isOrHasChild(user)) { formEl.appendChild(user); } if ((password != null) && !formEl.isOrHasChild(password)) { formEl.appendChild(password); } InputElement requestedResourceField = doc.createTextInputElement(); requestedResourceField.setName(CmsGwtConstants.PARAM_LOGIN_REDIRECT); requestedResourceField.setValue(target); formEl.appendChild(requestedResourceField); formEl.submit(); } } }); }
From source file:org.sigmah.client.page.orgunit.reports.OrgUnitReportsView.java
License:Open Source License
public void setReport(final ProjectReportDTO report) { mainPanel.removeAll();/*w ww .j a v a2 s.c o m*/ // 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 ww w . j a v a 2s. com // 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/* w ww .j a v a2 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(); } }); }