Draw selected facets also when no results
authorJakub Skoczen <jakub@indexdata.dk>
Thu, 3 Mar 2011 01:22:33 +0000 (02:22 +0100)
committerJakub Skoczen <jakub@indexdata.dk>
Thu, 3 Mar 2011 01:22:33 +0000 (02:22 +0100)
this alows to return from "no hits" situation

mkdru.client.js
mkdru.theme.js

index f931c3e..ce5637e 100644 (file)
@@ -146,7 +146,7 @@ mkdru.pz2Term = function (data) {
   // map all facets against selected, for simple rendering 
   var hash = $.deparam.fragment();
   for (var key in hash) {
-    if (key.indexOf('limit') == 0 && hash[key].indexOf(';'))
+    if (key.indexOf('limit') == 0) //always wrap in array
       hash[key.substr(6)] = hash[key].split(';');
     delete hash[key];
   }
@@ -164,7 +164,7 @@ mkdru.pz2Term = function (data) {
       }
     }
     $('.mkdru-facet-' + facet).html(
-        Drupal.theme('mkdruFacet', terms, facet, mkdru.facets[facet].max));
+        Drupal.theme('mkdruFacet', terms, facet, mkdru.facets[facet].max, hash));
   }
 };
 
index bcf9de9..09226c1 100644 (file)
@@ -120,7 +120,16 @@ Drupal.theme.prototype.mkdruFacet = function (terms, facet, max) {
     if (term.selected) html += "</strong>";
     html += '</a><span> (' + terms[i].freq
         + ')</span><br/>';
-
+  }
+  //TODO, meed to look up target name from ID
+  var sel = selections[facet];
+  if (terms.length == 0 && sel && sel.length) {
+    for (var i=0; i<sel.length; i++) {
+      if (sel[i]) {
+        html += '<a class="cross" href="'+mkdru.removeLimit(facet, sel[i])
+          + '"><strong>'+sel[i]+'</strong></a><span> (0)</span><br/>';
+      }
+    } 
   }
   return html;
 };