template.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. * DevExtreme (ui/widget/template.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. var _renderer = require("../../core/renderer");
  11. var _renderer2 = _interopRequireDefault(_renderer);
  12. var _ui = require("./ui.template_base");
  13. var _ui2 = _interopRequireDefault(_ui);
  14. var _dom = require("../../core/utils/dom");
  15. var _template_engine_registry = require("./template_engine_registry");
  16. require("./template_engines");
  17. function _interopRequireDefault(obj) {
  18. return obj && obj.__esModule ? obj : {
  19. "default": obj
  20. }
  21. }(0, _template_engine_registry.registerTemplateEngine)("default", {
  22. compile: function(element) {
  23. return (0, _dom.normalizeTemplateElement)(element)
  24. },
  25. render: function(template, model, index) {
  26. return template.clone()
  27. }
  28. });
  29. (0, _template_engine_registry.setTemplateEngine)("default");
  30. var Template = _ui2.default.inherit({
  31. ctor: function(element) {
  32. this._element = element
  33. },
  34. _renderCore: function(options) {
  35. var transclude = options.transclude;
  36. if (!transclude && !this._compiledTemplate) {
  37. this._compiledTemplate = (0, _template_engine_registry.getCurrentTemplateEngine)().compile(this._element)
  38. }
  39. return (0, _renderer2.default)("<div>").append(transclude ? this._element : (0, _template_engine_registry.getCurrentTemplateEngine)().render(this._compiledTemplate, options.model, options.index)).contents()
  40. },
  41. source: function() {
  42. return (0, _renderer2.default)(this._element).clone()
  43. }
  44. });
  45. module.exports = Template;