List of usage examples for com.google.gwt.user.client.ui FormPanel submit
public void submit()
From source file:org.opencms.ade.upload.client.ui.CmsUploadDialogImpl.java
License:Open Source License
/** * @see org.opencms.ade.upload.client.ui.A_CmsUploadDialog#submit() */// w ww. j a v a 2s . c o m @Override public void submit() { FormPanel form = createForm(); form.addSubmitCompleteHandler(new CmsUploadHandler()); insertUploadForm(form); form.submit(); }
From source file:org.opencms.gwt.client.ui.input.upload.impl.CmsUploaderDefault.java
License:Open Source License
/** * @see org.opencms.gwt.client.ui.input.upload.I_CmsUploader#uploadFiles(java.lang.String, java.lang.String, boolean, java.util.List, java.util.List, org.opencms.gwt.client.ui.input.upload.I_CmsUploadDialog) */// www .j a va 2s .c o m public void uploadFiles(String uploadUri, String targetFolder, boolean isRootPath, List<CmsFileInfo> filesToUpload, List<String> filesToUnzip, I_CmsUploadDialog dialog) { FormPanel form = createForm(uploadUri, targetFolder, isRootPath, filesToUpload, filesToUnzip); form.addSubmitCompleteHandler(new CmsUploadHandler(dialog, form)); form.getElement().getStyle().setDisplay(Display.NONE); RootPanel.get().add(form); form.submit(); }
From source file:org.opencms.ui.client.login.CmsLoginTargetOpener.java
License:Open Source License
/** * Opens the login target for the given user name and password.<p> * * @param target the login target//from w w w.jav a2 s.c o m * @param user the user * @param password the password */ public void openTarget(final String target, final String user, final String password) { // Post a hidden form with user name and password fields, // to hopefully trigger the browser's password manager final FormPanel form = new FormPanel("_self"); Document doc = Document.get(); InputElement userField = doc.createTextInputElement(); userField.setName("ocUname"); InputElement passwordField = doc.createPasswordInputElement(); passwordField.setName("ocPword"); userField.setValue(user); passwordField.setValue(password); form.getElement().appendChild(userField); form.getElement().appendChild(passwordField); form.setMethod("post"); form.setAction(target); form.setVisible(false); add(form); form.submit(); }
From source file:org.ow2.proactive_grid_cloud_portal.common.client.CredentialsWindow.java
License:Open Source License
private void build() { /* smartGWT forms don't allow simple multipart file upload, * so we use a smartGWT form for login/password/checkbox, * a pure GWT form for file upload, and upon submission, * put the fields from the first form as hidden fields of the * pure GWT form. It's a bit convoluted but like this we get * the pretty widgets and the nice features */ TextItem loginField = new TextItem("login", "Login"); loginField.setRequired(true);/*from w w w .jav a 2 s . c o m*/ PasswordItem passwordField = new PasswordItem("password", "Password"); passwordField.setRequired(true); final CheckboxItem moreField = new CheckboxItem("useSSH", "Use SSH private key"); moreField.setValue(false); // smartGWT form: only used to input the data before filling the hidden fields // in the other form with it final DynamicForm form = new DynamicForm(); form.setFields(loginField, passwordField, moreField); // pure GWT form for uploading, will be used to contact the servlet // even if no ssh key is used final FileUpload fileUpload = new FileUpload(); fileUpload.setName("sshkey"); final Hidden hiddenUser = new Hidden("username"); final Hidden hiddenPass = new Hidden("password"); final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "createcredential"); final VerticalPanel vpan = new VerticalPanel(); vpan.add(hiddenUser); vpan.add(hiddenPass); vpan.add(fileUpload); formPanel.setWidget(vpan); formPanel.setWidth("100%"); formPanel.setHeight("30px"); final HLayout formWrapper = new HLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.addChild(formPanel); formWrapper.setWidth100(); formWrapper.addDrawHandler(new DrawHandler() { public void onDraw(DrawEvent event) { // took me half a day to find this hack: // if the form is added to the page in a hidden element, // it is never created and submission fails without callback. // it needs to be visible so that it is created once, then // we can safely hide it and still use it if (disableFormWrapper) { disableFormWrapper = false; formWrapper.setVisible(false); } } }); // hide/show the ssh key upload input moreField.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent event) { if (moreField.getValueAsBoolean()) { formWrapper.setVisible(true); } else { formWrapper.setVisible(false); formPanel.reset(); } } }); // prevent form validation if no ssh key is selected Validator moreVal = new CustomValidator() { @Override protected boolean condition(Object value) { if (moreField.getValueAsBoolean()) { String file = fileUpload.getFilename(); return (file != null && file.length() > 0); } else { return true; } } }; moreVal.setErrorMessage("No file selected"); moreField.setValidators(moreVal); final IButton clearButton = new IButton("Clear"); clearButton.setIcon(Images.instance.clear_16().getSafeUri().asString()); clearButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { form.clearValues(); formPanel.reset(); formWrapper.setVisible(false); } }); final IButton closeButton = new IButton("Close"); final Label label = new Label("A Credential is a file containing all information used" + " for authentication, in an encrypted form. It allows easier authentication and" + " automation."); label.setHeight(50); final HLayout buttonBar = new HLayout(); final IButton okButton = new IButton(); okButton.setShowDisabled(false); okButton.setIcon(Images.instance.ok_16().getSafeUri().asString()); okButton.setTitle("Create"); okButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (!form.validate()) return; String login = form.getValueAsString("login"); String pw = form.getValueAsString("password"); hiddenUser.setValue(login); hiddenPass.setValue(pw); formPanel.submit(); } }); closeButton.setIcon(Images.instance.cancel_16().getSafeUri().asString()); closeButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { CredentialsWindow.this.window.hide(); CredentialsWindow.this.destroy(); } }); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { /* this happens only on error, if the call succeeds, * the response is relocated so that a 'save file' dialog appears */ String str = event.getResults(); label.setContents("<span style='color:red;'>" + str + "</span>"); } }); Layout formLayout = new VLayout(); formLayout.setHeight100(); formLayout.setWidth100(); formLayout.setMembersMargin(10); formLayout.addMember(form); formLayout.addMember(formWrapper); buttonBar.setWidth100(); buttonBar.setAlign(Alignment.RIGHT); buttonBar.setMembersMargin(5); buttonBar.setMembers(clearButton, okButton, closeButton); formLayout.addMember(buttonBar); VLayout layout = new VLayout(); layout.setMembersMargin(10); layout.setMargin(5); layout.setMembers(label, formLayout, buttonBar); this.window = new Window(); this.window.setTitle("Create Credentials"); this.window.setShowMinimizeButton(false); this.window.setIsModal(true); this.window.setShowModalMask(true); this.window.addItem(layout); this.window.setWidth(370); this.window.setHeight(260); this.window.centerInPage(); }
From source file:org.ow2.proactive_grid_cloud_portal.common.client.LoginPage.java
License:Open Source License
/** * @return the forms and widgets for plain login/password authentication *//*from w w w . ja v a 2 s. c o m*/ private Layout getPlainAuth() { /* smartGWT forms don't allow simple multipart file upload, * so we use a smartGWT form for login/password/checkbox, * a pure GWT form for file upload, and upon submission, * put the fields from the first form as hidden fields of the * pure GWT form. It's a bit convoluted but like this we get * the pretty widgets and the nice features */ TextItem loginField = new TextItem("login", "User"); loginField.setRequired(true); PasswordItem passwordField = new PasswordItem("password", "Password"); passwordField.setRequired(true); final CheckboxItem moreField = new CheckboxItem("useSSH", "Use SSH private key"); moreField.setValue(false); // smartGWT form: only used to input the data before filling the hidden fields // in the other form with it final DynamicForm form = new DynamicForm(); form.setFields(loginField, passwordField, moreField); form.hideItem("useSSH"); // pure GWT form for uploading, will be used to contact the servlet // even if no ssh key is used final FileUpload fileUpload = new FileUpload(); fileUpload.setName("sshkey"); final Hidden hiddenUser = new Hidden("username"); final Hidden hiddenPass = new Hidden("password"); final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "login"); final VerticalPanel vpan = new VerticalPanel(); vpan.add(hiddenUser); vpan.add(hiddenPass); vpan.add(fileUpload); formPanel.setWidget(vpan); formPanel.setWidth("100%"); formPanel.setHeight("30px"); final HLayout formWrapper = new HLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.addChild(formPanel); formWrapper.setWidth100(); formWrapper.addDrawHandler(new DrawHandler() { public void onDraw(DrawEvent event) { // took me half a day to find this hack: // if the form is added to the page in a hidden element, // it is never created and submission fails without callback. // it needs to be visible so that it is created once, then // we can safely hide it and still use it if (disableFormWrapper) { disableFormWrapper = false; formWrapper.setVisible(false); } } }); // hide/show the ssh key upload input moreField.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent event) { if (moreField.getValueAsBoolean()) { //formWrapper.setVisible(true); formWrapper.animateShow(AnimationEffect.FLY); } else { //formWrapper.setVisible(false); formWrapper.animateHide(AnimationEffect.FLY); formPanel.reset(); } } }); // prevent form validation if no ssh key is selected Validator moreVal = new CustomValidator() { @Override protected boolean condition(Object value) { if (moreField.getValueAsBoolean()) { String file = fileUpload.getFilename(); return (file != null && file.length() > 0); } else { return true; } } }; moreVal.setErrorMessage("No file selected"); moreField.setValidators(moreVal); final Runnable advancedVisibilityChanged = new Runnable() { @Override public void run() { if (!moreField.getVisible()) { authSelLayout.setVisible(true); form.showItem("useSSH"); optsLabel.setIcon(Images.instance.close_16().getSafeUri().asString()); optsLabel.setContents( "<nobr style='color:#003168;font-size: 1.2em;" + "cursor:pointer'>less options</nobr>"); } else { authTypeSelectForm.setValue("Mode", "Basic"); switchPlainCredForm.run(); authSelLayout.setVisible(false); form.hideItem("useSSH"); formWrapper.animateHide(AnimationEffect.FLY); moreField.setValue(false); formPanel.reset(); optsLabel.setIcon(Images.instance.expand_16().getSafeUri().asString()); optsLabel.setContents( "<nobr style='color:#003168;font-size: 1.2em;" + "cursor:pointer'>more options</nobr>"); } } }; optsLabel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { advancedVisibilityChanged.run(); } }); String cacheLogin = Settings.get().getSetting(controller.getLoginSettingKey()); if (cacheLogin != null) { form.setValue("login", cacheLogin); } final IButton okButton = new IButton(); okButton.setShowDisabled(false); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); okButton.setWidth(120); okButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (!form.validate()) return; String login = form.getValueAsString("login"); String pw = form.getValueAsString("password"); hiddenUser.setValue(login); hiddenPass.setValue(pw); okButton.setIcon("loading.gif"); okButton.setTitle("Connecting..."); form.disable(); formWrapper.disable(); authTypeSelectForm.disable(); okButton.disable(); // only submit once the the error message is hidden so we don't try to show it (on form response) // while the effect is played resulting in the message hidden staying hidden if (errorLabel.isDrawn() && errorLabel.isVisible()) { errorLabel.animateHide(AnimationEffect.FLY, new AnimationCallback() { @Override public void execute(boolean earlyFinish) { formPanel.submit(); } }); } else { formPanel.submit(); } } }); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String res = new HTML(event.getResults()).getText(); boolean fail = false; try { JSONValue val = controller.parseJSON(res); JSONObject obj = val.isObject(); if (obj != null && obj.containsKey("sessionId")) { String sess = obj.isObject().get("sessionId").isString().stringValue(); controller.login(sess, form.getValueAsString("login")); } else { fail = true; } } catch (Throwable t) { fail = true; } if (fail) { String err = JSONUtils.getJsonErrorMessage(res); int sta = JSONUtils.getJsonErrorCode(res); if (sta != -1) err += " (" + sta + ")"; errorLabel.setContents("<span style='color:red;'>Could not login: " + err + "</span>"); errorLabel.animateShow(AnimationEffect.FLY); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); formWrapper.enable(); form.enable(); authTypeSelectForm.enable(); okButton.enable(); } } }); form.addItemKeyPressHandler(new ItemKeyPressHandler() { public void onItemKeyPress(ItemKeyPressEvent event) { if ("Enter".equals(event.getKeyName())) { okButton.fireEvent(new ClickEvent(null)); } } }); Layout formLayout = new VLayout(); formLayout.setWidth100(); formLayout.setMembersMargin(10); formLayout.addMember(form); formLayout.addMember(formWrapper); HLayout buttonBar = new HLayout(); buttonBar.setWidth100(); buttonBar.setAlign(Alignment.CENTER); buttonBar.addMember(okButton); formLayout.addMember(buttonBar); return formLayout; }
From source file:org.ow2.proactive_grid_cloud_portal.common.client.LoginPage.java
License:Open Source License
/** * @return the forms and widgets for credentials authentication */// w w w.j ava2 s.c o m private Layout getCredAuth() { final FileUpload fileUpload = new FileUpload(); fileUpload.setName("credential"); // actual form final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "login"); formPanel.add(fileUpload); formPanel.setWidth("100%"); formPanel.setHeight("30px"); // wraps the GWT component so that we may show/hide it final VLayout formWrapper = new VLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.addMember(formPanel); formWrapper.setWidth100(); formWrapper.setMargin(10); final IButton okButton = new IButton(); okButton.setShowDisabled(false); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); okButton.setWidth(120); okButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { errorLabel.animateHide(AnimationEffect.FLY); okButton.setIcon("loading.gif"); okButton.setTitle("Connecting..."); formWrapper.disable(); authTypeSelectForm.disable(); okButton.disable(); // submits the form to LoginServlet formPanel.submit(); } }); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String res = event.getResults(); boolean fail = false; try { JSONValue val = controller.parseJSON(res); JSONObject obj = val.isObject(); if (obj != null && obj.containsKey("sessionId")) { String sess = obj.isObject().get("sessionId").isString().stringValue(); controller.login(sess, null); } else { fail = true; } } catch (Throwable t) { fail = true; } if (fail) { String err = JSONUtils.getJsonErrorMessage(res); errorLabel.setContents("<span style='color:red;'>Could not login: " + err + "</span>"); errorLabel.animateShow(AnimationEffect.FLY); okButton.setIcon(Images.instance.connect_16().getSafeUri().asString()); okButton.setTitle("Connect"); formWrapper.enable(); authTypeSelectForm.enable(); okButton.enable(); } } }); Label createCred = new Label( "<nobr style='color:#003168;font-size: 1.2em;cursor:pointer'>" + "Create credentials</nobr>"); createCred.setHeight(20); createCred.setAlign(Alignment.CENTER); createCred.setIcon(Images.instance.key_16().getSafeUri().asString()); createCred.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { CredentialsWindow win = new CredentialsWindow(); win.show(); } }); formWrapper.addMember(createCred); Layout formLayout = new VLayout(); formLayout.setWidth100(); formLayout.setMembersMargin(10); formLayout.addMember(formWrapper); HLayout buttonBar = new HLayout(); buttonBar.setWidth100(); buttonBar.setAlign(Alignment.CENTER); buttonBar.addMember(okButton); formLayout.addMember(buttonBar); return formLayout; }
From source file:org.ow2.proactive_grid_cloud_portal.scheduler.client.SubmitWindow.java
License:Open Source License
/** * internal layout creation//from www.j av a 2 s. co m * * <pre> * +- Window ------------------+ * |+- VLayout ---------------+| * ||+- Label --------+ || <-- error messages * ||+----------------+ || when applicable * ||+- Layout --------------+|| * |||+- FormPanel ---------+||| * ||||+- VerticalPanel ---+|||| * ||||| form fields ||||| <-- GWT form wrapped * ||||+-------------------+|||| in SmartGWT layout * |||+---------------------+||| * ||+-----------------------+|| * ||+- DynamicForm ---------+|| SmartGWT form, check * ||| form fields ||| <-- to enable variable edition * ||+-----------------------+|| * || +- IButton --+|| <-- submit button * || +------------+|| * |+-------------------------+| * +---------------------------+ * </pre> * * If the <code>Edit variables</code> checkbox is checked, * the {@link UploadServlet} called by the GWT form will return the content * of the job descriptor, and we will create a new form to edit the * variables so that we may submit the job to a second servlet, {@link SubmitEditServlet}. * If the {@link SubmitEditServlet} submission fails, we get back in the same state * as before the first click to Submit * * */ private void build() { /* mixing GWT's native FormPanel with SmartGWT containers, * because SmartGWT's form somehow sucks when not using the datasource stuff * as a result the layout is a bit messy */ // root page of the window final VLayout layout = new VLayout(); layout.setMargin(10); layout.setWidth100(); layout.setHeight100(); // buttons final HLayout buttons = new HLayout(); buttons.setMembersMargin(5); buttons.setHeight(20); buttons.setWidth100(); buttons.setAlign(Alignment.RIGHT); final IButton uploadButton = new IButton("Submit"); uploadButton.setIcon(Images.instance.ok_16().getSafeUri().asString()); final IButton cancelButton = new IButton("Cancel"); cancelButton.setIcon(Images.instance.cancel_16().getSafeUri().asString()); cancelButton.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { SubmitWindow.this.window.hide(); SubmitWindow.this.destroy(); } }); buttons.setMembers(uploadButton, cancelButton); // holds the form fields VerticalPanel formContent = new VerticalPanel(); Hidden hiddenField = new Hidden(); hiddenField.setName("sessionId"); hiddenField.setValue(LoginModel.getInstance().getSessionId()); formContent.add(hiddenField); final FileUpload fileUpload = new FileUpload(); fileUpload.setName("job"); final Hidden editField = new Hidden("edit"); editField.setValue("0"); formContent.add(fileUpload); formContent.add(editField); // actual form final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); formPanel.setAction(GWT.getModuleBaseURL() + "uploader"); formPanel.add(formContent); formPanel.setWidth("350px"); formPanel.setHeight("30px"); // wraps the GWT component so that we may show/hide it final HLayout formWrapper = new HLayout(); formWrapper.setAlign(Alignment.CENTER); formWrapper.setHeight(30); formWrapper.addChild(formPanel); // error messages when applicable final Label label = new Label("Submit an XML Job Descriptor:"); label.setHeight(30); label.setWidth100(); // shown during submission final Label waitLabel = new Label("Please wait..."); waitLabel.setHeight(30); waitLabel.setIcon("loading.gif"); waitLabel.setWidth100(); waitLabel.setAlign(Alignment.CENTER); final CheckboxItem edit = new CheckboxItem("edit", "Edit variables definitions"); final DynamicForm editForm = new DynamicForm(); editForm.setHeight100(); editForm.setColWidths(20, "*"); editForm.setFields(edit); layout.addMember(label); layout.addMember(formWrapper); layout.addMember(editForm); layout.addMember(buttons); this.window = new Window(); this.window.setTitle("Submit Job"); this.window.setShowMinimizeButton(false); this.window.setIsModal(true); this.window.setShowModalMask(true); this.window.addItem(layout); this.window.setWidth(420); this.window.setHeight(180); this.window.centerInPage(); this.window.setCanDragResize(true); // click the upload button : // hide the form, show a 'please wait' label, // wait for the form's callback uploadButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() { public void onClick(ClickEvent e) { editField.setValue(edit.getValueAsBoolean() ? "1" : "0"); formPanel.submit(); layout.removeMember(label); layout.removeMember(formWrapper); layout.removeMember(editForm); layout.removeMember(buttons); layout.addMember(waitLabel); } }); // form callback : silently close the window if no error, // else display message and allow new submission formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String fn = fileUpload.getFilename(); // chrome workaround final String fileName = fn.replace("C:\\fakepath\\", ""); String res = event.getResults(); boolean isError = false; try { JSONValue js = JSONParser.parseStrict(res); JSONObject obj = js.isObject(); /* * submission with no edition successful, result is the job id */ if (obj.get("id") != null && obj.get("id").isNumber() != null) { int id = (int) obj.get("id").isNumber().doubleValue(); SubmitWindow.this.destroy(); LogModel.getInstance().logMessage("Successfully submitted job " + fileName + ": " + id); controller.getExecutionController().getJobsController().addSubmittingJob(id, fileName); } /* * submission with edition: */ else if (obj.get("jobEdit") != null && obj.get("jobEdit").isString() != null) { String val = obj.get("jobEdit").isString().stringValue(); String job = new String( org.ow2.proactive_grid_cloud_portal.common.shared.Base64Utils.fromBase64(val)); final Map<String, String> variables = readVars(job); // presentation form final DynamicForm varForm = new DynamicForm(); final FormItem[] fields = new FormItem[variables.size()]; final Hidden[] _fields = new Hidden[variables.size()]; int i = 0; final VerticalPanel hiddenPane = new VerticalPanel(); for (Entry<String, String> var : variables.entrySet()) { TextItem t = new TextItem(var.getKey(), var.getKey()); t.setValue(var.getValue()); t.setWidth(240); _fields[i] = new Hidden("var_" + var.getKey()); hiddenPane.add(_fields[i]); fields[i] = t; i++; } varForm.setFields(fields); varForm.setWidth100(); varForm.setHeight100(); // actual form used to POST final FormPanel fpanel = new FormPanel(); fpanel.setMethod(FormPanel.METHOD_POST); fpanel.setAction(GWT.getModuleBaseURL() + "submitedit"); hiddenPane.add(new Hidden("job", job)); hiddenPane.add(new Hidden("sessionId", LoginModel.getInstance().getSessionId())); fpanel.setWidget(hiddenPane); final Layout fpanelWrapper = new Layout(); fpanelWrapper.addMember(fpanel); label.setContents( "Edit the variable definitions for job <strong>" + fileName + "</strong>"); final HLayout buttons2 = new HLayout(); buttons2.setWidth100(); buttons2.setHeight(20); buttons2.setAlign(Alignment.RIGHT); buttons2.setMembersMargin(5); final IButton reset = new IButton("Reset"); reset.setIcon(Images.instance.clear_16().getSafeUri().asString()); reset.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { for (FormItem it : fields) { String key = it.getName(); String val = variables.get(key); it.setValue(val); } } }); final IButton submit2 = new IButton("Submit"); submit2.setIcon(Images.instance.ok_16().getSafeUri().asString()); submit2.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { for (int i = 0; i < fields.length; i++) { String val = ""; if (fields[i].getValue() != null) { val = fields[i].getValue().toString(); } _fields[i].setValue(val); } fpanel.submit(); layout.removeMember(label); layout.removeMember(varForm); layout.removeMember(buttons2); layout.removeMember(fpanelWrapper); layout.addMember(waitLabel); layout.reflow(); } }); final IButton cancel2 = new IButton("Cancel"); cancel2.setIcon(Images.instance.cancel_16().getSafeUri().asString()); cancel2.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { SubmitWindow.this.window.hide(); SubmitWindow.this.destroy(); } }); buttons2.setMembers(reset, submit2, cancel2); fpanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String res = event.getResults(); boolean failure = false; try { JSONValue val = controller.parseJSON(res); if (val.isObject() != null && val.isObject().containsKey("id")) { int id = (int) val.isObject().get("id").isNumber().doubleValue(); SubmitWindow.this.destroy(); LogModel.getInstance() .logMessage("Successfully submitted job " + fileName + ": " + id); controller.getExecutionController().getJobsController().addSubmittingJob(id, fileName); } else { failure = true; } } catch (JSONException e) { failure = true; } if (failure) { String msg = JSONUtils.getJsonErrorMessage(res); layout.removeMember(waitLabel); label.setContents( "<span style='color:red; font-weight:bold'>Job submission failed:</span><br>" + "<span style=''>" + msg + "</span>"); layout.addMember(label); layout.addMember(formWrapper); layout.addMember(editForm); layout.addMember(buttons); layout.reflow(); LogModel.getInstance().logImportantMessage("Failed to submit job: " + msg); } } }); layout.removeMember(waitLabel); layout.addMember(label); layout.addMember(varForm); layout.addMember(fpanelWrapper); layout.addMember(buttons2); layout.setMargin(10); layout.reflow(); } else { isError = true; } } catch (JSONException t) { isError = true; } /* * submission failure */ if (isError) { String msg = JSONUtils.getJsonErrorMessage(res); layout.removeMember(waitLabel); label.setContents("<span style='color:red; font-weight:bold'>Job submission failed:</span><br>" + "<span style=''>" + msg + "</span>"); layout.addMember(label); layout.addMember(formWrapper); layout.addMember(editForm); layout.addMember(buttons); layout.reflow(); LogModel.getInstance().logImportantMessage("Failed to submit job: " + msg); } } }); }
From source file:org.pentaho.mantle.client.commands.ExecuteUrlInNewTabCommand.java
License:Open Source License
protected void performOperation() { MantleTabPanel contentTabPanel = SolutionBrowserPanel.getInstance().getContentTabPanel(); contentTabPanel.showNewURLTab(this.tabName, this.tabToolTip, "about:blank", false); //$NON-NLS-1$ NamedFrame namedFrame = ((IFrameTabPanel) contentTabPanel.getSelectedTab().getContent()).getFrame(); final FormPanel form = new FormPanel(namedFrame); RootPanel.get().add(form);/*www . ja v a 2 s .com*/ form.setMethod(FormPanel.METHOD_POST); form.setAction(url); form.add(new Hidden("reportXml", URL.encode(xml))); //$NON-NLS-1$ form.submit(); ((IFrameTabPanel) contentTabPanel.getSelectedTab().getContent()).setForm(form); }
From source file:org.pentaho.mantle.client.commands.ExecuteWAQRPreviewCommand.java
License:Open Source License
protected void performOperation() { MantleTabPanel contentTabPanel = SolutionBrowserPerspective.getInstance().getContentTabPanel(); contentTabPanel.showNewURLTab(Messages.getString("preview"), Messages.getString("adhocPreview"), //$NON-NLS-1$//$NON-NLS-2$ "about:blank", false); //$NON-NLS-1$ NamedFrame namedFrame = ((IFrameTabPanel) contentTabPanel.getSelectedTab().getContent()).getFrame(); final FormPanel form = new FormPanel(namedFrame); RootPanel.get().add(form);/*www. j a v a 2s . c om*/ form.setMethod(FormPanel.METHOD_POST); form.setAction(url); form.add(new Hidden("reportXml", URL.encode(xml))); //$NON-NLS-1$ form.submit(); ((IFrameTabPanel) contentTabPanel.getSelectedTab().getContent()).setForm(form); }
From source file:org.pentaho.pat.client.ui.panels.PropertiesPanel.java
License:Open Source License
/** * PropertiesPanel Constructor./*from w w w .j a va 2 s.c o m*/ * * @param dPanel * */ public PropertiesPanel(final DataPanel dPanel, PanelUtil.PanelType pType) { super(); this.dataPanel = dPanel; this.queryId = Pat.getCurrQuery(); EventFactory.getQueryInstance().addQueryListener(this); final LayoutPanel rootPanel = getLayoutPanel(); final ScrollLayoutPanel mainPanel = new ScrollLayoutPanel(); mainPanel.addStyleName("pat-propertiesPanel"); //$NON-NLS-1$ mainPanel.setLayout(new BoxLayout(Orientation.HORIZONTAL)); final FormPanel formPanel = new FormPanel(); formPanel.setAction(FORM_ACTION); formPanel.setMethod(FORM_METHOD); //formPanel.setEncoding(FORM_ENCODING); Hidden curQuery = new Hidden(FORM_NAME_QUERY); curQuery.setName(FORM_NAME_QUERY); curQuery.setValue(queryId); formPanel.add(curQuery); executeButton = new Button(Pat.IMAGES.execute_no_ds().getHTML()); executeButton.setTitle(Pat.CONSTANTS.executeQuery()); executeButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { if (executemode == false) { Pat.executeQuery(PropertiesPanel.this, queryId); setExecuteButton(true); dPanel.swapWindows(); } else { setExecuteButton(false); dPanel.swapWindows(); } } }); exportButton = new ToolButton(Pat.CONSTANTS.export()); exportButton.setTitle(Pat.CONSTANTS.export()); exportButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { formPanel.submit(); } }); exportButton.setEnabled(false); exportCdaButton = new ToolButton("CDA"); exportCdaButton.setTitle(Pat.CONSTANTS.export() + " as CDA"); exportCdaButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { SaveWindow.displayCDA(); } }); exportCdaButton.setEnabled(false); mdxButton = new ToolButton(Pat.CONSTANTS.mdx()); mdxButton.setTitle(Pat.CONSTANTS.showMDX()); mdxButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { ServiceFactory.getQueryInstance().getMdxForQuery(Pat.getSessionID(), queryId, new AsyncCallback<String>() { public void onFailure(final Throwable arg0) { MessageBox.error(Pat.CONSTANTS.error(), arg0.getLocalizedMessage()); } public void onSuccess(final String mdx) { final WindowPanel winPanel = new WindowPanel(Pat.CONSTANTS.mdx()); final LayoutPanel wpLayoutPanel = new LayoutPanel( new BoxLayout(Orientation.VERTICAL)); wpLayoutPanel.setSize("450px", "200px"); //$NON-NLS-1$ //$NON-NLS-2$ final MDXRichTextArea mdxArea = new MDXRichTextArea(); mdxArea.setText(mdx); wpLayoutPanel.add(mdxArea, new BoxLayoutData(1, 0.9)); final ToolButton closeBtn = new ToolButton(Pat.CONSTANTS.close()); closeBtn.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { winPanel.hide(); } }); final ToolButton mdxBtn = new ToolButton(Pat.CONSTANTS.newMdxQuery()); mdxBtn.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { final Widget widget = MainTabPanel.getSelectedWidget(); if (widget instanceof OlapPanel) { ((OlapPanel) widget).getCubeItem(); final MdxPanel mdxpanel = new MdxPanel( ((OlapPanel) widget).getCubeItem(), Pat.getCurrConnection(), mdxArea.getText(), null); MainTabPanel.displayContentWidget(mdxpanel); } winPanel.hide(); } }); final LayoutPanel wpButtonPanel = new LayoutPanel( new BoxLayout(Orientation.HORIZONTAL)); wpButtonPanel.add(mdxBtn); wpButtonPanel.add(closeBtn); wpLayoutPanel.add(wpButtonPanel); wpLayoutPanel.layout(); winPanel.add(wpLayoutPanel); winPanel.layout(); winPanel.pack(); winPanel.setSize("500px", "320px"); //$NON-NLS-1$ //$NON-NLS-2$ winPanel.center(); } }); } }); hideBlanksButton = new ToolButton(Pat.IMAGES.zero().getHTML()); hideBlanksButton.setTitle(Pat.CONSTANTS.showBlankCells()); hideBlanksButton.setStyle(ToolButtonStyle.CHECKBOX); hideBlanksButton.setChecked(true); hideBlanksButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { EventFactory.getQueryInstance().getQueryListeners().fireQueryStartsExecution(PropertiesPanel.this, queryId); ServiceFactory.getQueryInstance().setNonEmpty(Pat.getSessionID(), queryId, hideBlanksButton.isChecked(), new AsyncCallback<CellDataSet>() { public void onFailure(final Throwable arg0) { EventFactory.getQueryInstance().getQueryListeners() .fireQueryFailedExecution(PropertiesPanel.this, queryId); MessageBox.error(Pat.CONSTANTS.error(), MessageFactory.getInstance().failedNonEmpty()); } public void onSuccess(final CellDataSet arg0) { if (hideBlanksButton.isChecked()) { hideBlanksButton.setTitle(Pat.CONSTANTS.showBlankCells()); } else { hideBlanksButton.setTitle(Pat.CONSTANTS.hideBlankCells()); } EventFactory.getQueryInstance().getQueryListeners() .fireQueryExecuted(PropertiesPanel.this, queryId, arg0); } }); } }); hideBlanksButton.setEnabled(false); final ToolButton createScenarioButton = new ToolButton("Create Scenario"); createScenarioButton.setStyle(ToolButtonStyle.CHECKBOX); createScenarioButton.setEnabled(false); createScenarioButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { ServiceFactory.getQueryInstance().alterCell(queryId, Pat.getSessionID(), Pat.getCurrScenario(), Pat.getCurrConnectionId(), "123", new AsyncCallback<CellDataSet>() { public void onFailure(Throwable arg0) { // TODO Auto-generated method stub } public void onSuccess(CellDataSet arg0) { Pat.executeQuery(PropertiesPanel.this, queryId); } }); /*ServiceFactory.getSessionInstance().createNewScenario(Pat.getSessionID(), Pat.getCurrConnection(), new AsyncCallback<String>(){ public void onFailure(final Throwable arg0){ MessageBox.error(Pat.CONSTANTS.error(), "Failed to set scenario"); } public void onSuccess(String scenario){ createScenarioButton.setText(scenario); Pat.setCurrScenario(scenario); } });*/ } }); pivotButton = new ToolButton(Pat.CONSTANTS.pivot()); pivotButton.setTitle(Pat.CONSTANTS.pivot()); pivotButton.setStyle(ToolButtonStyle.CHECKBOX); pivotButton.addClickHandler(new ClickHandler() { public void onClick(final ClickEvent arg0) { EventFactory.getQueryInstance().getQueryListeners().fireQueryStartsExecution(PropertiesPanel.this, queryId); ServiceFactory.getQueryInstance().swapAxis(Pat.getSessionID(), queryId, new AsyncCallback<CellDataSet>() { public void onFailure(final Throwable arg0) { EventFactory.getQueryInstance().getQueryListeners() .fireQueryFailedExecution(PropertiesPanel.this, queryId); MessageBox.error(Pat.CONSTANTS.error(), MessageFactory.getInstance().failedPivot(arg0.getLocalizedMessage())); } public void onSuccess(final CellDataSet arg0) { EventFactory.getQueryInstance().getQueryListeners() .fireQueryExecuted(PropertiesPanel.this, queryId, arg0); } }); } }); pivotButton.setEnabled(false); layoutMenuButton = new ToolButton(Pat.IMAGES.chart_pie().getHTML()); layoutMenuButton.setTitle(Pat.CONSTANTS.chart()); layoutMenuButton.setStyle(ToolButtonStyle.MENU); layoutMenuButton.setEnabled(false); final PopupMenu layoutMenuBtnMenu = new PopupMenu(); layoutMenuBtnMenu.addItem(Pat.CONSTANTS.grid(), new LayoutCommand(null)); layoutMenuBtnMenu.addItem(Pat.CONSTANTS.chart(), new LayoutCommand(Region.CENTER)); layoutMenuBtnMenu.addItem(Pat.CONSTANTS.top(), new LayoutCommand(Region.NORTH)); layoutMenuBtnMenu.addItem(Pat.CONSTANTS.bottom(), new LayoutCommand(Region.SOUTH)); layoutMenuBtnMenu.addItem(Pat.CONSTANTS.left(), new LayoutCommand(Region.WEST)); layoutMenuBtnMenu.addItem(Pat.CONSTANTS.right(), new LayoutCommand(Region.EAST)); layoutMenuButton.setMenu(layoutMenuBtnMenu); drillPositionButton = new ToolButton( ButtonHelper.createButtonLabel(Pat.IMAGES.drill(), "", ButtonLabelType.NO_TEXT)); drillPositionButton.setTitle(Pat.CONSTANTS.drillPosition()); drillPositionButton.setStyle(ToolButtonStyle.RADIO); drillPositionButton.setEnabled(false); drillPositionButton.setChecked(true); drillPositionButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent arg0) { drillReplaceButton.setChecked(false); drillUpButton.setChecked(false); drillNoneButton.setChecked(false); drillPositionButton.setChecked(true); (new DrillCommand(DrillType.POSITION)).execute(); EventFactory.getOperationInstance().getOperationListeners() .fireDrillStyleChanged(PropertiesPanel.this, queryId, DrillType.POSITION); } }); drillReplaceButton = new ToolButton( ButtonHelper.createButtonLabel(Pat.IMAGES.arrow_down(), "", ButtonLabelType.NO_TEXT)); drillReplaceButton.setTitle(Pat.CONSTANTS.drillReplace()); drillReplaceButton.setStyle(ToolButtonStyle.RADIO); drillReplaceButton.setEnabled(false); drillReplaceButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent arg0) { drillPositionButton.setChecked(false); drillUpButton.setChecked(false); drillNoneButton.setChecked(false); drillReplaceButton.setChecked(true); (new DrillCommand(DrillType.REPLACE)).execute(); EventFactory.getOperationInstance().getOperationListeners() .fireDrillStyleChanged(PropertiesPanel.this, queryId, DrillType.REPLACE); } }); drillUpButton = new ToolButton( ButtonHelper.createButtonLabel(Pat.IMAGES.arrow_up(), "", ButtonLabelType.NO_TEXT)); drillUpButton.setTitle(Pat.CONSTANTS.drillUp()); drillUpButton.setStyle(ToolButtonStyle.RADIO); drillUpButton.setEnabled(false); drillUpButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent arg0) { drillPositionButton.setChecked(false); drillReplaceButton.setChecked(false); drillNoneButton.setChecked(false); drillUpButton.setChecked(true); (new DrillCommand(DrillType.UP)).execute(); EventFactory.getOperationInstance().getOperationListeners() .fireDrillStyleChanged(PropertiesPanel.this, queryId, DrillType.UP); } }); drillNoneButton = new ToolButton(Pat.CONSTANTS.drillNone()); drillNoneButton.setStyle(ToolButtonStyle.RADIO); drillNoneButton.setEnabled(false); drillNoneButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent arg0) { drillPositionButton.setChecked(false); drillReplaceButton.setChecked(false); drillUpButton.setChecked(false); drillNoneButton.setChecked(true); (new DrillCommand(DrillType.NONE)).execute(); EventFactory.getOperationInstance().getOperationListeners() .fireDrillStyleChanged(PropertiesPanel.this, queryId, DrillType.NONE); } }); drillThroughButton = new ToolButton(Pat.CONSTANTS.drillThrough()); drillThroughButton.setTitle(Pat.CONSTANTS.drillThrough()); drillThroughButton.setEnabled(false); drillThroughButton.setStyle(ToolButtonStyle.CHECKBOX); drillThroughButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent arg0) { if (drillThroughButton.isChecked()) { EventFactory.getOperationInstance().getOperationListeners() .fireOperationExecuted(PropertiesPanel.this, queryId, Operation.ENABLE_DRILLTHROUGH); } else { EventFactory.getOperationInstance().getOperationListeners() .fireOperationExecuted(PropertiesPanel.this, queryId, Operation.DISABLE_DRILLTHROUGH); } } }); ToolButton syncButton = new ToolButton(Pat.IMAGES.arrow_refresh().getHTML()); syncButton.setTitle("Refresh Query"); syncButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent arg0) { ServiceFactory.getQueryInstance().getSelections(Pat.getSessionID(), queryId, new AsyncCallback<Map<IAxis, PatQueryAxis>>() { public void onFailure(Throwable arg0) { MessageBox.alert("ERROR", "ERROR"); } public void onSuccess(Map<IAxis, PatQueryAxis> arg0) { Integer rows = arg0.get(IAxis.ROWS) != null ? arg0.get(IAxis.ROWS).getDimensions().size() : 0; Integer cols = arg0.get(IAxis.COLUMNS) != null ? arg0.get(IAxis.COLUMNS).getDimensions().size() : 0; Integer filter = arg0.get(IAxis.FILTER) != null ? arg0.get(IAxis.FILTER).getDimensions().size() : 0; MessageBox.alert("OK", "rows: " + rows + " cols:" + cols + " filter:" + filter); } }); } }); if (pType == PanelUtil.PanelType.MDX) { mainPanel.add(exportButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(layoutMenuButton, new BoxLayoutData(FillStyle.HORIZONTAL)); } if (pType == PanelUtil.PanelType.QM) { mainPanel.add(executeButton, new BoxLayoutData(FillStyle.HORIZONTAL)); // TODO enable sync button when implemented routines // mainPanel.add(syncButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(exportButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(layoutMenuButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(drillPositionButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(drillReplaceButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(drillUpButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(drillNoneButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(mdxButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(hideBlanksButton, new BoxLayoutData(FillStyle.HORIZONTAL)); mainPanel.add(pivotButton, new BoxLayoutData(FillStyle.HORIZONTAL)); // mainPanel.add(drillThroughButton, new BoxLayoutData(FillStyle.HORIZONTAL)); // mainPanel.add(createScenarioButton, new BoxLayoutData(FillStyle.HORIZONTAL)); } if (Pat.isPlugin()) { mainPanel.add(exportCdaButton, new BoxLayoutData(FillStyle.HORIZONTAL)); } mainPanel.add(formPanel, new BoxLayoutData(FillStyle.HORIZONTAL)); rootPanel.add(mainPanel); }