Fix target names when no results
[mkdruding1.git] / mkdruding2.js
index b29f49d..d74b6bb 100644 (file)
@@ -34,7 +34,7 @@ Drupal.theme.mkdruResult = function(hit, num, detailLink) {
   return html;
 };
 
-Drupal.theme.mkdruFacetContainer = function (facetsData, facetsCfg) {
+Drupal.theme.mkdruFacetContainer = function (facetsCfg) {
   var fs = [];
   for (var fname in facetsCfg) {
     facetsCfg[fname].originalKey = fname;
@@ -56,17 +56,30 @@ Drupal.theme.mkdruFacetContainer = function (facetsData, facetsCfg) {
   return html;
 };
 
-Drupal.theme.mkdruFacet = function (terms, facet, max) {
+Drupal.theme.mkdruFacet = function (terms, facet, max, selections) {
   var html = "";
   for (var i = 0; i < terms.length && i < max; i++ ) {
     var term = terms[i];
-    html += '<a href="'+term.hashQuery+'"';
+    html += '<a href="'+term.toggleLink+'"';
     if (term.selected) html += ' class="cross"><strong';
     html += '>'+terms[i].name; 
     if (term.selected) html += "</strong>";
     html += '</a><span> (' + terms[i].freq 
       + ')</span><br/>';
-
+  }
+  if (terms.length == 0 && selections && selections.length) {
+    for (var i=0; i<selections.length; i++) {
+      if (selections[i]) {
+        // since we have no target name (only id) go for the basename
+        // FIXME get the proper target name
+        var name = facet == "source" ? selections[i].replace(/.*[\/\\]/, "")
+          .replace(/\?.*/, '')
+          : selections[i];
+        html += '<a class="cross" href="'
+          + mkdru.removeLimit(facet, selections[i])
+          + '"><strong>'+name+'</strong></a><span> (0)</span><br/>';
+      }
+    }
   }
   return html;
 };