From 01e17e2899eb8f2bb9a9130662ff937f49fa9f21 Mon Sep 17 00:00:00 2001 From: phasefx Date: Tue, 20 Apr 2010 16:25:48 +0000 Subject: [PATCH] toward a singleton for OpenILS.data git-svn-id: svn://svn.open-ils.org/ILS/trunk@16281 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js | 9 +++++---- Open-ILS/xul/staff_client/chrome/content/main/menu.js | 4 ++-- Open-ILS/xul/staff_client/server/main/data.xul | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js b/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js index b6e8e38cab..40f2d9a15f 100644 --- a/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js +++ b/Open-ILS/xul/staff_client/chrome/content/OpenILS/data.js @@ -4,6 +4,10 @@ if (typeof OpenILS == 'undefined') OpenILS = {}; OpenILS.data = function () { try { + /* We're going to turn this guy into a singleton, at least for a given window, and look for it in xulG */ + if (! window.xulG) { window.xulG = {}; } + if (window.xulG._data) { return window.xulG._data; } + JSAN.use('util.error'); this.error = new util.error(); JSAN.use('util.network'); this.network = new util.network(); } catch(E) { @@ -11,6 +15,7 @@ OpenILS.data = function () { throw(E); } + window.xulG._data = this; return this; } @@ -231,10 +236,6 @@ OpenILS.data.prototype = { this.error.sdump('D_DATA_RETRIEVE','Retrieving ' + i + ' : ' + dc[i] + '\n'); this[i] = dc[i]; } - if (typeof this.on_complete == 'function') { - - this.on_complete(); - } } catch(E) { this.error.sdump('D_ERROR','Error in OpenILS.data._debug_stash(): ' + js2JSON(E) ); } diff --git a/Open-ILS/xul/staff_client/chrome/content/main/menu.js b/Open-ILS/xul/staff_client/chrome/content/main/menu.js index a860fe1d81..b7d9e79390 100644 --- a/Open-ILS/xul/staff_client/chrome/content/main/menu.js +++ b/Open-ILS/xul/staff_client/chrome/content/main/menu.js @@ -11,6 +11,7 @@ main.menu = function () { JSAN.use('util.error'); this.error = new util.error(); JSAN.use('util.window'); this.window = new util.window(); JSAN.use('util.sound'); this.sound = new util.sound(); + JSAN.use('OpenILS.data'); this.data = new OpenILS.data(); this.data.init({'via':'stash'}); this.w = window; var x = document.getElementById('network_progress'); @@ -62,8 +63,6 @@ main.menu.prototype = { var obj = this; - JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'}); - var button_bar = String( obj.data.hash.aous['ui.general.button_bar'] ) == 'true'; if (button_bar) { var x = document.getElementById('main_toolbar'); @@ -1483,6 +1482,7 @@ main.menu.prototype = { }; content_params.chrome_xulG = xulG; content_params._sound = xulG._sound; + content_params._data = xulG._data; if (params && params.tab_name) content_params.set_tab_name( params.tab_name ); var frame; diff --git a/Open-ILS/xul/staff_client/server/main/data.xul b/Open-ILS/xul/staff_client/server/main/data.xul index 040f510f71..e82eaec82b 100644 --- a/Open-ILS/xul/staff_client/server/main/data.xul +++ b/Open-ILS/xul/staff_client/server/main/data.xul @@ -204,7 +204,7 @@ g.data.on_complete = function () { try { - + g.data.on_complete = null; g.data.stash('list','hash','tree','temp'); g.data._debug_stash(); -- 2.43.2