From 01cfe697c0e78fd66197ad31f32b389f18313601 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Thu, 30 Apr 2015 17:52:33 +0100 Subject: [PATCH] New filterSet method, fragmentItems(). Returns a hash of key=value pairs representing the filter-set. These will become part of the URL-fragment representing the state. --- src/mkws-filter.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/mkws-filter.js b/src/mkws-filter.js index 0b2ea63..63d80bd 100644 --- a/src/mkws-filter.js +++ b/src/mkws-filter.js @@ -54,6 +54,7 @@ function filterSet(team) { m_list = newList; }; + // ### Surely the || in this function should be && that.targetFiltered = function(id) { for (var i = 0; i < m_list.length; i++) { if (m_list[i].type === 'target' || @@ -100,6 +101,29 @@ function filterSet(team) { return res; } + // Returns a hash of key=value pairs representing the filter-set + // These will become part of the URL-fragment representing the state + that.fragmentItems = function() { + var hash = {}; + + for (var i in m_list) { + var filter = m_list[i]; + var type = filter.type; + if (type === 'target') { + hash['xt-' + filter.id] = filter.name; + } else if (type === 'field') { + // Ugly names, but we need to include the value because fields can be repeated + hash['xf-' + filter.field + '-' + filter.value] = 1; + } else if (type === 'category') { + hash['xc-' + filter.id] = 1; + } else { + alert("unsupported filter-type '" + type + "'"); + } + } + + return hash; + } + return that; } -- 1.7.10.4