##// END OF EJS Templates
tests moved under src/ folder...
tests moved under src/ folder removed requirejs dependency from the main source set

File last commit:

r49:1a91da7b15f7 di-typescript
r50:7a4fac383b10 di-typescript
Show More
DataContext.js
44 lines | 1.5 KiB | application/javascript | JavascriptLexer
/ src / main / js / data / DataContext.js
cin
changed the project structure
r49 define([ "dojo/_base/declare", "../safe" ], function(declare, safe) {
return declare(
null,
{
_params : null,
_repositories : null,
constructor : function(opts) {
this._params = opts || {};
this._repositories = {};
},
getRepository : function(name) {
safe.argumentNotEmptyString(name, "name");
var repo = this._repositories[name];
if (!repo) {
repo = this._params[name];
if (!repo)
throw new Error("The repository '" + name +
"' isn't found");
if (repo instanceof Function)
repo = new repo(); // factory method or constructor
if (repo.initialize) {
repo.initialize({
dataContext : this
});
} else if (repo.setDataContext) {
repo.setDataContext(this);
}
this._repositories[name] = repo;
}
return repo;
},
dispose : function() {
for( var name in this._repositories) {
var r = this._repositories[name];
if (r.dispose)
r.dispose();
}
}
});
});