From: pines Date: Sat, 30 Sep 2006 10:22:44 +0000 (+0000) Subject: faster list rendering with one eval per row X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f4f1f64b7b9aff5ecaad3af22fd1913d4f330d47;p=Evergreen.git faster list rendering with one eval per row git-svn-id: svn://svn.open-ils.org/ILS/trunk@6290 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/xul/staff_client/server/admin/transit_list.js b/Open-ILS/xul/staff_client/server/admin/transit_list.js index 1444a99486..7613f98f9d 100644 --- a/Open-ILS/xul/staff_client/server/admin/transit_list.js +++ b/Open-ILS/xul/staff_client/server/admin/transit_list.js @@ -121,7 +121,7 @@ admin.transit_list.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'retrieve_row' : function(params) { var row = params.row; try { @@ -169,7 +169,7 @@ admin.transit_list.prototype = { obj.list2.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'retrieve_row' : function(params) { var row = params.row; try { diff --git a/Open-ILS/xul/staff_client/server/cat/copy_browser.js b/Open-ILS/xul/staff_client/server/cat/copy_browser.js index 535b2fb43e..9f5c6e699e 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_browser.js +++ b/Open-ILS/xul/staff_client/server/cat/copy_browser.js @@ -1417,7 +1417,7 @@ cat.copy_browser.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(' '), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(' '), 'retrieve_row' : function(params) { var row = params.row; diff --git a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js index 3231e09745..e2d1d4fe7f 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js +++ b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js @@ -47,7 +47,7 @@ cat.copy_buckets.prototype = { obj.list1.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function(ev) { try { JSAN.use('util.functional'); @@ -76,7 +76,7 @@ cat.copy_buckets.prototype = { obj.list2.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function(ev) { try { JSAN.use('util.functional'); diff --git a/Open-ILS/xul/staff_client/server/cat/copy_summary.xul b/Open-ILS/xul/staff_client/server/cat/copy_summary.xul index 4d829381e5..c09f691c2d 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_summary.xul +++ b/Open-ILS/xul/staff_client/server/cat/copy_summary.xul @@ -81,7 +81,7 @@ g.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), } ); diff --git a/Open-ILS/xul/staff_client/server/cat/record_buckets.js b/Open-ILS/xul/staff_client/server/cat/record_buckets.js index 4804d1d9d1..8d7009ef57 100644 --- a/Open-ILS/xul/staff_client/server/cat/record_buckets.js +++ b/Open-ILS/xul/staff_client/server/cat/record_buckets.js @@ -48,7 +48,7 @@ cat.record_buckets.prototype = { obj.list1.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function(ev) { try { JSAN.use('util.functional'); @@ -77,7 +77,7 @@ cat.record_buckets.prototype = { obj.list2.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function(ev) { try { JSAN.use('util.functional'); diff --git a/Open-ILS/xul/staff_client/server/cat/z3950.js b/Open-ILS/xul/staff_client/server/cat/z3950.js index 0dc3a72399..386447d7c8 100644 --- a/Open-ILS/xul/staff_client/server/cat/z3950.js +++ b/Open-ILS/xul/staff_client/server/cat/z3950.js @@ -42,7 +42,7 @@ cat.z3950.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function(ev) { try { JSAN.use('util.functional'); diff --git a/Open-ILS/xul/staff_client/server/circ/checkin.js b/Open-ILS/xul/staff_client/server/circ/checkin.js index 4a89ea395a..93d9ad7695 100644 --- a/Open-ILS/xul/staff_client/server/circ/checkin.js +++ b/Open-ILS/xul/staff_client/server/circ/checkin.js @@ -39,7 +39,7 @@ circ.checkin.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function(ev) { try { JSAN.use('util.functional'); diff --git a/Open-ILS/xul/staff_client/server/circ/checkout.js b/Open-ILS/xul/staff_client/server/circ/checkout.js index e7ca7ead77..c09cb44868 100644 --- a/Open-ILS/xul/staff_client/server/circ/checkout.js +++ b/Open-ILS/xul/staff_client/server/circ/checkout.js @@ -29,7 +29,7 @@ circ.checkout.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function() { var sel = obj.list.retrieve_selection(); document.getElementById('clip_button').disabled = sel.length < 1; diff --git a/Open-ILS/xul/staff_client/server/circ/copy_details.xul b/Open-ILS/xul/staff_client/server/circ/copy_details.xul index a56c25ecbc..80682621ef 100644 --- a/Open-ILS/xul/staff_client/server/circ/copy_details.xul +++ b/Open-ILS/xul/staff_client/server/circ/copy_details.xul @@ -87,7 +87,7 @@ JSAN.use('circ.util'); var columns = circ.util.transit_columns({}); JSAN.use('util.list'); g.list = new util.list('transit'); - g.list.init( { 'columns' : columns, 'map_row_to_column' : circ.util.std_map_row_to_column(), }); + g.list.init( { 'columns' : columns, 'map_row_to_columns' : circ.util.std_map_row_to_columns(), }); g.list.append( { 'row' : { 'my' : { 'atc' : g.transit, } } }); } else { @@ -114,7 +114,7 @@ ); JSAN.use('util.list'); g.list = new util.list('hold'); - g.list.init( { 'columns' : columns, 'map_row_to_column' : circ.util.std_map_row_to_column(), }); + g.list.init( { 'columns' : columns, 'map_row_to_columns' : circ.util.std_map_row_to_columns(), }); g.list.append( { 'row' : { 'my' : { 'ahr' : g.hold, 'acp' : g.copy, 'status' : status_robj, } } }); JSAN.use('patron.util'); diff --git a/Open-ILS/xul/staff_client/server/circ/copy_status.js b/Open-ILS/xul/staff_client/server/circ/copy_status.js index f3267823a1..80f548e0fe 100644 --- a/Open-ILS/xul/staff_client/server/circ/copy_status.js +++ b/Open-ILS/xul/staff_client/server/circ/copy_status.js @@ -38,7 +38,7 @@ circ.copy_status.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function(ev) { try { JSAN.use('util.functional'); diff --git a/Open-ILS/xul/staff_client/server/circ/hold_capture.js b/Open-ILS/xul/staff_client/server/circ/hold_capture.js index c43989d155..22b1eaf1ed 100644 --- a/Open-ILS/xul/staff_client/server/circ/hold_capture.js +++ b/Open-ILS/xul/staff_client/server/circ/hold_capture.js @@ -31,7 +31,7 @@ circ.hold_capture.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), } ); diff --git a/Open-ILS/xul/staff_client/server/circ/in_house_use.js b/Open-ILS/xul/staff_client/server/circ/in_house_use.js index 493062a1af..83d2eebc9a 100644 --- a/Open-ILS/xul/staff_client/server/circ/in_house_use.js +++ b/Open-ILS/xul/staff_client/server/circ/in_house_use.js @@ -31,7 +31,7 @@ circ.in_house_use.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'on_select' : function() { var sel = obj.list.retrieve_selection(); document.getElementById('clip_button').disabled = sel.length < 1; diff --git a/Open-ILS/xul/staff_client/server/circ/util.js b/Open-ILS/xul/staff_client/server/circ/util.js index 1fa7171eab..a19e7433d4 100644 --- a/Open-ILS/xul/staff_client/server/circ/util.js +++ b/Open-ILS/xul/staff_client/server/circ/util.js @@ -117,55 +117,55 @@ circ.util.offline_checkout_columns = function(modify,params) { 'id' : 'timestamp', 'label' : 'Timestamp', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.timestamp' + 'render' : 'v = my.timestamp; v;' }, { 'id' : 'checkout_time', 'label' : 'Check Out Time', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.checkout_time' + 'render' : 'v = my.checkout_time; v;' }, { 'id' : 'type', 'label' : 'Transaction Type', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.type' + 'render' : 'v = my.type; v;' }, { 'id' : 'noncat', 'label' : 'Non-Cataloged?', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.noncat' + 'render' : 'v = my.noncat; v;' }, { 'id' : 'noncat_type', 'label' : 'Non-Cat Type ID', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.noncat_type' + 'render' : 'v = my.noncat_type; v;' }, { 'id' : 'noncat_count', 'label' : 'Count', 'sort_type' : 'number', 'flex' : 1, 'primary' : false, 'hidden' : false, - 'render' : 'my.noncat_count' + 'render' : 'v = my.noncat_count; v;' }, { 'id' : 'patron_barcode', 'label' : 'Patron Barcode', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.patron_barcode' + 'render' : 'v = my.patron_barcode; v;' }, { 'id' : 'barcode', 'label' : 'Item Barcode', 'flex' : 2, 'primary' : true, 'hidden' : false, - 'render' : 'my.barcode' + 'render' : 'v = my.barcode; v;' }, { 'id' : 'due_date', 'label' : 'Due Date', 'flex' : 1, 'primary' : false, 'hidden' : false, - 'render' : 'my.due_date' + 'render' : 'v = my.due_date; v;' }, ]; if (modify) for (var i = 0; i < c.length; i++) { @@ -206,25 +206,25 @@ circ.util.offline_checkin_columns = function(modify,params) { 'id' : 'timestamp', 'label' : 'Timestamp', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.timestamp' + 'render' : 'v = my.timestamp; v;' }, { 'id' : 'backdate', 'label' : 'Back Date', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.backdate' + 'render' : 'v = my.backdate; v;' }, { 'id' : 'type', 'label' : 'Transaction Type', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.type' + 'render' : 'v = my.type; v;' }, { 'id' : 'barcode', 'label' : 'Item Barcode', 'flex' : 2, 'primary' : true, 'hidden' : false, - 'render' : 'my.barcode' + 'render' : 'v = my.barcode; v;' }, ]; if (modify) for (var i = 0; i < c.length; i++) { @@ -265,37 +265,37 @@ circ.util.offline_renew_columns = function(modify,params) { 'id' : 'timestamp', 'label' : 'Timestamp', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.timestamp' + 'render' : 'v = my.timestamp; v;' }, { 'id' : 'checkout_time', 'label' : 'Check Out Time', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.checkout_time' + 'render' : 'v = my.checkout_time; v;' }, { 'id' : 'type', 'label' : 'Transaction Type', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.type' + 'render' : 'v = my.type; v;' }, { 'id' : 'patron_barcode', 'label' : 'Patron Barcode', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.patron_barcode' + 'render' : 'v = my.patron_barcode; v;' }, { 'id' : 'barcode', 'label' : 'Item Barcode', 'flex' : 2, 'primary' : true, 'hidden' : false, - 'render' : 'my.barcode' + 'render' : 'v = my.barcode; v;' }, { 'id' : 'due_date', 'label' : 'Due Date', 'flex' : 1, 'primary' : false, 'hidden' : false, - 'render' : 'my.due_date' + 'render' : 'v = my.due_date; v;' }, ]; if (modify) for (var i = 0; i < c.length; i++) { @@ -336,31 +336,31 @@ circ.util.offline_inhouse_use_columns = function(modify,params) { 'id' : 'timestamp', 'label' : 'Timestamp', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.timestamp' + 'render' : 'v = my.timestamp; v;' }, { 'id' : 'use_time', 'label' : 'Use Time', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.use_time' + 'render' : 'v = my.use_time; v;' }, { 'id' : 'type', 'label' : 'Transaction Type', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'my.type' + 'render' : 'v = my.type; v;' }, { 'id' : 'count', 'label' : 'Count', 'sort_type' : 'number', 'flex' : 1, 'primary' : false, 'hidden' : false, - 'render' : 'my.count' + 'render' : 'v = my.count; v;' }, { 'id' : 'barcode', 'label' : 'Item Barcode', 'flex' : 2, 'primary' : true, 'hidden' : false, - 'render' : 'my.barcode' + 'render' : 'v = my.barcode; v;' }, ]; if (modify) for (var i = 0; i < c.length; i++) { @@ -405,183 +405,183 @@ circ.util.columns = function(modify,params) { var c = [ { 'id' : 'acp_id', 'label' : getString('staff.acp_label_id'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.id()', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.id(); v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'circ_id', 'label' : getString('staff.circ_label_id'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.id() : ( my.acp.circulations() ? my.acp.circulations()[0].id() : "")', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.id() : ( my.acp.circulations() ? my.acp.circulations()[0].id() : ""); v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'mvr_doc_id', 'label' : getString('staff.mvr_label_doc_id'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.doc_id()', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.doc_id(); v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'barcode', 'label' : getString('staff.acp_label_barcode'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.barcode()', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.barcode(); v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'call_number', 'label' : getString('staff.acp_label_call_number'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : ' if (my.acp && my.acp.call_number() == -1) { "Not Cataloged"; } else { if (!my.acn) { var x = obj.network.simple_request("FM_ACN_RETRIEVE",[ my.acp.call_number() ]); if (x.ilsevent) { "Not Cataloged"; } else { my.acn = x; x.label(); } } else { my.acn.label(); } } ' , 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : ' if (my.acp && my.acp.call_number() == -1) { v = "Not Cataloged"; v; } else { if (!my.acn) { var x = obj.network.simple_request("FM_ACN_RETRIEVE",[ my.acp.call_number() ]); if (x.ilsevent) { v = "Not Cataloged"; v; } else { my.acn = x; v = x.label(); v; } } else { v = my.acn.label(); v; } } ' , 'persist' : 'hidden width ordinal', }, { 'id' : 'owning_lib', 'label' : 'Owning Lib', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'if (Number(my.acn.owning_lib())>=0) obj.data.hash.aou[ my.acn.owning_lib() ].shortname(); else my.acn.owning_lib().shortname();', 'persist' : 'hidden width ordinal', + 'render' : 'if (Number(my.acn.owning_lib())>=0) { v = obj.data.hash.aou[ my.acn.owning_lib() ].shortname(); v; } else { v = my.acn.owning_lib().shortname(); v; }', 'persist' : 'hidden width ordinal', }, { 'id' : 'copy_number', 'label' : getString('staff.acp_label_copy_number'), 'flex' : 1, 'sort_type' : 'number', - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.copy_number()', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.copy_number(); v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'location', 'label' : getString('staff.acp_label_location'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'if (Number(my.acp.location())>=0) obj.data.lookup("acpl", my.acp.location() ).name(); else my.acp.location().name();', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'if (Number(my.acp.location())>=0) v = obj.data.lookup("acpl", my.acp.location() ).name(); else v = my.acp.location().name(); v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'loan_duration', 'label' : getString('staff.acp_label_loan_duration'), 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'switch(my.acp.loan_duration()){ case 1: "Short"; break; case 2: "Normal"; break; case 3: "Long"; break; }', 'persist' : 'hidden width ordinal', + 'render' : 'switch(my.acp.loan_duration()){ case 1: v = "Short"; break; case 2: v = "Normal"; break; case 3: v = "Long"; break; }; v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'circ_lib', 'label' : getString('staff.acp_label_circ_lib'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'if (Number(my.acp.circ_lib())>=0) obj.data.hash.aou[ my.acp.circ_lib() ].shortname(); else my.acp.circ_lib().shortname();', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'if (Number(my.acp.circ_lib())>=0) v = obj.data.hash.aou[ my.acp.circ_lib() ].shortname(); else v = my.acp.circ_lib().shortname(); v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'fine_level', 'label' : getString('staff.acp_label_fine_level'), 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'switch(my.acp.fine_level()){ case 1: "Low"; break; case 2: "Normal"; break; case 3: "High"; break; }', 'persist' : 'hidden width ordinal', + 'render' : 'switch(my.acp.fine_level()){ case 1: v = "Low"; break; case 2: v = "Normal"; break; case 3: v = "High"; break; }; v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'circulate', 'label' : 'Circulate?', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'get_bool( my.acp.circulate() ) ? "Yes" : "No"', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = get_bool( my.acp.circulate() ) ? "Yes" : "No"; v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'deleted', 'label' : 'Deleted?', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'get_bool( my.acp.deleted() ) ? "Yes" : "No"', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = get_bool( my.acp.deleted() ) ? "Yes" : "No"; v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'holdable', 'label' : 'Holdable?', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'get_bool( my.acp.holdable() ) ? "Yes" : "No"', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = get_bool( my.acp.holdable() ) ? "Yes" : "No"; v;', 'persist' : 'hidden width ordinal', }, { 'id' : 'opac_visible', 'label' : 'OPAC Visible?', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'get_bool( my.acp.opac_visible() ) ? "Yes" : "No"', 'persist' : 'hidden width ordinal', + 'primary' : false, 'hidden' : true, 'render' : 'v = get_bool( my.acp.opac_visible() ) ? "Yes" : "No"; v;', 'persist' : 'hidden width ordinal', }, { 'persist' : 'hidden width ordinal', 'id' : 'ref', 'label' : 'Reference?', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'get_bool( my.acp.ref() ) ? "Yes" : "No"' + 'primary' : false, 'hidden' : true, 'render' : 'v = get_bool( my.acp.ref() ) ? "Yes" : "No"; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'deposit', 'label' : 'Deposit?', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'get_bool( my.acp.deposit() ) ? "Yes" : "No"' + 'primary' : false, 'hidden' : true, 'render' : 'v = get_bool( my.acp.deposit() ) ? "Yes" : "No"; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'deposit_amount', 'label' : getString('staff.acp_label_deposit_amount'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'util.money.sanitize(my.acp.deposit_amount())', 'sort_type' : 'money', + 'primary' : false, 'hidden' : true, 'render' : 'v = util.money.sanitize(my.acp.deposit_amount()); v;', 'sort_type' : 'money', }, { 'persist' : 'hidden width ordinal', 'id' : 'price', 'label' : getString('staff.acp_label_price'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'util.money.sanitize(my.acp.price())', 'sort_type' : 'money', + 'primary' : false, 'hidden' : true, 'render' : 'v = util.money.sanitize(my.acp.price()); v;', 'sort_type' : 'money', }, { 'persist' : 'hidden width ordinal', 'id' : 'circ_as_type', 'label' : getString('staff.acp_label_circ_as_type'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.circ_as_type()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.circ_as_type(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'circ_modifier', 'label' : getString('staff.acp_label_circ_modifier'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.circ_modifier()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.circ_modifier(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'xact_start_full', 'label' : 'Checkout Timestamp', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.xact_start() : (my.acp.circulations() ? my.acp.circulations()[0].xact_start() : "")' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.xact_start() : (my.acp.circulations() ? my.acp.circulations()[0].xact_start() : ""); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'checkin_time_full', 'label' : 'Checkin Timestamp', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.checkin_time() : (my.acp.circulations() ? my.acp.circulations()[0].checkin_time() : "")' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.checkin_time() : (my.acp.circulations() ? my.acp.circulations()[0].checkin_time() : ""); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'xact_start', 'label' : 'Checkout Date', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.xact_start().substr(0,10) : (my.acp.circulations() ? my.acp.circulations()[0].xact_start().substr(0,10) : "")' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.xact_start().substr(0,10) : (my.acp.circulations() ? my.acp.circulations()[0].xact_start().substr(0,10) : ""); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'checkin_time', 'label' : 'Checkin Date', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.checkin_time().substr(0,10) : (my.acp.circulations() ? my.acp.circulations()[0].checkin_time().substr(0,10) : "")' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.checkin_time().substr(0,10) : (my.acp.circulations() ? my.acp.circulations()[0].checkin_time().substr(0,10) : ""); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'xact_finish', 'label' : 'Transaction Finished', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ.xact_finish()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ.xact_finish(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'due_date', 'label' : getString('staff.circ_label_due_date'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.due_date().substr(0,10) : (my.acp.circulations() ? my.acp.circulations()[0].due_date().substr(0,10) : "")' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.due_date().substr(0,10) : (my.acp.circulations() ? my.acp.circulations()[0].due_date().substr(0,10) : ""); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'create_date', 'label' : 'Date Created', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.create_date().substr(0,10)' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.create_date().substr(0,10); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'edit_date', 'label' : 'Date Last Edited', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.edit_date().substr(0,10)' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.edit_date().substr(0,10); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'title', 'label' : getString('staff.mvr_label_title'), 'flex' : 2, 'sort_type' : 'title', - 'primary' : false, 'hidden' : true, 'render' : 'try { my.mvr.title(); } catch(E) { my.acp.dummy_title(); }' + 'primary' : false, 'hidden' : true, 'render' : 'try { v = my.mvr.title(); v; } catch(E) { v = my.acp.dummy_title(); v; }' }, { 'persist' : 'hidden width ordinal', 'id' : 'author', 'label' : getString('staff.mvr_label_author'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'try { my.mvr.author(); } catch(E) { my.acp.dummy_author(); }' + 'primary' : false, 'hidden' : true, 'render' : 'try { v = my.mvr.author(); v; } catch(E) { v = my.acp.dummy_author(); v; }' }, { 'persist' : 'hidden width ordinal', 'id' : 'edition', 'label' : 'Edition', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.edition();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.edition(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'isbn', 'label' : 'ISBN', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.isbn();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.isbn(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'pubdate', 'label' : 'PubDate', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.pubdate();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.pubdate(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'publisher', 'label' : 'Publisher', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.publisher();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.publisher(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'tcn', 'label' : 'TCN', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.tcn();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.tcn(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'renewal_remaining', 'label' : getString('staff.circ_label_renewal_remaining'), 'flex' : 0, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.renewal_remaining() : (my.acp.circulations() ? my.acp.circulations()[0].renewal_remaining() : "")', 'sort_type' : 'number', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.renewal_remaining() : (my.acp.circulations() ? my.acp.circulations()[0].renewal_remaining() : ""); v;', 'sort_type' : 'number', }, { 'persist' : 'hidden width ordinal', 'id' : 'stop_fines', 'label' : 'Fines Stopped', 'flex' : 0, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.stop_fines() : (my.acp.circulations() ? my.acp.circulations()[0].stop_fines() : "")' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.stop_fines() : (my.acp.circulations() ? my.acp.circulations()[0].stop_fines() : ""); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'stop_fines_time', 'label' : 'Fines Stopped Time', 'flex' : 0, - 'primary' : false, 'hidden' : true, 'render' : 'my.circ ? my.circ.stop_fines_time() : (my.acp.circulations() ? my.acp.circulations()[0].stop_fines_time() : "")' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.circ ? my.circ.stop_fines_time() : (my.acp.circulations() ? my.acp.circulations()[0].stop_fines_time() : ""); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'status', 'label' : getString('staff.acp_label_status'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'if (Number(my.acp.status())>=0) obj.data.hash.ccs[ my.acp.status() ].name(); else my.acp.status().name();' + 'primary' : false, 'hidden' : true, 'render' : 'if (Number(my.acp.status())>=0) v = obj.data.hash.ccs[ my.acp.status() ].name(); else v = my.acp.status().name(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'route_to', 'label' : 'Route To', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.route_to.toString()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.route_to.toString(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'message', 'label' : 'Message', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.message.toString()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.message.toString(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'uses', 'label' : '# of Uses', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.uses', 'sort_type' : 'number', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.uses; v;', 'sort_type' : 'number', }, { 'persist' : 'hidden width ordinal', 'id' : 'alert_message', 'label' : 'Alert Message', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.alert_message()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.alert_message(); v;' }, ]; for (var i = 0; i < c.length; i++) { @@ -623,43 +623,43 @@ circ.util.transit_columns = function(modify,params) { var c = [ { 'persist' : 'hidden width ordinal', 'id' : 'transit_item_barcode', 'label' : 'Barcode', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp.barcode()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp.barcode(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_item_title', 'label' : 'Title', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'try { my.mvr.title(); } catch(E) { my.acp.dummy_title(); }' + 'primary' : false, 'hidden' : true, 'render' : 'try { v = my.mvr.title(); v; } catch(E) { v = my.acp.dummy_title(); v; }' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_item_author', 'label' : 'Author', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'try { my.mvr.author(); } catch(E) { my.acp.dummy_author(); }' + 'primary' : false, 'hidden' : true, 'render' : 'try { v = my.mvr.author(); v; } catch(E) { v = my.acp.dummy_author(); v; }' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_item_callnumber', 'label' : 'Call Number', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acn.label()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acn.label(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_id', 'label' : 'Transit ID', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.atc.id()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.atc.id(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_source', 'label' : 'Transit Source', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'typeof my.atc.source() == "object" ? my.atc.source().shortname() : obj.data.hash.aou[ my.atc.source() ].shortname()' + 'primary' : false, 'hidden' : false, 'render' : 'v = typeof my.atc.source() == "object" ? my.atc.source().shortname() : obj.data.hash.aou[ my.atc.source() ].shortname(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_source_send_time', 'label' : 'Transitted On', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.atc.source_send_time()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.atc.source_send_time(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_dest_lib', 'label' : 'Transit Destination', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'typeof my.atc.dest() == "object" ? my.atc.dest().shortname() : obj.data.hash.aou[ my.atc.dest() ].shortname()' + 'primary' : false, 'hidden' : false, 'render' : 'v = typeof my.atc.dest() == "object" ? my.atc.dest().shortname() : obj.data.hash.aou[ my.atc.dest() ].shortname(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_dest_recv_time', 'label' : 'Transit Completed On', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.atc.dest_recv_time()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.atc.dest_recv_time(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_target_copy', 'label' : 'Transit Copy ID', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.atc.target_copy()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.atc.target_copy(); v;' }, ]; for (var i = 0; i < c.length; i++) { @@ -704,154 +704,154 @@ circ.util.hold_columns = function(modify,params) { { 'persist' : 'hidden width ordinal', 'id' : 'request_timestamp', 'label' : 'Request Timestamp', 'flex' : 0, 'primary' : false, 'hidden' : true, - 'render' : 'my.ahr.request_time().toString().substr(0,10)' + 'render' : 'v = my.ahr.request_time().toString().substr(0,10); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'request_time', 'label' : 'Request Date', 'flex' : 0, 'primary' : false, 'hidden' : true, - 'render' : 'my.ahr.request_time().toString().substr(0,10)' + 'render' : 'v = my.ahr.request_time().toString().substr(0,10); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'available_timestamp', 'label' : 'Available On (Timestamp)', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.transit() ? ( my.ahr.transit().dest_recv_time() ? my.ahr.transit().dest_recv_time().toString() : "") : ( my.ahr.capture_time() ? my.ahr.capture_time().toString() : "" )', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.transit() ? ( my.ahr.transit().dest_recv_time() ? my.ahr.transit().dest_recv_time().toString() : "") : ( my.ahr.capture_time() ? my.ahr.capture_time().toString() : "" ); v;', }, { 'persist' : 'hidden width ordinal', 'id' : 'available_time', 'label' : 'Available On', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.ahr.transit() ? ( my.ahr.transit().dest_recv_time() ? my.ahr.transit().dest_recv_time().toString().substr(0,10) : "") : ( my.ahr.capture_time() ? my.ahr.capture_time().toString().substr(0,10) : "" )', + 'primary' : false, 'hidden' : false, 'render' : 'v = my.ahr.transit() ? ( my.ahr.transit().dest_recv_time() ? my.ahr.transit().dest_recv_time().toString().substr(0,10) : "") : ( my.ahr.capture_time() ? my.ahr.capture_time().toString().substr(0,10) : "" ); v;', }, { 'persist' : 'hidden width ordinal', 'id' : 'capture_timestamp', 'label' : 'Capture Timestamp', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.capture_time() ? my.ahr.capture_time().toString() : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.capture_time() ? my.ahr.capture_time().toString() : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'capture_time', 'label' : 'Capture Date', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.capture_time() ? my.ahr.capture_time().toString().substr(0,10) : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.capture_time() ? my.ahr.capture_time().toString().substr(0,10) : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'status', 'label' : getString('staff.ahr_status_label'), 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'switch(my.status) { case 1: case "1": "Waiting for copy"; break; case 2: case "2": "Waiting for capture"; break; case 3: case "3": "In-Transit"; break; case 4: case "4" : "Ready for pickup"; break; default: my.status; break;}' + 'primary' : false, 'hidden' : false, 'render' : 'switch(my.status) { case 1: case "1": v = "Waiting for copy"; break; case 2: case "2": v = "Waiting for capture"; break; case 3: case "3": v = "In-Transit"; break; case 4: case "4" : v = "Ready for pickup"; break; default: v = my.status; break;}; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'hold_type', 'label' : getString('staff.ahr_hold_type_label'), 'flex' : 0, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.hold_type()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.hold_type(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'pickup_lib', 'label' : 'Pickup Lib (Full Name)', 'flex' : 1, 'primary' : false, 'hidden' : true, - 'render' : 'if (Number(my.ahr.pickup_lib())>=0) obj.data.hash.aou[ my.ahr.pickup_lib() ].name(); else my.ahr.pickup_lib().name();' + 'render' : 'if (Number(my.ahr.pickup_lib())>=0) v = obj.data.hash.aou[ my.ahr.pickup_lib() ].name(); else v = my.ahr.pickup_lib().name(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'pickup_lib_shortname', 'label' : getString('staff.ahr_pickup_lib_label'), 'flex' : 0, 'primary' : false, 'hidden' : true, - 'render' : 'if (Number(my.ahr.pickup_lib())>=0) obj.data.hash.aou[ my.ahr.pickup_lib() ].shortname(); else my.ahr.pickup_lib().shortname();' + 'render' : 'if (Number(my.ahr.pickup_lib())>=0) v = obj.data.hash.aou[ my.ahr.pickup_lib() ].shortname(); else v = my.ahr.pickup_lib().shortname(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'current_copy', 'label' : getString('staff.ahr_current_copy_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acp ? my.acp.barcode() : "No Copy"' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acp ? my.acp.barcode() : "No Copy"; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'email_notify', 'label' : getString('staff.ahr_email_notify_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.email_notify() == 1 ? "Yes" : "No"' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.email_notify() == 1 ? "Yes" : "No"; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'expire_time', 'label' : getString('staff.ahr_expire_time_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.expire_time()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.expire_time(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'fulfillment_time', 'label' : getString('staff.ahr_fulfillment_time_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.fulfillment_time()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.fulfillment_time(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'holdable_formats', 'label' : getString('staff.ahr_holdable_formats_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.holdable_formats()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.holdable_formats(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'id', 'label' : getString('staff.ahr_id_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.id()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.id(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'phone_notify', 'label' : getString('staff.ahr_phone_notify_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.phone_notify()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.phone_notify(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'prev_check_time', 'label' : getString('staff.ahr_prev_check_time_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.prev_check_time()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.prev_check_time(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'requestor', 'label' : getString('staff.ahr_requestor_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.requestor()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.requestor(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'selection_depth', 'label' : getString('staff.ahr_selection_depth_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.selection_depth()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.selection_depth(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'target', 'label' : getString('staff.ahr_target_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.target()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.target(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'usr', 'label' : getString('staff.ahr_usr_label'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.usr()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.usr(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'title', 'label' : getString('staff.mvr_label_title'), 'flex' : 1, 'sort_type' : 'title', - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr ? my.mvr.title() : "No Title?"' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr ? my.mvr.title() : "No Title?"; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'author', 'label' : getString('staff.mvr_label_author'), 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr ? my.mvr.author() : "No Author?"' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr ? my.mvr.author() : "No Author?"; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'edition', 'label' : 'Edition', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.edition();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.edition(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'isbn', 'label' : 'ISBN', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.isbn();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.isbn(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'pubdate', 'label' : 'PubDate', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.pubdate();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.pubdate(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'publisher', 'label' : 'Publisher', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.publisher();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.publisher(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'tcn', 'label' : 'TCN', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mvr.tcn();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mvr.tcn(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'notify_time', 'label' : 'Last Notify Time', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.notify_time();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.notify_time(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'notify_count', 'label' : 'Notices', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.notify_count();' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.notify_count(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_source', 'label' : 'Transit Source', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.transit() ? obj.data.hash.aou[ my.ahr.transit().source() ].shortname() : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.transit() ? obj.data.hash.aou[ my.ahr.transit().source() ].shortname() : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_source_send_time', 'label' : 'Transitted On', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.transit() ? my.ahr.transit().source_send_time() : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.transit() ? my.ahr.transit().source_send_time() : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_dest_lib', 'label' : 'Transit Destination', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.transit() ? obj.data.hash.aou[ my.ahr.transit().dest() ].shortname() : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.transit() ? obj.data.hash.aou[ my.ahr.transit().dest() ].shortname() : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'transit_dest_recv_time', 'label' : 'Transit Completed On', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.ahr.transit() ? my.ahr.transit().dest_recv_time() : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.ahr.transit() ? my.ahr.transit().dest_recv_time() : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'patron_name', 'label' : 'Patron Name', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.patron_barcode ? my.patron_barcode + " " + my.patron_family_name + ", " + my.patron_first_given_name : ""', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.patron_barcode ? my.patron_barcode + " " + my.patron_family_name + ", " + my.patron_first_given_name : ""; v;', }, { 'persist' : 'hidden width ordinal', 'id' : 'callnumber', 'label' : 'Call Number', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.acn.label()', + 'primary' : false, 'hidden' : true, 'render' : 'v = my.acn.label(); v;', }, ]; for (var i = 0; i < c.length; i++) { @@ -909,6 +909,33 @@ circ.util.std_map_row_to_column = function(error_value) { } } +circ.util.std_map_row_to_columns = function(error_value) { + return function(row,cols) { + // row contains { 'my' : { 'acp' : {}, 'circ' : {}, 'mvr' : {} } } + // cols contains all of the objects listed above in columns + + var obj = {}; + JSAN.use('util.error'); obj.error = new util.error(); + JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'}); + JSAN.use('util.network'); obj.network = new util.network(); + JSAN.use('util.money'); + + var my = row.my; + var values = []; + var cmd = ''; + try { + for (var i = 0; i < cols.length; i++) { + cmd += 'try { ' + cols[i].render + '; values['+i+'] = v; } catch(E) { values['+i+'] = error_value; }'; + } + eval( cmd ); + } catch(E) { + obj.error.sdump('D_WARN','map_row_to_column: ' + E); + if (error_value) { value = error_value; } else { value = ' ' }; + } + return values; + } +} + circ.util.checkin_via_barcode = function(session,barcode,backdate,auto_print,async) { try { JSAN.use('util.error'); var error = new util.error(); diff --git a/Open-ILS/xul/staff_client/server/patron/bill_details.xul b/Open-ILS/xul/staff_client/server/patron/bill_details.xul index 22d5bdb752..a5e805d8bc 100644 --- a/Open-ILS/xul/staff_client/server/patron/bill_details.xul +++ b/Open-ILS/xul/staff_client/server/patron/bill_details.xul @@ -146,7 +146,7 @@ g.bill_list.init( { 'columns' : patron.util.mb_columns({}), - 'map_row_to_column' : patron.util.std_map_row_to_column(), + 'map_row_to_columns' : patron.util.std_map_row_to_columns(), 'on_select' : function(ev) { JSAN.use('util.functional'); g.bill_list_selection = util.functional.map_list( @@ -159,7 +159,7 @@ g.payment_list.init( { 'columns' : patron.util.mp_columns({}), - 'map_row_to_column' : patron.util.std_map_row_to_column(), + 'map_row_to_columns' : patron.util.std_map_row_to_columns(), 'on_select' : function(ev) { JSAN.use('util.functional'); g.payment_list_selection = util.functional.map_list( diff --git a/Open-ILS/xul/staff_client/server/patron/bill_history.xul b/Open-ILS/xul/staff_client/server/patron/bill_history.xul index 6a6f05feef..d5cdbd409e 100644 --- a/Open-ILS/xul/staff_client/server/patron/bill_history.xul +++ b/Open-ILS/xul/staff_client/server/patron/bill_history.xul @@ -187,7 +187,7 @@ g.bill_list.init( { 'columns' : patron.util.mbts_columns({}), - 'map_row_to_column' : patron.util.std_map_row_to_column(' '), + 'map_row_to_columns' : patron.util.std_map_row_to_columns(' '), 'on_select' : function(ev) { JSAN.use('util.functional'); g.bill_list_selection = util.functional.map_list( diff --git a/Open-ILS/xul/staff_client/server/patron/hold_notices.xul b/Open-ILS/xul/staff_client/server/patron/hold_notices.xul index 8b1ceefdaa..04f4d90ea5 100644 --- a/Open-ILS/xul/staff_client/server/patron/hold_notices.xul +++ b/Open-ILS/xul/staff_client/server/patron/hold_notices.xul @@ -92,7 +92,7 @@ g.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'retrieve_row' : function(params) { var row = params.row; try { diff --git a/Open-ILS/xul/staff_client/server/patron/holds.js b/Open-ILS/xul/staff_client/server/patron/holds.js index ab3b2d8f71..2d367644be 100644 --- a/Open-ILS/xul/staff_client/server/patron/holds.js +++ b/Open-ILS/xul/staff_client/server/patron/holds.js @@ -43,7 +43,7 @@ patron.holds.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'retrieve_row' : function(params) { var row = params.row; try { diff --git a/Open-ILS/xul/staff_client/server/patron/info_group.xul b/Open-ILS/xul/staff_client/server/patron/info_group.xul index edb65620f1..19fe65eb93 100644 --- a/Open-ILS/xul/staff_client/server/patron/info_group.xul +++ b/Open-ILS/xul/staff_client/server/patron/info_group.xul @@ -85,7 +85,7 @@ g.list.init( { 'columns' : columns, - 'map_row_to_column' : patron.util.std_map_row_to_column(), + 'map_row_to_columns' : patron.util.std_map_row_to_columns(), 'retrieve_row' : function(params) { var id = params.retrieve_id; var au_obj = patron.util.retrieve_au_via_id( ses(), id ); diff --git a/Open-ILS/xul/staff_client/server/patron/items.js b/Open-ILS/xul/staff_client/server/patron/items.js index 6ecd57240c..09a1a117f3 100644 --- a/Open-ILS/xul/staff_client/server/patron/items.js +++ b/Open-ILS/xul/staff_client/server/patron/items.js @@ -550,7 +550,7 @@ patron.items.prototype = { obj.list.init( { 'columns' : columns, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'retrieve_row' : retrieve_row, 'on_select' : function(ev) { JSAN.use('util.functional'); @@ -577,7 +577,7 @@ patron.items.prototype = { obj.list2.init( { 'columns' : columns2, - 'map_row_to_column' : circ.util.std_map_row_to_column(), + 'map_row_to_columns' : circ.util.std_map_row_to_columns(), 'retrieve_row' : retrieve_row, 'on_select' : function(ev) { JSAN.use('util.functional'); diff --git a/Open-ILS/xul/staff_client/server/patron/util.js b/Open-ILS/xul/staff_client/server/patron/util.js index b73e1da3af..cfe41867b6 100644 --- a/Open-ILS/xul/staff_client/server/patron/util.js +++ b/Open-ILS/xul/staff_client/server/patron/util.js @@ -19,62 +19,62 @@ patron.util.mbts_columns = function(modify,params) { var c = [ { 'persist' : 'hidden width ordinal', 'id' : 'id', 'label' : 'Id', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.mbts.id()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mbts.id(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'usr', 'label' : 'User', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mbts.usr() ? "Id = " + my.mbts.usr() : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mbts.usr() ? "Id = " + my.mbts.usr() : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'xact_type', 'label' : 'Type', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.mbts.xact_type()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mbts.xact_type(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'balance_owed', 'label' : 'Balance Owed', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'util.money.sanitize( my.mbts.balance_owed() )', + 'primary' : false, 'hidden' : false, 'render' : 'v = util.money.sanitize( my.mbts.balance_owed() ); v;', 'sort_type' : 'money', }, { 'persist' : 'hidden width ordinal', 'id' : 'total_owed', 'label' : 'Total Billed', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'util.money.sanitize( my.mbts.total_owed() )', + 'primary' : false, 'hidden' : false, 'render' : 'v = util.money.sanitize( my.mbts.total_owed() ); v;', 'sort_type' : 'money', }, { 'persist' : 'hidden width ordinal', 'id' : 'total_paid', 'label' : 'Total Paid', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'util.money.sanitize( my.mbts.total_paid() )', + 'primary' : false, 'hidden' : false, 'render' : 'v = util.money.sanitize( my.mbts.total_paid() ); v;', 'sort_type' : 'money', }, { 'persist' : 'hidden width ordinal', 'id' : 'last_billing_note', 'label' : 'Last Billing Note', 'flex' : 2, - 'primary' : false, 'hidden' : true, 'render' : 'my.mbts.last_billing_note()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mbts.last_billing_note(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'last_billing_type', 'label' : 'Last Billing Type', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mbts.last_billing_type()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mbts.last_billing_type(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'last_billing_ts', 'label' : 'Last Billed', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'util.date.formatted_date( my.mbts.last_billing_ts(), "" )' + 'primary' : false, 'hidden' : true, 'render' : 'v = util.date.formatted_date( my.mbts.last_billing_ts(), "" ); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'last_payment_note', 'label' : 'Last Payment Note', 'flex' : 2, - 'primary' : false, 'hidden' : true, 'render' : 'my.mbts.last_payment_note()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mbts.last_payment_note(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'last_payment_type', 'label' : 'Last Payment Type', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mbts.last_payment_type()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mbts.last_payment_type(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'last_payment_ts', 'label' : 'Last Payment', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'util.date.formatted_date( my.mbts.last_payment_ts(), "" )' + 'primary' : false, 'hidden' : true, 'render' : 'v = util.date.formatted_date( my.mbts.last_payment_ts(), "" ); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'xact_start', 'label' : 'Created', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.mbts.xact_start() ? my.mbts.xact_start().toString().substr(0,10) : ""' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mbts.xact_start() ? my.mbts.xact_start().toString().substr(0,10) : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'xact_finish', 'label' : 'Closed', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.mbts.xact_finish() ? my.mbts.xact_finish().toString().substr(0,10) : ""' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mbts.xact_finish() ? my.mbts.xact_finish().toString().substr(0,10) : ""; v;' }, ]; for (var i = 0; i < c.length; i++) { @@ -117,40 +117,40 @@ patron.util.mb_columns = function(modify,params) { var c = [ { 'persist' : 'hidden width ordinal', 'id' : 'id', 'label' : 'Id', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mb.id()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mb.id(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'voided', 'label' : 'Voided', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'get_bool( my.mb.voided() ) ? "Yes" : "No"' + 'primary' : false, 'hidden' : false, 'render' : 'v = get_bool( my.mb.voided() ) ? "Yes" : "No"; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'voider', 'label' : 'Voider', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mb.voider() ? "Id = " + my.mb.voider() : ""' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mb.voider() ? "Id = " + my.mb.voider() : ""; v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'void_time', 'label' : 'Void Time', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mb.void_time()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mb.void_time(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'amount', 'label' : 'Amount', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'util.money.sanitize( my.mb.amount() )', + 'primary' : false, 'hidden' : false, 'render' : 'v = util.money.sanitize( my.mb.amount() ); v;', 'sort_type' : 'money', }, { 'persist' : 'hidden width ordinal', 'id' : 'billing_type', 'label' : 'Type', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.mb.billing_type()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mb.billing_type(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'billing_ts', 'label' : 'When', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'util.date.formatted_date( my.mb.billing_ts(), "" )' + 'primary' : false, 'hidden' : false, 'render' : 'v = util.date.formatted_date( my.mb.billing_ts(), "" ); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'note', 'label' : 'Note', 'flex' : 2, - 'primary' : false, 'hidden' : false, 'render' : 'my.mb.note()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mb.note(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'xact', 'label' : 'Transaction ID', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mb.xact()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mb.xact(); v;' }, ]; for (var i = 0; i < c.length; i++) { @@ -194,36 +194,36 @@ patron.util.mp_columns = function(modify,params) { var c = [ { 'persist' : 'hidden width ordinal', 'id' : 'mp_id', 'label' : 'ID', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mp.id()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mp.id(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'mp_amount', 'label' : 'Amount', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'util.money.sanitize( my.mp.amount() )', + 'primary' : false, 'hidden' : false, 'render' : 'v = util.money.sanitize( my.mp.amount() ); v;', 'sort_type' : 'money', }, { 'persist' : 'hidden width ordinal', 'id' : 'mp_payment_type', 'label' : 'Type', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.mp.payment_type()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mp.payment_type(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'mp_payment_ts', 'label' : 'When', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'util.date.formatted_date( my.mp.payment_ts(), "" )' + 'primary' : false, 'hidden' : false, 'render' : 'v = util.date.formatted_date( my.mp.payment_ts(), "" ); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'mp_note', 'label' : 'Note', 'flex' : 2, - 'primary' : false, 'hidden' : false, 'render' : 'my.mp.note()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mp.note(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'mp_ws', 'label' : 'Workstation', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'my.mp.cash_drawer().name()' + 'primary' : false, 'hidden' : false, 'render' : 'v = my.mp.cash_drawer().name(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'mp_staff', 'label' : 'Staff', 'flex' : 1, - 'primary' : false, 'hidden' : false, 'render' : 'JSAN.use("patron.util"); var s = my.mp.accepting_usr(); if (s && typeof s != "object") s = patron.util.retrieve_fleshed_au_via_id(ses(),s); s.card().barcode() + " @ " + obj.OpenILS.data.hash.aou[ s.home_ou() ].shortname();' + 'primary' : false, 'hidden' : false, 'render' : 'JSAN.use("patron.util"); var s = my.mp.accepting_usr(); if (s && typeof s != "object") s = patron.util.retrieve_fleshed_au_via_id(ses(),s); v = s.card().barcode() + " @ " + obj.OpenILS.data.hash.aou[ s.home_ou() ].shortname(); v;' }, { 'persist' : 'hidden width ordinal', 'id' : 'mp_xact', 'label' : 'Transaction ID', 'flex' : 1, - 'primary' : false, 'hidden' : true, 'render' : 'my.mp.xact()' + 'primary' : false, 'hidden' : true, 'render' : 'v = my.mp.xact(); v;' }, ]; for (var i = 0; i < c.length; i++) { @@ -451,7 +451,7 @@ patron.util.std_map_row_to_columns = function(error_value) { var cmd = ''; try { for (var i = 0; i < cols.length; i++) { - cmd += cols[i].render + '; values['+i+'] = v; '; + cmd += 'try { ' + cols[i].render + '; values['+i+'] = v; } catch(E) { values['+i+'] = error_value; }'; } eval( cmd ); } catch(E) {