UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

62 lines 7.79 kB
/*! * devextreme-angular * Version: 25.1.4 * Build date: Tue Aug 05 2025 * * Copyright (c) 2012 - 2025 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 { NgModule, Inject, PLATFORM_ID } from '@angular/core'; import { isPlatformServer } from '@angular/common'; import infernoRenderer from 'devextreme/core/inferno_renderer'; import { renderToString } from 'inferno-server'; import * as i0 from "@angular/core"; export class DxServerModule { constructor(platformId) { if (isPlatformServer(platformId)) { infernoRenderer.inject({ render: (component, props, container) => { const el = infernoRenderer.createElement(component, props); const document = container.ownerDocument; const temp = document.createElement(container.tagName); temp.innerHTML = renderToString(el); const mainElement = temp.childNodes[0]; const childString = mainElement.innerHTML; for (let i = 0; i < mainElement.attributes.length; i++) { const attr = mainElement.attributes[i]; if (!container.hasAttribute(attr.name)) { container.setAttribute(attr.name, attr.value); } } container.innerHTML = childString; }, renderIntoContainer: (jsx, container) => { if (jsx === null) { container.innerHTML = ''; return; } container.innerHTML = renderToString(jsx); }, }); } } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxServerModule, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule }); /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxServerModule }); /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxServerModule }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxServerModule, decorators: [{ type: NgModule, args: [{ exports: [], imports: [], providers: [], }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGlzdC9zZXJ2ZXIvcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sZUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPaEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBaUMsVUFBZTtRQUM5QyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDakMsZUFBZSxDQUFDLE1BQU0sQ0FBQztnQkFDckIsTUFBTSxFQUFFLENBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsRUFBRTtvQkFDRixNQUFNLEVBQUUsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDM0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztvQkFDekMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRXZELElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUVwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO29CQUUxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDdkQsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFFdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7NEJBQ3ZDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2hELENBQUM7b0JBQ0gsQ0FBQztvQkFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztnQkFDcEMsQ0FBQztnQkFDRCxtQkFBbUIsRUFBRSxDQUNuQixHQUFHLEVBQ0gsU0FBUyxFQUNULEVBQUU7b0JBQ0YsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7d0JBQ2pCLFNBQVMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO3dCQUN6QixPQUFPO29CQUNULENBQUM7b0JBRUQsU0FBUyxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsySEF6Q1UsY0FBYyxrQkFDTCxXQUFXOzRIQURwQixjQUFjOzRIQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsU0FBUyxFQUFFLEVBQUU7aUJBQ2Q7OzBCQUVjLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogZGV2ZXh0cmVtZS1hbmd1bGFyXG4gKiBWZXJzaW9uOiAyNS4xLjRcbiAqIEJ1aWxkIGRhdGU6IFR1ZSBBdWcgMDUgMjAyNVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMjUgRGV2ZWxvcGVyIEV4cHJlc3MgSW5jLiBBTEwgUklHSFRTIFJFU0VSVkVEXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBtYXkgYmUgbW9kaWZpZWQgYW5kIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtc1xuICogb2YgdGhlIE1JVCBsaWNlbnNlLiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdCBmb3IgZGV0YWlscy5cbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy9kZXZleHRyZW1lLWFuZ3VsYXJcbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCBpbmZlcm5vUmVuZGVyZXIgZnJvbSAnZGV2ZXh0cmVtZS9jb3JlL2luZmVybm9fcmVuZGVyZXInO1xyXG5pbXBvcnQgeyByZW5kZXJUb1N0cmluZyB9IGZyb20gJ2luZmVybm8tc2VydmVyJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZXhwb3J0czogW10sXHJcbiAgaW1wb3J0czogW10sXHJcbiAgcHJvdmlkZXJzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER4U2VydmVyTW9kdWxlIHtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwbGF0Zm9ybUlkOiBhbnkpIHtcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIGluZmVybm9SZW5kZXJlci5pbmplY3Qoe1xyXG4gICAgICAgIHJlbmRlcjogKFxyXG4gICAgICAgICAgY29tcG9uZW50LFxyXG4gICAgICAgICAgcHJvcHMsXHJcbiAgICAgICAgICBjb250YWluZXIsXHJcbiAgICAgICAgKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlbCA9IGluZmVybm9SZW5kZXJlci5jcmVhdGVFbGVtZW50KGNvbXBvbmVudCwgcHJvcHMpO1xyXG4gICAgICAgICAgY29uc3QgZG9jdW1lbnQgPSBjb250YWluZXIub3duZXJEb2N1bWVudDtcclxuICAgICAgICAgIGNvbnN0IHRlbXAgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGNvbnRhaW5lci50YWdOYW1lKTtcclxuXHJcbiAgICAgICAgICB0ZW1wLmlubmVySFRNTCA9IHJlbmRlclRvU3RyaW5nKGVsKTtcclxuXHJcbiAgICAgICAgICBjb25zdCBtYWluRWxlbWVudCA9IHRlbXAuY2hpbGROb2Rlc1swXTtcclxuICAgICAgICAgIGNvbnN0IGNoaWxkU3RyaW5nID0gbWFpbkVsZW1lbnQuaW5uZXJIVE1MO1xyXG5cclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFpbkVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBhdHRyID0gbWFpbkVsZW1lbnQuYXR0cmlidXRlc1tpXTtcclxuXHJcbiAgICAgICAgICAgIGlmICghY29udGFpbmVyLmhhc0F0dHJpYnV0ZShhdHRyLm5hbWUpKSB7XHJcbiAgICAgICAgICAgICAgY29udGFpbmVyLnNldEF0dHJpYnV0ZShhdHRyLm5hbWUsIGF0dHIudmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IGNoaWxkU3RyaW5nO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcmVuZGVySW50b0NvbnRhaW5lcjogKFxyXG4gICAgICAgICAganN4LFxyXG4gICAgICAgICAgY29udGFpbmVyLFxyXG4gICAgICAgICkgPT4ge1xyXG4gICAgICAgICAgaWYgKGpzeCA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gJyc7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gcmVuZGVyVG9TdHJpbmcoanN4KTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19