mirror of
https://github.com/BorysLevytskyi/BitwiseCmd.git
synced 2025-12-10 06:52:05 +01:00
Implemented templated views in script tags
This commit is contained in:
21
components/viewsFeature.js
Normal file
21
components/viewsFeature.js
Normal file
@@ -0,0 +1,21 @@
|
||||
(function(app, is){
|
||||
app.modelView = function (modelCtor, builder) {
|
||||
var name = getKey(modelCtor);
|
||||
app.di.register(name, builder);
|
||||
};
|
||||
|
||||
app.buildViewFor = function(model) {
|
||||
var key = getKey(model.constructor);
|
||||
var builder = this.di.resolve(key);
|
||||
return builder.renderView(model);
|
||||
};
|
||||
|
||||
function getKey(modelCtor) {
|
||||
return getFunctionName(modelCtor) + "ViewBuilder";
|
||||
}
|
||||
|
||||
function getFunctionName(func) {
|
||||
var str = func.toString();
|
||||
return str.substr(8, str.indexOf('(') - 8).trim();
|
||||
}
|
||||
})(window.app, window.is);
|
||||
Reference in New Issue
Block a user