keep a list of windows and documents. Makes thhings easier to investigate in the...
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 29 Jun 2005 22:28:24 +0000 (22:28 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 29 Jun 2005 22:28:24 +0000 (22:28 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@989 dcc99617-32d9-48b4-a31d-7c20da2025e4

Evergreen/staff_client/chrome/content/evergreen/auth/auth.js
Evergreen/staff_client/chrome/content/evergreen/util/win.js

index d0503dd..a12ad60 100644 (file)
@@ -1,6 +1,7 @@
 var G = {}; // the master Global variable
 G['main_window'] = self;
-G['win_list'] = new Array();
+G['win_list'] = new Object();
+G['doc_list'] = new Object();
 G['window_name_increment'] = 0;
 G['auth_ses'] = '';
 G['user_ou'] = '';
index ae0030c..c7a68c2 100644 (file)
@@ -101,17 +101,39 @@ function SafeWindowOpen(url,title,features)
 } 
 
 function register_window(w) {
-       mw.G['win_list'].push(w);
+       sdump('D_WIN',arg_dump(arguments,{0:true}));
+       mw.G.win_list[w.toString()] = w;
 }
 
-function register_patron_window(w) { }
-function unregister_patron_window(w) { }
+function unregister_window(w) {
+       sdump('D_WIN',arg_dump(arguments,{0:true}));
+       try { delete mw.G.win_list[w.toString()]; } catch(E) { mw.G.win_list[w.toString()] = false; }   
+}
 
 function close_all_windows() {
+       sdump('D_WIN',arg_dump(arguments));
        var w;
-       while (w = mw.G['win_list'].pop()) {
-               w.close();
+       for (var i in mw.G.win_list) {
+               sdump('D_WIN','\tconsidering ' + i + '...');
+               if (mw.G.win_list[i] != mw) {
+                       sdump('D_WIN','closing');
+                       var w = mw.G.win_list[i];
+                       try { w.close(); } catch (E) {}
+                       //unregister_window( w );
+               }
+               sdump('D_WIN','\n');
        }
+       mw.close();
+}
+
+function register_document(d) {
+       sdump('D_WIN',arg_dump(arguments,{0:true}));
+       mw.G.doc_list[d.toString()] = d;
+}
+
+function unregister_document(d) {
+       sdump('D_WIN',arg_dump(arguments,{0:true}));
+       try { delete mw.G.doc_list[d.toString()]; } catch(E) { mw.G.doc_list[d.toString()] = false; }   
 }