List of usage examples for com.google.gwt.user.client.ui FormPanel addSubmitCompleteHandler
public HandlerRegistration addSubmitCompleteHandler(SubmitCompleteHandler handler)
From source file:com.edgenius.wiki.gwt.client.space.SpaceLogoForm.java
License:Open Source License
public SpaceLogoForm() { final FormPanel form = new FormPanel(); form.setAction(GwtClientUtils.getBaseUrl() + "space/logo.do"); form.setMethod(FormPanel.METHOD_POST); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.addSubmitHandler(this); form.addSubmitCompleteHandler(this); VerticalPanel panel = new VerticalPanel(); panel.add(message);/*ww w.jav a 2 s . c o m*/ panel.add(spaceUname); HorizontalPanel h1 = new HorizontalPanel(); Label uploadLabel = new Label(Msg.consts.logo()); uploadLabel.setStyleName(Css.FORM_LABEL); FileUpload upload = new FileUpload(); upload.setName("file"); h1.add(uploadLabel); h1.add(upload); panel.add(h1); form.setWidget(panel); // Button update = new Button(Msg.consts.update()); update.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { form.submit(); } }); Button cancel = new Button(Msg.consts.cancel()); cancel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { //return to link panel for (Iterator<SpaceUpdateListener> iter = listener.iterator(); iter.hasNext();) { iter.next().spaceUpdateCancelled(); } } }); ButtonBar btnBar = new ButtonBar(); btnBar.add(update); btnBar.add(cancel); VerticalPanel main = new VerticalPanel(); main.add(form); main.add(btnBar); setWidget(main); }
From source file:com.eduworks.russel.ui.client.pagebuilder.screen.EditScreen.java
License:Apache License
/** * buildEmptyUploadTile0 Initiates a tile in the EditScreen to represent a file that is uploading * @param idPrefix String id assigned to the new tile *///from www .j av a2 s . co m private void buildEmptyUploadTile0(final String idPrefix) { final FormPanel formPanel = (FormPanel) PageAssembler.elementToWidget("addFileForm", PageAssembler.FORM); final FileUpload fileUpload = (FileUpload) PageAssembler.elementToWidget("addFileData", PageAssembler.FILE); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setAction(RusselApi.getESBActionURL("addResource") + "?inline=true"); FileHandler.pendingFileUploads++; final StatusRecord status = StatusHandler.createMessage(StatusHandler.getFileMessageBusy(""), StatusRecord.ALERT_BUSY); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { @Override public void onSubmitComplete(SubmitCompleteEvent event) { ESBPacket node = new ESBPacket(event.getResults()); RUSSELFileRecord fr = new RUSSELFileRecord(); fr.setGuid(node.getPayloadString()); String filename = fileUpload.getFilename(); final String justFileName = filename.substring(filename.lastIndexOf("\\") + 1); fr.setFilename(justFileName); if (DOM.getElementById(idPrefix + "-objectDescription") != null) { RootPanel.get(idPrefix + "-objectDescription").getElement().setInnerText(""); fillTemplateDetails0(fr, idPrefix); DOM.getElementById(idPrefix + "-objectDetailButton").removeAttribute("hidden"); } FileHandler.pendingFileUploads--; status.setState(StatusRecord.ALERT_SUCCESS); status.setMessage(StatusHandler.getFileMessageDone(justFileName)); StatusHandler.alterMessage(status); // if (justFileName.substring(justFileName.lastIndexOf(".")+1).equalsIgnoreCase("rpf")) // ProjectRecord.updatePfmNodeId(fr); thumbIDs.put(idPrefix + "-object", fr); //checkIEAndPromptServerDisaggregation0(fr); refreshInformation0(); } }); formPanel.addSubmitHandler(new SubmitHandler() { @Override public void onSubmit(SubmitEvent event) { String fn = fileUpload.getFilename(); String justFileName = fn.substring(fn.lastIndexOf("\\") + 1); PageAssembler.attachHandler(idPrefix + "-objectDetail", Event.ONCLICK, new EventCallback() { @Override public void onEvent(Event event) { toggleSelection0(idPrefix + "-object"); } }); if (fn == "") { status.setState(StatusRecord.ALERT_WARNING); status.setMessage(StatusHandler.INVALID_FILENAME); StatusHandler.alterMessage(status); fileUpload.setName("data"); DOM.getElementById(idPrefix + "-object").removeFromParent(); FileHandler.pendingFileUploads--; event.cancel(); } else { DOM.getElementById(idPrefix + "-objectDetailButton").setAttribute("hidden", "hidden"); status.setMessage(StatusHandler.getFileMessageBusy(justFileName)); StatusHandler.alterMessage(status); DOM.getElementById("addFileData").setAttribute("name", justFileName); DOM.getElementById("session").setAttribute("value", "{ \"sessionid\":\"" + RusselApi.sessionId + "\" }"); if (justFileName.indexOf(".") != -1 && justFileName.substring(justFileName.lastIndexOf(".") + 1) .toLowerCase().equals("zip")) { if (!Browser.isBadIE()) { File file = BlobUtils.getFile("addFileData"); String filename = file.getName(); if (filename.substring(filename.lastIndexOf(".") + 1).equalsIgnoreCase("zip") && Window .confirm("Do you wish to disaggregate the zip " + filename + " package?")) { Zip.grabEntries(file, new AsyncCallback<Vector<ZipRecord>>() { @Override public void onFailure(Throwable caught) { } @Override public void onSuccess(Vector<ZipRecord> zipRecords) { for (int x = 0; x < zipRecords.size(); x++) { FileHandler.pendingZipUploads.add(zipRecords.get(x)); } doPendingUploads0(); } }); } } } RootPanel.get(idPrefix + "-objectDescription").add(new Image("images/orbit/loading.gif")); DOM.getElementById(idPrefix + "-objectTitle").setInnerText(justFileName); DOM.getElementById(idPrefix + "-objectDescription").setAttribute("style", "text-align:center"); } } }); formPanel.submit(); refreshInformation0(); }
From source file:com.google.gwt.examples.FormPanelExample.java
License:Apache License
public void onModuleLoad() { // Create a FormPanel and point it at a service. final FormPanel form = new FormPanel(); form.setAction("/myFormHandler"); // Because we're going to add a FileUpload widget, we'll need to set the // form to use the POST method, and multipart MIME encoding. form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); // Create a panel to hold all of the form widgets. VerticalPanel panel = new VerticalPanel(); form.setWidget(panel);/*from w w w .j a v a 2 s . co m*/ // Create a TextBox, giving it a name so that it will be submitted. final TextBox tb = new TextBox(); tb.setName("textBoxFormElement"); panel.add(tb); // Create a ListBox, giving it a name and some values to be associated with // its options. ListBox lb = new ListBox(); lb.setName("listBoxFormElement"); lb.addItem("foo", "fooValue"); lb.addItem("bar", "barValue"); lb.addItem("baz", "bazValue"); panel.add(lb); // Create a FileUpload widget. FileUpload upload = new FileUpload(); upload.setName("uploadFormElement"); panel.add(upload); // Add a 'submit' button. panel.add(new Button("Submit", new ClickHandler() { public void onClick(ClickEvent event) { form.submit(); } })); // Add an event handler to the form. form.addSubmitHandler(new FormPanel.SubmitHandler() { public void onSubmit(SubmitEvent event) { // This event is fired just before the form is submitted. We can take // this opportunity to perform validation. if (tb.getText().length() == 0) { Window.alert("The text box must not be empty"); event.cancel(); } } }); form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { // When the form submission is successfully completed, this event is // fired. Assuming the service returned a response of type text/html, // we can get the result text here (see the FormPanel documentation for // further explanation). Window.alert(event.getResults()); } }); RootPanel.get().add(form); }
From source file:com.ponysdk.core.terminal.ui.PTFileUpload.java
License:Apache License
@Override protected FormPanel createUIObject() { fileUpload = new FileUpload(); fileUploadId = DOM.createUniqueId(); fileUpload.getElement().setPropertyString("id", fileUploadId); fileUpload.setName("file"); final FormPanel formPanel = new FormPanel(); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); container = new FlowPanel(); container.add(fileUpload);//from ww w . ja va2 s . c om formPanel.setWidget(container); formPanel.addSubmitCompleteHandler(event -> { final PTInstruction instruction = new PTInstruction(objectID); instruction.put(ClientToServerModel.HANDLER_SUBMIT_COMPLETE); uiBuilder.sendDataToServer(uiObject, instruction); }); return formPanel; }
From source file:com.qualogy.qafe.gwt.client.component.QPagingScrollTableOperation.java
License:Apache License
/** * Constructor.//from w w w.j a va2 s .c o m * * @param table * the table being affected * @param images * the images to use */ // CHECKSTYLE.OFF: CyclomaticComplexity public QPagingScrollTableOperation(final QPagingScrollTable table, ScrollTableOperationImages images) { this.table = table; if (this.table instanceof QPagingScrollTable) { ((QPagingScrollTable) this.table).setScrollTableOperations(this); } // Create the main widget HorizontalPanel hPanel = new HorizontalPanel(); initWidget(hPanel); hPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE); setStyleName(DEFAULT_STYLENAME); // Create the paging image buttons createPageButtons(images); // Create the error label errorLabel = new HTML(); errorLabel.setStylePrimaryName("errorMessage"); // Add the widgets to the panel hPanel.add(createSpacer()); if (hasAddControl(table)) { hPanel.add(addImage); hPanel.add(createSpacer()); } if (hasDeleteControl(table)) { hPanel.add(deleteImage); hPanel.add(createSpacer()); } if (isEditableDatagrid(table) || hasDeleteControl(table) || hasAddControl(table)) { if (saveDatagrid(table)) { hPanel.add(saveImage); hPanel.add(createSpacer()); } if (refreshDatagrid(table)) { hPanel.add(refreshImage); hPanel.add(createSpacer()); } if (cancelDatagrid(table)) { hPanel.add(cancelImage); hPanel.add(createSpacer()); } } hPanel.add(errorLabel); if (table.getSource().getImportEnabled() != null && table.getSource().getImportEnabled().booleanValue()) { final DisclosurePanel importPanel = new DisclosurePanel("Upload data"); hPanel.add(importPanel); final FormPanel formPanel = new FormPanel(); formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.datagridupload"); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); FileUpload fileUploadComponent = new FileUpload(); fileUploadComponent.setName("uploadElement"); Button uploadButtonComponent = new Button("Upload"); uploadButtonComponent.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { formPanel.submit(); } }); CheckBox isFirstLineHeader = new CheckBox("Is first row header ?"); isFirstLineHeader.setName("isFirstLineHeader"); isFirstLineHeader.setTitle( "Check wheter or not the first line of the uploaded file is a header/column definition"); HorizontalPanel hp = new HorizontalPanel(); Label label = new Label("Delimeter"); final TextBox delimiter = new TextBox(); delimiter.setValue(","); delimiter.setTitle("Insert the delimeter (can be any value, as long it's length 1)"); delimiter.setName("delimiter"); delimiter.setWidth("15px"); hp.setSpacing(10); hp.add(label); hp.add(delimiter); Grid gridPanel = new Grid(2, 4); gridPanel.setWidget(0, 0, fileUploadComponent); gridPanel.setWidget(0, 1, uploadButtonComponent); gridPanel.setWidget(1, 0, isFirstLineHeader); gridPanel.setWidget(1, 1, hp); formPanel.add(gridPanel); formPanel.addSubmitHandler(new FormPanel.SubmitHandler() { public void onSubmit(SubmitEvent event) { // This event is fired just before the form is submitted. We can // take // this opportunity to perform validation. if (delimiter.getText().length() == 0 || delimiter.getText().length() > 1) { ClientApplicationContext.getInstance().log("Ooops...Delimeter invalid", "Make sure there is valid delimeter value.One character only (current value ='" + delimiter.getText() + "'", true); event.cancel(); } } }); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String uuId = event.getResults(); if (uuId != null && uuId.indexOf("=") > 0) { uuId = uuId.substring(uuId.indexOf("=") + 1); processData(uuId); importPanel.setOpen(false); } else { ClientApplicationContext.getInstance().log("Upload failed", event.getResults(), true); } } }); importPanel.add(formPanel); } if (table.getSource() != null && table.getSource().getExport() != null && table.getSource().getExport().booleanValue()) { createExportLabelsAndImages(); final DisclosurePanel exportPanel = new DisclosurePanel("Export"); String[] labels = getExportLabels(table.getSource().getExportFormats()); Image[] exportImages = getExportImages(labels); FlexTable gridExportPanel = new FlexTable(); hPanel.add(exportPanel); exportPanel.add(gridExportPanel); final Frame frame = new Frame(); frame.setHeight("0"); frame.setWidth("0"); frame.setVisible(false); final String moduleRelativeURL = GWT.getModuleBaseURL() + "/rpc.export"; gridExportPanel.setWidget(0, 0, frame); final CheckBox generateColumnHeaderBox = new CheckBox("Generate Column Header"); gridExportPanel.getFlexCellFormatter().setColSpan(1, 1, 7); gridExportPanel.setWidget(2, 1, generateColumnHeaderBox); gridExportPanel.getFlexCellFormatter().setColSpan(2, 1, 6); for (int i = 0; i < labels.length; i++) { exportImages[i].setStylePrimaryName("datagridexportlabel"); exportImages[i].setTitle(labels[i]); gridExportPanel.setWidget(0, i + 1, exportImages[i]); exportImages[i].addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { if (event.getSource() instanceof Image) { Image image = (Image) (event.getSource()); final String exportCode = image.getTitle(); RPCServiceAsync service = MainFactoryActions.createService(); AsyncCallback<?> callback = new AsyncCallback<Object>() { public void onSuccess(Object result) { String uuid = (String) result; // set frame frame.setUrl(moduleRelativeURL + "?uuid=" + uuid); ClientApplicationContext.getInstance().setBusy(false); } public void onFailure(Throwable caught) { ClientApplicationContext.getInstance().log("Export failed", "Export failed for " + exportCode + " ", true, true, caught); ClientApplicationContext.getInstance().setBusy(false); FunctionsExecutor.setProcessedBuiltIn(true); } }; List<DataContainerGVO> dList = new ArrayList<DataContainerGVO>(); // following loop is to maintain the order of rows while exporting. for (int i = 0; i < (table.getAbsoluteLastRowIndex() + 1); i++) { dList.add(table.getRowValue(i)); } service.prepareForExport(dList, exportCode, null, generateColumnHeaderBox.getValue().booleanValue(), callback); } } }); } } }
From source file:com.qualogy.qafe.gwt.client.factory.MainFactory.java
License:Apache License
public static void createTryMeWindow(String subwindow) { final WindowPanel w = new WindowPanel("Try me!"); w.setResizable(true);//w ww. ja va 2 s. c om w.setAnimationEnabled(true); w.setSize("800px", "500px"); VerticalPanel verticalPanel = new VerticalPanel(); final ScrollLayoutPanel vp = new ScrollLayoutPanel(); vp.setAlwaysShowScrollBars(false); vp.setWidth("800px"); vp.setHeight("500px"); w.setWidget(verticalPanel); // vp.setSpacing(5); // vp.setWidth("100%"); final TabPanel tabPanel = new TabPanel(); tabPanel.setAnimationEnabled(true); tabPanel.setWidth("580px"); tabPanel.setHeight("500px"); DockPanel dockPanel = new DockPanel(); dockPanel.setWidth("580px"); dockPanel.setHeight("500px"); tabPanel.add(dockPanel, "Insert code!"); final TextArea textArea = new TextArea(); textArea.setVisibleLines(30); textArea.setHeight("auto"); textArea.setWidth("580px"); DOM.setElementAttribute(textArea.getElement(), "font-size", "10pt"); dockPanel.add(textArea, DockPanel.CENTER); final MenuBar menu = new MenuBar(); MenuBar renderMenu = new MenuBar(true); w.addResizeHandler(new ResizeHandler() { public void onResize(ResizeEvent event) { int height = event.getHeight(); int width = event.getWidth(); if (w.getWidget() != null) { w.setHeight((height) + "px"); w.setWidth((width) + "px"); vp.setHeight((height - 20) + "px"); vp.setWidth((width - 20) + "px"); tabPanel.setHeight((height - 20) + "px"); tabPanel.setWidth((width - 20) + "px"); menu.setWidth((width) + "px"); textArea.setWidth((width - 20) + "px"); } } }); MenuItem gwtMenuItem = new MenuItem("GWT output", new Command() { public void execute() { String xml = textArea.getText(); if (xml == null || xml.length() == 0) { MessageBox.error("Try me:Error", "There is no input"); } else { MainFactoryActions.processUIXml(xml); } } }); MenuItem flexMenuItem = new MenuItem("Flex output", new Command() { public void execute() { String xml = textArea.getText(); if (xml == null || xml.length() == 0) { MessageBox.error("Try me:Error", "There is no input"); } else { MainFactoryActions.processUIXmlFlex(xml); } } }); renderMenu.addItem(gwtMenuItem); renderMenu.addItem(flexMenuItem); MenuBar codeMenu = new MenuBar(true); MenuItem clearXmlInput = new MenuItem("Clear", new Command() { public void execute() { textArea.setText(""); } }); MenuItem createHeaderButton = new MenuItem("Create Header", new Command() { public void execute() { final String headerText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" + "<application-mapping xmlns=\"http://qafe.com/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://qafe.com/schema http://www.qafe.com/schema/2.2/application-mapping.xsd\"> \n" + " <!-- PLEASE ENTER YOUR CODE HERE --> \n" + "</application-mapping> \n"; textArea.setText(headerText); } }); MenuItem createSampleAppButton = new MenuItem("Create Sample Application", new Command() { public void execute() { final String sampleText = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" + "<application-mapping xmlns=\"http://qafe.com/schema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://qafe.com/schema http://www.qafe.com/schema/2.2/application-mapping.xsd\"> \n" + "<presentation-tier>\n" + " <view>\n" + " <window id=\"window1\" displayname=\"Hello World\" width=\"200\" height=\"200\">\n" + " <rootpanel id=\"myRootPanel\"> \n" + " <verticallayout>\n\n" + " <!-- PLEASE ENTER HERE YOUR CODE -->\n\n" + " <label id=\"mylabel\" displayname=\"Hello World\" />\n\n" + " </verticallayout>\n" + " </rootpanel>\n" + " </window>\n" + " </view>\n" + "</presentation-tier>\n" + "</application-mapping> \n"; textArea.setText(sampleText); } }); codeMenu.addItem(clearXmlInput); codeMenu.addItem(createHeaderButton); codeMenu.addItem(createSampleAppButton); menu.addItem("Render", renderMenu); menu.addItem("Code", codeMenu); if (menu != null) { verticalPanel.add(menu); } verticalPanel.add(vp); // w.setWidget(tabPanel); /* * FMB Upload */ final FormPanel fmbForm = new FormPanel(); fmbForm.setAction(GWT.getModuleBaseURL() + "/rpc.fmbupload"); // Because we're going to add a FileUpload widget, we'll need to set the // form to use the POST method, and multipart MIME encoding. fmbForm.setEncoding(FormPanel.ENCODING_MULTIPART); fmbForm.setMethod(FormPanel.METHOD_POST); // Create a panel to hold all of the form widgets. VerticalPanel panelFmbUpload = new VerticalPanel(); panelFmbUpload.setWidth("580px"); panelFmbUpload.setHeight("500px"); // panelFmbUpload.setHeight("100%"); final FileUpload fmbFile = new FileUpload(); final TextBox emailBox = new TextBox(); final TextBox phoneBox = new TextBox(); fmbFile.setName("fmbUploadElement"); // Add an event handler to the form. fmbForm.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { if (event.getResults() != null) { if (event.getResults().startsWith("Conversion failed")) { ClientApplicationContext.getInstance().log("Conversion failed", "The file doesn't seem to be a valid Oracle Forms file. If you still want it to be converted for demo purpose, you can also send it to info@qafe.com", true); } else if (event.getResults().startsWith("UUID")) { String[] split = event.getResults().split("="); if (split.length == 2) { String uuid = split[1]; MainFactoryActions.processUIByUUID(uuid, textArea); MainFactoryActions.notify("FMB uploaded with filename [" + fmbFile.getFilename() + "]", "The message was sent by " + emailBox.getText() + " with optional phonenr: " + phoneBox.getText()); tabPanel.selectTab(0); } } else { // firefox workaround String[] split = event.getResults().split("="); if (split.length == 2) { String uuid = split[1]; uuid = uuid.replaceAll("</pre>", ""); MainFactoryActions.processUIByUUID(uuid, textArea); MainFactoryActions.notify("FMB uploaded with filename [" + fmbFile.getFilename() + "]", "The message was sent by " + emailBox.getText() + " with optional phonenr: " + phoneBox.getText()); tabPanel.selectTab(0); } else { ClientApplicationContext.getInstance().log(event.getResults()); } } } else { ClientApplicationContext.getInstance().log( "The Forms Conversion process could not handle this file. Please check the file.", "Check whether or not this file is an FMB (not an FMX)", true); } } }); FlexTable tempFmbPanel = new FlexTable(); tempFmbPanel.setWidget(0, 1, fmbFile); tempFmbPanel.setWidget(0, 0, new Label("Input for FMB")); tempFmbPanel.setWidget(1, 0, new HTML( "<p>Note: the FMB you are uploading is only for <span style=\"color:red;\">demo</span> purpose.</p>" + "<p>FMB's can have external dependencies like <span style=\"color:red;\">PLL, OLB's, images</span>,etc. Since they are <span style=\"color:red;\">not</span> included in the upload, the output might not appear correct.</p>" + "<p>For a more detailed conversion of your FMB's please contact us at <span style=\"color:red;\">info@qafe.com </span></p> <p/>" + "<p>Please fill in the information below, so that we can contact you for more information</p> ")); tempFmbPanel.getFlexCellFormatter().setColSpan(1, 0, 2); tempFmbPanel.setWidget(2, 0, new Label("E-mail: (required)")); emailBox.setName("fmbEmail"); emailBox.addBlurHandler(new BlurHandler() { public void onBlur(BlurEvent event) { String textValue = ((TextBoxBase) event.getSource()).getText(); if (textValue != null) { if (textValue.replaceFirst(TextFieldGVO.REGEXP_TYPE_EMAIL_VALUE, "").length() > 0) { ClientApplicationContext.getInstance().log("Email validation error", TextFieldGVO.TYPE_EMAIL_DEFAULT_MESSAGE, true); } } } }); tempFmbPanel.setWidget(2, 1, emailBox); tempFmbPanel.setWidget(3, 0, new Label("Phonenr:")); phoneBox.setName("fmbPhone"); phoneBox.addBlurHandler(new BlurHandler() { public void onBlur(BlurEvent event) { } }); tempFmbPanel.setWidget(3, 1, phoneBox); fmbForm.add(tempFmbPanel); panelFmbUpload.add(fmbForm); // Add a 'submit' button. panelFmbUpload.add(new Button("Generate", new ClickHandler() { public void onClick(ClickEvent event) { fmbForm.submit(); } })); // Add an event handler to the form. fmbForm.addSubmitHandler(new FormPanel.SubmitHandler() { public void onSubmit(SubmitEvent event) { // This event is fired just before the form is submitted. We can take // this opportunity to perform validation. if (emailBox.getText().length() == 0) { ClientApplicationContext.getInstance().log("Email validation error", "Please fill in your email address", true); event.cancel(); } else if (fmbFile.getFilename() == null || fmbFile.getFilename().length() == 0) { ClientApplicationContext.getInstance().log("Uploaded file validation error", "There is no file selected. Please select one to continue", true); event.cancel(); } } }); tabPanel.add(panelFmbUpload, "Forms Conversion"); vp.add(tabPanel); w.center(); if (QAFEKeywordsGVO.SYSTEM_MENUITEM_TRYME_FORMS.equals(subwindow)) { tabPanel.selectTab(1); } else { tabPanel.selectTab(0); } }
From source file:com.qualogy.qafe.gwt.client.ui.renderer.FileUploadRenderer.java
License:Apache License
public UIObject render(ComponentGVO component, String uuid, String parent, String context) { HorizontalPanel uiObject = null;/* ww w. ja v a 2 s. com*/ final String finalParent = parent; if (component != null) { if (component instanceof FileUploadGVO) { if (component.getMenu() != null) { final ComponentGVO finalComponentGVO = component; final String finalUuid = uuid; uiObject = new HorizontalPanel() { @Override public void onBrowserEvent(Event event) { if (event.getTypeInt() == Event.ONCONTEXTMENU) { DOM.eventPreventDefault(event); applyContextMenu(event, finalComponentGVO, finalUuid, finalParent); } super.onBrowserEvent(event); } @Override protected void setElement(Element elem) { super.setElement(elem); sinkEvents(Event.ONCONTEXTMENU); } }; } else { uiObject = new HorizontalPanel(); } final FormPanel formPanel = new FormPanel(); formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload"); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); final Button uploadButtonComponent = new Button("Upload"); uploadButtonComponent.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { formPanel.submit(); } }); final FileUpload fileUploadComponent = new FileUpload(); fileUploadComponent.setName("uploadElement"); fileUploadComponent.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { String filename = fileUploadComponent.getFilename(); boolean enabled = (filename != null) && (filename.length() > 0); uploadButtonComponent.setEnabled(enabled); } }); Hidden appId = new Hidden(); final String appID = ClientApplicationContext.getInstance().getWindowSession(); appId.setName("APPUUID=" + appID); Hidden windowId = new Hidden(); windowId.setName("WINDOWID=" + parent); Grid gridPanel = new Grid(2, 4); gridPanel.setWidget(0, 0, fileUploadComponent); gridPanel.setWidget(0, 1, uploadButtonComponent); gridPanel.setWidget(0, 2, appId); gridPanel.setWidget(0, 3, windowId); formPanel.add(gridPanel); RendererHelper.fillIn(component, formPanel, uuid, parent, context); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String uuId = event.getResults(); boolean success = false; if (uuId != null && uuId.indexOf("=") > 0) { uuId = uuId.substring(uuId.indexOf("=") + 1); success = true; } if (formPanel instanceof HasWidgets) { HasWidgets hasWidgets = (HasWidgets) formPanel; Iterator<Widget> itr = hasWidgets.iterator(); while (itr.hasNext()) { Widget widget = itr.next(); if (widget instanceof Grid) { Grid gridPanel = (Grid) widget; final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0); final Button uploadButton = (Button) gridPanel.getWidget(0, 1); if (success) { fileUpload.setVisible(false); uploadButton.setVisible(false); String fileName = event.getResults().substring(0, event.getResults().indexOf("#")); final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID + "&WINDOWID=" + finalParent + "&VIEW=" + uuId; final Label fileNameLabel = new Label(fileName); DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand"); fileNameLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Window.open(viewUrl, "UploadedFile", null); } }); fileNameLabel.setVisible(true); final Label clearLabel = new Label("Clear"); clearLabel.setVisible(true); final String finalUuId = uuId; DOM.setStyleAttribute(clearLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(clearLabel.getElement(), "cursor", "hand"); clearLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { MainFactoryActions.removeUploadedFile(appID, finalParent, finalUuId); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", ""); fileNameLabel.setVisible(false); clearLabel.setVisible(false); fileUpload.setVisible(true); uploadButton.setVisible(true); init(fileUpload, uploadButton); } }); gridPanel.setWidget(1, 0, fileNameLabel); gridPanel.setWidget(1, 1, clearLabel); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId); CallbackHandler.createCallBack(formPanel, "onfinish", null, null); } else { Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0); fileNameLabel.setText("Uploading unsuccessfull."); fileNameLabel.setVisible(true); } } } } } }); uiObject.add(formPanel); init(fileUploadComponent, uploadButtonComponent); } } return uiObject; }
From source file:com.qualogy.qafe.gwt.client.ui.renderer.RendererHelper.java
License:Apache License
public static void processEvents(ComponentGVO vo, UIObject ui, EventListenerGVO event, List<com.qualogy.qafe.gwt.client.vo.ui.event.InputVariableGVO> inputVariables, String appId) { if (ui != null) { String nonHandledEventName = null; String nonHandledEventMessage = null; if (event instanceof OnEnterEventListenerGVO) { if (ui instanceof HasAllKeyHandlers) { HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui; hasAllKeyHandlers.addKeyDownHandler(EventFactory.createOnEnterListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONENTER; }/*from w w w . ja v a 2 s . c o m*/ } if (event instanceof OnFocusEventListenerGVO) { if (ui instanceof HasFocusHandlers) { HasFocusHandlers hasFocusHandlers = (HasFocusHandlers) ui; hasFocusHandlers.addFocusHandler(EventFactory.createFocusListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONFOCUS; } } if (event instanceof OnExitEventListenerGVO) { if (ui instanceof HasBlurHandlers) { HasBlurHandlers hasBlurHandlers = (HasBlurHandlers) ui; hasBlurHandlers.addBlurHandler(EventFactory.createOnExitListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONEXIT; } } if (event instanceof ClickEventListenerGVO) { if (ui instanceof HasClickHandlers) { ui.addStyleName("qafe_hand"); HasClickHandlers hasClickHandlers = (HasClickHandlers) ui; hasClickHandlers.addClickHandler(EventFactory.createClickListener(event, inputVariables)); } else if (ui instanceof MenuItem) { MenuItem menuItem = (MenuItem) ui; menuItem.setCommand(EventFactory.createCommandListener(menuItem, event, inputVariables)); ui.addStyleName("qafe_hand"); } else if (ui instanceof AreaWidget) { AreaWidget area = (AreaWidget) ui; area.setCommand(EventFactory.createCommandListener(area, event, inputVariables)); ui.addStyleName("qafe_hand"); } else if (ui instanceof TabPanel) { TabPanel tabPanel = (TabPanel) ui; String eventComponentId = event.getEventComponentId(); String[] components = eventComponentId.split("\\."); if (components.length == 1) { tabPanel.addSelectionHandler( EventFactory.createTabPanelListener(tabPanel, event, inputVariables)); ui.addStyleName("qafe_hand"); } } else { nonHandledEventName = QAMLConstants.EVENT_ONCLICK; } } if (event instanceof DoubleClickEventListenerGVO) { if (ui instanceof HasDoubleClickHandlers) { //ui.addStyleName("qafe_hand"); HasDoubleClickHandlers hasDoubleClickHandlers = (HasDoubleClickHandlers) ui; hasDoubleClickHandlers .addDoubleClickHandler(EventFactory.createDoubleClickListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONDBLCLICK; } } if (event instanceof OnChangeEventListenerGVO) { if (ui instanceof QSuggestBox) { QSuggestBox suggestionBox = (QSuggestBox) ui; suggestionBox.addKeyUpHandler( EventFactory.createSuggestionOnKeyUpHandler(suggestionBox, event, inputVariables)); } else if (ui instanceof QDatePicker && ui instanceof HasValueChangeHandlers) { HasValueChangeHandlers hasValueChangeHandlers = (HasValueChangeHandlers) ui; hasValueChangeHandlers.addValueChangeHandler( (EventFactory.createOnValueChangeHandler(event, inputVariables))); } else if (ui instanceof HasDataChangeHandlers) { HasDataChangeHandlers hasDataChangeHandlers = (HasDataChangeHandlers) ui; hasDataChangeHandlers .addDataChangeHandler((EventFactory.createOnDataChangeHandler(event, inputVariables))); } else if (ui instanceof HasChangeHandlers) { HasChangeHandlers hasChangeHandlers = (HasChangeHandlers) ui; hasChangeHandlers .addChangeHandler((EventFactory.createOnChangeListener(event, inputVariables))); } else if (ui instanceof SourcesChangeEvents) { SourcesChangeEvents sourcesChangeEvents = (SourcesChangeEvents) ui; sourcesChangeEvents .addChangeListener(EventFactory.createLegacyOnChangeListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONCHANGE; } } if (event instanceof OnMouseEnterEventListenerGVO) { if (ui instanceof HasAllMouseHandlers) { HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui; hasAllMouseHandlers .addMouseOverHandler(EventFactory.createOnMouseEnterListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_ENTER; } } if (event instanceof OnMouseExitEventListenerGVO) { if (ui instanceof HasAllMouseHandlers) { HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui; hasAllMouseHandlers .addMouseOutHandler(EventFactory.createOnMouseExitListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_EXIT; } } if (event instanceof OnMouseMoveEventListenerGVO) { if (ui instanceof HasAllMouseHandlers) { HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui; hasAllMouseHandlers .addMouseMoveHandler(EventFactory.createOnMouseMoveListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_MOVE; } } if (event instanceof OnMouseUpEventListenerGVO) { if (ui instanceof HasAllMouseHandlers) { HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui; hasAllMouseHandlers .addMouseUpHandler(EventFactory.createOnMouseUpListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_UP; } } if (event instanceof OnMouseDownEventListenerGVO) { if (ui instanceof HasAllMouseHandlers) { HasAllMouseHandlers hasAllMouseHandlers = (HasAllMouseHandlers) ui; hasAllMouseHandlers .addMouseDownHandler(EventFactory.createOnMouseDownListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONMOUSE_DOWN; } } if (event instanceof OnKeyPressEventListenerGVO) { if (ui instanceof HasAllKeyHandlers) { HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui; hasAllKeyHandlers .addKeyPressHandler(EventFactory.createOnKeyPressListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONKEYPRESS; } } if (event instanceof OnKeyDownEventListenerGVO) { if (ui instanceof HasAllKeyHandlers) { HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui; hasAllKeyHandlers .addKeyDownHandler(EventFactory.createOnKeyDownListener(event, inputVariables)); } else if (ui instanceof HasNativeKeyHandlers) { HasNativeKeyHandlers hasNativeKeyHandlers = (HasNativeKeyHandlers) ui; hasNativeKeyHandlers.addNativeKeyDownHandler( EventFactory.createOnNativeKeyDownListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONKEYDOWN; } } if (event instanceof OnKeyUpEventListenerGVO) { if (ui instanceof HasAllKeyHandlers) { HasAllKeyHandlers hasAllKeyHandlers = (HasAllKeyHandlers) ui; hasAllKeyHandlers.addKeyUpHandler(EventFactory.createOnKeyUpListener(event, inputVariables)); } else if (ui instanceof HasNativeKeyHandlers) { HasNativeKeyHandlers hasNativeKeyHandlers = (HasNativeKeyHandlers) ui; hasNativeKeyHandlers .addNativeKeyUpHandler(EventFactory.createOnNativeKeyUpListener(event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONKEYUP; } } if (event instanceof OnLoadEventListenerGVO) { if (!(vo instanceof WindowGVO)) { nonHandledEventName = QAMLConstants.EVENT_ONLOAD; nonHandledEventMessage = "Support on Window only."; } } if (event instanceof OnUnLoadEventListenerGVO) { if (!(vo instanceof WindowGVO)) { nonHandledEventName = QAMLConstants.EVENT_ONUNLOAD; nonHandledEventMessage = "Support on Window only."; } } if (event instanceof OnFinishEventListenerGVO) { if (ui instanceof FormPanel) { FormPanel formPanel = (FormPanel) ui; formPanel.addSubmitCompleteHandler( EventFactory.createSubmitCompleteHandler(ui, event, inputVariables)); } else { nonHandledEventName = QAMLConstants.EVENT_ONFINISH; } } if (event instanceof OnTimerEventListenerGVO) { //check a timer is already scheduled for this event- this happens when there are multiple component reference mentioned in that event if (!ClientApplicationContext.getInstance().isTimerScheduledForEvent(appId, vo.getWindow(), event.getEventId())) { OnTimerHandler timerHandler = new OnTimerHandler(); timerHandler.processOnTimer(ui, vo, appId, event, inputVariables); } else { nonHandledEventName = QAMLConstants.EVENT_ONTIMER; nonHandledEventMessage = "Timer is already scheduled."; } } if (nonHandledEventName != null) { if (nonHandledEventMessage == null) { nonHandledEventMessage = ""; } ClientApplicationContext.getInstance() .log("The component [" + DOM.getElementAttribute(ui.getElement(), "id") + "] for event [" + event.getEventId() + "] does not support " + nonHandledEventName + " listener. " + nonHandledEventMessage, null); } } }
From source file:com.qualogy.qafe.mgwt.client.ui.renderer.FileUploadRenderer.java
License:Apache License
public UIObject render(ComponentGVO component, String owner, String uuid, String parent, String context, AbstractActivity activity) {// w w w. j a va 2 s . c o m HorizontalPanel uiObject = null; final String finalParent = parent; if (component != null) { if (component instanceof FileUploadGVO) { if (component.getMenu() != null) { final ComponentGVO finalComponentGVO = component; final String finalUuid = uuid; uiObject = new HorizontalPanel() { @Override public void onBrowserEvent(Event event) { if (event.getTypeInt() == Event.ONCONTEXTMENU) { DOM.eventPreventDefault(event); applyContextMenu(event, finalComponentGVO, finalUuid, finalParent); } super.onBrowserEvent(event); } @Override protected void setElement(Element elem) { super.setElement(elem); sinkEvents(Event.ONCONTEXTMENU); } }; } else { uiObject = new HorizontalPanel(); } final FormPanel formPanel = new FormPanel(); formPanel.setAction(GWT.getModuleBaseURL() + "/rpc.upload"); formPanel.setEncoding(FormPanel.ENCODING_MULTIPART); formPanel.setMethod(FormPanel.METHOD_POST); FileUpload fileUploadComponent = new FileUpload(); fileUploadComponent.setName("uploadElement"); Button uploadButtonComponent = new Button("Upload"); uploadButtonComponent.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { formPanel.submit(); } }); Hidden appId = new Hidden(); appId.setName("APPUUID=" + uuid); final String appID = uuid; Hidden windowId = new Hidden(); windowId.setName("WINDOWID=" + parent); Grid gridPanel = new Grid(2, 4); gridPanel.setWidget(0, 0, fileUploadComponent); gridPanel.setWidget(0, 1, uploadButtonComponent); gridPanel.setWidget(0, 2, appId); gridPanel.setWidget(0, 3, windowId); formPanel.add(gridPanel); RendererHelper.fillIn(component, formPanel, uuid, parent, context); formPanel.addSubmitCompleteHandler(new SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { String uuId = event.getResults(); boolean success = false; if (uuId != null && uuId.indexOf("=") > 0) { uuId = uuId.substring(uuId.indexOf("=") + 1); success = true; } if (formPanel instanceof HasWidgets) { HasWidgets hasWidgets = (HasWidgets) formPanel; Iterator<Widget> itr = hasWidgets.iterator(); while (itr.hasNext()) { Widget widget = itr.next(); if (widget instanceof Grid) { Grid gridPanel = (Grid) widget; final FileUpload fileUpload = (FileUpload) gridPanel.getWidget(0, 0); final Button uploadButton = (Button) gridPanel.getWidget(0, 1); if (success) { fileUpload.setVisible(false); uploadButton.setVisible(false); String fileName = event.getResults().substring(0, event.getResults().indexOf("#")); final String viewUrl = GWT.getModuleBaseURL() + "/rpc.view?APPUUID=" + appID + "&WINDOWID=" + finalParent + "&VIEW=" + uuId; final Label fileNameLabel = new Label(fileName); DOM.setStyleAttribute(fileNameLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(fileNameLabel.getElement(), "cursor", "hand"); fileNameLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Window.open(viewUrl, "UploadedFile", null); } }); fileNameLabel.setVisible(true); final Label removeLabel = new Label("Remove"); removeLabel.setVisible(true); final String finalUuId = uuId; DOM.setStyleAttribute(removeLabel.getElement(), "textDecoration", "underline"); DOM.setStyleAttribute(removeLabel.getElement(), "cursor", "hand"); removeLabel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { MainFactoryActions.removeUploadedFile(appID, finalParent, finalUuId); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", ""); fileNameLabel.setVisible(false); removeLabel.setVisible(false); fileUpload.setVisible(true); uploadButton.setVisible(true); } }); gridPanel.setWidget(1, 0, fileNameLabel); gridPanel.setWidget(1, 1, removeLabel); DOM.setElementAttribute(fileUpload.getElement(), "fu-uuid", uuId); CallbackHandler.createCallBack(formPanel, "onfinish", null, null); } else { Hyperlink fileNameLabel = (Hyperlink) gridPanel.getWidget(1, 0); fileNameLabel.setText("Uploading unsuccessfull."); fileNameLabel.setVisible(true); } } } } } }); uiObject.add(formPanel); } } return uiObject; }
From source file:de.uni_koeln.spinfo.maalr.webapp.ui.admin.client.general.dbsettings.ImportDialog.java
License:Apache License
public void buildWidget(VerticalPanel parent) { parent.add(new Label("Select a database dump which will replace all currently stored entries. " + "Note that this operation cannot be undone.")); final FormPanel form = new FormPanel(); form.setEncoding(FormPanel.ENCODING_MULTIPART); form.setMethod(FormPanel.METHOD_POST); form.setAction("../admin/importDB"); final FileUpload fu = new FileUpload(); fu.setName("file"); fu.getElement().getStyle().setMarginTop(20, Unit.PX); fu.getElement().getStyle().setMarginBottom(20, Unit.PX); VerticalPanel panel = new VerticalPanel(); form.add(panel);//from w w w . ja v a 2s . c o m panel.setWidth("100%"); panel.add(fu); final ProgressBar progress = new ProgressBar(Style.ANIMATED); progress.setVisible(false); progress.setPercent(100); panel.add(progress); final Button submit = new Button("Submit"); final Button cancel = new Button("Cancel"); submit.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { progress.setVisible(true); submit.setEnabled(false); cancel.setEnabled(false); form.submit(); } }); cancel.setType(ButtonType.PRIMARY); cancel.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { hide(); } }); form.addSubmitHandler(new SubmitHandler() { public void onSubmit(SubmitEvent event) { if (!"".equalsIgnoreCase(fu.getFilename())) { progress.setVisible(true); } else { event.cancel(); // cancel the event hide(); } } }); form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() { public void onSubmitComplete(SubmitCompleteEvent event) { hide(); } }); parent.add(form); ModalFooter footer = new ModalFooter(submit, cancel); add(footer); }