From 8b39a8c67ae2dd3239c86092ec40b56566b0683a Mon Sep 17 00:00:00 2001 From: Jeff Godin Date: Sat, 28 Apr 2012 18:18:34 -0400 Subject: [PATCH] Teach OPAC (jspac) jacket images by record id Teach the Javascript OPAC how to retrieve jacket images by record id. Signed-off-by: Jeff Godin Signed-off-by: Ben Shum --- Open-ILS/web/opac/common/js/added_content.js | 11 +++++++++++ Open-ILS/web/opac/skin/default/js/cn_browse.js | 2 +- Open-ILS/web/opac/skin/default/js/rdetail.js | 10 ++++++---- Open-ILS/web/opac/skin/default/js/result_common.js | 4 ++-- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/Open-ILS/web/opac/common/js/added_content.js b/Open-ILS/web/opac/common/js/added_content.js index 4240b4f320..68f55294c6 100644 --- a/Open-ILS/web/opac/common/js/added_content.js +++ b/Open-ILS/web/opac/common/js/added_content.js @@ -11,6 +11,17 @@ function buildISBNSrc(isbn, size) { return '../../../../extras/ac/jacket/'+size+'/'+isbn; } +/** +* This function should return a URL which points to the book cover image based on record ID. +*/ + +function buildJacketSrc(rec_id, size) { +size = (size) ? size : 'small'; + var protocol = (OILS_OPAC_STATIC_PROTOCOL) ? OILS_OPAC_STATIC_PROTOCOL + ':' : location.protocol; + if(OILS_OPAC_IMAGES_HOST) + return protocol + '//' + OILS_OPAC_IMAGES_HOST + size + '/r/' + rec_id; + return '../../../../extras/ac/jacket/'+size+'/r/'+rec_id; +} function acMakeURL(type, key) { return '../../../../extras/ac/' + type + '/html/' + key; diff --git a/Open-ILS/web/opac/skin/default/js/cn_browse.js b/Open-ILS/web/opac/skin/default/js/cn_browse.js index 94b8c8b346..4d1f59fe14 100644 --- a/Open-ILS/web/opac/skin/default/js/cn_browse.js +++ b/Open-ILS/web/opac/skin/default/js/cn_browse.js @@ -133,7 +133,7 @@ function cnBrowseDrawTitle(mods, title_td, author_td, pic_td) { buildTitleDetailLink(mods, title_td); buildSearchLink(STYPE_AUTHOR, mods.author(), author_td); - pic_td.setAttribute("src", buildISBNSrc(cleanISBN(mods.isbn()))); + pic_td.setAttribute("src", buildJacketSrc(mods.doc_id())); var args = {}; args.page = RDETAIL; diff --git a/Open-ILS/web/opac/skin/default/js/rdetail.js b/Open-ILS/web/opac/skin/default/js/rdetail.js index 3446574dad..596c0c23ce 100644 --- a/Open-ILS/web/opac/skin/default/js/rdetail.js +++ b/Open-ILS/web/opac/skin/default/js/rdetail.js @@ -508,8 +508,10 @@ function _rdetailDraw(r) { rdetailCheckForGBPreview(); } else { - hideMe($("rdetail.jacket_attrib_div")); - hideMe($("rdetail_img_link")); + if(!record.doc_id()) { + hideMe($("rdetail.jacket_attrib_div")); + hideMe($("rdetail_img_link")); + } } } catch(E) {} @@ -599,8 +601,8 @@ function _rdetailDraw(r) { unHideMe($('rdetail_exp_refworks_span')); } - $('rdetail_img_link').setAttribute('href', buildISBNSrc(cleanISBN(record.isbn()), 'large')); - G.ui.rdetail.image.setAttribute("src", buildISBNSrc(cleanISBN(record.isbn()))); + $('rdetail_img_link').setAttribute('href', buildJacketSrc(record.doc_id()), 'large')); + G.ui.rdetail.image.setAttribute("src", buildJacketSrc(record.doc_id())); runEvt("rdetail", "recordDrawn"); recordsCache.push(record); diff --git a/Open-ILS/web/opac/skin/default/js/result_common.js b/Open-ILS/web/opac/skin/default/js/result_common.js index d5052d34c6..061bf6ff51 100644 --- a/Open-ILS/web/opac/skin/default/js/result_common.js +++ b/Open-ILS/web/opac/skin/default/js/result_common.js @@ -531,8 +531,8 @@ function resultDisplayRecord(rec, pos, is_mr) { */ var pic = $n(r, config.names.result.item_jacket); - if (currentISBN) { - pic.setAttribute("src", buildISBNSrc(currentISBN)); + if (rec.doc_id()) { + pic.setAttribute("src", buildJacketSrc(rec.doc_id())); } else { pic.setAttribute("src", "/opac/images/blank.png"); } -- 2.43.2