X-Git-Url: http://jaekl.net/gitweb/?p=quanweb.git;a=blobdiff_plain;f=js%2FSearchController.js;fp=js%2FSearchController.js;h=0000000000000000000000000000000000000000;hp=b95c951b3c09250fc0f0d2b23d0d9705385b13e8;hb=13efcb823cde095d5562ac061ef5a859d91c0f70;hpb=222a53b5def154dcc59dbaad98404ea2930e8434 diff --git a/js/SearchController.js b/js/SearchController.js deleted file mode 100644 index b95c951..0000000 --- a/js/SearchController.js +++ /dev/null @@ -1,87 +0,0 @@ -// ================ -// SearchController - -var SearchController = (function () { - var my = {}, - booksModel = undefined; - - const terms = ['aut', 'tit', 'ser']; - - // ============== - // Public methods - - my.init = function(linkedBooksModel) { - booksModel = linkedBooksModel; - - for (var idx in terms) { - addEnterListener(terms[idx]); - } - }; - - my.onSearch = function() { - var url = constructSearchUrl(); - - fetch(url, {method:'GET', cache:'default'}) - .then(function(response) {return response.json();}) - .then(function(jsonValue) { - // console.log('JSON response: ', jsonValue); - booksModel.ids = jsonValue; - booksModel.count = booksModel.ids.length; - booksModel.first = (-1); - - var elem = document.getElementById('slider'); - elem.max = booksModel.count; - - PagingController.adjustPos(0); - }) - .catch(function(err) { - var msg = 'Error fetching JSON from URL: ' + url + ': ' + err + ':' + err.stack; - console.log(msg); - report(msg); - }); - }; - - // =============== - // Private methods - - // KeyUp listener. If the key is [Enter], then trigger a click on the [Search] button. - function addEnterListener(ctrlId) { - document.getElementById(ctrlId).addEventListener('keyup', function(event) { - event.preventDefault(); - if (event.keyCode === 13) { - document.getElementById('search').click(); - } - }); - } - - function constructSearchUrl() { - var url = window.location.protocol + '//' + window.location.host + '/search/'; - - var firstTime = true; - - for (var idx in terms) { - var term = terms[idx]; - var elem = document.getElementById(term); - if (null === elem) { - console.log('Error: could not find form element for search term "' + term + '".'); - continue; - } - - var value = elem.value; - if (value.length > 0) { - if (firstTime) { - url += '?'; - firstTime = false; - } - else { - url += '&'; - } - url += term + '=' + encodeURIComponent('%' + value + '%'); - } - } - - return url; - } - - return my; -})();