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 963ef0e..dc82727 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 @@ -37,6 +37,7 @@ import org.gcube.portlets.user.td.rulewidget.client.RuleApplyDialog; import org.gcube.portlets.user.td.rulewidget.client.RuleDeleteDialog; import org.gcube.portlets.user.td.rulewidget.client.RuleOpenDialog; import org.gcube.portlets.user.td.rulewidget.client.RuleShareDialog; +import org.gcube.portlets.user.td.rulewidget.client.multicolumn.RuleOnTableNewWizard; import org.gcube.portlets.user.td.sdmxexportwidget.client.SDMXExportWizardTD; import org.gcube.portlets.user.td.sdmximportwidget.client.SDMXImportWizardTD; import org.gcube.portlets.user.td.sharewidget.client.TRShare; @@ -894,24 +895,30 @@ public class TabularDataController { break; case COLUMN_BATCH_REPLACE: break; - case RULE_NEW: - openNewRule(); - break; case RULE_MODIFY: openModifyRule(); break; case RULE_DELETE: openDeleteRule(); break; - case RULE_APPLY: - openApplyRule(); - break; case RULES_ACTIVE: - openRulesAppliedOnTabularResource(); + openRulesActiveOnTabularResource(); break; case RULE_SHARE: openShareRule(); break; + case RULE_ON_COLUMN_NEW: + openOnColumnNewRule(); + break; + case RULE_ON_COLUMN_APPLY: + openOnColumnApplyRule(); + break; + case RULE_ON_TABLE_NEW: + openOnTableNewRule(); + break; + case RULE_ON_TABLE_APPLY: + openOnTableApplyRule(); + break; case TEMPLATE_OPEN: openTemplateOpen(); break; @@ -1712,12 +1719,7 @@ public class TabularDataController { }); } - private void openNewRule() { - Log.debug("Request Open New Rule Dialog"); - RuleOnColumnCreateDialog cfDialog = new RuleOnColumnCreateDialog(eventBus); - cfDialog.show(); - } private void openModifyRule() { Log.debug("Request Open Modify Rule Dialog"); @@ -1726,6 +1728,8 @@ public class TabularDataController { } + + private void openDeleteRule() { Log.debug("Request Open Delete Rule Dialog"); RuleDeleteDialog cfDialog = new RuleDeleteDialog(eventBus); @@ -1733,10 +1737,11 @@ public class TabularDataController { } - private void openApplyRule() { - Log.debug("Request Open Apply Rule Dialog"); + + private void openRulesActiveOnTabularResource() { + Log.debug("Request Open Rules Active on TabularResource Dialog"); if (trId != null) { - RuleApplyDialog raDialog = new RuleApplyDialog( + RuleActiveDialog raDialog = new RuleActiveDialog( trId, eventBus); raDialog.show(); } else { @@ -1755,10 +1760,19 @@ public class TabularDataController { } - private void openRulesAppliedOnTabularResource() { - Log.debug("Request Open Rules Applied on TabularResource Dialog"); + + + private void openOnColumnNewRule() { + Log.debug("Request Open On Column New Rule Dialog"); + RuleOnColumnCreateDialog cfDialog = new RuleOnColumnCreateDialog(eventBus); + cfDialog.show(); + + } + + private void openOnColumnApplyRule() { + Log.debug("Request Open On Column Apply Rule Dialog"); if (trId != null) { - RuleActiveDialog raDialog = new RuleActiveDialog( + RuleApplyDialog raDialog = new RuleApplyDialog( trId, eventBus); raDialog.show(); } else { @@ -1770,6 +1784,64 @@ public class TabularDataController { } + private void openOnTableNewRule() { + Log.debug("Request Open On Table New Rule Dialog"); + GWT.runAsync(new RunAsyncCallback() { + + public void onSuccess() { + openWizard(); + RuleOnTableNewWizard ruleOnTableNewWizard = new RuleOnTableNewWizard(eventBus); + + ruleOnTableNewWizard.addListener(new WizardListener() { + public void failed(String title, String message, + String details, Throwable throwable) { + UtilsGXT3.alert(title, message + " " + details); + resumeUIState(); + } + + public void completed(TRId id) { + resumeUIState(); + + } + + @Override + public void putInBackground() { + Log.debug("PutInBakground"); + resumeUIState(); + } + + public void aborted() { + resumeUIState(); + } + }); + + ruleOnTableNewWizard.show(); + } + + public void onFailure(Throwable reason) { + asyncCodeLoadingFailed(reason); + } + }); + + + } + + private void openOnTableApplyRule() { + Log.debug("Request Open On Table Apply Rule Dialog"); + /*if (trId != null) { + RuleApplyDialog raDialog = new RuleApplyDialog( + trId, eventBus); + raDialog.show(); + } else { + Log.error("TRId is null"); + UtilsGXT3.alert("Error", + "No current tabular resource present"); + }*/ + + + } + + private void callDiscard() { diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBar.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBar.java index b1b808a..d07bbd6 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBar.java +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBar.java @@ -46,6 +46,10 @@ public class RuleToolBar { private TextButton ruleOnColumnNewButton; private TextButton ruleOnColumnApplyButton; + // On Table + private TextButton ruleOnTableNewButton; + private TextButton ruleOnTableApplyButton; + public RuleToolBar(EventBus eventBus) { this.eventBus = eventBus; build(); @@ -107,20 +111,17 @@ public class RuleToolBar { ruleLayout.setWidget(0, 1, ruleDeleteButton); ruleLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); - ruleActiveButton = new TextButton( - msgs.ruleActiveButton(), + ruleActiveButton = new TextButton(msgs.ruleActiveButton(), TabularDataResources.INSTANCE.ruleActive32()); ruleActiveButton.disable(); ruleActiveButton.setScale(ButtonScale.LARGE); ruleActiveButton.setIconAlign(IconAlign.TOP); - ruleActiveButton.setToolTip(msgs - .ruleActiveButtonToolTip()); + ruleActiveButton.setToolTip(msgs.ruleActiveButtonToolTip()); ruleActiveButton.setArrowAlign(ButtonArrowAlign.BOTTOM); ruleActiveButton.addSelectHandler(new SelectHandler() { public void onSelect(SelectEvent event) { - eventBus.fireEvent(new RibbonEvent( - RibbonType.RULES_ACTIVE)); + eventBus.fireEvent(new RibbonEvent(RibbonType.RULES_ACTIVE)); } }); @@ -157,34 +158,34 @@ public class RuleToolBar { FlexTable ruleOnColumnLayout = new FlexTable(); ruleOnColumnGroup.add(ruleOnColumnLayout); - ruleOnColumnNewButton = new TextButton(msgs.ruleNewButton(), + ruleOnColumnNewButton = new TextButton(msgs.ruleOnColumnNewButton(), TabularDataResources.INSTANCE.ruleColumnAdd32()); ruleOnColumnNewButton.enable(); - ruleOnColumnNewButton.setToolTip(msgs.ruleNewButtonToolTip()); + ruleOnColumnNewButton.setToolTip(msgs.ruleOnColumnNewButtonToolTip()); ruleOnColumnNewButton.setScale(ButtonScale.LARGE); ruleOnColumnNewButton.setIconAlign(IconAlign.TOP); ruleOnColumnNewButton.setArrowAlign(ButtonArrowAlign.BOTTOM); ruleOnColumnNewButton.addSelectHandler(new SelectHandler() { public void onSelect(SelectEvent event) { - eventBus.fireEvent(new RibbonEvent(RibbonType.RULE_NEW)); + eventBus.fireEvent(new RibbonEvent(RibbonType.RULE_ON_COLUMN_NEW)); } }); ruleOnColumnLayout.setWidget(0, 0, ruleOnColumnNewButton); ruleOnColumnLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); - ruleOnColumnApplyButton = new TextButton(msgs.ruleApplyButton(), + ruleOnColumnApplyButton = new TextButton(msgs.ruleOnColumnApplyButton(), TabularDataResources.INSTANCE.ruleColumnApply32()); ruleOnColumnApplyButton.disable(); ruleOnColumnApplyButton.setScale(ButtonScale.LARGE); ruleOnColumnApplyButton.setIconAlign(IconAlign.TOP); - ruleOnColumnApplyButton.setToolTip(msgs.ruleApplyButtonToolTip()); + ruleOnColumnApplyButton.setToolTip(msgs.ruleOnColumnApplyButtonToolTip()); ruleOnColumnApplyButton.setArrowAlign(ButtonArrowAlign.BOTTOM); ruleOnColumnApplyButton.addSelectHandler(new SelectHandler() { public void onSelect(SelectEvent event) { - eventBus.fireEvent(new RibbonEvent(RibbonType.RULE_APPLY)); + eventBus.fireEvent(new RibbonEvent(RibbonType.RULE_ON_COLUMN_APPLY)); } }); @@ -193,6 +194,53 @@ public class RuleToolBar { cleanCells(ruleLayout.getElement()); + // Table Rules + ButtonGroup ruleOnTableGroup = new ButtonGroup(); + ruleOnTableGroup.setId("On Table"); + ruleOnTableGroup.setStyleName("ribbon"); + ruleOnTableGroup.setHeadingText(msgs.ruleOnTableGroupHeadingText()); + + toolBar.add(ruleOnTableGroup); + + FlexTable ruleOnTableLayout = new FlexTable(); + ruleOnTableGroup.add(ruleOnTableLayout); + + ruleOnTableNewButton = new TextButton(msgs.ruleOnTableNewButton(), + TabularDataResources.INSTANCE.ruleTableAdd32()); + ruleOnTableNewButton.enable(); + ruleOnTableNewButton.setToolTip(msgs.ruleOnTableNewButtonToolTip()); + ruleOnTableNewButton.setScale(ButtonScale.LARGE); + ruleOnTableNewButton.setIconAlign(IconAlign.TOP); + ruleOnTableNewButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + ruleOnTableNewButton.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + eventBus.fireEvent(new RibbonEvent(RibbonType.RULE_ON_TABLE_NEW)); + } + }); + + ruleOnTableLayout.setWidget(0, 0, ruleOnTableNewButton); + ruleOnTableLayout.getFlexCellFormatter().setRowSpan(0, 0, 2); + + ruleOnTableApplyButton = new TextButton(msgs.ruleOnTableApplyButton(), + TabularDataResources.INSTANCE.ruleTableApply32()); + ruleOnTableApplyButton.disable(); + ruleOnTableApplyButton.setScale(ButtonScale.LARGE); + ruleOnTableApplyButton.setIconAlign(IconAlign.TOP); + ruleOnTableApplyButton.setToolTip(msgs.ruleOnTableApplyButtonToolTip()); + ruleOnTableApplyButton.setArrowAlign(ButtonArrowAlign.BOTTOM); + ruleOnTableApplyButton.addSelectHandler(new SelectHandler() { + + public void onSelect(SelectEvent event) { + eventBus.fireEvent(new RibbonEvent(RibbonType.RULE_ON_TABLE_APPLY)); + } + }); + + ruleOnTableLayout.setWidget(0, 1, ruleOnTableApplyButton); + ruleOnTableLayout.getFlexCellFormatter().setRowSpan(0, 1, 2); + + cleanCells(ruleLayout.getElement()); + eventBus.addHandler(UIStateEvent.TYPE, new UIStateEvent.UIStateHandler() { @@ -226,6 +274,8 @@ public class RuleToolBar { ruleShareButton.enable(); ruleOnColumnNewButton.enable(); ruleOnColumnApplyButton.disable(); + ruleOnTableNewButton.enable(); + ruleOnTableApplyButton.disable(); break; case TR_CLOSE: case TR_READONLY: @@ -235,7 +285,8 @@ public class RuleToolBar { ruleShareButton.enable(); ruleOnColumnNewButton.enable(); ruleOnColumnApplyButton.disable(); - + ruleOnTableNewButton.enable(); + ruleOnTableApplyButton.disable(); break; case TR_OPEN: case TABLEUPDATE: @@ -245,8 +296,9 @@ public class RuleToolBar { ruleActiveButton.enable(); ruleShareButton.enable(); ruleOnColumnNewButton.enable(); - ruleOnColumnApplyButton.enable(); - + ruleOnColumnApplyButton.enable(); + ruleOnTableNewButton.enable(); + ruleOnTableApplyButton.enable(); break; case WIZARD_OPEN: ruleOpenButton.disable(); @@ -255,6 +307,8 @@ public class RuleToolBar { ruleShareButton.disable(); ruleOnColumnNewButton.disable(); ruleOnColumnApplyButton.disable(); + ruleOnTableNewButton.disable(); + ruleOnTableApplyButton.disable(); break; default: break; diff --git a/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.java b/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.java index 96b5efe..9e19e58 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.java +++ b/src/main/java/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.java @@ -42,18 +42,32 @@ public interface RuleToolBarMessages extends Messages { String ruleOnColumnGroupHeadingText(); @DefaultMessage("New") - String ruleNewButton(); + String ruleOnColumnNewButton(); @DefaultMessage("New") - String ruleNewButtonToolTip(); + String ruleOnColumnNewButtonToolTip(); @DefaultMessage("Apply") - String ruleApplyButton(); + String ruleOnColumnApplyButton(); @DefaultMessage("Apply") - String ruleApplyButtonToolTip(); + String ruleOnColumnApplyButtonToolTip(); + @DefaultMessage("On Table") + String ruleOnTableGroupHeadingText(); + @DefaultMessage("New") + String ruleOnTableNewButton(); + + @DefaultMessage("New") + String ruleOnTableNewButtonToolTip(); + + @DefaultMessage("Apply") + String ruleOnTableApplyButton(); + + @DefaultMessage("Apply") + String ruleOnTableApplyButtonToolTip(); + diff --git a/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.properties b/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.properties index 59378ab..94892b7 100644 --- a/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.properties +++ b/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages.properties @@ -8,7 +8,13 @@ ruleShareButtonToolTip = Share ruleActiveButton = Active ruleActiveButtonToolTip = Active ruleOnColumnGroupHeadingText = On Column -ruleNewButton = New -ruleNewButtonToolTip = New -ruleApplyButton = Apply -ruleApplyButtonToolTip = Apply +ruleOnColumnNewButton = New +ruleOnColumnNewButtonToolTip = New +ruleOnColumnApplyButton = Apply +ruleOnColumnApplyButtonToolTip = Apply +ruleOnTableGroupHeadingText = On Table +ruleOnTableNewButton = New +ruleOnTableNewButtonToolTip = New +ruleOnTableApplyButton = Apply +ruleOnTableApplyButtonToolTip = Apply + diff --git a/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_es.properties b/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_es.properties index bd7b460..a705e68 100644 --- a/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_es.properties +++ b/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_es.properties @@ -8,7 +8,12 @@ ruleShareButtonToolTip = Cuota ruleActiveButton = Activo ruleActiveToolTip = Activo ruleOnColumnGroupHeadingText = On Columna -ruleNewButton = Nuevo -ruleNewButtonToolTip = Nuevo -ruleApplyButton = Aplicar -ruleApplyButtonToolTip = Aplicar \ No newline at end of file +ruleOnColumnNewButton = Nuevo +ruleOnColumnNewButtonToolTip = Nuevo +ruleOnColumnApplyButton = Aplicar +ruleOnColumnApplyButtonToolTip = Aplicar +ruleOnTableGroupHeadingText = On Tabla +ruleOnTableNewButton = Nuevo +ruleOnTableNewButtonToolTip = Nuevo +ruleOnTableApplyButton = Aplicar +ruleOnTableApplyButtonToolTip = Aplicar \ No newline at end of file diff --git a/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_it.properties b/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_it.properties index 188430d..d299c1e 100644 --- a/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_it.properties +++ b/src/main/resources/org/gcube/portlets/user/td/client/ribbon/RuleToolBarMessages_it.properties @@ -8,7 +8,12 @@ ruleShareButtonToolTip = Condividi ruleActiveButton = Attive ruleActiveButtonToolTip = Attive ruleOnColumnGroupHeadingText = Su Colonna -ruleNewButton = Nuova -ruleNewButtonToolTip = Nuova -ruleApplyButton = Applica -ruleApplyButtonToolTip = Applica \ No newline at end of file +ruleOnColumnNewButton = Nuova +ruleOnColumnNewButtonToolTip = Nuova +ruleOnColumnApplyButton = Applica +ruleOnColumnApplyButtonToolTip = Applica +ruleOnTableGroupHeadingText = Su Tabella +ruleOnTableNewButton = Nuova +ruleOnTableNewButtonToolTip = Nuova +ruleOnTableApplyButton = Applica +ruleOnTableApplyButtonToolTip = Applica \ No newline at end of file diff --git a/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml b/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml index 2fe84cf..a54958c 100644 --- a/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml +++ b/src/main/resources/org/gcube/portlets/user/td/tabulardataportlet.gwt.xml @@ -99,11 +99,11 @@ - --> + --> + -