use new sp-mkws-backend as back-end Service Proxy.
[mkws-moved-to-github.git] / src / mkws-widget-termlists.js
index 715eff2..fef616f 100644 (file)
@@ -39,32 +39,40 @@ mkws.registerWidgetType('Facet', function() {
     return '[Widget ' + that.team.name() + ':' + that.type + '(' + name + ')]';
   };
 
+  var t2 = that.team.loadTemplate('Facet-' + caption);
+  that.log("template for Facet-" + caption + " is " + !!t2);
+  if (!t2) {
+    that.log("no " + caption + "-specific template, falling back");
+    t2 = that.team.loadTemplate('Facet');
+  }
+  that.log("template for Facet is " + !!t2);
+
   that.team.queue("termlists").subscribe(function(data) {
     data = data[name];
-    var template = that.team.loadTemplate('facetTitle-' + caption, mkws.M(caption))
-    var title = template({ query: that.config.query });
+    var t1 = that.team.loadTemplate('facetTitle-' + caption, mkws.M(caption))
+    var title = t1({ query: that.config.query });
     var acc = [];
     acc.push('<div class="mkwsFacetTitle">', title, '</div>');
 
     var teamName = that.team.name();
     for (var i = 0; i < data.length && i < max; i++) {
-      var fn, datum;
+      var fn, field;
       // General case modifies the query; special case selects a target
       if (pzIndex) {
-        fn = 'limitQuery'; datum = pzIndex;
+        fn = 'limitQuery'; field = pzIndex;
       } else if (!that.team.targetFiltered(data[i].id)) {
-        fn = 'limitTarget'; datum = data[i].id;
-      }
-
-      var action = '';
-      if (fn) {
-        action = 'mkws.' + fn + '(\'' + teamName + '\', \'' + datum + '\', this.firstChild.nodeValue)';
+        fn = 'limitTarget'; field = data[i].id;
       }
 
-      acc.push('<div class="mkwsTerm">',
-               '<a href="#" ', 'onclick="', action, ';return false;">', data[i].name, '</a>',
-               '<span>', data[i].freq, '</span>',
-               '</div>');
+      var s = t2({ 
+        team: teamName,
+        fn: fn,
+        field: field,
+        term: data[i].name,
+        count: data[i].freq,
+        query: that.config.query
+      });
+      acc.push('<div class="mkwsTerm">', s, '</div>');
     }
 
     that.node.html(acc.join(''));