From 0e4b026cdd54170d2cf3e840bc34a54eede29225 Mon Sep 17 00:00:00 2001 From: phasefx Date: Wed, 24 Aug 2005 23:49:06 +0000 Subject: [PATCH] some cleanup and trying to grok progressListener. I get different states from the iframe when I define progressListener as a global variable, than when I try to build a new progressListener for each instance of the catalog. I don't get the STATE_IS_DOCUMENT and STATE_STOP combination that Bill was looking for. Bleh. The problem is that in order to spawn, say, a copy browser, I need to know which window to put a tab in, and that spawn code is in the progressListener's state change function git-svn-id: svn://svn.open-ils.org/ILS/trunk@1721 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../content/evergreen/Open-ILS/OpenILS.js | 4 +- .../chrome/content/evergreen/auth/auth.js | 10 --- .../chrome/content/evergreen/opac/opac.js | 73 +++++++++++++++---- .../chrome/content/evergreen/opac/opac.xul | 7 -- .../chrome/content/evergreen/util/error.js | 4 +- .../content/evergreen/util/util_overlay.xul | 41 ----------- .../defaults/preferences/evergreen.js | 2 +- 7 files changed, 61 insertions(+), 80 deletions(-) diff --git a/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js b/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js index afc208e1bf..2f4a13c072 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js +++ b/Evergreen/staff_client/chrome/content/evergreen/Open-ILS/OpenILS.js @@ -4,7 +4,7 @@ function OpenILS_init(params) { try { switch(params.app) { - case 'Auth' : auth_init(params); dump('after auth_init\n'); break; + case 'Auth' : auth_init(params); break; case 'AppShell' : app_shell_init(params); register_AppShell(params.w); break; case 'Opac' : opac_init(params); break; case 'PatronSearch' : patron_search_init(params); break; @@ -18,9 +18,7 @@ function OpenILS_init(params) { try { //register_document(params.w.document); - dump('before register_window\n'); register_window(params.w); - dump('after register_window\n'); } catch(E) { sdump('D_ERROR',js2JSON(E)+'\n'); } sdump('D_TRACE_EXIT',arg_dump(arguments)); diff --git a/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js b/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js index e5044ff7a0..0bbd237c38 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js +++ b/Evergreen/staff_client/chrome/content/evergreen/auth/auth.js @@ -47,25 +47,15 @@ var auth_meter_incr = 10; function auth_init() { sdump('D_AUTH','TESTING: auth.js: ' + mw.G['main_test_variable'] + '\n'); sdump('D_AUTH',arg_dump(arguments)); -dump('a1\n'); var np = document.getElementById('name_prompt'); -dump('a2\n'); np.addEventListener("keypress",handle_keypress,false); -dump('a3\n'); np.focus(); -dump('a4\n'); var pp = document.getElementById('password_prompt'); -dump('a5\n'); pp.addEventListener("keypress",handle_keypress,false); -dump('a6\n'); self.addEventListener("unload",nice_shutdown,false); -dump('a7\n'); G['sound'] = xp_sound_init(); -dump('a8\n'); //G.sound.beep(); -dump('a9\n'); snd_logon(); -dump('a10\n'); } function handle_keypress(ev) { diff --git a/Evergreen/staff_client/chrome/content/evergreen/opac/opac.js b/Evergreen/staff_client/chrome/content/evergreen/opac/opac.js index f5876a3e1e..a3949f43b4 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/opac/opac.js +++ b/Evergreen/staff_client/chrome/content/evergreen/opac/opac.js @@ -5,40 +5,81 @@ var opac_page_thing; /* listen for page changes */ -var progressListener = new Object(); -progressListener.onProgressChange = function(){} -progressListener.onLocationChange = function(){} -progressListener.onStatusChange = function(){} -progressListener.onSecurityChange = function(){} -progressListener.QueryInterface = function qi(iid) { return this; } -progressListener.onStateChange = - function client_statechange ( webProgress, request, stateFlags, status) { - if( stateFlags == 131088 ) set_opac_vars(); -}; +function buildProgressListener(p) { +///* +// var progressListener = + return { + onProgressChange : function(){}, + onLocationChange : function(){}, + onStatusChange : function(){}, + onSecurityChange : function(){}, + QueryInterface : function(){return this;}, + onStateChange : function ( webProgress, request, stateFlags, status) { + const nsIWebProgressListener = Components.interfaces.nsIWebProgressListener; + const nsIChannel = Components.interfaces.nsIChannel; + if (stateFlags == 65540 || stateFlags == 65537 || stateFlags == 65552) { return; } + dump('onStateChange: stateFlags = ' + stateFlags + ' status = ' + status + '\n'); + if (stateFlags & nsIWebProgressListener.STATE_IS_REQUEST) { + dump('\tSTATE_IS_REQUEST\n'); + } + if (stateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) { + dump('\tSTATE_IS_DOCUMENT\n'); + if( stateFlags & nsIWebProgressListener.STATE_STOP ) set_opac_vars(p); + } + if (stateFlags & nsIWebProgressListener.STATE_IS_NETWORK) { + dump('\tSTATE_IS_NETWORK\n'); + } + if (stateFlags & nsIWebProgressListener.STATE_IS_WINDOW) { + dump('\tSTATE_IS_WINDOW\n'); + } + if (stateFlags & nsIWebProgressListener.STATE_START) { + dump('\tSTATE_START\n'); + } + if (stateFlags & nsIWebProgressListener.STATE_REDIRECTING) { + dump('\tSTATE_REDIRECTING\n'); + } + if (stateFlags & nsIWebProgressListener.STATE_TRANSFERING) { + dump('\tSTATE_TRANSFERING\n'); + } + if (stateFlags & nsIWebProgressListener.STATE_NEGOTIATING) { + dump('\tSTATE_NEGOTIATING\n'); + } + if (stateFlags & nsIWebProgressListener.STATE_STOP) { + dump('\tSTATE_STOP\n'); + } + } +} +//*/ + //return progressListener; +} /* init the opac */ function opac_init(p) { sdump('D_OPAC',"Initing OPAC\n"); opac_page_thing = p; + p.opac_iframe = p.w.document.getElementById('opac_opac_iframe'); - p.opac_iframe.addProgressListener(progressListener, + p.opac_iframe.addProgressListener(buildProgressListener(p), Components.interfaces.nsIWebProgress.NOTIFY_ALL ); + //p.opac_iframe.addProgressListener(progressListener, + // Components.interfaces.nsIWebProgress.NOTIFY_ALL ); p.opac_iframe.setAttribute("src", OPAC_URL) } /* shoves data into the OPAC's space */ -function set_opac_vars() { - var p = opac_page_thing; - p.opac_iframe = p.w.document.getElementById('opac_opac_iframe'); +function set_opac_vars(p) { + if (!p) p = opac_page_thing; + //var p = opac_page_thing; + //p.opac_iframe = p.w.document.getElementById('opac_opac_iframe'); p.opac_iframe.contentWindow.IAMXUL = true; p.opac_iframe.contentWindow.xulG = mw.G; p.opac_iframe.contentWindow.attachEvt("rresult", "recordDrawn", opac_make_details_page); } function opac_make_details_page(id, node) { - //dump("Node HREF attribute is: " + node.getAttribute("href") + "\n and doc id is " + id); - //alert("Node HREF attribute is: " + node.getAttribute("href") + "\n and doc id is " + id); + dump("Node HREF attribute is: " + node.getAttribute("href") + "\n and doc id is " + id +'\n'); + alert("Node HREF attribute is: " + node.getAttribute("href") + "\n and doc id is " + id +'\n'); } diff --git a/Evergreen/staff_client/chrome/content/evergreen/opac/opac.xul b/Evergreen/staff_client/chrome/content/evergreen/opac/opac.xul index 01a48b2650..73b768f766 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/opac/opac.xul +++ b/Evergreen/staff_client/chrome/content/evergreen/opac/opac.xul @@ -18,13 +18,6 @@ - - diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/error.js b/Evergreen/staff_client/chrome/content/evergreen/util/error.js index 7ac7c48d14..47c473a77d 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/error.js +++ b/Evergreen/staff_client/chrome/content/evergreen/util/error.js @@ -8,7 +8,7 @@ var debugDump = true; var arg_dump_full = false; var sdump_levels = { - 'D_NONE' : true, + 'D_NONE' : false, 'D_ALL' : false, 'D_ERROR' : true, 'D_TRACE' : false, @@ -28,7 +28,7 @@ var sdump_levels = { 'D_AUTH' : false, - 'D_OPAC' : false, + 'D_OPAC' : true, 'D_PATRON_SEARCH' : false, 'D_PATRON_SEARCH_FORM' : false, diff --git a/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul b/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul index 0841c75d54..ca693c1c96 100644 --- a/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul +++ b/Evergreen/staff_client/chrome/content/evergreen/util/util_overlay.xul @@ -19,41 +19,14 @@ - - - diff --git a/Evergreen/staff_client/defaults/preferences/evergreen.js b/Evergreen/staff_client/defaults/preferences/evergreen.js index 4384b8fac6..4ce16b63f7 100644 --- a/Evergreen/staff_client/defaults/preferences/evergreen.js +++ b/Evergreen/staff_client/defaults/preferences/evergreen.js @@ -12,4 +12,4 @@ pref("network.http.max-persistent-connections-per-server",8); // However, it's better than POEM, which I wasted a day on :) pref("dom.max_script_run_time",60); -pref("javascript.options.strict",true); +pref("javascript.options.strict",false); -- 2.43.2