API Docs for: 0.5.5
Show:

kick.core.Observable Class

Module: kick.core

Mixin class that allows listening for specific events on a class. Inspired by the observer pattern ( http://en.wikipedia.org/wiki/Observer_pattern ), where the Observable class has the role of the Subject class from the pattern. Note that there is no Observer objects - only observer functions (observerFn). The observable creates a fixed number of event listener queues for the class, which can be accessed using the methods addEventListener, removeEventListener and getObservers. Events can be fired using fireEvent.

To use the class as mixin: kick.core.Observable.call(observableObject,["Foo"]);

Constructor

kick.core.Observable

(
  • eventNames
)

Parameters:

  • eventNames String

Example:

// 'raw usage'
var observable = new kick.core.Observable(["Foo"]);
var fooValue = 0;
var eventListener = function(v){fooValue = v;};
// register event listener for event "Foo"
observable.addEventListener("Foo", eventListener);
observable.fireEvent("Foo", 1);
// foo value is now 1
observable.removeEventListener("Foo", eventListener);
observable.fireEvent("Foo", 2);
// foo value is still 1, since the listener has been removed
// Use observer
var SomeClass = function(){
    kick.core.Observable.call(this,["Foo"]);
    // [...] rest of class
};
var o = new SomeClass();
o.addEventListener("Foo", function(){ console.log("Some foo!"); });

Methods

addEventListener

(
  • eventName
  • observerFn
)

Add an observer function

Parameters:

  • eventName String
  • observerFn Function

fireEvent

(
  • eventName
  • obj
)
protected

Note that fire events should not be called from other classes

Parameters:

  • eventName String
  • obj Object

getObservers

(
  • eventName
)

Gets or creates a list of observers bound to the eventName

Parameters:

  • eventName String

Returns:

Array of observer functions

removeEventListener

(
  • eventName
  • observerFn
)

Parameters:

  • eventName String
  • observerFn Function