UNPKG

bugcore

Version:

bugcore is a JavaScript library that provides a foundational architecture for object oriented JS

80 lines (57 loc) 2.51 kB
/* * Copyright (c) 2016 airbug Inc. http://airbug.com * * bugcore may be freely distributed under the MIT license. */ //------------------------------------------------------------------------------- // Annotations //------------------------------------------------------------------------------- //@Export('EventDispatcher') //@Require('Class') //@Require('EventReceiver') //@Require('IEventDispatcher') //------------------------------------------------------------------------------- // Context //------------------------------------------------------------------------------- require('bugpack').context("*", function(bugpack) { //------------------------------------------------------------------------------- // BugPack //------------------------------------------------------------------------------- var Class = bugpack.require('Class'); var EventReceiver = bugpack.require('EventReceiver'); var IEventDispatcher = bugpack.require('IEventDispatcher'); //------------------------------------------------------------------------------- // Declare Class //------------------------------------------------------------------------------- /** * @class * @extends {EventReceiver} * @implements {IEventDispatcher} */ var EventDispatcher = Class.extend(EventReceiver, { _name: "EventDispatcher", //------------------------------------------------------------------------------- // IEventDispatcher Implementation //------------------------------------------------------------------------------- /** * @param {Event} event * @param {?boolean=} bubbles */ dispatchEvent: function(event, bubbles) { if (bubbles === undefined) { bubbles = true; } event.setBubbles(bubbles); event.setTarget(this.getTarget()); this.propagateEvent(event); } }); //------------------------------------------------------------------------------- // Interfaces //------------------------------------------------------------------------------- Class.implement(EventDispatcher, IEventDispatcher); //------------------------------------------------------------------------------- // Exports //------------------------------------------------------------------------------- bugpack.export('EventDispatcher', EventDispatcher); });