UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

44 lines (43 loc) 1.44 kB
/** * DevExtreme (esm/__internal/core/templates/m_template.js) * Version: 24.2.6 * Build date: Mon Mar 17 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import $ from "../../../core/renderer"; import { TemplateBase } from "../../../core/templates/template_base"; import { getCurrentTemplateEngine, registerTemplateEngine, setTemplateEngine } from "../../../core/templates/template_engine_registry"; import { normalizeTemplateElement } from "../../../core/utils/dom"; registerTemplateEngine("default", { compile: element => normalizeTemplateElement(element), render: (template, model, index) => template.clone() }); setTemplateEngine("default"); export class Template extends TemplateBase { constructor(element) { super(); this._element = element } _renderCore(options) { const { transclude: transclude } = options; if (!transclude && !this._compiledTemplate) { this._compiledTemplate = getCurrentTemplateEngine().compile(this._element) } return $("<div>").append(transclude ? this._element : getCurrentTemplateEngine().render(this._compiledTemplate, options.model, options.index)).contents() } source() { return $(this._element).clone() } }