X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=tools%2Fhtdocs%2Fmkws.js;h=9530afe49ffe66ca6701a1c710f0fd76dda8d30f;hb=5c7b651bae92f6863a79666ef94678b940f9cf72;hp=98b9ff83dc76c08c2df3c1d2d03d785c935c5459;hpb=ba0d56aad3966dab761111933116579ae133b615;p=mkws-moved-to-github.git diff --git a/tools/htdocs/mkws.js b/tools/htdocs/mkws.js index 98b9ff8..9530afe 100644 --- a/tools/htdocs/mkws.js +++ b/tools/htdocs/mkws.js @@ -394,6 +394,7 @@ mkws.limitQuery = function (field, value) { debug("limitQuery(field=" + field + ", value=" + value + ")"); mkws.filters.push({ field: field, value: value }); + redraw_navi(); document.mkwsSearchForm.mkwsQuery.value += ' and ' + field + '="' + value + '"'; onFormSubmitEventHandler(); } @@ -403,10 +404,7 @@ 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: ' - + name + ''; + redraw_navi(); mkws.pp2filter = 'pz:id=' + id; resetPage(); loadSelect(); @@ -414,6 +412,32 @@ mkws.limitTarget = function (id, name) return false; } +mkws.delimitQuery = function (field, value) +{ + debug("delimitQuery(field=" + field + ", value=" + value + ")"); + var newFilters = []; + for (var i in mkws.filters) { + var filter = mkws.filters[i]; + if (filter.field && + field == filter.field && + value == filter.value) { + debug("delimitTarget() removing filter " + JSON.stringify(filter)); + } else { + debug("delimitTarget() keeping filter " + JSON.stringify(filter)); + newFilters.push(filter); + } + } + mkws.filters = newFilters; + + redraw_navi(); + mkws.pp2filter = null; + resetPage(); + loadSelect(); + triggerSearch(); + return false; +} + + mkws.delimitTarget = function (id) { debug("delimitTarget(id=" + id + ")"); @@ -429,8 +453,7 @@ mkws.delimitTarget = function (id) } mkws.filters = newFilters; - var navi = document.getElementById('mkwsNavi'); - navi.innerHTML = ''; + redraw_navi(); mkws.pp2filter = null; resetPage(); loadSelect(); @@ -438,6 +461,32 @@ mkws.delimitTarget = function (id) return false; } + +function redraw_navi () +{ + var navi = document.getElementById('mkwsNavi'); + if (!navi) return; + + var text = ""; + for (var i in mkws.filters) { + if (text) { + text += " | "; + } + var filter = mkws.filters[i]; + if (filter.id) { + text += 'Source: ' + filter.name + ''; + } else { + text += filter.field + ': ' + filter.value + ''; + } + } + + navi.innerHTML = text; +} + + function drawPager (pagerDiv) { //client indexes pages from 1 but pz2 from 0