117 lines
2.7 KiB
JavaScript
117 lines
2.7 KiB
JavaScript
|
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
|
||
|
}
|
||
|
});
|
||
|
|
||
|
}
|