| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * DevExtreme (viz/vector_map/event_emitter.js)
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
- */
- "use strict";
- var Callbacks = require("../../core/utils/callbacks");
- var eventEmitterMethods = {
- _initEvents: function() {
- var names = this._eventNames;
- var i;
- var ii = names.length;
- var events = this._events = {};
- for (i = 0; i < ii; ++i) {
- events[names[i]] = Callbacks()
- }
- },
- _disposeEvents: function() {
- var events = this._events;
- var name;
- for (name in events) {
- events[name].empty()
- }
- this._events = null
- },
- on: function(handlers) {
- var events = this._events;
- var 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(name, arg) {
- this._events[name].fire(arg)
- }
- };
- exports.makeEventEmitter = function(target) {
- var proto = target.prototype;
- var name;
- for (name in eventEmitterMethods) {
- proto[name] = eventEmitterMethods[name]
- }
- };
|