diff options
Diffstat (limited to 'js/dojo/dojox/app/model.js')
| -rw-r--r-- | js/dojo/dojox/app/model.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/js/dojo/dojox/app/model.js b/js/dojo/dojox/app/model.js new file mode 100644 index 0000000..e74e7a7 --- /dev/null +++ b/js/dojo/dojox/app/model.js @@ -0,0 +1,27 @@ +//>>built +define("dojox/app/model", ["dojo/_base/kernel","dojo/_base/Deferred","dojox/mvc/StatefulModel"], function(dojo,deferred){ + return function(config, parent){ + //load models here. create dojox.newStatefulModel + //using the configuration data for models + var loadedModels = {}; + if(parent){ + dojo.mixin(loadedModels, parent); + } + if(config){ + for(var item in config){ + if(item.charAt(0)!=="_"){ + var params = config[item].params ? config[item].params:{}; + var options = { + "store": params.store.store, + "query": params.store.query ? params.store.query : {} + }; + + //TODO improve performance of loading at here + // do not wait for the models to be created. + loadedModels[item] = deferred.when(dojox.mvc.newStatefulModel(options), function(model){return model}); + } + } + } + return loadedModels; + } +}); |
