Attempt at detail bookmarking. Also theme cleanup.
authorJason Skomorowski <jason@indexdata.com>
Wed, 19 Jan 2011 00:59:14 +0000 (01:59 +0100)
committerJason Skomorowski <jason@indexdata.com>
Wed, 19 Jan 2011 00:59:14 +0000 (01:59 +0100)
mkdru.client.js
mkdru.css
mkdru.theme.js

index a672f21..abca5b8 100644 (file)
@@ -18,7 +18,8 @@ var mkdru = {
     perpage: 20,
     sort: 'relevance',
     filter: null,
-    query:null
+    query:null,
+    recid:null,
   },
   state: {}
 };
@@ -34,7 +35,11 @@ if (!$.isArray) $.isArray = function(obj) {
 
 // pz2.js event handlers:
 mkdru.pz2Init = function () {
-  if (mkdru.state.query) mkdru.triggerSearch();
+  if (mkdru.state.recid) {
+    mkdru.pz2.record(mkdru.state.recid);
+  } else if (mkdru.state.query) {
+    mkdru.triggerSearch();
+  }
   //mkdru.pz2.stat();
   //mkdru.pz2.bytarget();
 };
@@ -164,14 +169,13 @@ mkdru.uiFromState = function () {
 };
 
 mkdru.hashChange = function () {
-  var hash = $.deparam.fragment();
+  mkdru.stateFromHash();
   // Request for details
-  if (typeof(hash.recid) !== "undefined") {
-    mkdru.pz2.record(hash.recid);
+  if (mkdru.state.recid) {
+    mkdru.pz2.record(mkdru.state.recid);
   }
   // Other internal link
   else {
-    mkdru.stateFromObject($.deparam.fragment());
     mkdru.pz2.showPage(mkdru.state.page-1);
     $('.mkdru-detail').hide();
     $('.mkdru-results').show();
@@ -264,11 +268,6 @@ mkdru.resetPage = function () {
   mkdru.totalRec = 0;
 };
 
-mkdru.showPage = function (pageNum) {
-  mkdru.state.page = pageNum;
-  mkdru.pz2.showPage(pageNum-1);
-};
-
 
 
 // wait until the DOM is ready, bind events
@@ -305,7 +304,9 @@ $(document).ready(function () {
 
   if (mkdru.usesessions) {
     mkdru.pz2.init();
+  } else if (mkdru.state.recid) {
+    mkdru.pz2.record(mkdru.state.recid);
   } else if (mkdru.state.query) {
-    mkdru.triggerSearch(); 
+    mkdru.triggerSearch();
   }
 });
index 75321b4..ea64f66 100644 (file)
--- a/mkdru.css
+++ b/mkdru.css
@@ -39,4 +39,8 @@
 
 .mkdru-detail {
   display: none;
+}
+
+.mkdru-detail tr.even, tr.odd, tbody th {
+  border-style: none !important;
 }
\ No newline at end of file
index 7e660f6..6f77dda 100644 (file)
@@ -18,27 +18,35 @@ Drupal.theme.prototype.mkdruResult = function(hit, num, detailLink) {
 };
 
 Drupal.theme.prototype.mkdruDetail = function(data) {
-  var html = '<table id=det_"' + data.recid +'>';
+  var html = '<table id="det_' + data.recid +'">';
   if (data["md-title"] != undefined) {
-    html += '<tr><td><b>Title</b></td><td><b>:</b> '+data["md-title"];
-  if (data["md-title-remainder"] !== undefined) {
-    html += ' : <span>' + data["md-title-remainder"] + ' </span>';
-  }
-  if (data["md-title-responsibility"] !== undefined) {
-    html += ' <span><i>'+ data["md-title-responsibility"] +'</i></span>';
-  }
-  html += '</td></tr>';
+    html += '<tr><th>' + Drupal.t("Title") + '</th><td><strong>:</strong> '
+            + data["md-title"];
+    if (data["md-title-remainder"] !== undefined) {
+      html += ' : <span>' + data["md-title-remainder"] + ' </span>';
+    }
+    if (data["md-title-responsibility"] !== undefined) {
+      html += ' <span><i>'+ data["md-title-responsibility"] +'</i></span>';
+    }
+    html += '</td></tr>';
   }
   if (data["md-date"] != undefined)
-    html += '<tr><td><b>Date</b></td><td><b>:</b> ' + data["md-date"] + '</td></tr>';
+    html += '<tr><th>' + Drupal.t("Date") + '</th><td><strong>:</strong> '
+            + data["md-date"] + '</td></tr>';
   if (data["md-author"] != undefined)
-    html += '<tr><td><b>Author</b></td><td><b>:</b> ' + data["md-author"] + '</td></tr>';
+    html += '<tr><th>' + Drupal.t("Author") + '</th><td><strong>:</strong> '
+            + data["md-author"] + '</td></tr>';
   if (data["md-electronic-url"] != undefined)
-    html += '<tr><td><b>URL</b></td><td><b>:</b> <a href="' + data["md-electronic-url"] + '" target="_blank">' + data["md-electronic-url"] + '</a>' + '</td></tr>';
+    html += '<tr><th>URL</th><td><strong>:</strong> <a href="'
+            + data["md-electronic-url"] + '" target="_blank">'
+            + data["md-electronic-url"] + '</a>' + '</td></tr>';
   if (data["location"][0]["md-subject"] != undefined)
-    html += '<tr><td><b>Subject</b></td><td><b>:</b> ' + data["location"][0]["md-subject"] + '</td></tr>';
+    html += '<tr><th>' + Drupal.t("Subject") + '</th><td><strong>:</strong> '
+            + data["location"][0]["md-subject"] + '</td></tr>';
   if (data["location"][0]["@name"] != undefined)
-    html += '<tr><td><b>Location</b></td><td><b>:</b> ' + data["location"][0]["@name"] + " (" +data["location"][0]["@id"] + ")" + '</td></tr>';
+    html += '<tr><th>' + Drupal.t("Location") + '</th></td><td><strong>:</strong> '
+            + data["location"][0]["@name"] + " (" + data["location"][0]["@id"] + ")"
+            + '</td></tr>';
   html += '</table></div>';
   html += '<a class="mkdru-detail-back">Return to result list...</a>';
   return html;