From c75d9b4949da84daa06b91b84bce0bbf22b938c1 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 27 Nov 2017 14:44:30 +0000 Subject: [PATCH] Added [TEXTAREA] string support git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/data-miner-manager@158822 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 1 + .../client/parametersfield/StringFld.java | 102 +++++++++++++----- src/main/webapp/DataMinerManager.css | 10 ++ 3 files changed, 87 insertions(+), 26 deletions(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index 67b4bf9..255a918 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -2,6 +2,7 @@ Added NetCDF files support + Added [TEXAREA] string support diff --git a/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/StringFld.java b/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/StringFld.java index 24beb0e..9da8650 100644 --- a/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/StringFld.java +++ b/src/main/java/org/gcube/portlets/user/dataminermanager/client/parametersfield/StringFld.java @@ -6,6 +6,7 @@ package org.gcube.portlets.user.dataminermanager.client.parametersfield; import org.gcube.portlets.user.dataminermanager.shared.parameters.ObjectParameter; import org.gcube.portlets.user.dataminermanager.shared.parameters.Parameter; +import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.user.client.ui.Widget; import com.sencha.gxt.core.client.util.Margins; import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData; @@ -15,6 +16,7 @@ import com.sencha.gxt.widget.core.client.container.HtmlLayoutContainer; import com.sencha.gxt.widget.core.client.container.SimpleContainer; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer; import com.sencha.gxt.widget.core.client.container.VerticalLayoutContainer.VerticalLayoutData; +import com.sencha.gxt.widget.core.client.form.TextArea; import com.sencha.gxt.widget.core.client.form.TextField; /** @@ -27,54 +29,87 @@ public class StringFld extends AbstractFld { private SimpleContainer fieldContainer; private TextField textField; + private TextArea textArea; + private boolean isTextArea; /** - * @param parameter parameter + * @param parameter + * parameter */ public StringFld(Parameter parameter) { super(parameter); - - ObjectParameter p = (ObjectParameter) parameter; - - textField = new TextField(); - textField.setValue(p.getDefaultValue()); - if (p.getDefaultValue() == null) - textField.setAllowBlank(false); + ObjectParameter p = (ObjectParameter) parameter; HtmlLayoutContainer descr; - if (p.getDescription() == null) { - descr=new HtmlLayoutContainer("

"); + if (p.getDescription() == null || p.getDescription().isEmpty()) { + descr = new HtmlLayoutContainer("

"); descr.addStyleName("workflow-fieldDescription"); - + isTextArea = false; + } else { - //textField.setToolTip(p.getDescription()); - descr=new HtmlLayoutContainer("

"+p.getDescription()+"

"); - descr.addStyleName("workflow-fieldDescription"); + // textField.setToolTip(p.getDescription()); + if (p.getDescription().contains("[TEXTAREA]")) { + String textAreaDescription=p.getDescription(); + Log.debug("textAreaDescription: "+textAreaDescription); + textAreaDescription=textAreaDescription.replaceFirst("\\[TEXTAREA\\]", ""); + Log.debug("Removed tag: "+textAreaDescription); + descr = new HtmlLayoutContainer( + "

" + textAreaDescription + "

"); + descr.addStyleName("workflow-fieldDescription"); + isTextArea = true; + + } else { + descr = new HtmlLayoutContainer( + "

" + p.getDescription() + "

"); + descr.addStyleName("workflow-fieldDescription"); + isTextArea = false; + } } - - SimpleContainer vContainer=new SimpleContainer(); + + SimpleContainer vContainer = new SimpleContainer(); VerticalLayoutContainer vField = new VerticalLayoutContainer(); - HtmlLayoutContainer typeDescription = new HtmlLayoutContainer( - "String Value"); + HtmlLayoutContainer typeDescription = new HtmlLayoutContainer("String Value"); typeDescription.setStylePrimaryName("workflow-parameters-description"); - vField.add(textField, new VerticalLayoutData(-1,-1,new Margins(0))); - vField.add(typeDescription, new VerticalLayoutData(-1,-1,new Margins(0))); + + if (isTextArea) { + textArea = new TextArea(); + textArea.setValue(p.getDefaultValue(), true); + textArea.setStylePrimaryName("dataminer-textarea"); + //textArea.setResizable(TextAreaInputCell.Resizable.VERTICAL); + textArea.setWidth("360px"); + textArea.setHeight("160px"); + if (p.getDefaultValue() == null) + textArea.setAllowBlank(false); + + vField.add(textArea, new VerticalLayoutData(-1, -1, new Margins(0))); + + } else { + + textField = new TextField(); + textField.setValue(p.getDefaultValue()); + + if (p.getDefaultValue() == null) + textField.setAllowBlank(false); + + vField.add(textField, new VerticalLayoutData(-1, -1, new Margins(0))); + } + + vField.add(typeDescription, new VerticalLayoutData(-1, -1, new Margins(0))); vContainer.add(vField); - + fieldContainer = new SimpleContainer(); HBoxLayoutContainer horiz = new HBoxLayoutContainer(); horiz.setPack(BoxLayoutPack.START); horiz.setEnableOverflow(false); - - + horiz.add(vContainer, new BoxLayoutData(new Margins())); horiz.add(descr, new BoxLayoutData(new Margins())); fieldContainer.add(horiz); fieldContainer.forceLayout(); - + } /** @@ -82,7 +117,11 @@ public class StringFld extends AbstractFld { */ @Override public String getValue() { - return textField.getValue(); + if (isTextArea) { + return textArea.getCurrentValue(); + } else { + return textField.getValue(); + } } /** @@ -95,7 +134,18 @@ public class StringFld extends AbstractFld { @Override public boolean isValid() { - return textField.isValid(); + if (isTextArea) { + return textArea.isValid(); + } else { + return textField.isValid(); + } + } + + public boolean isTextArea() { + return isTextArea; } + + + } diff --git a/src/main/webapp/DataMinerManager.css b/src/main/webapp/DataMinerManager.css index e565aa9..e75023a 100644 --- a/src/main/webapp/DataMinerManager.css +++ b/src/main/webapp/DataMinerManager.css @@ -428,6 +428,16 @@ } + +/** +* Field +*/ +.dataminer-textarea textarea { + height: 160px !important; + width: 360px !important; +} + + /** * Computation Output */