Show/hide facet container when some/no facets
[mkdruding2.git] / mkdruding2.js
index 8321feb..82af142 100644 (file)
@@ -47,42 +47,54 @@ Drupal.theme.mkdruFacetContainer = function (facetsCfg) {
   var html = '<h2>Facet browser</h2><div class="content">';
   for (var i=0; i<fs.length; i++) {
     var f = fs[i];
+    //not display
+    html += '<div id="mkdru-container-'+f.originalKey
+      +'" style="display: none;">';
     html += '<fieldset class="form-wrapper">'
     html += '<legend><span class="fieldset-legend">'+f.displayName
       +'</span></legend>';
     html += '<div class="fieldset-wrapper">';
-    html += '<div class="mkdru-facet-'+f.originalKey+'"/>';
+    html += '<div class="mkdru-facet-'+f.originalKey+' form-checkboxes"/>';
+    html += '</div>';
+    html += '</fieldset>';
     html += '</div>';
-    html += '</fieldset>'
   }
   html += '</div>';
   return html;
 };
 
 Drupal.theme.mkdruFacet = function (terms, facet, max, selections) {
+  jQuery('#mkdru-container-'+facet).hide();
   var html = "";
+  var show = false;
   for (var i = 0; i < terms.length && i < max; i++ ) {
+    show = true;
     var term = terms[i];
-    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/>';
+    var id = term.name.split(/w+/).join("-").toLowerCase();
+    html += '<div class="form-item form-type-checkbox">';
+    html += '<input type="checkbox" id="'+id+'" onclick="window.location=\''
+      +term.toggleLink+'\'; return true;" class="form-checkbox"';
+    if (term.selected) html += ' checked="checked"';
+    html += '/><label class="option" for="'+id+'">'+term.name; 
+    html += '<span> ('+term.freq+')</span></label></div>';
   }
   if (terms.length == 0 && selections && selections.length) {
     for (var i=0; i<selections.length; i++) {
+      show = true;
       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/>';
+        html += '<div class="form-item form-type-checkbox">';
+        html += '<input type="checkbox" checked="checked" id="'+name+'" '
+          +'onclick="window.location=\''+mkdru.removeLimit(facet, selections[i])
+          +'\';return true;" class="form-checkbox"/><label class="option" for="'
+          +name+'">'+name+'</a><span> (0)</span></label></div>';
       }
     }
   }
+  if (show) jQuery('#mkdru-container-'+facet).show();
   return html;
 };