function rdetailVolumeDetails(args) {
var row = $(args.rowid);
var tbody = row.parentNode;
- cpdBuild( tbody, row, record, args.cn, args.org, args.depth, args.copy_location );
+ cpdBuild( tbody, row, record, [args.cn_prefix, args.cn, args.cn_suffix], args.org, args.depth, args.copy_location );
return;
}
var select = $('cn_browse_selector');
var index = 0;
var arr = [];
- for( var cn in callnumberCache ) arr.push( cn );
+ for( var cn_json in callnumberCache ) arr.push( cn_json );
arr.sort();
if( arr.length == 0 ) {
}
for( var i = 0; i < arr.length; i++ ) {
- var cn = arr[i];
- var opt = new Option(cn);
+ var cn_json = arr[i];
+ var cn = JSON2js(cn_json);
+ var whole_cn_text = (cn[0] ? cn[0] + ' ' : '') + cn[1] + (cn[2] ? ' ' + cn[2] : '');
+ var opt = new Option(whole_cn_text,cn_json);
select.options[index++] = opt;
}
select.onchange = rdetailGatherCN;
function rdetailGatherCN() {
var cn = getSelectorVal($('cn_browse_selector'));
- rdetailShowCNBrowse( cn, getLocation(), getDepth(), true );
+ rdetailShowCNBrowse( JSON2js(cn), getLocation(), getDepth(), true );
setSelector( $('cn_browse_selector'), cn );
}
unHideMe($('rdetail_cn_browse_select_div'));
rdetailBuildCNList();
- setSelector( $('cn_browse_selector'), cn );
+ setSelector( $('cn_browse_selector'), js2JSON(cn) );
hideMe($('rdetail_copy_info_div'));
hideMe($('rdetail_reviews_div'));
hideMe($('rdetail_summary_div'));
var method = FETCH_COPY_COUNTS_SUMMARY;
if (rdetailShowCopyLocation)
method = FETCH_COPY_LOCATION_COUNTS_SUMMARY;
-
if( rdetailShowLocal )
req = new Request(method, record.doc_id(), getLocation(), getDepth())
else
for( var i = 0; i < summary.length; i++ ) {
var arr = summary[i];
- globalCNCache[arr[1]] = 1;
+ globalCNCache[js2JSON([arr[1],arr[2],arr[3]])] = 1; // prefix, label, suffix. FIXME - Am I used anywhere?
var thisOrg = findOrgUnit(arr[0]);
var rowNode = $("cp_info_" + thisOrg.id());
if(!rowNode) continue;
var cpc_temp = rowNode.removeChild(
findNodeByName(rowNode, config.names.rdetail.cp_count_cell));
- var statuses = arr[2];
+ var statuses = arr[4];
var cl = '';
if (rdetailShowCopyLocation) {
- cl = arr[2];
- statuses = arr[3];
+ cl = arr[4];
+ statuses = arr[5];
}
isLocal = true;
if(!localCNFound) {
localCNFound = true;
- defaultCN = arr[1];
+ defaultCN = [arr[1],arr[2],arr[3]]; // prefix, label, suffix
}
}
unHideMe(rowNode);
rdetailSetPath( thisOrg, isLocal );
- rdetailBuildBrowseInfo( rowNode, arr[1], isLocal, thisOrg, cl );
+ rdetailBuildBrowseInfo( rowNode, [arr[1],arr[2],arr[3]], isLocal, thisOrg, cl );
- if( i == summary.length - 1 && !defaultCN) defaultCN = arr[1];
+ if( i == summary.length - 1 && !defaultCN) defaultCN = [arr[1],arr[2],arr[3]]; // prefix, label, suffix
}
if(!found) unHideMe(G.ui.rdetail.cp_info_none);
function rdetailBuildBrowseInfo(row, cn, local, orgNode, cl) {
+ var whole_cn_json = js2JSON(cn);
+ var whole_cn_text = (cn[0] ? cn[0] + ' ' : '') + cn[1] + (cn[2] ? ' ' + cn[2] : '');
+
if(local) {
- var cache = callnumberCache[cn];
+ var cache = callnumberCache[whole_cn_json];
if( cache ) cache.count++;
- else callnumberCache[cn] = { count : 1 };
+ else callnumberCache[whole_cn_json] = { count : 1 };
}
var depth = getDepth();
if( !local ) depth = findOrgDepth(globalOrgTree);
- $n(row, 'rdetail_callnumber_cell').appendChild(text(cn));
+ $n(row, 'rdetail_callnumber_cell').appendChild(text(whole_cn_text));
if (rdetailShowCopyLocation) {
var cl_cell = $n(row, 'rdetail_copylocation_cell');
unHideMe(cl_cell);
}
- _debug('setting action clicks for cn ' + cn);
+ _debug('setting action clicks for cn ' + whole_cn_text);
var dHref = 'javascript:rdetailVolumeDetails('+
- '{copy_location : "'+cl.replace(/\"/g, '\\"')+'", rowid : "'+row.id+'", cn :"'+cn.replace(/\"/g, '\\"')+'", depth:"'+depth+'", org:"'+orgNode.id()+'", local: '+local+'});';
+ '{copy_location : "'+cl.replace(/\"/g, '\\"')+'", rowid : "'+row.id+'", cn_prefix :"'+cn[0].replace(/\"/g, '\\"')+'",cn :"'+cn[1].replace(/\"/g, '\\"')+'",cn_suffix :"'+cn[2].replace(/\"/g, '\\"')+'", depth:"'+depth+'", org:"'+orgNode.id()+'", local: '+local+'});';
- var bHref = 'javascript:rdetailShowCNBrowse("' + cn.replace(/\"/g, '\\"') + '", '+orgNode.id()+', "'+depth+'");';
+ var bHref = 'javascript:rdetailShowCNBrowse("'+cn[1].replace(/\"/g, '\\"') + '", '+orgNode.id()+', "'+depth+'");';
unHideMe( $n(row, 'details') )
$n(row, 'details').setAttribute('href', dHref);