From 7128cdffeb70422c81bd2fc8b86e4fe43c05032b Mon Sep 17 00:00:00 2001 From: dbs Date: Thu, 23 Sep 2010 19:59:38 +0000 Subject: [PATCH] More lenient ISSN extraction; remove one layer of dojo.query()ing git-svn-id: svn://svn.open-ils.org/ILS-Contrib/conifer/branches/rel_1_6_1@1004 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- web/opac/skin/lul/xml/result/result_table.xml | 95 +++++++++++++-------------- 1 file changed, 46 insertions(+), 49 deletions(-) diff --git a/web/opac/skin/lul/xml/result/result_table.xml b/web/opac/skin/lul/xml/result/result_table.xml index 5f349ed00a..3eeef8c5c6 100644 --- a/web/opac/skin/lul/xml/result/result_table.xml +++ b/web/opac/skin/lul/xml/result/result_table.xml @@ -100,60 +100,57 @@ record id in order to place the resolver info in the right spot --> + type='opac/slot-data' query='datafield[tag="022"] subfield' class='hide_me'> 0) { - try { - var ses = new OpenSRF.ClientSession('open-ils.resolver'); - var req = ses.request('open-ils.resolver.resolve_holdings.raw', 'issn', issn); - req.oncomplete = function(r) { - var resolverInfo = ""; - dojo.forEach(r.recv().content(), function(entry) { - resolverInfo = entry.public_name + "_" + entry.target_coverage; - if (title_list.indexOf(this_title_id) == -1) { - url_list = ""; - } - if (url_list.indexOf(resolverInfo) == -1) { - var resolverNode = null; - dojo.query('.recid').forEach(function(recinfo) { - if (parseFloat(dojo.trim(dojox.data.dom.textContent(recinfo))) == parseFloat(this_title_id)) { - resolverNode = recinfo; - } - }); - url_list += resolverInfo; - var output = null; - if (resolverNode != null) { - var parent = resolverNode.parentNode; - if (parent) { - parent = parent.parentNode; - } - if (parent) { - dojo.removeClass(parent,'hide_me'); - } - output = dojo.create('div',{"style":"background-color:#EEFFEE;"},resolverNode,"last"); - dojo.addClass(output,"result_table_sfx_cell"); - title_list += this_title_id; - var link = dojo.create('a', {"style": "margin-left: 1em;", "class":"search_link", "href": entry.target_url}); - var link_text = dojo.doc.createTextNode( entry.public_name); - link.appendChild(link_text); - output.appendChild(link); - var coverage_text = dojo.doc.createTextNode(' - ' + entry.target_coverage - + (entry.target_embargo ? (' / ' + entry.target_embargo) : '')); - output.appendChild(coverage_text); - resolved[this_title_id] = true; + issn = dojox.data.dom.textContent(item) + ''; + issn = issn.replace(/^(\s|.)*?(\d{4}).(\d{3,4}[xX]?)(\s|.)*/, "$2-$3"); + if (issn.length > 0) { + try { + var ses = new OpenSRF.ClientSession('open-ils.resolver'); + var req = ses.request('open-ils.resolver.resolve_holdings.raw', 'issn', issn); + req.oncomplete = function(r) { + var resolverInfo = ""; + dojo.forEach(r.recv().content(), function(entry) { + resolverInfo = entry.public_name + "_" + entry.target_coverage; + if (title_list.indexOf(this_title_id) == -1) { + url_list = ""; + } + if (url_list.indexOf(resolverInfo) == -1) { + var resolverNode = null; + dojo.query('.recid').forEach(function(recinfo) { + if (parseFloat(dojo.trim(dojox.data.dom.textContent(recinfo))) == parseFloat(this_title_id)) { + resolverNode = recinfo; + } + }); + url_list += resolverInfo; + var output = null; + if (resolverNode != null) { + var parent = resolverNode.parentNode; + if (parent) { + parent = parent.parentNode; } + if (parent) { + dojo.removeClass(parent,'hide_me'); + } + output = dojo.create('div',{"style":"background-color:#EEFFEE;"},resolverNode,"last"); + dojo.addClass(output,"result_table_sfx_cell"); + title_list += this_title_id; + var link = dojo.create('a', {"style": "margin-left: 1em;", "class":"search_link", "href": entry.target_url}); + var link_text = dojo.doc.createTextNode( entry.public_name); + link.appendChild(link_text); + output.appendChild(link); + var coverage_text = dojo.doc.createTextNode(' - ' + entry.target_coverage + + (entry.target_embargo ? (' / ' + entry.target_embargo) : '')); + output.appendChild(coverage_text); + resolved[this_title_id] = true; } - }); - }; - req.send(); - } catch (err) { alert(err.message);} - } + } + }); + }; + req.send(); + } catch (err) { alert(err.message);} } ]]> -- 2.11.0