UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

54 lines (47 loc) 1.28 kB
"use strict"; var Callbacks = require("../../core/utils/callbacks"); var eventEmitterMethods = { _initEvents: function _initEvents() { var names = this._eventNames, i, ii = names.length, events = this._events = {}; for (i = 0; i < ii; ++i) { events[names[i]] = Callbacks(); } }, _disposeEvents: function _disposeEvents() { var events = this._events, name; for (name in events) { events[name].empty(); } this._events = null; }, on: function on(handlers) { var events = this._events, name; for (name in handlers) { events[name].add(handlers[name]); } return dispose; function dispose() { for (name in handlers) { events[name].remove(handlers[name]); } } }, _fire: function _fire(name, arg) { this._events[name].fire(arg); } }; exports.makeEventEmitter = function (target) { var proto = target.prototype, name; for (name in eventEmitterMethods) { proto[name] = eventEmitterMethods[name]; } }; ///#DEBUG exports._TESTS_eventEmitterMethods = eventEmitterMethods; ///#ENDDEBUG