|
@@ -675,7 +675,8 @@ export class Explore extends React.PureComponent<ExploreProps, ExploreState> {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
this.setState(state => {
|
|
this.setState(state => {
|
|
|
- const { history, queryTransactions, scanning } = state;
|
|
|
|
|
|
|
+ const { history, queryTransactions } = state;
|
|
|
|
|
+ let { scanning } = state;
|
|
|
|
|
|
|
|
// Transaction might have been discarded
|
|
// Transaction might have been discarded
|
|
|
const transaction = queryTransactions.find(qt => qt.id === transactionId);
|
|
const transaction = queryTransactions.find(qt => qt.id === transactionId);
|
|
@@ -712,15 +713,21 @@ export class Explore extends React.PureComponent<ExploreProps, ExploreState> {
|
|
|
const nextHistory = updateHistory(history, datasourceId, queries);
|
|
const nextHistory = updateHistory(history, datasourceId, queries);
|
|
|
|
|
|
|
|
// Keep scanning for results if this was the last scanning transaction
|
|
// Keep scanning for results if this was the last scanning transaction
|
|
|
- if (_.size(result) === 0 && scanning) {
|
|
|
|
|
- const other = nextQueryTransactions.find(qt => qt.scanning && !qt.done);
|
|
|
|
|
- if (!other) {
|
|
|
|
|
- this.scanTimer = setTimeout(this.scanPreviousRange, 1000);
|
|
|
|
|
|
|
+ if (scanning) {
|
|
|
|
|
+ if (_.size(result) === 0) {
|
|
|
|
|
+ const other = nextQueryTransactions.find(qt => qt.scanning && !qt.done);
|
|
|
|
|
+ if (!other) {
|
|
|
|
|
+ this.scanTimer = setTimeout(this.scanPreviousRange, 1000);
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // We can stop scanning if we have a result
|
|
|
|
|
+ scanning = false;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
return {
|
|
|
...results,
|
|
...results,
|
|
|
|
|
+ scanning,
|
|
|
history: nextHistory,
|
|
history: nextHistory,
|
|
|
queryTransactions: nextQueryTransactions,
|
|
queryTransactions: nextQueryTransactions,
|
|
|
};
|
|
};
|