dojox.data.CsvStore.fetchItemByIdentity
dojo.require("dojox.data.CsvStore");
defined in dojox/data/CsvStore.js
See dojo.data.api.Identity.fetchItemByIdentity()
Usage
function (/*Object*/ keywordArgs) (view source)
//Hasn't loaded yet, we have to trigger the load. if(!this._loadFinished){ var self = this; if(this.url !== ""){ //If fetches come in before the loading has finished, but while //a load is in progress, we have to defer the fetching to be //invoked in the callback. if(this._loadInProgress){ this._queuedFetches.push({args: keywordArgs}); }else{ this._loadInProgress = true; var getArgs = { url: self.url, handleAs: "text" }; var getHandler = dojo.xhrGet(getArgs); getHandler.addCallback(function(data){ var scope = keywordArgs.scope?keywordArgs.scope:dojo.global; try{ self._processData(data); var item = self._createItemFromIdentity(keywordArgs.identity); if(!self.isItem(item)){ item = null; } if(keywordArgs.onItem){ keywordArgs.onItem.call(scope, item); } self._handleQueuedFetches(); }catch(error){ if(keywordArgs.onError){ keywordArgs.onError.call(scope, error); } } }); getHandler.addErrback(function(error){ this._loadInProgress = false; if(keywordArgs.onError){ var scope = keywordArgs.scope?keywordArgs.scope:dojo.global; keywordArgs.onError.call(scope, error); } }); } }else if(this._csvData){ self._processData(self._csvData); self._csvData = null; var item = self._createItemFromIdentity(keywordArgs.identity); if(!self.isItem(item)){ item = null; } if(keywordArgs.onItem){ var scope = keywordArgs.scope?keywordArgs.scope:dojo.global; keywordArgs.onItem.call(scope, item); } } }else{ //Already loaded. We can just look it up and call back. var item = this._createItemFromIdentity(keywordArgs.identity); if(!this.isItem(item)){ item = null; } if(keywordArgs.onItem){ var scope = keywordArgs.scope?keywordArgs.scope:dojo.global; keywordArgs.onItem.call(scope, item); } }
parameter | type | description |
---|---|---|
keywordArgs | Object |