Advertisement
Guest User

Untitled

a guest
May 30th, 2015
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function ObservableAbstractModel() {
  2.     this._observers = [];
  3. };
  4.  
  5. ObservableAbstractModel.prototype.setField = function(fieldName, value) {
  6.     this._notifyObservers(fieldName, this.fieldName, value);
  7.     this.fieldName = value;
  8.     return value;
  9. };
  10.  
  11. ObservableAbstractModel.prototype.getField = function(fieldName) {
  12.     if(this.fieldName) {
  13.         return this.fieldName;
  14.     }
  15. };
  16.  
  17. ObservableAbstractModel.prototype._notifyObservers = function (changedField, oldValue, newValue) {
  18.     this._observers.forEach(function (observer) {
  19.         observer.update(this, changedField, oldValue, newValue);
  20.     }, this);
  21. };
  22.  
  23. ObservableAbstractModel.prototype.observe = function (observer) {
  24.     this._observers.push(observer);
  25. };
  26.  
  27. ObservableAbstractModel.prototype.unobserve = function (observer) {
  28.     var observerIndex = this._observers.lastIndexOf(observer);
  29.  
  30.     if(observerIndex != -1) {
  31.         this._observers.splice(observerIndex, 1);
  32.         return true;
  33.     }
  34.     return false;
  35. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement