diff --git a/src/ui/public/courier/_request_queue.js b/src/ui/public/courier/_request_queue.js index ca8ce4ad793b..e6dcf78957c6 100644 --- a/src/ui/public/courier/_request_queue.js +++ b/src/ui/public/courier/_request_queue.js @@ -16,8 +16,11 @@ define(function (require) { }); }; - queue.get = function (/* strategies.. */) { - var strategies = _.toArray(arguments); + queue.getStartable = function (...strategies) { + return queue.get(...strategies).filter(req => req.canStart()); + }; + + queue.get = function (...strategies) { return queue.filter(function (req) { var strategyMatch = !strategies.length; if (!strategyMatch) { @@ -26,7 +29,7 @@ define(function (require) { }); } - return strategyMatch && req.canStart(); + return strategyMatch; }); }; diff --git a/src/ui/public/courier/data_source/_abstract.js b/src/ui/public/courier/data_source/_abstract.js index 0099c3d2bd33..a4f3b80fe237 100644 --- a/src/ui/public/courier/data_source/_abstract.js +++ b/src/ui/public/courier/data_source/_abstract.js @@ -203,7 +203,7 @@ define(function (require) { *****/ SourceAbstract.prototype._myQueued = function () { - var reqs = requestQueue.get(this._fetchStrategy); + var reqs = requestQueue.getStartable(this._fetchStrategy); return _.where(reqs, { source: this }); }; diff --git a/src/ui/public/courier/fetch/fetch.js b/src/ui/public/courier/fetch/fetch.js index 03ce8199aa43..adf1871bb425 100644 --- a/src/ui/public/courier/fetch/fetch.js +++ b/src/ui/public/courier/fetch/fetch.js @@ -9,7 +9,7 @@ define(function (require) { var INCOMPLETE = Private(require('ui/courier/fetch/_req_status')).INCOMPLETE; function fetchQueued(strategy) { - var requests = requestQueue.get(strategy); + var requests = requestQueue.getStartable(strategy); if (!requests.length) return Promise.resolve(); else return fetchThese(requests); } diff --git a/src/ui/public/courier/fetch/request/segmented.js b/src/ui/public/courier/fetch/request/segmented.js index 8289c16d1b97..a2291b3b99c6 100644 --- a/src/ui/public/courier/fetch/request/segmented.js +++ b/src/ui/public/courier/fetch/request/segmented.js @@ -2,7 +2,6 @@ define(function (require) { return function CourierSegmentedReqProvider(es, Private, Promise, Notifier, timefilter, config) { var _ = require('lodash'); var SearchReq = Private(require('ui/courier/fetch/request/search')); - var requestQueue = Private(require('ui/courier/_request_queue')); var SegmentedHandle = Private(require('ui/courier/fetch/request/_segmented_handle')); var notify = new Notifier({