From c4e051d0b91eb971fa07288ae7cb66d0e3c971a0 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Thu, 17 Jul 2014 15:41:49 +0000 Subject: [PATCH] Minor Update git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-unionwizard-widget@98772 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../client/ColumnMappingPanel.java | 140 +++++++++++++++--- .../client/TabResourcesSelectionPanel.java | 2 +- ...ceBundle.java => UnionResourceBundle.java} | 4 +- 3 files changed, 123 insertions(+), 23 deletions(-) rename src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/resources/{ResourceBundle.java => UnionResourceBundle.java} (85%) diff --git a/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/ColumnMappingPanel.java b/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/ColumnMappingPanel.java index db86af6..19e6abe 100644 --- a/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/ColumnMappingPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/ColumnMappingPanel.java @@ -5,7 +5,9 @@ import java.util.ArrayList; import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; import org.gcube.portlets.user.td.gwtservice.shared.tr.ColumnData; +import org.gcube.portlets.user.td.unionwizardwidget.client.custom.IconButton; import org.gcube.portlets.user.td.unionwizardwidget.client.properties.ColumnDataProperties; +import org.gcube.portlets.user.td.unionwizardwidget.client.resources.UnionResourceBundle; import org.gcube.portlets.user.td.unionwizardwidget.client.utils.UtilsGXT3; import org.gcube.portlets.user.td.widgetcommonevent.client.event.SessionExpiredEvent; import org.gcube.portlets.user.td.widgetcommonevent.client.type.SessionExpiredType; @@ -14,6 +16,8 @@ import org.gcube.portlets.user.td.wizardwidget.client.dataresource.ResourceBundl import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.GWT; +import com.google.gwt.event.dom.client.ClickEvent; +import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.rpc.AsyncCallback; import com.sencha.gxt.cell.core.client.form.ComboBoxCell.TriggerAction; import com.sencha.gxt.core.client.dom.ScrollSupport.ScrollMode; @@ -22,10 +26,12 @@ import com.sencha.gxt.data.shared.ListStore; import com.sencha.gxt.widget.core.client.ContentPanel; import com.sencha.gxt.widget.core.client.Resizable; import com.sencha.gxt.widget.core.client.Resizable.Dir; + import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutData; import com.sencha.gxt.widget.core.client.container.BoxLayoutContainer.BoxLayoutPack; import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer; import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer.HBoxLayoutAlign; +import com.sencha.gxt.widget.core.client.container.ResizeContainer; 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; @@ -40,15 +46,20 @@ import com.sencha.gxt.widget.core.client.form.FieldLabel; */ public class ColumnMappingPanel extends ContentPanel { - private static final String COMBOWIDTH = null; + private static final String COMBOWIDTH = "120px"; protected ResourceBundle res; protected ColumnMappingCard parent; protected VerticalLayoutContainer vert; protected ArrayList sourceColumns; protected ArrayList unionColumns; + protected ResizeContainer thisPanel; + protected String itemIdSourceColumn = "itemIdSourceColumn"; protected String itemIdUnionColumn = "itemIdUnionColumn"; protected String itemIdLabelColumn = "itemIdLabelColumn"; + protected String itemIdBtnAdd="itemIdBtnAdd"; + protected String itemIdBtnDel="itemIdBtnDel"; + /** * @@ -58,7 +69,8 @@ public class ColumnMappingPanel extends ContentPanel { public ColumnMappingPanel(ColumnMappingCard parent, ResourceBundle res) { this.res = res; this.parent = parent; - + thisPanel=this; + Log.debug("ColumnMappingPanel"); init(); retrieveSourceColumns(); @@ -78,7 +90,7 @@ public class ColumnMappingPanel extends ContentPanel { vert.setScrollMode(ScrollMode.AUTO); vert.setAdjustForScroll(true); - // setColumnMappingData(); + setColumnMap(); container.add(vert); container.forceLayout(); @@ -151,20 +163,104 @@ public class ColumnMappingPanel extends ContentPanel { public void onSuccess(ArrayList result) { unionColumns = result; create(); - /* - * comboColumnReferenceType.reset(); - * storeComboColumnReferenceType.clear(); - * storeComboColumnReferenceType.addAll(result); - * storeComboColumnReferenceType.commitChanges(); - * comboColumnReferenceTypeLabel.setVisible(true); - * forceLayout(); - */ + } }); } - protected void setColumnMappingData() { + protected void setColumnMap() { + + final HBoxLayoutContainer horiz = new HBoxLayoutContainer(); + + // Source Combo + ColumnDataProperties propsSourceColumn = GWT + .create(ColumnDataProperties.class); + ListStore storeComboSourceColumn = new ListStore( + propsSourceColumn.id()); + storeComboSourceColumn.addAll(sourceColumns); + + final ComboBox comboSourceColumn = new ComboBox( + storeComboSourceColumn, propsSourceColumn.label()); + comboSourceColumn.setItemId(itemIdSourceColumn); + + Log.debug("ComboSourceColumn created"); + + comboSourceColumn.setEmptyText("Select a column..."); + comboSourceColumn.setWidth(COMBOWIDTH); + comboSourceColumn.setEditable(false); + comboSourceColumn.setTriggerAction(TriggerAction.ALL); + + //Union Combo + ColumnDataProperties propsUnionColumn = GWT + .create(ColumnDataProperties.class); + ListStore storeComboUnionColumn = new ListStore( + propsUnionColumn.id()); + + + final ComboBox comboUnionColumn = new ComboBox( + storeComboUnionColumn, propsUnionColumn.label()); + comboUnionColumn.setItemId(itemIdUnionColumn); + + Log.debug("ComboUnionColumn created"); + + comboUnionColumn.setEmptyText("Select a column..."); + comboUnionColumn.setWidth(COMBOWIDTH); + comboUnionColumn.setEditable(false); + comboUnionColumn.setTriggerAction(TriggerAction.ALL); + + + final IconButton btnAdd = new IconButton(); + btnAdd.setItemId(itemIdBtnAdd); + btnAdd.setIcon(UnionResourceBundle.INSTANCE.add()); + btnAdd.addClickHandler(new ClickHandler() { + + + + public void onClick(ClickEvent event) { + Log.debug("Clicked btnAdd"); + addColumnMap(); + thisPanel.forceLayout(); + vert.forceLayout(); + + } + }); + btnAdd.setVisible(true); + + final IconButton btnDel = new IconButton(); + btnDel.setItemId(itemIdBtnDel); + btnDel.setIcon(UnionResourceBundle.INSTANCE.delete()); + btnDel.addClickHandler(new ClickHandler() { + + public void onClick(ClickEvent event) { + Log.debug("Clicked btnDel"); + vert.remove(horiz); + if (vert.getWidgetCount() == 0) { + setColumnMap(); + } else { + + } + thisPanel.forceLayout(); + vert.forceLayout(); + + } + }); + btnDel.setVisible(false); + + + horiz.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE); + horiz.setPack(BoxLayoutPack.START); + + horiz.add(comboSourceColumn, new BoxLayoutData(new Margins(2, 1, 2, 1))); + horiz.add(comboUnionColumn, new BoxLayoutData(new Margins(2, 1, 2, 1))); + horiz.add(btnAdd, new BoxLayoutData(new Margins(2, 1, 2, 1))); + horiz.add(btnDel, new BoxLayoutData(new Margins(2, 1, 2, 1))); + + vert.add(horiz); + } + + + protected void addColumnMap() { final HBoxLayoutContainer horiz = new HBoxLayoutContainer(); @@ -201,15 +297,18 @@ public class ColumnMappingPanel extends ContentPanel { comboUnionColumn.setWidth(COMBOWIDTH); comboUnionColumn.setEditable(false); comboUnionColumn.setTriggerAction(TriggerAction.ALL); - /* + + final IconButton btnAdd = new IconButton(); btnAdd.setItemId(itemIdBtnAdd); - btnAdd.setIcon(ResourceBundle.INSTANCE.add()); + btnAdd.setIcon(UnionResourceBundle.INSTANCE.add()); btnAdd.addClickHandler(new ClickHandler() { + + public void onClick(ClickEvent event) { Log.debug("Clicked btnAdd"); - addColumnMappingData(); + addColumnMap(); thisPanel.forceLayout(); vert.forceLayout(); @@ -219,14 +318,14 @@ public class ColumnMappingPanel extends ContentPanel { final IconButton btnDel = new IconButton(); btnDel.setItemId(itemIdBtnDel); - btnDel.setIcon(ResourceBundle.INSTANCE.delete()); + btnDel.setIcon(UnionResourceBundle.INSTANCE.delete()); btnDel.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { Log.debug("Clicked btnDel"); vert.remove(horiz); if (vert.getWidgetCount() == 0) { - setColumnMappingData(); + setColumnMap(); } else { } @@ -236,14 +335,15 @@ public class ColumnMappingPanel extends ContentPanel { } }); btnDel.setVisible(false); - */ + + horiz.setHBoxLayoutAlign(HBoxLayoutAlign.MIDDLE); horiz.setPack(BoxLayoutPack.START); horiz.add(comboSourceColumn, new BoxLayoutData(new Margins(2, 1, 2, 1))); horiz.add(comboUnionColumn, new BoxLayoutData(new Margins(2, 1, 2, 1))); - /*horiz.add(btnAdd, new BoxLayoutData(new Margins(2, 1, 2, 1))); - horiz.add(btnDel, new BoxLayoutData(new Margins(2, 1, 2, 1)));*/ + horiz.add(btnAdd, new BoxLayoutData(new Margins(2, 1, 2, 1))); + horiz.add(btnDel, new BoxLayoutData(new Margins(2, 1, 2, 1))); vert.add(horiz); } diff --git a/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/TabResourcesSelectionPanel.java b/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/TabResourcesSelectionPanel.java index 32dcad9..7030500 100644 --- a/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/TabResourcesSelectionPanel.java +++ b/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/TabResourcesSelectionPanel.java @@ -218,7 +218,7 @@ public class TabResourcesSelectionPanel extends ContentPanel implements contextMenu = new Menu(); MenuItem deleteTRItem = new MenuItem("Delete"); deleteTRItem.setId("DeleteTR"); - deleteTRItem.setIcon(org.gcube.portlets.user.td.unionwizardwidget.client.resources.ResourceBundle.INSTANCE.delete()); + deleteTRItem.setIcon(org.gcube.portlets.user.td.unionwizardwidget.client.resources.UnionResourceBundle.INSTANCE.delete()); deleteTRItem.addSelectionHandler(new SelectionHandler() { @Override diff --git a/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/resources/ResourceBundle.java b/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/resources/UnionResourceBundle.java similarity index 85% rename from src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/resources/ResourceBundle.java rename to src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/resources/UnionResourceBundle.java index a3e324f..df77749 100644 --- a/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/resources/ResourceBundle.java +++ b/src/main/java/org/gcube/portlets/user/td/unionwizardwidget/client/resources/UnionResourceBundle.java @@ -7,9 +7,9 @@ import com.google.gwt.resources.client.ClientBundle; import com.google.gwt.resources.client.ImageResource; -public interface ResourceBundle extends ClientBundle { +public interface UnionResourceBundle extends ClientBundle { - public static final ResourceBundle INSTANCE=GWT.create(ResourceBundle.class); + public static final UnionResourceBundle INSTANCE=GWT.create(UnionResourceBundle.class); @Source("UnionWizardTD.css") UnionCSS unionCss();