| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- "use strict";
- /*!
- * devextreme-angular
- * Version: 19.1.16
- * Build date: Tue Oct 18 2022
- *
- * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
- *
- * This software may be modified and distributed under the terms
- * of the MIT license. See the LICENSE file in the root of the project for details.
- *
- * https://github.com/DevExpress/devextreme-angular
- */
- Object.defineProperty(exports, "__esModule", { value: true });
- var core_1 = require("@angular/core");
- var NgEventsStrategy = (function () {
- function NgEventsStrategy(instance) {
- this.instance = instance;
- this.subscriptions = {};
- this.events = {};
- }
- NgEventsStrategy.prototype.hasEvent = function (name) {
- return this.getEmitter(name).observers.length !== 0;
- };
- NgEventsStrategy.prototype.fireEvent = function (name, args) {
- var emitter = this.getEmitter(name);
- if (emitter.observers.length) {
- emitter.next(args && args[0]);
- }
- };
- NgEventsStrategy.prototype.on = function (name, handler) {
- var eventSubscriptions = this.subscriptions[name] || [], subcription = this.getEmitter(name).subscribe(handler.bind(this.instance)), unsubscribe = subcription.unsubscribe.bind(subcription);
- eventSubscriptions.push({ handler: handler, unsubscribe: unsubscribe });
- this.subscriptions[name] = eventSubscriptions;
- };
- NgEventsStrategy.prototype.off = function (name, handler) {
- var eventSubscriptions = this.subscriptions[name] || [];
- if (handler) {
- eventSubscriptions.some(function (subscription, i) {
- if (subscription.handler === handler) {
- subscription.unsubscribe();
- eventSubscriptions.splice(i, 1);
- return true;
- }
- });
- }
- else {
- eventSubscriptions.forEach(function (subscription) {
- subscription.unsubscribe();
- });
- eventSubscriptions.splice(0, eventSubscriptions.length);
- }
- };
- NgEventsStrategy.prototype.dispose = function () { };
- NgEventsStrategy.prototype.addEmitter = function (eventName, emitter) {
- this.events[eventName] = emitter;
- };
- NgEventsStrategy.prototype.getEmitter = function (eventName) {
- if (!this.events[eventName]) {
- this.events[eventName] = new core_1.EventEmitter();
- }
- return this.events[eventName];
- };
- return NgEventsStrategy;
- }());
- exports.NgEventsStrategy = NgEventsStrategy;
- var EmitterHelper = (function () {
- function EmitterHelper(zone, component) {
- this.zone = zone;
- this.component = component;
- this.lockedValueChangeEvent = false;
- }
- EmitterHelper.prototype.fireNgEvent = function (eventName, eventArgs) {
- if (this.lockedValueChangeEvent && eventName === 'valueChange') {
- return;
- }
- var emitter = this.component[eventName];
- if (emitter && emitter.observers.length) {
- this.zone.run(function () {
- emitter.next(eventArgs && eventArgs[0]);
- });
- }
- };
- EmitterHelper.prototype.createEmitters = function (events) {
- var _this = this;
- events.forEach(function (event) {
- _this.component[event.emit] = new core_1.EventEmitter();
- });
- };
- return EmitterHelper;
- }());
- exports.EmitterHelper = EmitterHelper;
- //# sourceMappingURL=events-strategy.js.map
|