Overview
Modules
Classes
Widgets
serenity.autocompleteserenity.chartserenity.colorpalettelistserenity.colorpalettepanelserenity.comboboxserenity.contextmenuserenity.datawidgetserenity.dropdownlistserenity.editorserenity.gridserenity.intervalselectionserenity.kanbanserenity.listviewserenity.notificationserenity.panelserenity.ratingserenity.schedulerserenity.splitterserenity.tableserenity.tagcloudserenity.timepickerserenity.toolbarserenity.treeserenity.widget
serenity.Observable
Provides support for firing events.
Version Added: 2016.1
QuickNav
Properties
Properties
events Array
Array of events.
Version Added: 2016.1
Functions
Attach a handler to an event to be executed.
Version Added: 2016.1
PARAMETERS
eventName String
Name of the event.
eventHandler Function
Function to be executed when the event is triggered.
context Object (Optional)
Context for the eventHandler.
EXAMPLES
JavaScript
// Define an observable.
var Person = serenity.Observable.extend({
_name: null,
// Define a nameChange event.
events: ["nameChange"],
setName: function (name) {
// If the name has changed.
if (this._name !== name) {
this._name = name;
// Trigger he nameChange event.
this.trigger("nameChange", { name: name });
}
}
});
// Create an instance of the observable.
var person = new Person();
person.bind("nameChange", function (e) {
// Handle the nameChange event.
console.log(e);
});
// Set the name.
person.setName("John Doe");
Constructor for the observable.
Version Added: 2016.1
Attach a handler to an event to be executed once.
Version Added: 2016.1
PARAMETERS
eventName String
Name of the event.
eventHandler Function
Function to be executed when the event is triggered.
context Object (Optional)
Context for the eventHandler.
EXAMPLES
JavaScript
// Define an observable.
var Person = serenity.Observable.extend({
_name: null,
// Define a nameChange event.
events: ["nameChange"],
setName: function (name) {
// If the name has changed.
if (this._name !== name) {
this._name = name;
// Trigger he nameChange event.
this.trigger("nameChange", { name: name });
}
}
});
// Create an instance of the observable.
var person = new Person();
person.once("nameChange", function (e) {
// Handle the nameChange event.
console.log(e);
});
// Set the name.
person.setName("John Doe");
Execute all event handlers associated with an event.
Version Added: 2016.1
PARAMETERS
eventName String
Name of the event.
args Object (Optional)
Object to be passed to all event handlers.
EXAMPLES
JavaScript
// Define an observable.
var Person = serenity.Observable.extend({
_name: null,
// Define a nameChange event.
events: ["nameChange"],
setName: function (name) {
// If the name has changed.
if (this._name !== name) {
this._name = name;
// Trigger he nameChange event.
this.trigger("nameChange", { name: name });
}
}
});
// Create an instance of the observable.
var person = new Person({
nameChange: function (e) {
// Handle the nameChange event.
console.log(e);
}
});
// Set the name.
person.setName("John Doe");
Remove a handler to an event.
Version Added: 2016.1
PARAMETERS
eventName String
Name of the event.
eventHandler Function
Function to be removed from the event.
EXAMPLES
JavaScript
// Create an instance of the observable.
var person = new Person();
person.bind("nameChange", function (e) {
// Handle the nameChange event.
console.log(e);
// Unbind the nameChange event.
person.unbind("nameChange");
});