Subversion Repositories Applications.papyrus

Rev

Blame | Last modification | View Log | RSS feed

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
        }
});

}