model.js 1.2 KB

1234567891011121314151617181920212223242526
  1. define("dojox/app/model", ["dojo/_base/kernel","dojo/_base/Deferred","dojox/mvc/StatefulModel"], function(dojo,deferred){
  2. return function(config, parent){
  3. //load models here. create dojox.newStatefulModel
  4. //using the configuration data for models
  5. var loadedModels = {};
  6. if(parent){
  7. dojo.mixin(loadedModels, parent);
  8. }
  9. if(config){
  10. for(var item in config){
  11. if(item.charAt(0)!=="_"){
  12. var params = config[item].params ? config[item].params:{};
  13. var options = {
  14. "store": params.store.store,
  15. "query": params.store.query ? params.store.query : {}
  16. };
  17. //TODO improve performance of loading at here
  18. // do not wait for the models to be created.
  19. loadedModels[item] = deferred.when(dojox.mvc.newStatefulModel(options), function(model){return model});
  20. }
  21. }
  22. }
  23. return loadedModels;
  24. }
  25. });