From ba0d56aad3966dab761111933116579ae133b615 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Fri, 22 Nov 2013 12:15:13 +0000 Subject: [PATCH] Add to mkws.filters array as facets are selected. Pass target ID into delimitTarget(). delimitTarget() now removes selected target from filters. --- tools/htdocs/mkws.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 11f17fd..98b9ff8 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -5,6 +5,7 @@ // Set up namespace and some state. var mkws = { + filters: [], pp2filter: null, }; @@ -374,6 +375,7 @@ function resetPage() function triggerSearch () { + debug("triggerSearch: filters = " + JSON.stringify(mkws.filters)); my_paz.search(document.mkwsSearchForm.mkwsQuery.value, recPerPage, curSort, mkws.pp2filter); } @@ -391,6 +393,7 @@ function loadSelect () mkws.limitQuery = function (field, value) { debug("limitQuery(field=" + field + ", value=" + value + ")"); + mkws.filters.push({ field: field, value: value }); document.mkwsSearchForm.mkwsQuery.value += ' and ' + field + '="' + value + '"'; onFormSubmitEventHandler(); } @@ -399,9 +402,10 @@ mkws.limitQuery = function (field, value) mkws.limitTarget = function (id, name) { debug("limitTarget(id=" + id + ", name=" + name + ")"); + mkws.filters.push({ id: id, name: name }); var navi = document.getElementById('mkwsNavi'); navi.innerHTML = - 'Source: ' + 'Source: ' + name + ''; mkws.pp2filter = 'pz:id=' + id; resetPage(); @@ -410,8 +414,21 @@ mkws.limitTarget = function (id, name) return false; } -mkws.delimitTarget = function () +mkws.delimitTarget = function (id) { + debug("delimitTarget(id=" + id + ")"); + var newFilters = []; + for (var i in mkws.filters) { + var filter = mkws.filters[i]; + if (filter.id) { + debug("delimitTarget() removing filter " + JSON.stringify(filter)); + } else { + debug("delimitTarget() keeping filter " + JSON.stringify(filter)); + newFilters.push(filter); + } + } + mkws.filters = newFilters; + var navi = document.getElementById('mkwsNavi'); navi.innerHTML = ''; mkws.pp2filter = null; -- 1.7.10.4