From 08593dec2c7e63a44bb0efa6ddfc95272ea54b8c Mon Sep 17 00:00:00 2001 From: phasefx Date: Mon, 20 Jun 2005 15:26:33 +0000 Subject: [PATCH] fix progressmeter git-svn-id: svn://svn.open-ils.org/ILS/trunk@874 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../chrome/content/evergreen/auth/auth.js | 31 ++++++++++++---------- .../chrome/content/evergreen/util/widgets.js | 22 +++++++++++++++ 2 files changed, 39 insertions(+), 14 deletions(-) diff --git a/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js b/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js index c6fce73675..e1e185199f 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js +++ b/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js @@ -28,7 +28,7 @@ G['actsc_list'] = []; // actor::stat_cat G['actsc_hash']; // actor::stat_cat var mw = G['main_window']; -var auth_meter_per = 10; +var auth_meter_incr = 8; function auth_init() { sdump('D_AUTH','TESTING: auth.js: ' + mw.G['main_test_variable'] + '\n'); @@ -74,6 +74,7 @@ function enable_login_prompts() { var np = document.getElementById('name_prompt'); np.focus(); np.select(); document.getElementById('auth_meter').value = 0; + document.getElementById('auth_meter').setAttribute('real', '0.0'); G.sound.beep(); } @@ -109,7 +110,7 @@ function auth_init_callback(request) { [ name, hex_md5(auth_init + hex_md5(pw)) ], auth_ses_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function auth_ses_callback(request) { @@ -130,7 +131,7 @@ function auth_ses_callback(request) { [], ap_list_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function ap_list_callback(request) { @@ -151,7 +152,7 @@ function ap_list_callback(request) { [], cit_list_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function cit_list_callback(request) { @@ -173,7 +174,7 @@ function cit_list_callback(request) { cst_list_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function cst_list_callback(request) { @@ -195,7 +196,7 @@ function cst_list_callback(request) { [], acpl_list_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } @@ -218,7 +219,7 @@ function acpl_list_callback(request) { [], ccs_list_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function ccs_list_callback(request) { @@ -240,7 +241,7 @@ function ccs_list_callback(request) { [ mw.G['auth_ses'][0] ], user_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function user_callback(request) { @@ -270,7 +271,7 @@ function user_callback(request) { org_type_callback );*/ org_type_callback(); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function org_type_callback(request) { @@ -295,7 +296,7 @@ function org_type_callback(request) { [ mw.G.auth_ses[0] ], my_orgs_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } @@ -330,7 +331,7 @@ function my_orgs_callback(request) { my_actsc_list_callback ); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); } function my_actsc_list_callback(request) { @@ -346,7 +347,7 @@ function my_actsc_list_callback(request) { mw.G.actsc_hash = convert_object_list_to_hash( actsc_list ); sdump('D_AUTH', 'actsc_list = ' + js2JSON(actsc_list) + '\n'); - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',auth_meter_incr); spawn_main(); @@ -355,7 +356,7 @@ function my_actsc_list_callback(request) { function spawn_main() { try { - var w = new_window('chrome://evergreen/content/evergreen/main.xul'); + var w = new_window('chrome://evergreen/content/evergreen/main/app_shell.xul'); if (!w) { throw('window ref == null'); } try { w.document.title = mw.G.user.usrname() + '@' + mw.G.user_ou.name(); @@ -363,15 +364,17 @@ function spawn_main() { alert('Hrmm. ' + pretty_print( js2JSON(E) ) ); } } catch(E) { + incr_progressmeter('auth_meter',-100); alert('Login failed on new_window: ' + js2JSON(E)); enable_login_prompts(); return; } - document.getElementById('auth_meter').value += auth_meter_per; + incr_progressmeter('auth_meter',100); } function logoff() { mw.G['auth_ses'] = ''; close_all_windows(); enable_login_prompts(); + incr_progressmeter('auth_meter',-100); snd_logoff(); } diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/widgets.js b/Evergreen/staff_client/chrome/content/evergreen/util/widgets.js index 7ee2bce387..75afa6d41d 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/widgets.js +++ b/Evergreen/staff_client/chrome/content/evergreen/util/widgets.js @@ -202,6 +202,28 @@ function get_list_from_tree_selection(tree_w) { return list; } +// Increment a XUL progressmeter +function incr_progressmeter(meter,increment) { + if (typeof(meter)!='object') + meter = document.getElementById(meter); + if (typeof(meter)!='object') + return; + + var real = meter.getAttribute('_real'); + + if (!real) + real = 0; + real = parseFloat( real ) + parseFloat( increment ); + + if (real > 100) + real = 100; + else if ( real < 0) + real = 0; + + meter.setAttribute('_real',real); + meter.value = Math.ceil( real ); +} + // Simulates radio buttons with checkboxes. Include this in command event listeners // for the pertinent textboxes. For any set of checkboxes that have the same 'group' // attribute, only one can be checked at a time. -- 2.11.0