[open-ils-commits] r13140 - in trunk/Open-ILS/web/opac: common/js skin/default/js (dbs)

svn at svn.open-ils.org svn at svn.open-ils.org
Tue May 12 00:27:48 EDT 2009


Author: dbs
Date: 2009-05-12 00:27:46 -0400 (Tue, 12 May 2009)
New Revision: 13140

Modified:
   trunk/Open-ILS/web/opac/common/js/config.js
   trunk/Open-ILS/web/opac/skin/default/js/rdetail.js
Log:
Add basic MFHD holdings display to OPAC


Modified: trunk/Open-ILS/web/opac/common/js/config.js
===================================================================
--- trunk/Open-ILS/web/opac/common/js/config.js	2009-05-12 01:22:10 UTC (rev 13139)
+++ trunk/Open-ILS/web/opac/common/js/config.js	2009-05-12 04:27:46 UTC (rev 13140)
@@ -291,6 +291,7 @@
 var SEARCH_MRS_QUERY			= 'open-ils.search:open-ils.search.metabib.multiclass.query:1';
 var SEARCH_RS_QUERY             = 'open-ils.search:open-ils.search.biblio.multiclass.query:1';
 var FETCH_SEARCH_RIDS			= "open-ils.search:open-ils.search.biblio.record.class.search:1";
+var FETCH_MFHD_SUMMARY			= "open-ils.search:open-ils.search.serial.record.bib_to_mfhd.retrieve";
 var FETCH_MRMODS					= "open-ils.search:open-ils.search.biblio.metarecord.mods_slim.retrieve";
 var FETCH_MODS_FROM_COPY		= "open-ils.search:open-ils.search.biblio.mods_from_copy";
 var FETCH_MR_COPY_COUNTS		= "open-ils.search:open-ils.search.biblio.metarecord.copy_count:1";

Modified: trunk/Open-ILS/web/opac/skin/default/js/rdetail.js
===================================================================
--- trunk/Open-ILS/web/opac/skin/default/js/rdetail.js	2009-05-12 01:22:10 UTC (rev 13139)
+++ trunk/Open-ILS/web/opac/skin/default/js/rdetail.js	2009-05-12 04:27:46 UTC (rev 13140)
@@ -26,6 +26,7 @@
 var rdetailShowLocal = true;
 var rdetailShowCopyLocation = true;
 var googleBookPreview = true;
+var displaySerialHoldings = true;
 
 
 var nextContainerIndex;
@@ -117,6 +118,12 @@
 	req.callback(_rdetailDraw);
 	req.send();
 
+	if (displaySerialHoldings) {
+		var req = new Request(FETCH_MFHD_SUMMARY, getRid());
+		req.callback(_holdingsDraw);
+		req.send();
+	}
+
 	detachAllEvt("result", "idsReceived");
 	G.evt.result.hitCountReceived = [];
 	G.evt.result.recordReceived = [];
@@ -173,7 +180,61 @@
 	hideMe(G.ui.rdetail.cp_info_none); 
 }
 
+/*
+ * This function could be written much more intelligently
+ * Limited brain power means that I'm brute-forcing it for now
+ */
+function _holdingsDraw(h) {
+	holdings = h.getResultObject();
+	if (!holdings) { return null; }
 
+	var hh = holdings.holdings();
+	var hch = holdings.current_holdings();
+	var hs = holdings.supplements();
+	var hcs = holdings.current_supplements();
+	var hi = holdings.indexes();
+	var hci = holdings.current_indexes();
+	var ho = holdings.online();
+	var hm = holdings.missing();
+	var hinc = holdings.incomplete();
+
+	if (	hh.length == 0 && hch.length == 0 && hs.length == 0 &&
+		hcs.length == 0 && hi.length == 0 && hci.length == 0 &&
+		ho.length == 0 && hm.length == 0 && hinc.length == 0
+	) {
+		return null;
+	}
+	
+	dojo.place("<table><caption  class='rdetail_header color_1'>Holdings summary</caption><tbody id='rdetail_holdings_tbody'></tbody></table>", "rdetail_details_table", "after");
+	if (hh.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Holdings</td><td  class='rdetail_item'>" + hh + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (hch.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Current holdings</td><td  class='rdetail_item'>" + hch + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (hs.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Supplements</td><td  class='rdetail_item'>" + hs + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (hcs.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Current supplements</td><td  class='rdetail_item'>" + hcs + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (hi.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Indexes</td><td  class='rdetail_item'>" + hi + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (hci.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Current indexes</td><td  class='rdetail_item'>" + hci + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (ho.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Online</td><td  class='rdetail_item'>" + ho + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (hm.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Missing</td><td  class='rdetail_item'>" + hm + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+	if (hinc.length > 0) {
+		dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>Incomplete</td><td  class='rdetail_item'>" + hinc + "</td></tr>", "rdetail_holdings_tbody", "last");
+	}
+}
+
 function _rdetailDraw(r) {
 	record = r.getResultObject();
 



More information about the open-ils-commits mailing list