| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- "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 template_host_1 = require("./template-host");
- var utils_1 = require("./utils");
- var events = require("devextreme/events");
- exports.DX_TEMPLATE_WRAPPER_CLASS = 'dx-template-wrapper';
- var RenderData = (function () {
- function RenderData() {
- }
- return RenderData;
- }());
- exports.RenderData = RenderData;
- var DxTemplateDirective = (function () {
- function DxTemplateDirective(templateRef, viewContainerRef, templateHost, renderer, zone) {
- this.templateRef = templateRef;
- this.viewContainerRef = viewContainerRef;
- this.renderer = renderer;
- this.zone = zone;
- templateHost.setTemplate(this);
- }
- Object.defineProperty(DxTemplateDirective.prototype, "dxTemplateOf", {
- set: function (value) {
- this.name = value;
- },
- enumerable: true,
- configurable: true
- });
- ;
- DxTemplateDirective.prototype.renderTemplate = function (renderData) {
- var _this = this;
- var childView = this.viewContainerRef.createEmbeddedView(this.templateRef, {
- '$implicit': renderData.model,
- index: renderData.index
- });
- var container = utils_1.getElement(renderData.container);
- if (renderData.container) {
- childView.rootNodes.forEach(function (element) {
- _this.renderer.appendChild(container, element);
- });
- }
- return childView;
- };
- DxTemplateDirective.prototype.render = function (renderData) {
- var _this = this;
- var childView;
- if (this.zone.isStable) {
- childView = this.zone.run(function () {
- return _this.renderTemplate(renderData);
- });
- }
- else {
- childView = this.renderTemplate(renderData);
- // =========== WORKAROUND =============
- // https://github.com/angular/angular/issues/12243
- childView['detectChanges']();
- // =========== /WORKAROUND =============
- }
- childView.rootNodes.forEach(function (element) {
- if (element.nodeType === 1) {
- _this.renderer.addClass(element, exports.DX_TEMPLATE_WRAPPER_CLASS);
- }
- events.one(element, 'dxremove', function (_a, params) {
- if (!params || !params._angularIntegration) {
- childView.destroy();
- }
- });
- });
- return childView.rootNodes;
- };
- DxTemplateDirective.decorators = [
- { type: core_1.Directive, args: [{
- selector: '[dxTemplate]'
- },] },
- ];
- /** @nocollapse */
- DxTemplateDirective.ctorParameters = function () { return [
- { type: core_1.TemplateRef, },
- { type: core_1.ViewContainerRef, },
- { type: template_host_1.DxTemplateHost, },
- { type: core_1.Renderer2, },
- { type: core_1.NgZone, },
- ]; };
- DxTemplateDirective.propDecorators = {
- "dxTemplateOf": [{ type: core_1.Input },],
- };
- return DxTemplateDirective;
- }());
- exports.DxTemplateDirective = DxTemplateDirective;
- var DxTemplateModule = (function () {
- function DxTemplateModule() {
- }
- DxTemplateModule.decorators = [
- { type: core_1.NgModule, args: [{
- declarations: [DxTemplateDirective],
- exports: [DxTemplateDirective]
- },] },
- ];
- return DxTemplateModule;
- }());
- exports.DxTemplateModule = DxTemplateModule;
- //# sourceMappingURL=template.js.map
|