- var m_team = team;
- var m_list = [];
-
- var that = {};
-
- that.list = function() {
- return m_list;
- };
-
- that.add = function(filter) {
- m_list.push(filter);
- };
-
- that.removeMatching = function(matchFn) {
- var newList = [];
- for (var i in m_list) {
- var filter = m_list[i];
- if (matchFn(filter)) {
- m_team.log("removeMatching() removing filter " + $.toJSON(filter));
- } else {
- m_team.log("removeMatching() keeping filter " + $.toJSON(filter));
- newList.push(filter);
- }
- }
- m_list = newList;
- };
-
- that.targetFiltered = function(id) {
- for (var i = 0; i < m_list.length; i++) {
- if (m_list[i].id === id ||
- m_list[i].id === 'pz:id=' + id) {
- return true;
- }
- }
- return false;
+ var m_team = team;
+ var m_list = [];
+
+ var that = {};
+
+ that.toJSON = function() {
+ return mkws.$.toJSON(m_list);
+ };
+
+ that.add = function(filter) {
+ m_list.push(filter);
+ };
+
+ that.visitTargets = function(callback) {
+ for (var i in m_list) {
+ var filter = m_list[i];
+ if (filter.type === 'target') {
+ callback(filter.id, filter.name);
+ }