diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java
index 0081d00..5338838 100644
--- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java
+++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java
@@ -1696,7 +1696,7 @@ public class TabularDataController {
Log.debug("Request Open Column Filter Dialog");
if (trId != null) {
ColumnFilterDialog cfDialog = new ColumnFilterDialog(trId,
- columnName, eventBus);
+ columnLocalId, eventBus);
cfDialog.show();
} else {
Log.error("TRId is null");
diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java
index d56320a..a73cd3f 100644
--- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java
+++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/FileToolBar.java
@@ -50,11 +50,6 @@ public class FileToolBar {
private TextButton exportSDMXButton;
private TextButton exportCSVButton;
private TextButton exportJSONButton;
-
- //Template
- private TextButton templateNewButton;
- private TextButton templateOpenButton;
- private TextButton templateDeleteButton;
//Share
private TextButton shareButton;
@@ -296,74 +291,6 @@ public class FileToolBar {
exportLayout.setWidget(1, 2, exportJSONButton);
cleanCells(exportLayout.getElement());
- // Template
- ButtonGroup templateGroup = new ButtonGroup();
- templateGroup.setId("Template");
- templateGroup.setStyleName("ribbon");
- templateGroup.setHeadingText("Template");
- //templateGroup.disable();
- toolBar.add(templateGroup);
-
- FlexTable templateLayout = new FlexTable();
- templateGroup.add(templateLayout);
-
- templateNewButton = new TextButton("New",
- TabularDataResources.INSTANCE.templateEdit32());
- templateNewButton.enable();
- templateNewButton.setToolTip("New");
- templateNewButton.setScale(ButtonScale.LARGE);
- templateNewButton.setIconAlign(IconAlign.TOP);
- templateNewButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
- templateNewButton.addSelectHandler(new SelectHandler() {
-
- public void onSelect(SelectEvent event) {
- eventBus.fireEvent(new RibbonEvent(
- RibbonType.TEMPLATE_NEW));
- }
- });
-
- templateLayout.setWidget(0, 0, templateNewButton);
- templateLayout.getFlexCellFormatter().setRowSpan(0, 0, 2);
-
- templateOpenButton = new TextButton("Open",
- TabularDataResources.INSTANCE.templateAdd32());
- templateOpenButton.enable();
- templateOpenButton.setToolTip("Open");
- templateOpenButton.setScale(ButtonScale.LARGE);
- templateOpenButton.setIconAlign(IconAlign.TOP);
- templateOpenButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
- templateOpenButton.addSelectHandler(new SelectHandler() {
-
- public void onSelect(SelectEvent event) {
- eventBus.fireEvent(new RibbonEvent(
- RibbonType.TEMPLATE_OPEN));
- }
- });
-
- templateLayout.setWidget(0, 1, templateOpenButton);
- templateLayout.getFlexCellFormatter().setRowSpan(0, 1, 2);
-
-
- templateDeleteButton = new TextButton("Delete",
- TabularDataResources.INSTANCE.templateDelete32());
- templateDeleteButton.enable();
- templateDeleteButton.setToolTip("Delete");
- templateDeleteButton.setScale(ButtonScale.LARGE);
- templateDeleteButton.setIconAlign(IconAlign.TOP);
- templateDeleteButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
- templateDeleteButton.addSelectHandler(new SelectHandler() {
-
- public void onSelect(SelectEvent event) {
- eventBus.fireEvent(new RibbonEvent(
- RibbonType.TEMPLATE_DELETE));
- }
- });
-
- templateLayout.setWidget(0, 2, templateDeleteButton);
- templateLayout.getFlexCellFormatter().setRowSpan(0, 2, 2);
-
- cleanCells(templateLayout.getElement());
-
// Share
ButtonGroup shareGroup = new ButtonGroup();
shareGroup.setId("Share");
@@ -573,9 +500,6 @@ public class FileToolBar {
exportCSVButton.disable();
exportJSONButton.disable();
exportSDMXButton.disable();
- templateOpenButton.enable();
- templateNewButton.enable();
- templateDeleteButton.enable();
timelineButton.disable();
backgroundButton.enable();
historyButton.disable();
@@ -595,9 +519,6 @@ public class FileToolBar {
exportCSVButton.disable();
exportJSONButton.disable();
exportSDMXButton.disable();
- templateOpenButton.enable();
- templateNewButton.enable();
- templateDeleteButton.enable();
timelineButton.disable();
backgroundButton.enable();
historyButton.disable();
@@ -623,9 +544,6 @@ public class FileToolBar {
}
exportCSVButton.enable();
exportJSONButton.enable();
- templateOpenButton.enable();
- templateNewButton.enable();
- templateDeleteButton.enable();
timelineButton.enable();
backgroundButton.enable();
historyButton.enable();
@@ -644,9 +562,6 @@ public class FileToolBar {
exportCSVButton.disable();
exportJSONButton.disable();
exportSDMXButton.disable();
- templateOpenButton.disable();
- templateNewButton.disable();
- templateDeleteButton.disable();
timelineButton.disable();
backgroundButton.disable();
historyButton.disable();
diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java
index 14bc2e6..cb07536 100644
--- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java
+++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TabularDataRibbon.java
@@ -27,6 +27,7 @@ public class TabularDataRibbon {
private FileToolBar fileToolBar;
private CurationToolBar curationToolBar;
private ModifyToolBar modifyToolBar;
+ private TemplateToolBar templateToolBar;
private AnalyseToolBar analyseToolBar;
public TabularDataRibbon(EventBus eventBus) {
@@ -52,6 +53,11 @@ public class TabularDataRibbon {
con = new VerticalLayoutContainer();
con.add(modifyToolBar.getToolBar(), vldata);
ribbon.add(con, "Modify");
+
+ templateToolBar = new TemplateToolBar(eventBus);
+ con = new VerticalLayoutContainer();
+ con.add(templateToolBar.getToolBar(), vldata);
+ ribbon.add(con, "Template");
analyseToolBar = new AnalyseToolBar(eventBus);
con = new VerticalLayoutContainer();
diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/TemplateToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TemplateToolBar.java
new file mode 100644
index 0000000..812666a
--- /dev/null
+++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/TemplateToolBar.java
@@ -0,0 +1,182 @@
+/**
+ *
+ */
+package org.gcube.portlets.user.td.client.ribbon;
+
+import org.gcube.portlets.user.td.client.resource.TabularDataResources;
+import org.gcube.portlets.user.td.widgetcommonevent.client.event.RibbonEvent;
+import org.gcube.portlets.user.td.widgetcommonevent.client.event.UIStateEvent;
+import org.gcube.portlets.user.td.widgetcommonevent.client.type.RibbonType;
+import org.gcube.portlets.user.td.widgetcommonevent.client.type.UIStateType;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.dom.client.Element;
+import com.google.gwt.dom.client.NodeList;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.web.bindery.event.shared.EventBus;
+import com.sencha.gxt.cell.core.client.ButtonCell.ButtonArrowAlign;
+import com.sencha.gxt.cell.core.client.ButtonCell.ButtonScale;
+import com.sencha.gxt.cell.core.client.ButtonCell.IconAlign;
+import com.sencha.gxt.core.client.dom.XElement;
+import com.sencha.gxt.widget.core.client.button.ButtonGroup;
+import com.sencha.gxt.widget.core.client.button.TextButton;
+import com.sencha.gxt.widget.core.client.event.SelectEvent;
+import com.sencha.gxt.widget.core.client.event.SelectEvent.SelectHandler;
+import com.sencha.gxt.widget.core.client.toolbar.ToolBar;
+
+/**
+ *
+ * @author "Giancarlo Panichi" g.panichi@isti.cnr.it
+ *
+ */
+public class TemplateToolBar {
+
+ private EventBus eventBus;
+ private ToolBar toolBar;
+
+ //Template
+ private TextButton templateNewButton;
+ private TextButton templateOpenButton;
+ private TextButton templateDeleteButton;
+
+
+ public TemplateToolBar(EventBus eventBus) {
+ this.eventBus = eventBus;
+ build();
+ }
+
+ public ToolBar getToolBar() {
+ return toolBar;
+ }
+
+ protected void build() {
+ toolBar = new ToolBar();
+ toolBar.setSpacing(1);
+ toolBar.setEnableOverflow(false);
+
+ // Template
+ ButtonGroup templateGroup = new ButtonGroup();
+ templateGroup.setId("Manage");
+ templateGroup.setStyleName("ribbon");
+ templateGroup.setHeadingText("Manage");
+ //templateGroup.disable();
+ toolBar.add(templateGroup);
+
+ FlexTable templateLayout = new FlexTable();
+ templateGroup.add(templateLayout);
+
+ templateNewButton = new TextButton("New",
+ TabularDataResources.INSTANCE.templateEdit32());
+ templateNewButton.enable();
+ templateNewButton.setToolTip("New");
+ templateNewButton.setScale(ButtonScale.LARGE);
+ templateNewButton.setIconAlign(IconAlign.TOP);
+ templateNewButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
+ templateNewButton.addSelectHandler(new SelectHandler() {
+
+ public void onSelect(SelectEvent event) {
+ eventBus.fireEvent(new RibbonEvent(
+ RibbonType.TEMPLATE_NEW));
+ }
+ });
+
+ templateLayout.setWidget(0, 0, templateNewButton);
+ templateLayout.getFlexCellFormatter().setRowSpan(0, 0, 2);
+
+ templateOpenButton = new TextButton("Open",
+ TabularDataResources.INSTANCE.templateAdd32());
+ templateOpenButton.enable();
+ templateOpenButton.setToolTip("Open");
+ templateOpenButton.setScale(ButtonScale.LARGE);
+ templateOpenButton.setIconAlign(IconAlign.TOP);
+ templateOpenButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
+ templateOpenButton.addSelectHandler(new SelectHandler() {
+
+ public void onSelect(SelectEvent event) {
+ eventBus.fireEvent(new RibbonEvent(
+ RibbonType.TEMPLATE_OPEN));
+ }
+ });
+
+ templateLayout.setWidget(0, 1, templateOpenButton);
+ templateLayout.getFlexCellFormatter().setRowSpan(0, 1, 2);
+
+
+ templateDeleteButton = new TextButton("Delete",
+ TabularDataResources.INSTANCE.templateDelete32());
+ templateDeleteButton.enable();
+ templateDeleteButton.setToolTip("Delete");
+ templateDeleteButton.setScale(ButtonScale.LARGE);
+ templateDeleteButton.setIconAlign(IconAlign.TOP);
+ templateDeleteButton.setArrowAlign(ButtonArrowAlign.BOTTOM);
+ templateDeleteButton.addSelectHandler(new SelectHandler() {
+
+ public void onSelect(SelectEvent event) {
+ eventBus.fireEvent(new RibbonEvent(
+ RibbonType.TEMPLATE_DELETE));
+ }
+ });
+
+ templateLayout.setWidget(0, 2, templateDeleteButton);
+ templateLayout.getFlexCellFormatter().setRowSpan(0, 2, 2);
+
+ cleanCells(templateLayout.getElement());
+
+ eventBus.addHandler(UIStateEvent.TYPE,
+ new UIStateEvent.UIStateHandler() {
+
+ public void onUIState(UIStateEvent event) {
+ setUI(event);
+
+ }
+ });
+
+ }
+
+ private void cleanCells(Element elem) {
+ NodeList tds = elem. cast().select("td");
+ for (int i = 0; i < tds.getLength(); i++) {
+ Element td = tds.getItem(i);
+
+ if (!td.hasChildNodes() && td.getClassName().equals("")) {
+ td.removeFromParent();
+ }
+ }
+ }
+
+ public void setUI(UIStateEvent event) {
+ UIStateType uiStateType = event.getUIStateType();
+ try {
+ switch (uiStateType) {
+ case START:
+ templateOpenButton.enable();
+ templateNewButton.enable();
+ templateDeleteButton.enable();
+ break;
+ case TR_CLOSE:
+ case TR_READONLY:
+ templateOpenButton.enable();
+ templateNewButton.enable();
+ templateDeleteButton.enable();
+ break;
+ case TR_OPEN:
+ case TABLEUPDATE:
+ case TABLECURATION:
+ templateOpenButton.enable();
+ templateNewButton.enable();
+ templateDeleteButton.enable();
+ break;
+ case WIZARD_OPEN:
+ templateOpenButton.disable();
+ templateNewButton.disable();
+ templateDeleteButton.disable();
+ break;
+ default:
+ break;
+ }
+ } catch (Exception e) {
+ Log.error("setUI Error : " + e.getLocalizedMessage());
+ }
+ }
+}