Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function ObservableAbstractModel() {
- this._observers = [];
- };
- ObservableAbstractModel.prototype.setField = function(fieldName, value) {
- this._notifyObservers(fieldName, this.fieldName, value);
- this.fieldName = value;
- return value;
- };
- ObservableAbstractModel.prototype.getField = function(fieldName) {
- if(this.fieldName) {
- return this.fieldName;
- }
- };
- ObservableAbstractModel.prototype._notifyObservers = function (changedField, oldValue, newValue) {
- this._observers.forEach(function (observer) {
- observer.update(this, changedField, oldValue, newValue);
- }, this);
- };
- ObservableAbstractModel.prototype.observe = function (observer) {
- this._observers.push(observer);
- };
- ObservableAbstractModel.prototype.unobserve = function (observer) {
- var observerIndex = this._observers.lastIndexOf(observer);
- if(observerIndex != -1) {
- this._observers.splice(observerIndex, 1);
- return true;
- }
- return false;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement