devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
47 lines (45 loc) • 1.82 kB
JavaScript
/**
* DevExtreme (cjs/__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/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Template = void 0;
var _renderer = _interopRequireDefault(require("../../../core/renderer"));
var _template_base = require("../../../core/templates/template_base");
var _template_engine_registry = require("../../../core/templates/template_engine_registry");
var _dom = require("../../../core/utils/dom");
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}(0, _template_engine_registry.registerTemplateEngine)("default", {
compile: element => (0, _dom.normalizeTemplateElement)(element),
render: (template, model, index) => template.clone()
});
(0, _template_engine_registry.setTemplateEngine)("default");
class Template extends _template_base.TemplateBase {
constructor(element) {
super();
this._element = element
}
_renderCore(options) {
const {
transclude: transclude
} = options;
if (!transclude && !this._compiledTemplate) {
this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element)
}
return (0, _renderer.default)("<div>").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents()
}
source() {
return (0, _renderer.default)(this._element).clone()
}
}
exports.Template = Template;