devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
74 lines (69 loc) • 2.94 kB
JavaScript
import * as i0 from '@angular/core';
import { PLATFORM_ID, NgModule, Inject } from '@angular/core';
import { isPlatformServer } from '@angular/common';
import infernoRenderer from 'devextreme/core/inferno_renderer';
import { renderToString } from 'inferno-server';
/*!
* devextreme-angular
* Version: 22.1.14
* Build date: Mon Apr 29 2024
*
* Copyright (c) 2012 - 2024 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
*/
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++) {
temp.setAttribute(mainElement.attributes[i].name, mainElement.attributes[i].value);
}
temp.innerHTML = childString;
container.outerHTML = temp.outerHTML;
}
});
}
}
}
/** @nocollapse */ DxServerModule.ɵfac = function DxServerModule_Factory(t) { return new (t || DxServerModule)(i0.ɵɵinject(PLATFORM_ID)); };
/** @nocollapse */ DxServerModule.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DxServerModule });
/** @nocollapse */ DxServerModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [], imports: [[]] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DxServerModule, [{
type: NgModule,
args: [{
exports: [],
imports: [],
providers: []
}]
}], function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [PLATFORM_ID]
}] }]; }, null); })();
/*!
* devextreme-angular
* Version: 22.1.14
* Build date: Mon Apr 29 2024
*
* Copyright (c) 2012 - 2024 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
*/
/**
* Generated bundle index. Do not edit.
*/
export { DxServerModule };
//# sourceMappingURL=devextreme-angular-server.js.map