UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

109 lines 13.7 kB
/*! * devextreme-angular * Version: 20.2.5 * Build date: Fri Jan 15 2021 * * Copyright (c) 2012 - 2021 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 */ import * as tslib_1 from "tslib"; import { NgModule, Inject, NgZone, Optional, VERSION } from '@angular/core'; import { XhrFactory } from '@angular/common/http'; import * as httpRequest from 'devextreme/core/http_request'; import { DOCUMENT } from '@angular/common'; import * as domAdapter from 'devextreme/core/dom_adapter'; import * as readyCallbacks from 'devextreme/core/utils/ready_callbacks'; import * as eventsEngine from 'devextreme/events/core/events_engine'; const outsideZoneEvents = ['mousemove', 'mouseover', 'mouseout']; const insideZoneEvents = ['mouseup', 'click', 'mousedown', 'transitionend', 'wheel']; let originalAdd; let readyCallbackAdd = function (callback) { if (!originalAdd) { originalAdd = this.callBase.bind(this); } callbacks.push(callback); }; const ɵ0 = readyCallbackAdd; let callbacks = []; readyCallbacks.inject({ add: function (callback) { return readyCallbackAdd.call(this, callback); } }); let doInjections = (document, ngZone, xhrFactory) => { if (Number(VERSION.major) < 7) { console.warn('Your version of Angular is not supported (https://supportcenter.devexpress.com/ticket/details/t879496). Please update your project to version 7 or later. Please refer to the Angular Update Guide for more information: https://update.angular.io'); } domAdapter.inject({ _document: document, listen: function (...args) { const eventName = args[1]; if (outsideZoneEvents.indexOf(eventName) !== -1) { return ngZone.runOutsideAngular(() => { return this.callBase.apply(this, args); }); } if (ngZone.isStable && insideZoneEvents.indexOf(eventName) !== -1) { return ngZone.run(() => { return this.callBase.apply(this, args); }); } return this.callBase.apply(this, args); }, isElementNode: function (element) { return element && element.nodeType === 1; }, isTextNode: function (element) { return element && element.nodeType === 3; }, isDocument: function (element) { return element && element.nodeType === 9; } }); httpRequest.inject({ getXhr: function () { if (!xhrFactory) { return this.callBase.apply(this); } let _xhr = xhrFactory.build(); if (!('withCredentials' in _xhr)) { _xhr['withCredentials'] = false; } return _xhr; } }); const runReadyCallbacksInZone = () => { ngZone.run(() => { eventsEngine.set({}); callbacks.forEach(callback => originalAdd.call(null, callback)); callbacks = []; readyCallbacks.fire(); }); }; runReadyCallbacksInZone(); readyCallbackAdd = (callback) => ngZone.run(() => callback()); doInjections = runReadyCallbacksInZone; }; const ɵ1 = doInjections; let DxIntegrationModule = class DxIntegrationModule { constructor(document, ngZone, xhrFactory) { doInjections(document, ngZone, xhrFactory); } }; DxIntegrationModule.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }, { type: NgZone }, { type: XhrFactory, decorators: [{ type: Optional }] } ]; DxIntegrationModule = tslib_1.__decorate([ NgModule({}), tslib_1.__param(0, Inject(DOCUMENT)), tslib_1.__param(2, Optional()), tslib_1.__metadata("design:paramtypes", [Object, NgZone, XhrFactory]) ], DxIntegrationModule); export { DxIntegrationModule }; export { ɵ0, ɵ1 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHRyZW1lLWFuZ3VsYXIvY29yZS8iLCJzb3VyY2VzIjpbImludGVncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUdILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssV0FBVyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sS0FBSyxjQUFjLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxLQUFLLFlBQVksTUFBTSxzQ0FBc0MsQ0FBQztBQUVyRSxNQUFNLGlCQUFpQixHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqRSxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXJGLElBQUksV0FBVyxDQUFDO0FBQ2hCLElBQUksZ0JBQWdCLEdBQUcsVUFBUyxRQUFRO0lBQ3BDLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDZCxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDMUM7SUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQzs7QUFFRixJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFDbkIsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUNsQixHQUFHLEVBQUUsVUFBUyxR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QUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzlELFlBQVksR0FBRyx1QkFBdUIsQ0FBQztBQUMzQyxDQUFDLENBQUM7O0FBR0YsSUFBYSxtQkFBbUIsR0FBaEMsTUFBYSxtQkFBbUI7SUFDNUIsWUFBOEIsUUFBYSxFQUFFLE1BQWMsRUFBYyxVQUFzQjtRQUMzRixZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0NBQ0osQ0FBQTs7NENBSGdCLE1BQU0sU0FBQyxRQUFRO1lBQXlCLE1BQU07WUFBMEIsVUFBVSx1QkFBakMsUUFBUTs7QUFEN0QsbUJBQW1CO0lBRC9CLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFFSSxtQkFBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUEsRUFBaUMsbUJBQUEsUUFBUSxFQUFFLENBQUE7cURBQW5CLE1BQU0sRUFBMEIsVUFBVTtHQUR0RixtQkFBbUIsQ0FJL0I7U0FKWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIGRldmV4dHJlbWUtYW5ndWxhclxuICogVmVyc2lvbjogMjAuMi41XG4gKiBCdWlsZCBkYXRlOiBGcmkgSmFuIDE1IDIwMjFcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDIxIERldmVsb3BlciBFeHByZXNzIEluYy4gQUxMIFJJR0hUUyBSRVNFUlZFRFxuICpcbiAqIFRoaXMgc29mdHdhcmUgbWF5IGJlIG1vZGlmaWVkIGFuZCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXNcbiAqIG9mIHRoZSBNSVQgbGljZW5zZS4gU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QgZm9yIGRldGFpbHMuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKi9cblxuXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3QsIE5nWm9uZSwgT3B0aW9uYWwsIFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWGhyRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0ICogYXMgaHR0cFJlcXVlc3QgZnJvbSAnZGV2ZXh0cmVtZS9jb3JlL2h0dHBfcmVxdWVzdCc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCAqIGFzIGRvbUFkYXB0ZXIgZnJvbSAnZGV2ZXh0cmVtZS9jb3JlL2RvbV9hZGFwdGVyJztcclxuaW1wb3J0ICogYXMgcmVhZHlDYWxsYmFja3MgZnJvbSAnZGV2ZXh0cmVtZS9jb3JlL3V0aWxzL3JlYWR5X2NhbGxiYWNrcyc7XHJcbmltcG9ydCAqIGFzIGV2ZW50c0VuZ2luZSBmcm9tICdkZXZleHRyZW1lL2V2ZW50cy9jb3JlL2V2ZW50c19lbmdpbmUnO1xyXG5cclxuY29uc3Qgb3V0c2lkZVpvbmVFdmVudHMgPSBbJ21vdXNlbW92ZScsICdtb3VzZW92ZXInLCAnbW91c2VvdXQnXTtcclxuY29uc3QgaW5zaWRlWm9uZUV2ZW50cyA9IFsnbW91c2V1cCcsICdjbGljaycsICdtb3VzZWRvd24nLCAndHJhbnNpdGlvbmVuZCcsICd3aGVlbCddO1xyXG5cclxubGV0IG9yaWdpbmFsQWRkO1xyXG5sZXQgcmVhZHlDYWxsYmFja0FkZCA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XHJcbiAgICBpZiAoIW9yaWdpbmFsQWRkKSB7XHJcbiAgICAgICAgb3JpZ2luYWxBZGQgPSB0aGlzLmNhbGxCYXNlLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcbiAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XHJcbn07XHJcblxyXG5sZXQgY2FsbGJhY2tzID0gW107XHJcbnJlYWR5Q2FsbGJhY2tzLmluamVjdCh7XHJcbiAgICBhZGQ6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlYWR5Q2FsbGJhY2tBZGQuY2FsbCh0aGlzLCBjYWxsYmFjayk7XHJcbiAgICB9XHJcbn0pO1xyXG5cclxubGV0IGRvSW5qZWN0aW9ucyA9IChkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSwgeGhyRmFjdG9yeTogWGhyRmFjdG9yeSkgPT4ge1xyXG4gICAgaWYgKE51bWJlcihWRVJTSU9OLm1ham9yKSA8IDcpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1lvdXIgdmVyc2lvbiBvZiBBbmd1bGFyIGlzIG5vdCBzdXBwb3J0ZWQgKGh0dHBzOi8vc3VwcG9ydGNlbnRlci5kZXZleHByZXNzLmNvbS90aWNrZXQvZGV0YWlscy90ODc5NDk2KS4gUGxlYXNlIHVwZGF0ZSB5b3VyIHByb2plY3QgdG8gdmVyc2lvbiA3IG9yIGxhdGVyLiBQbGVhc2UgcmVmZXIgdG8gdGhlIEFuZ3VsYXIgVXBkYXRlIEd1aWRlIGZvciBtb3JlIGluZm9ybWF0aW9uOiBodHRwczovL3VwZGF0ZS5hbmd1bGFyLmlvJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZG9tQWRhcHRlci5pbmplY3Qoe1xyXG4gICAgICAgIF9kb2N1bWVudDogZG9jdW1lbnQsXHJcblxyXG4gICAgICAgIGxpc3RlbjogZnVuY3Rpb24oLi4uYXJncykge1xyXG4gICAgICAgICAgICBjb25zdCBldmVudE5hbWUgPSBhcmdzWzFdO1xyXG4gICAgICAgICAgICBpZiAob3V0c2lkZVpvbmVFdmVudHMuaW5kZXhPZihldmVudE5hbWUpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEJhc2UuYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKG5nWm9uZS5pc1N0YWJsZSAmJiBpbnNpZGVab25lRXZlbnRzLmluZGV4T2YoZXZlbnROYW1lKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxsQmFzZS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxsQmFzZS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBpc0VsZW1lbnROb2RlOiBmdW5jdGlvbihlbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQubm9kZVR5cGUgPT09IDE7XHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgaXNUZXh0Tm9kZTogZnVuY3Rpb24oZWxlbWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlID09PSAzO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGlzRG9jdW1lbnQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlwZSA9PT0gOTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBodHRwUmVxdWVzdC5pbmplY3Qoe1xyXG4gICAgICAgIGdldFhocjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGlmICgheGhyRmFjdG9yeSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEJhc2UuYXBwbHkodGhpcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IF94aHIgPSB4aHJGYWN0b3J5LmJ1aWxkKCk7XHJcbiAgICAgICAgICAgIGlmICghKCd3aXRoQ3JlZGVudGlhbHMnIGluIF94aHIpKSB7XHJcbiAgICAgICAgICAgICAgICAoX3hociBhcyBhbnkpWyd3aXRoQ3JlZGVudGlhbHMnXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gX3hocjtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBydW5SZWFkeUNhbGxiYWNrc0luWm9uZSA9ICgpID0+IHtcclxuICAgICAgICBuZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgZXZlbnRzRW5naW5lLnNldCh7fSk7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrcy5mb3JFYWNoKGNhbGxiYWNrID0+IG9yaWdpbmFsQWRkLmNhbGwobnVsbCwgY2FsbGJhY2spKTtcclxuICAgICAgICAgICAgY2FsbGJhY2tzID0gW107XHJcbiAgICAgICAgICAgIHJlYWR5Q2FsbGJhY2tzLmZpcmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgcnVuUmVhZHlDYWxsYmFja3NJblpvbmUoKTtcclxuXHJcbiAgICByZWFkeUNhbGxiYWNrQWRkID0gKGNhbGxiYWNrKSA9PiBuZ1pvbmUucnVuKCgpID0+IGNhbGxiYWNrKCkpO1xyXG4gICAgZG9JbmplY3Rpb25zID0gcnVuUmVhZHlDYWxsYmFja3NJblpvbmU7XHJcbn07XHJcblxyXG5ATmdNb2R1bGUoe30pXHJcbmV4cG9ydCBjbGFzcyBEeEludGVncmF0aW9uTW9kdWxlIHtcclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksIG5nWm9uZTogTmdab25lLCBAT3B0aW9uYWwoKSB4aHJGYWN0b3J5OiBYaHJGYWN0b3J5KSB7XHJcbiAgICAgICAgZG9JbmplY3Rpb25zKGRvY3VtZW50LCBuZ1pvbmUsIHhockZhY3RvcnkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==