devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
55 lines • 6.86 kB
JavaScript
/*!
* devextreme-angular
* Version: 24.2.6
* Build date: Mon Mar 17 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;
},
});
}
}
/** @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGlzdC9zZXJ2ZXIvcmVuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sZUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFPaEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBaUMsVUFBZTtRQUM5QyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDakMsZUFBZSxDQUFDLE1BQU0sQ0FBQztnQkFDckIsTUFBTSxFQUFFLENBQ04sU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1QsRUFBRTtvQkFDRixNQUFNLEVBQUUsR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDM0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztvQkFDekMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRXZELElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUVwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO29CQUUxQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDdkQsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFFdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7NEJBQ3ZDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2hELENBQUM7b0JBQ0gsQ0FBQztvQkFFRCxTQUFTLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQztnQkFDcEMsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOzJIQTlCVSxjQUFjLGtCQUNMLFdBQVc7NEhBRHBCLGNBQWM7NEhBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFMMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsRUFBRTtpQkFDZDs7MEJBRWMsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBkZXZleHRyZW1lLWFuZ3VsYXJcbiAqIFZlcnNpb246IDI0LjIuNlxuICogQnVpbGQgZGF0ZTogTW9uIE1hciAxNyAyMDI1XG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAyNSBEZXZlbG9wZXIgRXhwcmVzcyBJbmMuIEFMTCBSSUdIVFMgUkVTRVJWRURcbiAqXG4gKiBUaGlzIHNvZnR3YXJlIG1heSBiZSBtb2RpZmllZCBhbmQgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zXG4gKiBvZiB0aGUgTUlUIGxpY2Vuc2UuIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBwcm9qZWN0IGZvciBkZXRhaWxzLlxuICpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9EZXZFeHByZXNzL2RldmV4dHJlbWUtYW5ndWxhclxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuaW1wb3J0IGluZmVybm9SZW5kZXJlciBmcm9tICdkZXZleHRyZW1lL2NvcmUvaW5mZXJub19yZW5kZXJlcic7XHJcbmltcG9ydCB7IHJlbmRlclRvU3RyaW5nIH0gZnJvbSAnaW5mZXJuby1zZXJ2ZXInO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbXSxcclxuICBpbXBvcnRzOiBbXSxcclxuICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhTZXJ2ZXJNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUExBVEZPUk1fSUQpIHBsYXRmb3JtSWQ6IGFueSkge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkpIHtcclxuICAgICAgaW5mZXJub1JlbmRlcmVyLmluamVjdCh7XHJcbiAgICAgICAgcmVuZGVyOiAoXHJcbiAgICAgICAgICBjb21wb25lbnQsXHJcbiAgICAgICAgICBwcm9wcyxcclxuICAgICAgICAgIGNvbnRhaW5lcixcclxuICAgICAgICApID0+IHtcclxuICAgICAgICAgIGNvbnN0IGVsID0gaW5mZXJub1JlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoY29tcG9uZW50LCBwcm9wcyk7XHJcbiAgICAgICAgICBjb25zdCBkb2N1bWVudCA9IGNvbnRhaW5lci5vd25lckRvY3VtZW50O1xyXG4gICAgICAgICAgY29uc3QgdGVtcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoY29udGFpbmVyLnRhZ05hbWUpO1xyXG5cclxuICAgICAgICAgIHRlbXAuaW5uZXJIVE1MID0gcmVuZGVyVG9TdHJpbmcoZWwpO1xyXG5cclxuICAgICAgICAgIGNvbnN0IG1haW5FbGVtZW50ID0gdGVtcC5jaGlsZE5vZGVzWzBdO1xyXG4gICAgICAgICAgY29uc3QgY2hpbGRTdHJpbmcgPSBtYWluRWxlbWVudC5pbm5lckhUTUw7XHJcblxyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYWluRWxlbWVudC5hdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGF0dHIgPSBtYWluRWxlbWVudC5hdHRyaWJ1dGVzW2ldO1xyXG5cclxuICAgICAgICAgICAgaWYgKCFjb250YWluZXIuaGFzQXR0cmlidXRlKGF0dHIubmFtZSkpIHtcclxuICAgICAgICAgICAgICBjb250YWluZXIuc2V0QXR0cmlidXRlKGF0dHIubmFtZSwgYXR0ci52YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gY2hpbGRTdHJpbmc7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==