]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/wire/ml/DataStore.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / wire / ml / DataStore.js
diff --git a/static/dojo-release-1.1.1/dojox/wire/ml/DataStore.js b/static/dojo-release-1.1.1/dojox/wire/ml/DataStore.js
new file mode 100644 (file)
index 0000000..e366d05
--- /dev/null
@@ -0,0 +1,116 @@
+if(!dojo._hasResource["dojox.wire.ml.DataStore"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.wire.ml.DataStore"] = true;
+dojo.provide("dojox.wire.ml.DataStore");
+
+dojo.require("dijit._Widget");
+dojo.require("dojox.wire._base");
+
+dojo.declare("dojox.wire.ml.DataStore", dijit._Widget, {
+       //      summary:
+       //              A widget for a data store
+       //      description:
+       //              This widget represents a data store of 'storeClass' attribute.
+       //      storeClass:
+       //              A class name of a data store
+       storeClass: "",
+
+       postCreate: function(){
+               //      summary:
+               //              Call _createStore()
+               //      description:
+               //              See _createStore().
+               this.store = this._createStore();
+       },
+
+       _createStore: function(){
+               //      summary:
+               //              Create a data store
+               //      desription:
+               //              A data store of 'storeClass' is created with arguments
+               //              specified with attributes.
+               //      returns:
+               //              A data store
+               if(!this.storeClass){
+                       return null; //null
+               }
+               var storeClass = dojox.wire._getClass(this.storeClass);
+               if(!storeClass){
+                       return null; //null
+               }
+               var args = {};
+               var attributes = this.domNode.attributes;
+               for(var i = 0; i < attributes.length; i++){
+                       var a = attributes.item(i);
+                       if(a.specified && !this[a.nodeName]){
+                               args[a.nodeName] = a.nodeValue;
+                       }
+               }
+               return new storeClass(args); //Object
+       },
+
+       getFeatures: function(){
+               //      summary:
+               //              Call getFeatures() method of a data store
+               //      description:
+               //              See dojo.data.api.Read.getFeatures().
+               //      returns:
+               //              A features object
+               return this.store.getFeatures(); //Object
+       },
+
+       fetch: function(/*Object*/request){
+               //      summary:
+               //              Call fetch() method of a data store
+               //      description:
+               //              See dojo.data.api.Read.fetch().
+               //      request:
+               //              A request object
+               //      returns:
+               //              A request object
+               return this.store.fetch(request); //Object
+       },
+
+       save: function(/*Object*/args){
+               //      summary:
+               //              Call save() method of a data store
+               //      description:
+               //              See dojo.data.api.Write.save().
+               //      args:
+               //              A save arguments object
+               this.store.save(args);
+       },
+
+       newItem: function(/*Object*/args){
+               //      summary:
+               //              Call newItem() method of a data store
+               //      description:
+               //              See dojo.data.api.Write.newItem().
+               //      args:
+               //              A new item arguments object
+               //      returns:
+               //              A new item
+               return this.store.newItem(args); //Object
+       },
+
+       deleteItem: function(/*Object*/item){
+               //      summary:
+               //              Call deleteItem() method of a data store
+               //      description:
+               //              See dojo.data.api.Write.deleteItem().
+               //      returns:
+               //              A boolean
+               return this.store.deleteItem(item); //Boolean
+       },
+
+       revert: function(){
+               //      summary:
+               //              Call revert() method of a data store
+               //      description:
+               //              See dojo.data.api.Write.revert().
+               //      returns:
+               //              A boolean
+               return this.store.revert(); //Boolean
+       }
+});
+
+}