Part of MKWS-322. Rename mkws-widget-termlists.js to mkws-widget-facets.js
authorMike Taylor <mike@indexdata.com>
Thu, 30 Oct 2014 17:14:35 +0000 (17:14 +0000)
committerMike Taylor <mike@indexdata.com>
Thu, 30 Oct 2014 17:14:35 +0000 (17:14 +0000)
src/mkws-widget-facets.js [new file with mode: 0644]
src/mkws-widget-termlists.js [deleted file]

diff --git a/src/mkws-widget-facets.js b/src/mkws-widget-facets.js
new file mode 100644 (file)
index 0000000..575a655
--- /dev/null
@@ -0,0 +1,81 @@
+mkws.registerWidgetType('termlists', function() {
+  // Initially hide the termlists; display when we get results
+  var that = this;
+  var team = this.team;
+  team.queue("facets").subscribe(function(data) {
+    that.node.addClass("active");
+  });
+
+  var template = team.loadTemplate(this.config.template || "facets");
+  this.node.html(template({
+    team: team.name(),
+    facets: this.config.facets
+  }));
+  this.autosearch();
+});
+
+
+mkws.registerWidgetType('facet', function() {
+  var facetConfig = {
+    xtargets: [ "Sources",  16, false ],
+    subject:  [ "Subjects", 10, true ],
+    author:   [ "Authors",  10, true ]
+  }
+  var that = this;
+  var team = this.team;
+  var name = that.config.facet;
+  var ref = facetConfig[name] || [ "Unknown", 10, true ];
+  var caption = this.config['facet_caption_' + name] || ref[0];
+  var max     = parseInt(this.config['facet_max_' + name] || ref[1]);
+  var pzIndex = ref[2] ? name : null;
+
+  that.toString = function() {
+    return '[Widget ' + team.name() + ':' + that.type + '(' + name + ')]';
+  };
+
+  team.queue("facets").subscribe(function(data) {
+    data = data[name];
+    var terms = [];
+    var teamName = team.name();
+    for (var i = 0; i < data.length && i < max; i++) {
+      var linkdata = "";
+      var action = "";
+      if (!pzIndex) {
+        // Special case: target selection
+        linkdata += ('target_id='+data[i].id+' ');
+        if (!team.targetFiltered(data[i].id)) {
+          action = 'mkws.limitTarget(\'' + teamName + '\', this.getAttribute(\'target_id\'),this.firstChild.nodeValue)';
+        }
+      } else {
+        action = 'mkws.limitQuery(\'' + teamName + '\', \'' + pzIndex + '\', this.firstChild.nodeValue)';
+      }
+      linkdata += 'onclick="' + action + ';return false;"';
+      terms.push({
+        term: data[i].name,
+        field: data[i].id,
+        count: data[i].freq,
+        linkdata: linkdata
+      }); 
+    }
+    // configured template > facet specific template > default facet template
+    var template;
+    if (that.config.template) {
+      template = team.loadTemplate(that.config.template);
+    } else {
+      template = team.loadTemplate("facet-" + name);
+      if (template) {
+        that.log("Using facet-" + name + " template.")
+      } else {
+        that.log("No " + name + " specific template, using default.")
+        template = team.loadTemplate("facet");
+      }
+    }
+    that.node.html(template({
+      name: name,
+      caption: caption,
+      query: that.config.query,
+      terms: terms
+    }));
+  });
+  this.autosearch();
+});
diff --git a/src/mkws-widget-termlists.js b/src/mkws-widget-termlists.js
deleted file mode 100644 (file)
index 575a655..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-mkws.registerWidgetType('termlists', function() {
-  // Initially hide the termlists; display when we get results
-  var that = this;
-  var team = this.team;
-  team.queue("facets").subscribe(function(data) {
-    that.node.addClass("active");
-  });
-
-  var template = team.loadTemplate(this.config.template || "facets");
-  this.node.html(template({
-    team: team.name(),
-    facets: this.config.facets
-  }));
-  this.autosearch();
-});
-
-
-mkws.registerWidgetType('facet', function() {
-  var facetConfig = {
-    xtargets: [ "Sources",  16, false ],
-    subject:  [ "Subjects", 10, true ],
-    author:   [ "Authors",  10, true ]
-  }
-  var that = this;
-  var team = this.team;
-  var name = that.config.facet;
-  var ref = facetConfig[name] || [ "Unknown", 10, true ];
-  var caption = this.config['facet_caption_' + name] || ref[0];
-  var max     = parseInt(this.config['facet_max_' + name] || ref[1]);
-  var pzIndex = ref[2] ? name : null;
-
-  that.toString = function() {
-    return '[Widget ' + team.name() + ':' + that.type + '(' + name + ')]';
-  };
-
-  team.queue("facets").subscribe(function(data) {
-    data = data[name];
-    var terms = [];
-    var teamName = team.name();
-    for (var i = 0; i < data.length && i < max; i++) {
-      var linkdata = "";
-      var action = "";
-      if (!pzIndex) {
-        // Special case: target selection
-        linkdata += ('target_id='+data[i].id+' ');
-        if (!team.targetFiltered(data[i].id)) {
-          action = 'mkws.limitTarget(\'' + teamName + '\', this.getAttribute(\'target_id\'),this.firstChild.nodeValue)';
-        }
-      } else {
-        action = 'mkws.limitQuery(\'' + teamName + '\', \'' + pzIndex + '\', this.firstChild.nodeValue)';
-      }
-      linkdata += 'onclick="' + action + ';return false;"';
-      terms.push({
-        term: data[i].name,
-        field: data[i].id,
-        count: data[i].freq,
-        linkdata: linkdata
-      }); 
-    }
-    // configured template > facet specific template > default facet template
-    var template;
-    if (that.config.template) {
-      template = team.loadTemplate(that.config.template);
-    } else {
-      template = team.loadTemplate("facet-" + name);
-      if (template) {
-        that.log("Using facet-" + name + " template.")
-      } else {
-        that.log("No " + name + " specific template, using default.")
-        template = team.loadTemplate("facet");
-      }
-    }
-    that.node.html(template({
-      name: name,
-      caption: caption,
-      query: that.config.query,
-      terms: terms
-    }));
-  });
-  this.autosearch();
-});