UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

45 lines (44 loc) 1.56 kB
/** * DevExtreme (ui/widget/ui.template_base.js) * Version: 18.1.3 * Build date: Tue May 15 2018 * * Copyright (c) 2012 - 2018 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "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(); var TemplateBase = Class.inherit({ render: function(options) { options = options || {}; var $result = this._renderCore(options); this._ensureResultInContainer($result, options.container); renderedCallbacks.fire($result, options.container); return $result }, _ensureResultInContainer: function($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;