From 5f70fe52322e009221c334667a8b43c368878491 Mon Sep 17 00:00:00 2001 From: phasefx Date: Wed, 20 Jul 2005 12:53:08 +0000 Subject: [PATCH] snapshot of listbox before blowing it away with something else git-svn-id: svn://svn.open-ils.org/ILS/trunk@1298 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../content/evergreen/patron/patron_bills.js | 37 +++++++++++-------- .../evergreen/patron/patron_display.js | 10 +++-- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js index ed37e0c7c8..2a605f7ddb 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js +++ b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_bills.js @@ -40,18 +40,19 @@ function patron_bills_init(p) { } function list_box_init( p ) { - var listbox = p.w.document.createElement('listbox'); - p.node.appendChild( listbox ); - listbox.setAttribute('flex','1'); - listbox.setAttribute('seltype','multiple'); + p.listbox = p.w.document.createElement('listbox'); + p.node.appendChild( p.listbox ); + p.listbox.setAttribute('flex','1'); + p.listbox.setAttribute('seltype','multiple'); var listhead = p.w.document.createElement('listhead'); - listbox.appendChild( listhead ); + p.listbox.appendChild( listhead ); var listcols = p.w.document.createElement('listcols'); - listbox.appendChild( listcols ); + p.listbox.appendChild( listcols ); - if (window.navigator.userAgent.match( /Firefox/ )) { + /*if (window.navigator.userAgent.match( /Firefox/ ))*/ { + sdump('D_FIREFOX','Kludge: Adding extra listheader and listcol\n'); var listheader = p.w.document.createElement('listheader'); listhead.appendChild( listheader ); listheader.setAttribute('label', ''); @@ -73,20 +74,22 @@ function list_box_init( p ) { p.add_row = function (cols, params) { var listitem = p.w.document.createElement('listitem'); - listbox.appendChild( listitem ); + p.listbox.appendChild( listitem ); listitem.setAttribute('allowevents','true'); listitem.setAttribute('style','border-bottom: black solid thin'); for (var i in params) { listitem.setAttribute( i, params[i] ); } - if (window.navigator.userAgent.match( /Firefox/ )) { - listitem.setAttribute('label',''); + /* if (window.navigator.userAgent.match( /Firefox/ )) */ { + sdump('D_FIREFOX','Kludge: Setting label on listitem\n'); + listitem.setAttribute('label',' '); } for (var i = 0; i < cols.length; i++) { try { + dump('listitem.append. i = ' + i + ' cols[i] = ' + cols[i] + '\n'); listitem.appendChild( cols[i] ); } catch(E) { sdump('D_ERROR', cols[i] + '\n' + E + '\n'); @@ -95,11 +98,7 @@ function list_box_init( p ) { } p.clear_rows = function () { - var nl = listbox.getElementsByTagName('listitem'); - for (var i = 0; i < nl.length; i++) { - listbox.removeChild(nl[i]); - } - + while( p.listbox.getRowCount() > 0 ) { p.listbox.removeItemAt(0); } } return p; @@ -183,8 +182,14 @@ function patron_bills_add_patron_bills(p, bills) { return grid; } + function gen_timeout_add_row( cols, mbts ) { + return function() { p.list_box.add_row( cols, { 'record_id' : mbts.id() } ) }; + } + var obj_string ='mbts'; + setTimeout( function(){p.list_box.clear_rows();}, 0 ); + for (var i = 0; i < bills.length; i++) { var mbts = bills[i]; @@ -225,6 +230,6 @@ function patron_bills_add_patron_bills(p, bills) { } cols.push( listcell ); } - p.list_box.add_row( cols, { 'record_id' : mbts.id() } ); + setTimeout( gen_timeout_add_row( cols, mbts), 0); } } diff --git a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display.js b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display.js index 1cded76caf..cab9f0acb4 100755 --- a/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display.js +++ b/Evergreen/staff_client/chrome/content/evergreen/patron/patron_display.js @@ -477,9 +477,13 @@ function patron_display_patron_bills_init(p) { p.patron_bills = patron_bills_init( { 'w' : p.w, 'node' : p.patron_bills_node, 'debug' : p.app } ); p.redraw_patron_bills = function() { - p.patron_bills.clear_patron_bills(); - if (!p._patron.bills) patron_get_bills( p._patron ); - p.patron_bills.add_patron_bills( p._patron.bills ); + try { + p.patron_bills.clear_patron_bills(); + if (!p._patron.bills) patron_get_bills( p._patron ); + p.patron_bills.add_patron_bills( p._patron.bills ); + } catch(E) { + sdump('D_ERROR',js2JSON(E) + '\n'); + } } } -- 2.43.2