diff --git a/app/app.js b/app/app.js index 2907863..9433b37 100644 --- a/app/app.js +++ b/app/app.js @@ -1,8 +1,13 @@ (function (core) { var di = new core.Container(); + var app = new core.AppShell(di); + app.cmdConfig = core.ObservableObject.create({ + emphasizeBytes: true + }); + app.debugMode = false; app.bootstrap = function(rootViewElement) { diff --git a/core/observable.js b/core/observable.js index 3f7a4cc..d655b4f 100644 --- a/core/observable.js +++ b/core/observable.js @@ -1,16 +1,18 @@ -(function(){ - var observable = {}; +(function(core){ + function ObservableObject () { + this.executionHandlers = []; + } - observable.create = function(definition){ - var obj = new bindr.ObservableObject(); + ObservableObject.create = function(definition){ + var obj = new ObservableObject(); for(var property in definition){ if(!definition.hasOwnProperty(property)){ continue; } Object.defineProperty(obj, property, { - get:bindr.ObservableObject.createGetter(property), - set:bindr.ObservableObject.createSetter(property) + get:ObservableObject.createGetter(property), + set:ObservableObject.createSetter(property) }); obj[property] = definition[property]; @@ -18,34 +20,30 @@ return obj; }; - observable.ObservableObject = function() { - this.executionHandlers = []; - }; - - observable.ObservableObject.createGetter = function (propertyName){ + ObservableObject.createGetter = function (propertyName){ return function(){ return this["_" + propertyName]; } }; - observable.ObservableObject.createSetter = function(propertyName){ + ObservableObject.createSetter = function(propertyName){ return function(value){ this["_" + propertyName] = value; this.notifyPropertyChanged(propertyName, value); } }; - observable.ObservableObject.prototype.observe = function (handler){ + ObservableObject.prototype.observe = function (handler){ var handlers = this.executionHandlers; var index = handlers.push(handler); return function () { handlers.splice(1, index); } }; - observable.ObservableObject.prototype.notifyPropertyChanged = function(propertyName, value){ + ObservableObject.prototype.notifyPropertyChanged = function(propertyName, value){ this.executionHandlers.forEach(function(h){ h(propertyName, value); }); }; - window.core.observable = observable; -}); \ No newline at end of file + core.ObservableObject = ObservableObject; +})(window.core); \ No newline at end of file diff --git a/index.html b/index.html index 5b649c7..387568a 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,7 @@ +