From 4bdb8c982c0d130f5c2a78bd3dd0065c406fdad4 Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Wed, 1 Feb 2017 18:29:24 +0000 Subject: [PATCH] refs 5870: TDM - adding new functionalities to portlets Task-Url: https://support.d4science.org/issues/5870 Updated to support SDMX Dataset export git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-portlet@142038 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/td/client/ribbon/FileToolBar.java | 216 ++++++++---------- src/main/webapp/WEB-INF/liferay-portlet.xml | 1 + 2 files changed, 97 insertions(+), 120 deletions(-) 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 3f382a5..74ec27e 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 @@ -9,6 +9,7 @@ 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 org.gcube.portlets.user.td.widgetcommonevent.shared.TRId; +import org.gcube.portlets.user.td.widgetcommonevent.shared.tr.TableType; import com.allen_sauer.gwt.log.client.Log; import com.google.gwt.core.client.GWT; @@ -46,18 +47,17 @@ public class FileToolBar { private TextButton cloneButton; private TextButton closeButton; private TextButton shareButton; - + private TextButton deleteButton; private TextButton propertiesButton; private TextButton importCSVButton; - //private TextButton importJSONButton; + // private TextButton importJSONButton; private TextButton importSDMXButton; private TextButton exportSDMXButton; private TextButton exportCSVButton; private TextButton exportJSONButton; - private TextButton timelineButton; private TextButton backgroundButton; @@ -65,20 +65,17 @@ public class FileToolBar { // History private TextButton historyButton; private TextButton undoButton; - - //Help + + // Help private TextButton helpButton; private TextButton languageButton; - //private TextButton logsButton; - //private TextButton testButton; - - - //Language Menu + // private TextButton logsButton; + // private TextButton testButton; + + // Language Menu private MenuItem enItem; private MenuItem itItem; private MenuItem esItem; - - public FileToolBar(EventBus eventBus) { this.eventBus = eventBus; @@ -91,12 +88,11 @@ public class FileToolBar { } protected void build() { - - + toolBar = new ToolBar(); toolBar.setSpacing(1); toolBar.setEnableOverflow(false); - + // File ButtonGroup fileGroup = new ButtonGroup(); fileGroup.setId("Tabular Resource"); @@ -125,10 +121,7 @@ public class FileToolBar { fileLayout.setWidget(0, 0, openButton); fileLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); - - - - + closeButton = new TextButton(msgs.closeButton(), TabularDataResources.INSTANCE.trClose32()); closeButton.disable(); @@ -147,8 +140,7 @@ public class FileToolBar { fileLayout.setWidget(0, 1, closeButton); fileLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); - - + cloneButton = new TextButton(msgs.cloneButton(), TabularDataResources.INSTANCE.clone32()); cloneButton.disable(); @@ -167,8 +159,7 @@ public class FileToolBar { fileLayout.setWidget(0, 2, cloneButton); fileLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); - - + shareButton = new TextButton(msgs.shareButton(), TabularDataResources.INSTANCE.trShare32()); shareButton.disable(); @@ -188,7 +179,6 @@ public class FileToolBar { fileLayout.setWidget(0, 3, shareButton); fileLayout.getFlexCellFormatter().setRowSpan(0, 3, 2); - deleteButton = new TextButton(msgs.deleteButton(), TabularDataResources.INSTANCE.delete()); deleteButton.disable(); @@ -259,21 +249,18 @@ public class FileToolBar { }); importLayout.setWidget(0, 1, importCSVButton); importLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); - - /* - importJSONButton = new TextButton("JSON", - TabularDataResources.INSTANCE.json()); - importJSONButton.disable(); - importJSONButton.setToolTip("Import table from JSON source"); - importJSONButton.addSelectHandler(new SelectHandler() { - public void onSelect(SelectEvent event) { - eventBus.fireEvent(new RibbonEvent(RibbonType.IMPORT_JSON)); - } - }); - importLayout.setWidget(1, 1, importJSONButton); - */ - + /* + * importJSONButton = new TextButton("JSON", + * TabularDataResources.INSTANCE.json()); importJSONButton.disable(); + * importJSONButton.setToolTip("Import table from JSON source"); + * importJSONButton.addSelectHandler(new SelectHandler() { + * + * public void onSelect(SelectEvent event) { eventBus.fireEvent(new + * RibbonEvent(RibbonType.IMPORT_JSON)); } }); importLayout.setWidget(1, + * 1, importJSONButton); + */ + cleanCells(importLayout.getElement()); // Export @@ -329,7 +316,6 @@ public class FileToolBar { exportLayout.setWidget(1, 2, exportJSONButton); cleanCells(exportLayout.getElement()); - // TimeLine (Tasks) ButtonGroup taskGroup = new ButtonGroup(); taskGroup.setId("TasksStatus"); @@ -356,7 +342,7 @@ public class FileToolBar { taskLayout.setWidget(0, 0, timelineButton); taskLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); - + backgroundButton = new TextButton(msgs.backgroundButton(), TabularDataResources.INSTANCE.basketBackground32()); backgroundButton.enable(); @@ -373,7 +359,7 @@ public class FileToolBar { taskLayout.setWidget(0, 1, backgroundButton); taskLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); - + cleanCells(taskLayout.getElement()); // History Group @@ -431,7 +417,6 @@ public class FileToolBar { FlexTable helpLayout = new FlexTable(); helpGroup.add(helpLayout); - languageButton = new TextButton(msgs.languageButton(), TabularDataResources.INSTANCE.language32()); @@ -441,10 +426,10 @@ public class FileToolBar { languageButton.setToolTip(msgs.languageButtonToolTip()); languageButton.setArrowAlign(ButtonArrowAlign.RIGHT); languageButton.setMenu(createLanguageMenu()); - + helpLayout.setWidget(0, 0, languageButton); helpLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); - + helpButton = new TextButton(msgs.helpButton(), TabularDataResources.INSTANCE.help32()); helpButton.enable(); @@ -461,45 +446,39 @@ public class FileToolBar { helpLayout.setWidget(0, 1, helpButton); helpLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); - + /* - logsButton = new TextButton("Logs", - TabularDataResources.INSTANCE.logs32()); - logsButton.enable(); - logsButton.setToolTip("Show Logs"); - logsButton.setScale(ButtonScale.LARGE); - logsButton.setIconAlign(IconAlign.TOP); - logsButton.setArrowAlign(ButtonArrowAlign.BOTTOM); - logsButton.addSelectHandler(new SelectHandler() { + * logsButton = new TextButton("Logs", + * TabularDataResources.INSTANCE.logs32()); logsButton.enable(); + * logsButton.setToolTip("Show Logs"); + * logsButton.setScale(ButtonScale.LARGE); + * logsButton.setIconAlign(IconAlign.TOP); + * logsButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + * logsButton.addSelectHandler(new SelectHandler() { + * + * public void onSelect(SelectEvent event) { eventBus.fireEvent(new + * RibbonEvent(RibbonType.LOGS)); } }); + * + * helpLayout.setWidget(0, 1, logsButton); + * helpLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); + */ - public void onSelect(SelectEvent event) { - eventBus.fireEvent(new RibbonEvent(RibbonType.LOGS)); - } - }); - - helpLayout.setWidget(0, 1, logsButton); - helpLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); - */ - /* - testButton = new TextButton("Test", - TabularDataResources.INSTANCE.test32()); - testButton.disable(); - testButton.setToolTip("Test"); - testButton.setScale(ButtonScale.LARGE); - testButton.setIconAlign(IconAlign.TOP); - testButton.setArrowAlign(ButtonArrowAlign.BOTTOM); - testButton.addSelectHandler(new SelectHandler() { + * testButton = new TextButton("Test", + * TabularDataResources.INSTANCE.test32()); testButton.disable(); + * testButton.setToolTip("Test"); + * testButton.setScale(ButtonScale.LARGE); + * testButton.setIconAlign(IconAlign.TOP); + * testButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + * testButton.addSelectHandler(new SelectHandler() { + * + * public void onSelect(SelectEvent event) { eventBus.fireEvent(new + * RibbonEvent(RibbonType.TEST)); } }); + * + * helpLayout.setWidget(0, 2, testButton); + * helpLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); + */ - public void onSelect(SelectEvent event) { - eventBus.fireEvent(new RibbonEvent(RibbonType.TEST)); - } - }); - - helpLayout.setWidget(0, 2, testButton); - helpLayout.getFlexCellFormatter().setRowSpan(0, 2, 2); - */ - cleanCells(helpLayout.getElement()); eventBus.addHandler(UIStateEvent.TYPE, @@ -523,56 +502,48 @@ public class FileToolBar { } } } - private Menu createLanguageMenu() { Menu menuReplace = new Menu(); enItem = new MenuItem(msgs.english()); - // TabularDataResources.INSTANCE.sflagEN()); + // TabularDataResources.INSTANCE.sflagEN()); itItem = new MenuItem(msgs.italian()); - // TabularDataResources.INSTANCE.sflagIT()); + // TabularDataResources.INSTANCE.sflagIT()); esItem = new MenuItem(msgs.spanish()); - // TabularDataResources.INSTANCE.sflagES()); + // TabularDataResources.INSTANCE.sflagES()); - enItem - .addSelectionHandler(new SelectionHandler() { + enItem.addSelectionHandler(new SelectionHandler() { - @Override - public void onSelection(SelectionEvent event) { - eventBus.fireEvent(new RibbonEvent( - RibbonType.LANGUAGE_EN)); + @Override + public void onSelection(SelectionEvent event) { + eventBus.fireEvent(new RibbonEvent(RibbonType.LANGUAGE_EN)); - } - }); + } + }); - itItem - .addSelectionHandler(new SelectionHandler() { + itItem.addSelectionHandler(new SelectionHandler() { - @Override - public void onSelection(SelectionEvent event) { - eventBus.fireEvent(new RibbonEvent( - RibbonType.LANGUAGE_IT)); + @Override + public void onSelection(SelectionEvent event) { + eventBus.fireEvent(new RibbonEvent(RibbonType.LANGUAGE_IT)); - } - }); + } + }); - esItem - .addSelectionHandler(new SelectionHandler() { + esItem.addSelectionHandler(new SelectionHandler() { - @Override - public void onSelection(SelectionEvent event) { - eventBus.fireEvent(new RibbonEvent( - RibbonType.LANGUAGE_ES)); + @Override + public void onSelection(SelectionEvent event) { + eventBus.fireEvent(new RibbonEvent(RibbonType.LANGUAGE_ES)); - } - }); + } + }); menuReplace.add(enItem); menuReplace.add(esItem); menuReplace.add(itItem); return menuReplace; } - public void setUI(UIStateEvent event) { UIStateType uiStateType = event.getUIStateType(); @@ -586,7 +557,7 @@ public class FileToolBar { deleteButton.disable(); propertiesButton.disable(); importCSVButton.enable(); - //importJSONButton.disable(); + // importJSONButton.disable(); importSDMXButton.enable(); exportCSVButton.disable(); exportJSONButton.disable(); @@ -595,10 +566,10 @@ public class FileToolBar { backgroundButton.enable(); historyButton.disable(); undoButton.disable(); - //testButton.disable(); + // testButton.disable(); break; case TR_CLOSE: - case TR_READONLY: + case TR_READONLY: openButton.enable(); cloneButton.disable(); closeButton.disable(); @@ -606,7 +577,7 @@ public class FileToolBar { deleteButton.disable(); propertiesButton.disable(); importCSVButton.enable(); - //importJSONButton.disable(); + // importJSONButton.disable(); importSDMXButton.enable(); exportCSVButton.disable(); exportJSONButton.disable(); @@ -615,11 +586,11 @@ public class FileToolBar { backgroundButton.enable(); historyButton.disable(); undoButton.disable(); - //testButton.disable(); + // testButton.disable(); break; case TR_OPEN: case TABLEUPDATE: - case TABLECURATION: + case TABLECURATION: openButton.enable(); cloneButton.enable(); closeButton.enable(); @@ -627,10 +598,15 @@ public class FileToolBar { deleteButton.enable(); propertiesButton.enable(); importCSVButton.enable(); - //importJSONButton.disable(); + // importJSONButton.disable(); importSDMXButton.enable(); - TRId trId=event.getTrId(); - if (trId!=null&& trId.getTableType()!=null && trId.getTableType().compareTo("Codelist") == 0) { + TRId trId = event.getTrId(); + if (trId != null + && trId.getTableType() != null + && (trId.getTableType().compareTo( + TableType.CODELIST.getTableTypeLabel()) == 0 || trId + .getTableType().compareTo( + TableType.DATASET.getTableTypeLabel()) == 0)) { exportSDMXButton.enable(); } else { exportSDMXButton.disable(); @@ -641,7 +617,7 @@ public class FileToolBar { backgroundButton.enable(); historyButton.enable(); undoButton.enable(); - //testButton.enable(); + // testButton.enable(); break; case WIZARD_OPEN: openButton.disable(); @@ -651,7 +627,7 @@ public class FileToolBar { deleteButton.disable(); propertiesButton.disable(); importCSVButton.disable(); - //importJSONButton.disable(); + // importJSONButton.disable(); importSDMXButton.disable(); exportCSVButton.disable(); exportJSONButton.disable(); @@ -660,7 +636,7 @@ public class FileToolBar { backgroundButton.disable(); historyButton.disable(); undoButton.disable(); - //testButton.disable(); + // testButton.disable(); break; default: break; diff --git a/src/main/webapp/WEB-INF/liferay-portlet.xml b/src/main/webapp/WEB-INF/liferay-portlet.xml index 848dd3a..2d2a7ff 100644 --- a/src/main/webapp/WEB-INF/liferay-portlet.xml +++ b/src/main/webapp/WEB-INF/liferay-portlet.xml @@ -8,5 +8,6 @@ false false false + TabularDataManagerCSS