diff --git a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/AssetTabItem.java b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/AssetTabItem.java index 8ad79a48283..44fc17facc3 100644 --- a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/AssetTabItem.java +++ b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/AssetTabItem.java @@ -139,6 +139,7 @@ public void componentSelected(ButtonEvent ce) { } }); queryButton.disable(); + TableLayout queryButtonTL = new TableLayout(); queryButtonTL.setCellPadding(0); LayoutContainer queryButtonContainer = new LayoutContainer(queryButtonTL); @@ -154,7 +155,7 @@ public void componentSelected(ButtonEvent ce) { resultsTabPanel.setBorders(false); resultsTabPanel.setBodyBorder(false); - resultsTable = new ResultsTable(currentSession); + resultsTable = new ResultsTable(currentSession, queryButton); TabItem resultsTableTabItem = new TabItem(MSGS.resultsTableTabItemTitle(), new KapuaIcon(IconSet.TABLE)); resultsTableTabItem.setLayout(new FitLayout()); resultsTableTabItem.add(resultsTable); diff --git a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/DeviceTabItem.java b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/DeviceTabItem.java index 7c4929887e5..2e3f0d77bf9 100644 --- a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/DeviceTabItem.java +++ b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/DeviceTabItem.java @@ -118,8 +118,8 @@ public void componentSelected(ButtonEvent ce) { resultsTable.refresh(gwtDevice, metricsInfo); } }); - queryButton.disable(); + TableLayout queryButtonTL = new TableLayout(); queryButtonTL.setCellPadding(0); LayoutContainer queryButtonContainer = new LayoutContainer(queryButtonTL); @@ -135,7 +135,7 @@ public void componentSelected(ButtonEvent ce) { resultsTabPanel.setBorders(false); resultsTabPanel.setBodyBorder(false); - resultsTable = new ResultsTable(currentSession); + resultsTable = new ResultsTable(currentSession, queryButton); TabItem resultsTableTabItem = new TabItem(MSGS.resultsTableTabItemTitle(), new KapuaIcon(IconSet.TABLE)); resultsTableTabItem.setLayout(new FitLayout()); resultsTableTabItem.add(resultsTable); diff --git a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/ResultsTable.java b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/ResultsTable.java index 2b01c848ea8..b940db672dd 100644 --- a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/ResultsTable.java +++ b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/ResultsTable.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2017 Eurotech and/or its affiliates and others + * Copyright (c) 2011, 2018 Eurotech and/or its affiliates and others * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -42,6 +42,7 @@ import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import org.eclipse.kapua.app.console.module.api.client.resources.icons.IconSet; +import org.eclipse.kapua.app.console.module.api.client.ui.button.Button; import org.eclipse.kapua.app.console.module.api.client.ui.button.ExportButton; import org.eclipse.kapua.app.console.module.api.client.ui.widget.DateRangeSelector; import org.eclipse.kapua.app.console.module.api.client.ui.widget.DateRangeSelectorListener; @@ -89,9 +90,11 @@ public class ResultsTable extends LayoutContainer { private Date endDate; private ExportButton exportButton; private DateRangeSelector dateRangeSelector; + private Button queryButton; - public ResultsTable(GwtSession currentSession) { + public ResultsTable(GwtSession currentSession, Button queryButton) { this.currentSession = currentSession; + this.queryButton = queryButton; } @Override @@ -167,6 +170,34 @@ public void handleEvent(BaseEvent be) { } } }); + loader.addListener(Loader.BeforeLoad, new Listener() { + + @Override + public void handleEvent(BaseEvent baseEvent) { + if (queryButton != null) { + queryButton.disable(); + } + } + } ); + loader.addListener(Loader.Load, new Listener() { + + @Override + public void handleEvent(BaseEvent baseEvent) { + if (queryButton != null) { + queryButton.enable(); + } + } + } ); + loader.addListener(Loader.LoadException, new Listener() { + + @Override + public void handleEvent(BaseEvent baseEvent) { + if (queryButton != null) { + queryButton.enable(); + } + } + } ); + loader.setSortField("timestampFormatted"); loader.setSortDir(SortDir.DESC); loader.setRemoteSort(true); diff --git a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/TopicsTabItem.java b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/TopicsTabItem.java index bdeb73c3456..520713fda14 100644 --- a/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/TopicsTabItem.java +++ b/console/module/data/src/main/java/org/eclipse/kapua/app/console/module/data/client/TopicsTabItem.java @@ -117,6 +117,8 @@ public void componentSelected(ButtonEvent ce) { resultsTable.refresh(topic, metrics); } }); + queryButton.disable(); + TableLayout queryButtonTL = new TableLayout(); queryButtonTL.setCellPadding(0); LayoutContainer queryButtonContainer = new LayoutContainer(queryButtonTL); @@ -132,7 +134,7 @@ public void componentSelected(ButtonEvent ce) { resultsTabPanel.setBorders(false); resultsTabPanel.setBodyBorder(false); - resultsTable = new ResultsTable(currentSession); + resultsTable = new ResultsTable(currentSession, queryButton); TabItem resultsTableTabItem = new TabItem(MSGS.resultsTableTabItemTitle(), new KapuaIcon(IconSet.TABLE)); resultsTableTabItem.setLayout(new FitLayout()); resultsTableTabItem.add(resultsTable);