From 736ebcee8094de27aded6b7b79a4095ba9b5556e Mon Sep 17 00:00:00 2001 From: Szymon Nowak Date: Tue, 15 Jul 2014 14:28:38 +0200 Subject: [PATCH] Allow to search by any supported URI scheme --- webclient/js/library.js | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/webclient/js/library.js b/webclient/js/library.js index ec45d1b..ed39ba6 100644 --- a/webclient/js/library.js +++ b/webclient/js/library.js @@ -28,18 +28,26 @@ function initSearch() { delete customTracklists['trackresultscache']; $("#searchresults").hide(); - var query = {}, - uris = []; + mopidy.getUriSchemes().then(function (schemes) { + var query = {}, + uris = []; - if (value.match(/^spotify:/)) { - query = {uri: [value]}; - uris = ["spotify:"]; - } else { - query = {any: [value]}; - } + var regexp = $.map(schemes, function (scheme) { + return '^' + scheme + ':'; + }).join('|'); - mopidy.library.search(query, uris).then(processSearchResults, console.error); - // console.log('search sent', value); + var match = value.match(regexp); + if (match) { + var scheme = match[0]; + query = {uri: [value]}; + uris = [scheme]; + } else { + query = {any: [value]}; + } + + mopidy.library.search(query, uris).then(processSearchResults, console.error); + // console.log('search sent', value); + }); } }