[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