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

svn at svn.open-ils.org svn at svn.open-ils.org
Mon May 25 00:51:23 EDT 2009


Author: dbs
Date: 2009-05-25 00:51:21 -0400 (Mon, 25 May 2009)
New Revision: 13225

Modified:
   trunk/Open-ILS/web/opac/common/js/config.js
   trunk/Open-ILS/web/opac/skin/default/js/rdetail.js
Log:
Display an array of MFHD records per bib record

Reduce some of code duplication
Get ready for translation by breaking out the strings
Introduce spaces between entries in flattened holdings so that we don't end up with 800-character wide displays of the Economist holdings

We need to enable the MFHD editor button to invoke the correct MFHD record, probably by adding MFHD ID to the svr definition


Modified: trunk/Open-ILS/web/opac/common/js/config.js
===================================================================
--- trunk/Open-ILS/web/opac/common/js/config.js	2009-05-25 04:46:45 UTC (rev 13224)
+++ trunk/Open-ILS/web/opac/common/js/config.js	2009-05-25 04:51:21 UTC (rev 13225)
@@ -291,7 +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_MFHD_SUMMARY			= "open-ils.search:open-ils.search.serial.record.bib.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-25 04:46:45 UTC (rev 13224)
+++ trunk/Open-ILS/web/opac/skin/default/js/rdetail.js	2009-05-25 04:51:21 UTC (rev 13225)
@@ -216,6 +216,11 @@
 	holdings = h.getResultObject();
 	if (!holdings) { return null; }
 
+	dojo.forEach(holdings, _holdingsDrawMFHD);
+
+}
+
+function _holdingsDrawMFHD(holdings, entryNum) {
 	var hh = holdings.holdings();
 	var hch = holdings.current_holdings();
 	var hs = holdings.supplements();
@@ -232,35 +237,18 @@
 	) {
 		return null;
 	}
-	
-	dojo.place("<table><caption id='mfhdHoldingsCaption' 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");
-	}
+
+	dojo.place("<table><caption id='mfhdHoldingsCaption' class='rdetail_header color_1'>Holdings summary</caption><tbody id='rdetail_holdings_tbody_" + entryNum + "'></tbody></table>", "rdetail_details_table", "after");
+	if (hh.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Holdings', hh); }
+	if (hch.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Current holdings', hch); }
+	if (hs.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Supplements', hs); }
+	if (hcs.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Current supplements', hcs); }
+	if (hi.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Indexes', hi); }
+	if (hci.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Current indexes', hci); }
+	if (ho.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Online', ho); }
+	if (hm.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Missing volumes', hm); }
+	if (hinc.length > 0) { _holdingsDrawMFHDEntry(entryNum, 'Incomplete volumes', hm); }
+
 	if (isXUL()) {
 		dojo.require('openils.Event');
 		dojo.require('openils.PermaCrud');
@@ -268,6 +256,12 @@
 	}
 }
 
+function _holdingsDrawMFHDEntry(entryNum, entryName, entry) {
+	var commaRegex = /,/;
+	var flatEntry = entry.toString().replace(commaRegex, ', ');
+	dojo.place("<tr><td> </td><td nowrap='nowrap' class='rdetail_desc'>" + entryName + "</td><td class='rdetail_item'>" + flatEntry + "</td></tr>", "rdetail_holdings_tbody_" + entryNum, "last");
+}
+
 function _rdetailDraw(r) {
 	record = r.getResultObject();
 



More information about the open-ils-commits mailing list