1 dump('loading bib_brief_overlay.js\n');
3 function bib_brief_overlay(params) {
11 JSAN.use('util.network');
12 net = new util.network();
16 session = params.session;
18 session = ses(); // For some reason, this breaks, starting with an internal instantiation of util.error failing because util.error being an object instead of a constructor
22 // See if we have mvr or mvr.id, and possibly retrieve the mvr ourselves
23 if (params.mvr_id && ! params.mvr) {
24 var robj = net.simple_request('MODS_SLIM_RECORD_RETRIEVE.authoritative',[ params.mvr_id ]);
25 if (typeof robj.ilsevent != 'undefined') throw(robj);
28 if (! params.mvr) { alert('early mvr return!'); return; }
29 if (! params.mvr_id) params.mvr_id = params.mvr.doc_id();
32 if ( (params.bre_id || params.mvr_id) && ! params.bre) {
33 var robj = net.simple_request('FM_BRE_RETRIEVE_VIA_ID.authoritative',[ session, [ (params.bre_id||params.mvr_id) ] ]);
34 if (typeof robj.ilsevent != 'undefined') throw(robj);
37 if (! params.bre) { alert('early bre return!'); return; }
39 JSAN.use('util.widgets');
40 function set(name,value) {
41 var nodes = document.getElementsByAttribute('name',name);
42 for (var i = 0; i < nodes.length; i++) {
43 util.widgets.set_text( nodes[i], value );
47 function set_tooltip(name,value) {
48 var nodes = document.getElementsByAttribute('name',name);
49 for (var i = 0; i < nodes.length; i++) {
50 nodes[i].setAttribute('tooltiptext',value);
56 // Use the list column definitions for rendering the mvr against the elements in bib_brief_overlay.xul
57 JSAN.use('circ.util');
58 var columns = circ.util.columns({});
59 for (var i = 0; i < columns.length; i++) {
61 //dump('considering column ' + c.id + '... ');
62 if (c.fm_class == 'mvr' || c.fm_class == 'bre') {
63 //dump('is an mvr or bre... ');
64 if (typeof c.render == 'function') { // Non-function renders are deprecated
65 //dump('render is a function... ');
68 value = c.render( { 'mvr' : params.mvr, 'acp' : params.acp, 'bre' : params.bre } );
71 //dump('Error in bib_brief_overlay(), with render() for c.id = ' + c.id + ' : ' + E + '\n');
73 //dump('value = ' + value + '\n');
74 var n = set(c.id, value ? value : '');
75 if (c.id == 'tcn_source') set_tooltip('tcn',value);
76 if (c.id == 'doc_id') set_tooltip('title',value);
77 //dump('set text on ' + n + ' elements\n');
79 //dump('render is not a function\n');
82 //dump('is not an mvr or bre\n');
87 alert(location.href + '\nError in bib_brief_overlay(' + js2JSON(params) + '): ' + E);