From 4c8a3116daca36016f6e267efc1fdc96bde304a6 Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Tue, 5 Apr 2011 14:37:14 -0400 Subject: [PATCH] maintain one row per barcode, toward change/remove actions. sort on upper for peer types in menu --- .../server/cat/manage_multi_home_items.js | 30 +++++++++++++++++----- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js b/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js index 6d0f58caf9..0500f9df7d 100644 --- a/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js +++ b/Open-ILS/xul/staff_client/server/cat/manage_multi_home_items.js @@ -1,4 +1,5 @@ -var data; var list; var error; var net; var pcrud; var rows; var sound; +var data; var list; var error; var net; var pcrud; var sound; +var rows = {}; var commonStrings; var catStrings; @@ -57,8 +58,8 @@ function init_menu() { var ml = util.widgets.make_menulist( util.functional.map_list( data.list.bpt.sort( function(a,b) { - if (a.name() < b.name()) return -1; - if (a.name() > b.name()) return 1; + if (a.name().toUpperCase() < b.name().toUpperCase()) return -1; + if (a.name().toUpperCase() > b.name().toUpperCase()) return 1; return 0; }), function(obj) { @@ -105,7 +106,11 @@ function init_list() { }) ).concat( list.fm_columns('bpbcm', { - '*' : { 'expanded_label' : true, 'hidden' : true } + '*' : { 'expanded_label' : false, 'hidden' : true }, + 'bpbcm_peer_type' : { + 'hidden' : false, + 'render' : function(my) { return my.bpbcm ? data.hash.bpt[ my.bpbcm.peer_type() ].name() : ''; } + } }) ) } @@ -140,12 +145,22 @@ function handle_submit(create,my_bpbcm) { 'row' : { 'my' : { 'acp' : placeholder_acp, - 'bpbcm' : bpbcm + 'bpbcm' : my_bpbcm } } }; - var row_params = list.append(row_params); + if (barcode && rows[barcode]) { + var node = rows[barcode].my_node; + var parentNode = node.parentNode; + parentNode.removeChild( node ); + delete(rows[barcode]); + } + + row_params = list.append(row_params); + if (barcode) { + rows[barcode] = row_params; + } function handle_req(req) { try { @@ -153,6 +168,8 @@ function handle_submit(create,my_bpbcm) { if (typeof robj.ilsevent != 'undefined') { row_params.row.my.result = robj.textcode; } else { + rows[robj.copy.barcode()] = row_params; + row_params.row.my.acp = robj.copy; row_params.row.my.mvr = robj.mvr; @@ -211,7 +228,6 @@ function handle_submit(create,my_bpbcm) { ); } - } catch(E) { alert('Error in manage_multi_home_items.js, handle_submit(): ' + E); } -- 2.11.0