From 1c5685d68f1b73270fb814fe04cbb490eb90ba5f Mon Sep 17 00:00:00 2001 From: mensonge Date: Fri, 14 Nov 2008 15:39:19 +0000 Subject: Minor fix: Remove DOJO library (60Mo) replaced by link to Google CDN (online DOJO library) git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@159 b3834d28-1941-0410-a4f8-b48e95affb8f --- .../js/dojox/data/demos/stores/LazyLoadJSIStore.js | 142 --------------------- 1 file changed, 142 deletions(-) delete mode 100644 includes/js/dojox/data/demos/stores/LazyLoadJSIStore.js (limited to 'includes/js/dojox/data/demos/stores/LazyLoadJSIStore.js') diff --git a/includes/js/dojox/data/demos/stores/LazyLoadJSIStore.js b/includes/js/dojox/data/demos/stores/LazyLoadJSIStore.js deleted file mode 100644 index e7acff7..0000000 --- a/includes/js/dojox/data/demos/stores/LazyLoadJSIStore.js +++ /dev/null @@ -1,142 +0,0 @@ -if(!dojo._hasResource["dojox.data.demos.stores.LazyLoadJSIStore"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.data.demos.stores.LazyLoadJSIStore"] = true; -dojo.provide("dojox.data.demos.stores.LazyLoadJSIStore"); -dojo.require("dojo.data.ItemFileReadStore"); - -dojo.declare("dojox.data.demos.stores.LazyLoadJSIStore", dojo.data.ItemFileReadStore, { - constructor: function(/* object */ keywordParameters){ - // LazyLoadJSIStore extends ItemFileReadStore to implement an - // example of lazy-loading/faulting in items on-demand. - // Note this is certianly not a perfect implementation, it is - // an example. - }, - - isItemLoaded: function(/*object*/ item) { - // summary: - // Overload of the isItemLoaded function to look for items of type 'stub', which indicate - // the data hasn't been loaded in yet. - // - // item: - // The item to examine. - - //For this store, if it has the value of stub for its type attribute, - //then the item basn't been fully loaded yet. It's just a placeholder. - if(this.getValue(item, "type") === "stub"){ - return false; - } - return true; - }, - - loadItem: function(keywordArgs){ - // summary: - // Overload of the loadItem function to fault in items. This assumes the data for an item is laid out - // in a RESTful sort of pattern name0/name1/data.json and so on and uses that to load the data. - // It will also detect stub items in the newly loaded item and insert the stubs into the ItemFileReadStore - // list so they can also be loaded in on-demand. - // - // item: - // The item to examine. - - var item = keywordArgs.item; - this._assertIsItem(item); - - //Build the path to the data.json for this item - //The path consists of where its parent was loaded from - //plus the item name. - var itemName = this.getValue(item, "name"); - var parent = this.getValue(item, "parent"); - var dataUrl = ""; - if (parent){ - dataUrl += (parent + "/"); - } - - //For this store, all child input data is loaded from a url that ends with data.json - dataUrl += itemName + "/data.json"; - - //Need a reference to the store to call back to its structures. - var self = this; - - // Callback for handling a successful load. - var gotData = function(data){ - //Now we need to modify the existing item a bit to take it out of stub state - //Since we extend the store and have knowledge of the internal - //structure, this can be done here. Now, is we extended - //a write store, we could call the write APIs to do this too - //But for a simple demo the diretc modification in the store function - //is sufficient. - - //Clear off the stub indicators. - delete item.type; - delete item.parent; - - //Set up the loaded values in the format ItemFileReadStore uses for attributes. - for (i in data) { - if (dojo.isArray(data[i])) { - item[i] = data[i]; - }else{ - item[i] = [data[i]]; - } - } - - //Reset the item in the reference. - self._arrayOfAllItems[item[self._itemNumPropName]] = item; - - //Scan the new values in the item for extra stub items we need to - //add to the items array of the store so they can be lazy-loaded later... - var attributes = self.getAttributes(item); - for(i in attributes){ - var values = self.getValues(item, attributes[i]); - for (var j = 0; j < values.length; j++) { - var value = values[j]; - - if(typeof value === "object"){ - if(value["stub"] ){ - //We have a stub reference here, we need to create the stub item - var stub = { - type: ["stub"], - name: [value["stub"]], // - parent: [itemName] //The child stub item is parented by this item name... - }; - if (parent) { - //Add in any parents to your parent so URL construstruction is accurate. - stub.parent[0] = parent + "/" + stub.parent[0]; - } - //Finalize the addition of the new stub item into the ItemFileReadStore list. - self._arrayOfAllItems.push(stub); - stub[self._storeRefPropName] = self; - stub[self._itemNumPropName] = (self._arrayOfAllItems.length - 1); //Last one pushed in should be the item - values[j] = stub; //Set the stub item back in its place and replace the stub notation. - } - } - } - } - - //Done processing! Call the onItem, if any. - if(keywordArgs.onItem){ - var scope = keywordArgs.scope ? keywordArgs.scope : dojo.global; - keywordArgs.onItem.call(scope, item); - } - }; - - //Callback for any errors that occur during load. - var gotError = function(error){ - //Call the onComplete, if any - if(keywordArgs.onError){ - var scope = keywordArgs.scope ? keywordArgs.scope : dojo.global; - keywordArgs.onError.call(scope, error); - } - }; - - //Fire the get and pass the proper callbacks to the deferred. - var xhrArgs = { - url: dataUrl, - handleAs: "json-comment-optional" - }; - var d = dojo.xhrGet(xhrArgs); - d.addCallback(gotData); - d.addErrback(gotError); - } -}); - - -} -- cgit v1.2.3-54-g00ecf