openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

callback.js (566B)


      1 /**
      2  * Simple Callback.
      3  */
      4 export default class Callback {
      5 
      6 	// internal callbacks.
      7 
      8 	constructor() {
      9 		this.list = [];
     10 	}
     11 
     12 	/**
     13 	 * Add a callback to the list
     14 	 *
     15 	 * @param callable the new callback
     16 	 */
     17 	add( callable ) {
     18 		this.list.push( callable );
     19 	}
     20 
     21 	/**
     22 	 * Fire all callbacks.
     23 	 */
     24 	fire() {
     25 		for( let c of this.list)
     26 			c.apply(null,arguments);
     27 	}
     28 
     29 }
     30 
     31 Callback.afterViewLoadedHandler = new Callback();
     32 Callback.dataChangedHandler     = new Callback();
     33 Callback.afterNewActionHandler  = new Callback();
     34 Callback.afterAllViewsLoaded    = new Callback();