]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/data/demos/stores/LazyLoadJSIStore.js
Replace Dojo with jQuery
[eow] / static / dojo-release-1.1.1 / dojox / data / demos / stores / LazyLoadJSIStore.js
diff --git a/static/dojo-release-1.1.1/dojox/data/demos/stores/LazyLoadJSIStore.js b/static/dojo-release-1.1.1/dojox/data/demos/stores/LazyLoadJSIStore.js
deleted file mode 100644 (file)
index e7acff7..0000000
+++ /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);
-       }
-});
-
-
-}