Minor cleanup.
[mkdru-moved-to-drupal.org.git] / mkdru.theme.js
index a3a0c0e..229c482 100644 (file)
@@ -17,7 +17,7 @@ Drupal.theme.prototype.mkdruResult = function(hit, num, detailLink) {
   return html;
 };
 
-Drupal.theme.prototype.mkdruDetail = function(data) {
+Drupal.theme.prototype.mkdruDetail = function(data, linkBack) {
   var html = '<table id="det_' + data.recid +'">';
   if (data["md-title"] != undefined) {
     html += '<tr><th>' + Drupal.t("Title") + '</th><td><strong>:</strong> '
@@ -48,7 +48,7 @@ Drupal.theme.prototype.mkdruDetail = function(data) {
             + data["location"][0]["@name"] + " (" + data["location"][0]["@id"] + ")"
             + '</td></tr>';
   html += '</table></div>';
-  html += '<a class="mkdru-detail-back">Return to result list...</a>';
+  html += '<a href="' + linkBack + '">Return to result list...</a>';
   return html;
 };
 
@@ -100,32 +100,47 @@ Drupal.theme.prototype.mkdruPager = function (pages, start, current, total, prev
   return html;
 };
 
-Drupal.theme.prototype.mkdruFacet = function (terms, facet, max) {
+Drupal.theme.prototype.mkdruCounts = function(first, last, available, total) {
+  if (last > 0)
+    return first + Drupal.t(' to ') + last + Drupal.t(' of ') + available
+         + Drupal.t(' available (') + total + Drupal.t(' found)');
+  else
+    return Drupal.t('No results');
+};
+
+Drupal.theme.prototype.mkdruStatus = function(activeClients, clients) {
+  return Drupal.t('Waiting on ') + activeClients + Drupal.t(' out of ')
+         + clients + Drupal.t(' targets');
+};
+
+Drupal.theme.prototype.mkdruFacet = function (terms, facet, max, selections) {
   var html = "";
   for (var i = 0; i < terms.length && i < max; i++ ) {
-    html += Drupal.theme('mkdruFacetTerm', terms[i], facet);
+    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/>';
   }
-  return html;
-};
-
-Drupal.theme.prototype.mkdruFacetTerm = function (term, facet) {
-  var html = '<a href="';
-  switch (facet) {
-    case 'source':
-      html += mkdru.hashAddDelOne('limit_' + facet, term.id, 'page');
-      break;
-    case 'subject':
-    case 'author':
-      html += mkdru.hashAddDelOne('limit_' + facet, term.name, 'page');
-      break;
+  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/>';
+      }
+    } 
   }
-  html += '">' + term.name + '</a><span> (' + term.freq + ')</span><br/>';
   return html;
 };
 
-Drupal.theme.prototype.mkdruFacetLimit = function (term, link) {
-  if (term) {
-    return '<p>' + Drupal.t('Only displaying ') + term.name + '</p>'
-      + '<p><a href="' + link + '">' + Drupal.t('Show all...') + '</a></p>';
-  }
-};
\ No newline at end of file
+Drupal.theme.prototype.mkdruFacetContainer = function (facetsCfg) {
+  return "";
+};