X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fmkws-team.js;h=a346446e1ebd7ec2979da1c229056eae3374796c;hb=a46a0015c936ca2a6bb337f3d7127296597e0425;hp=a1e942c2921cb16635e65644195ecec3e37ed24e;hpb=0d3b289df04cf273feb973c72da3e750f6825675;p=mkws-moved-to-github.git diff --git a/src/mkws-team.js b/src/mkws-team.js index a1e942c..a346446 100644 --- a/src/mkws-team.js +++ b/src/mkws-team.js @@ -15,7 +15,7 @@ function team($, teamName) { var m_query; // initially undefined var m_sortOrder; // will be set below var m_perpage; // will be set below - var m_filterSet = filterSet(); + var m_filterSet = filterSet(that); var m_totalRecordCount = 0; var m_currentPage = 1; var m_currentRecordId = ''; @@ -163,13 +163,7 @@ function team($, teamName) { that.targetFiltered = function(id) { - for (var i = 0; i < m_filterSet.list().length; i++) { - if (m_filterSet.list()[i].id === id || - m_filterSet.list()[i].id === 'pz:id=' + id) { - return true; - } - } - return false; + return m_filterSet.targetFiltered(id); }; @@ -199,7 +193,7 @@ function team($, teamName) { that.delimitTarget = function(id) { log("delimitTarget(id=" + id + ")"); - removeMatchingFilters(function(f) { return f.id }); + m_filterSet.removeMatching(function(f) { return f.id }); triggerSearch(); return false; }; @@ -207,30 +201,12 @@ function team($, teamName) { that.delimitQuery = function(field, value) { log("delimitQuery(field=" + field + ", value=" + value + ")"); - removeMatchingFilters(function(f) { return f.field && field == f.field && value == f.value }); + m_filterSet.removeMatching(function(f) { return f.field && field == f.field && value == f.value }); triggerSearch(); return false; }; - function removeMatchingFilters(matchFn) { - var newFilters = []; - for (var i in m_filterSet.list()) { - var filter = m_filterSet.list()[i]; - if (matchFn(filter)) { - log("removeMatchingFilters() removing filter " + $.toJSON(filter)); - } else { - log("removeMatchingFilters() keeping filter " + $.toJSON(filter)); - newFilters.push(filter); - } - } - m_filterSet = filterSet(); - for (var i = 0; i < newFilters.length; i++) { - m_filterSet.add(newFilters[i]); - } - } - - that.showPage = function(pageNum) { m_currentPage = pageNum; m_paz.showPage(m_currentPage - 1); @@ -272,7 +248,7 @@ function team($, teamName) { return; } - m_filterSet = filterSet(); + m_filterSet = filterSet(that); triggerSearch(query, sortOrder, maxrecs, perpage, limit, targets, torusquery); switchView('records'); // In case it's configured to start off as hidden m_submitted = true;