UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

63 lines (47 loc) 1.5 kB
"use strict"; var $ = require("../../core/renderer"), domAdapter = require("../../core/dom_adapter"), Callbacks = require("../../core/utils/callbacks"), domUtils = require("../../core/utils/dom"), Class = require("../../core/class"), abstract = Class.abstract; var renderedCallbacks = Callbacks(); /** * @name dxTemplate * @section uiWidgetMarkupComponents * @publicName dxTemplate * @type object */ /** * @name dxTemplateOptions.name * @publicName name * @type string */ var TemplateBase = Class.inherit({ render: function render(options) { options = options || {}; var $result = this._renderCore(options); this._ensureResultInContainer($result, options.container); renderedCallbacks.fire($result, options.container); return $result; }, _ensureResultInContainer: function _ensureResultInContainer($result, container) { if (!container) { return; } var $container = $(container); var resultInContainer = domUtils.contains($container.get(0), $result.get(0)); $container.append($result); if (resultInContainer) { return; } var resultInBody = domAdapter.getBody().contains($container.get(0)); if (!resultInBody) { return; } domUtils.triggerShownEvent($result); }, _renderCore: abstract }); module.exports = TemplateBase; module.exports.renderedCallbacks = renderedCallbacks;