Skip to content

Commit

Permalink
Query button is disabled during query operation (#1716)
Browse files Browse the repository at this point in the history
Issue was showing if Query button was pressed so fast that query operation
didn't finish before next was triggered. That confused paging toolbar.
Solution was to disable button during query operation, so that user is
not able to trigger too many queries.

This solves issue #1628

Signed-off-by: Uros Mesaric Kunst <uros.mesaric-kunst@comtrade.com>
  • Loading branch information
muros-ct authored May 21, 2018
1 parent 197005b commit 9a4775a
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ public void componentSelected(ButtonEvent ce) {
}
});
queryButton.disable();

TableLayout queryButtonTL = new TableLayout();
queryButtonTL.setCellPadding(0);
LayoutContainer queryButtonContainer = new LayoutContainer(queryButtonTL);
Expand All @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -167,6 +170,34 @@ public void handleEvent(BaseEvent be) {
}
}
});
loader.addListener(Loader.BeforeLoad, new Listener<BaseEvent>() {

@Override
public void handleEvent(BaseEvent baseEvent) {
if (queryButton != null) {
queryButton.disable();
}
}
} );
loader.addListener(Loader.Load, new Listener<BaseEvent>() {

@Override
public void handleEvent(BaseEvent baseEvent) {
if (queryButton != null) {
queryButton.enable();
}
}
} );
loader.addListener(Loader.LoadException, new Listener<BaseEvent>() {

@Override
public void handleEvent(BaseEvent baseEvent) {
if (queryButton != null) {
queryButton.enable();
}
}
} );

loader.setSortField("timestampFormatted");
loader.setSortDir(SortDir.DESC);
loader.setRemoteSort(true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down

0 comments on commit 9a4775a

Please sign in to comment.