devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
115 lines • 14.1 kB
JavaScript
/*!
* 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';
var outsideZoneEvents = ['mousemove', 'mouseover', 'mouseout'];
var insideZoneEvents = ['mouseup', 'click', 'mousedown', 'transitionend', 'wheel'];
var originalAdd;
var readyCallbackAdd = function (callback) {
if (!originalAdd) {
originalAdd = this.callBase.bind(this);
}
callbacks.push(callback);
};
var ɵ0 = readyCallbackAdd;
var callbacks = [];
readyCallbacks.inject({
add: function (callback) {
return readyCallbackAdd.call(this, callback);
}
});
var doInjections = function (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 () {
var _this = this;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var eventName = args[1];
if (outsideZoneEvents.indexOf(eventName) !== -1) {
return ngZone.runOutsideAngular(function () {
return _this.callBase.apply(_this, args);
});
}
if (ngZone.isStable && insideZoneEvents.indexOf(eventName) !== -1) {
return ngZone.run(function () {
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);
}
var _xhr = xhrFactory.build();
if (!('withCredentials' in _xhr)) {
_xhr['withCredentials'] = false;
}
return _xhr;
}
});
var runReadyCallbacksInZone = function () {
ngZone.run(function () {
eventsEngine.set({});
callbacks.forEach(function (callback) { return originalAdd.call(null, callback); });
callbacks = [];
readyCallbacks.fire();
});
};
runReadyCallbacksInZone();
readyCallbackAdd = function (callback) { return ngZone.run(function () { return callback(); }); };
doInjections = runReadyCallbacksInZone;
};
var ɵ1 = doInjections;
var DxIntegrationModule = /** @class */ (function () {
function DxIntegrationModule(document, ngZone, xhrFactory) {
doInjections(document, ngZone, xhrFactory);
}
DxIntegrationModule.ctorParameters = function () { return [
{ 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);
return DxIntegrationModule;
}());
export { DxIntegrationModule };
export { ɵ0, ɵ1 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHRyZW1lLWFuZ3VsYXIvY29yZS8iLCJzb3VyY2VzIjpbImludGVncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUdILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssV0FBVyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sS0FBSyxjQUFjLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxLQUFLLFlBQVksTUFBTSxzQ0FBc0MsQ0FBQztBQUVyRSxJQUFNLGlCQUFpQixHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNqRSxJQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXJGLElBQUksV0FBVyxDQUFDO0FBQ2hCLElBQUksZ0JBQWdCLEdBQUcsVUFBUyxRQUFRO0lBQ3BDLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDZCxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDMUM7SUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzdCLENBQUMsQ0FBQzs7QUFFRixJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFDbkIsY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUNsQixHQUFHLEVBQUUsVUFBUyxR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Z0JBQWdCLEdBQUcsVUFBQyxRQUFRLElBQUssT0FBQSxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQU0sT0FBQSxRQUFRLEVBQUUsRUFBVixDQUFVLENBQUMsRUFBNUIsQ0FBNEIsQ0FBQztJQUM5RCxZQUFZLEdBQUcsdUJBQXVCLENBQUM7QUFDM0MsQ0FBQyxDQUFDOztBQUdGO0lBQ0ksNkJBQThCLFFBQWEsRUFBRSxNQUFjLEVBQWMsVUFBc0I7UUFDM0YsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7Z0RBRlksTUFBTSxTQUFDLFFBQVE7Z0JBQXlCLE1BQU07Z0JBQTBCLFVBQVUsdUJBQWpDLFFBQVE7O0lBRDdELG1CQUFtQjtRQUQvQixRQUFRLENBQUMsRUFBRSxDQUFDO1FBRUksbUJBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBLEVBQWlDLG1CQUFBLFFBQVEsRUFBRSxDQUFBO3lEQUFuQixNQUFNLEVBQTBCLFVBQVU7T0FEdEYsbUJBQW1CLENBSS9CO0lBQUQsMEJBQUM7Q0FBQSxBQUpELElBSUM7U0FKWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIGRldmV4dHJlbWUtYW5ndWxhclxuICogVmVyc2lvbjogMjAuMi41XG4gKiBCdWlsZCBkYXRlOiBGcmkgSmFuIDE1IDIwMjFcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDIxIERldmVsb3BlciBFeHByZXNzIEluYy4gQUxMIFJJR0hUUyBSRVNFUlZFRFxuICpcbiAqIFRoaXMgc29mdHdhcmUgbWF5IGJlIG1vZGlmaWVkIGFuZCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXNcbiAqIG9mIHRoZSBNSVQgbGljZW5zZS4gU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QgZm9yIGRldGFpbHMuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL0RldkV4cHJlc3MvZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKi9cblxuXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3QsIE5nWm9uZSwgT3B0aW9uYWwsIFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWGhyRmFjdG9yeSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0ICogYXMgaHR0cFJlcXVlc3QgZnJvbSAnZGV2ZXh0cmVtZS9jb3JlL2h0dHBfcmVxdWVzdCc7XHJcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCAqIGFzIGRvbUFkYXB0ZXIgZnJvbSAnZGV2ZXh0cmVtZS9jb3JlL2RvbV9hZGFwdGVyJztcclxuaW1wb3J0ICogYXMgcmVhZHlDYWxsYmFja3MgZnJvbSAnZGV2ZXh0cmVtZS9jb3JlL3V0aWxzL3JlYWR5X2NhbGxiYWNrcyc7XHJcbmltcG9ydCAqIGFzIGV2ZW50c0VuZ2luZSBmcm9tICdkZXZleHRyZW1lL2V2ZW50cy9jb3JlL2V2ZW50c19lbmdpbmUnO1xyXG5cclxuY29uc3Qgb3V0c2lkZVpvbmVFdmVudHMgPSBbJ21vdXNlbW92ZScsICdtb3VzZW92ZXInLCAnbW91c2VvdXQnXTtcclxuY29uc3QgaW5zaWRlWm9uZUV2ZW50cyA9IFsnbW91c2V1cCcsICdjbGljaycsICdtb3VzZWRvd24nLCAndHJhbnNpdGlvbmVuZCcsICd3aGVlbCddO1xyXG5cclxubGV0IG9yaWdpbmFsQWRkO1xyXG5sZXQgcmVhZHlDYWxsYmFja0FkZCA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XHJcbiAgICBpZiAoIW9yaWdpbmFsQWRkKSB7XHJcbiAgICAgICAgb3JpZ2luYWxBZGQgPSB0aGlzLmNhbGxCYXNlLmJpbmQodGhpcyk7XHJcbiAgICB9XHJcbiAgICBjYWxsYmFja3MucHVzaChjYWxsYmFjayk7XHJcbn07XHJcblxyXG5sZXQgY2FsbGJhY2tzID0gW107XHJcbnJlYWR5Q2FsbGJhY2tzLmluamVjdCh7XHJcbiAgICBhZGQ6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlYWR5Q2FsbGJhY2tBZGQuY2FsbCh0aGlzLCBjYWxsYmFjayk7XHJcbiAgICB9XHJcbn0pO1xyXG5cclxubGV0IGRvSW5qZWN0aW9ucyA9IChkb2N1bWVudDogYW55LCBuZ1pvbmU6IE5nWm9uZSwgeGhyRmFjdG9yeTogWGhyRmFjdG9yeSkgPT4ge1xyXG4gICAgaWYgKE51bWJlcihWRVJTSU9OLm1ham9yKSA8IDcpIHtcclxuICAgICAgICBjb25zb2xlLndhcm4oJ1lvdXIgdmVyc2lvbiBvZiBBbmd1bGFyIGlzIG5vdCBzdXBwb3J0ZWQgKGh0dHBzOi8vc3VwcG9ydGNlbnRlci5kZXZleHByZXNzLmNvbS90aWNrZXQvZGV0YWlscy90ODc5NDk2KS4gUGxlYXNlIHVwZGF0ZSB5b3VyIHByb2plY3QgdG8gdmVyc2lvbiA3IG9yIGxhdGVyLiBQbGVhc2UgcmVmZXIgdG8gdGhlIEFuZ3VsYXIgVXBkYXRlIEd1aWRlIGZvciBtb3JlIGluZm9ybWF0aW9uOiBodHRwczovL3VwZGF0ZS5hbmd1bGFyLmlvJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZG9tQWRhcHRlci5pbmplY3Qoe1xyXG4gICAgICAgIF9kb2N1bWVudDogZG9jdW1lbnQsXHJcblxyXG4gICAgICAgIGxpc3RlbjogZnVuY3Rpb24oLi4uYXJncykge1xyXG4gICAgICAgICAgICBjb25zdCBldmVudE5hbWUgPSBhcmdzWzFdO1xyXG4gICAgICAgICAgICBpZiAob3V0c2lkZVpvbmVFdmVudHMuaW5kZXhPZihldmVudE5hbWUpICE9PSAtMSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEJhc2UuYXBwbHkodGhpcywgYXJncyk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKG5nWm9uZS5pc1N0YWJsZSAmJiBpbnNpZGVab25lRXZlbnRzLmluZGV4T2YoZXZlbnROYW1lKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxsQmFzZS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxsQmFzZS5hcHBseSh0aGlzLCBhcmdzKTtcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICBpc0VsZW1lbnROb2RlOiBmdW5jdGlvbihlbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQubm9kZVR5cGUgPT09IDE7XHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgaXNUZXh0Tm9kZTogZnVuY3Rpb24oZWxlbWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlID09PSAzO1xyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIGlzRG9jdW1lbnQ6IGZ1bmN0aW9uKGVsZW1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgJiYgZWxlbWVudC5ub2RlVHlwZSA9PT0gOTtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBodHRwUmVxdWVzdC5pbmplY3Qoe1xyXG4gICAgICAgIGdldFhocjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgIGlmICgheGhyRmFjdG9yeSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbEJhc2UuYXBwbHkodGhpcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IF94aHIgPSB4aHJGYWN0b3J5LmJ1aWxkKCk7XHJcbiAgICAgICAgICAgIGlmICghKCd3aXRoQ3JlZGVudGlhbHMnIGluIF94aHIpKSB7XHJcbiAgICAgICAgICAgICAgICAoX3hociBhcyBhbnkpWyd3aXRoQ3JlZGVudGlhbHMnXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gX3hocjtcclxuICAgICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBydW5SZWFkeUNhbGxiYWNrc0luWm9uZSA9ICgpID0+IHtcclxuICAgICAgICBuZ1pvbmUucnVuKCgpID0+IHtcclxuICAgICAgICAgICAgZXZlbnRzRW5naW5lLnNldCh7fSk7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrcy5mb3JFYWNoKGNhbGxiYWNrID0+IG9yaWdpbmFsQWRkLmNhbGwobnVsbCwgY2FsbGJhY2spKTtcclxuICAgICAgICAgICAgY2FsbGJhY2tzID0gW107XHJcbiAgICAgICAgICAgIHJlYWR5Q2FsbGJhY2tzLmZpcmUoKTtcclxuICAgICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgcnVuUmVhZHlDYWxsYmFja3NJblpvbmUoKTtcclxuXHJcbiAgICByZWFkeUNhbGxiYWNrQWRkID0gKGNhbGxiYWNrKSA9PiBuZ1pvbmUucnVuKCgpID0+IGNhbGxiYWNrKCkpO1xyXG4gICAgZG9JbmplY3Rpb25zID0gcnVuUmVhZHlDYWxsYmFja3NJblpvbmU7XHJcbn07XHJcblxyXG5ATmdNb2R1bGUoe30pXHJcbmV4cG9ydCBjbGFzcyBEeEludGVncmF0aW9uTW9kdWxlIHtcclxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksIG5nWm9uZTogTmdab25lLCBAT3B0aW9uYWwoKSB4aHJGYWN0b3J5OiBYaHJGYWN0b3J5KSB7XHJcbiAgICAgICAgZG9JbmplY3Rpb25zKGRvY3VtZW50LCBuZ1pvbmUsIHhockZhY3RvcnkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==