From 1be9be233ac8bf7444fd7383f28e8ab235b95d1b Mon Sep 17 00:00:00 2001 From: phasefx Date: Mon, 3 Oct 2005 19:04:41 +0000 Subject: [PATCH] store/retrieve objects in files git-svn-id: svn://svn.open-ils.org/ILS/trunk@1888 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../chrome/content/evergreen/OpenILS/data.js | 33 +++++++++++-------- .../chrome/content/evergreen/main/main.xul | 2 +- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/Open-ILS/xul/staff_client/chrome/content/evergreen/OpenILS/data.js b/Open-ILS/xul/staff_client/chrome/content/evergreen/OpenILS/data.js index f39e28b078..1b57759808 100644 --- a/Open-ILS/xul/staff_client/chrome/content/evergreen/OpenILS/data.js +++ b/Open-ILS/xul/staff_client/chrome/content/evergreen/OpenILS/data.js @@ -25,21 +25,28 @@ OpenILS.data = function (mw,G) { function a_get(obj,i) { return [i, obj[i]]; } // funkiness with loops and closures - for (var i in this._cacheable_fm_objects) { - var classname = a_get(this._cacheable_fm_objects,i)[0]; - var data = a_get(this._cacheable_fm_objects,i)[1]; + JSAN.use('util.file'); + + function gen_fm_retrieval_func(classname,data) { var app = data[0]; var method = data[1]; var params = data[2]; - this.chain.push( - function() { - try { - obj.list[classname] = obj.G.network.request( app, method, params); - // store an offline copy - } catch(E) { - // try offline - } - //obj.hash[classname] = convert_object_list_to_hash( obj.list[classname] ); + return function () { + try { + obj.list[classname] = obj.G.network.request( app, method, params); + // store an offline copy + var file = new util.file( obj.mw, obj.G, classname ); + file.set_object( obj.list[classname] ); + + } catch(E) { + // try offline } - ); + //obj.hash[classname] = convert_object_list_to_hash( obj.list[classname] ); + } + } + + obj.G.error.sdump('D_DEBUG','_cacheable_fm_objects = ' + js2JSON(this._cacheable_fm_objects) + '\n'); + + for (var i in this._cacheable_fm_objects) { + this.chain.push( gen_fm_retrieval_func(i,this._cacheable_fm_objects[i]) ); } /* diff --git a/Open-ILS/xul/staff_client/chrome/content/evergreen/main/main.xul b/Open-ILS/xul/staff_client/chrome/content/evergreen/main/main.xul index 6cce151851..0ab034231e 100644 --- a/Open-ILS/xul/staff_client/chrome/content/evergreen/main/main.xul +++ b/Open-ILS/xul/staff_client/chrome/content/evergreen/main/main.xul @@ -20,12 +20,12 @@ + - -- 2.43.2