Serenity UI
  • Home
  • Documentation
  • Demos
  • Gallery
  • Support
  • Free Download

Overview

Getting StartedOpen Source Libraries

Modules

serenity.Classserenity.icalendarserenity.overlayserenity.time

Classes

serenity.DataSourceserenity.Model
serenity.Observable
serenity.Routerserenity.ViewModel

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

events

Functions

bind
constructor
once
trigger
unbind
Properties
events Array
Array of events.
Version Added: 2016.1

Functions
bind
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
Constructor for the observable.
Version Added: 2016.1

once
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");

trigger
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");

unbind
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");
});

Subscribe

Why Subscribe?

Get the monthly newsletter with the latest news about Serenity UI including new features, releases and downloads!

Thank you

Thank you for subscribing to Serenity UI!

Demos
Documentation
Terms of Use
Privacy Policy
Contact Us
Copyright © 2016, John DeVight All Rights Reserved.