From 8382cf5bd5f731bb3bd4eaa8b07c5a2cfc7efde8 Mon Sep 17 00:00:00 2001 From: James Barnsley Date: Fri, 20 Oct 2017 09:09:30 +1300 Subject: [PATCH] Detect and alert when searching no sources, fixes #209 --- src/js/services/mopidy/middleware.js | 41 ++++++++++++++++------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/src/js/services/mopidy/middleware.js b/src/js/services/mopidy/middleware.js index 4b06a4f7..e5f8c8a6 100755 --- a/src/js/services/mopidy/middleware.js +++ b/src/js/services/mopidy/middleware.js @@ -553,29 +553,34 @@ const MopidyMiddleware = (function(){ // Flush out our previous results store.dispatch({type: 'MOPIDY_CLEAR_SEARCH_RESULTS'}) - var uri_schemes_to_ignore = ['spotify:'] - var uri_schemes = Object.assign([], store.getState().ui.search_uri_schemes) + var uri_schemes_to_ignore = ['spotify:']; + var uri_schemes = Object.assign([], store.getState().ui.search_uri_schemes); for (var i = 0; i < uri_schemes.length; i++){ if (uri_schemes_to_ignore.includes(uri_schemes[i])){ - uri_schemes.splice(i,1) + uri_schemes.splice(i,1); } } - var uri_schemes_total = uri_schemes.length - var uri_scheme = uri_schemes.shift() + var uri_schemes_total = uri_schemes.length; + var uri_scheme = uri_schemes.shift(); + + if (uri_schemes_total <= 0){ + store.dispatch(uiActions.createNotification('No sources selected', 'warning')); + } else { + store.dispatch(uiActions.startProcess( + 'MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', + 'Searching '+uri_schemes_total+' Mopidy providers', + { + context: action.context, + query: action.query, + limit: action.limit, + total: uri_schemes_total, + remaining: uri_schemes.length, + uri_scheme: uri_scheme, + uri_schemes: uri_schemes + } + )); + } - store.dispatch(uiActions.startProcess( - 'MOPIDY_GET_SEARCH_RESULTS_PROCESSOR', - 'Searching '+uri_schemes_total+' Mopidy providers', - { - context: action.context, - query: action.query, - limit: action.limit, - total: uri_schemes_total, - remaining: uri_schemes.length, - uri_scheme: uri_scheme, - uri_schemes: uri_schemes - } - )); break