UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

48 lines (36 loc) 1.13 kB
"use strict"; var $ = require("../../core/renderer"), Tooltip = require("./tooltip"), extend = require("../../core/utils/extend").extend, Deferred = require("../../core/utils/deferred").Deferred, viewPortUtils = require("../../core/utils/view_port"); var tooltip = null; var removeTooltipElement = null; var createTooltip = function createTooltip(options) { options = extend({ position: "top" }, options); var content = options.content; delete options.content; var $tooltip = $("<div>").html(content).appendTo(viewPortUtils.value()); removeTooltipElement = function removeTooltipElement() { $tooltip.remove(); }; tooltip = new Tooltip($tooltip, options); }; var removeTooltip = function removeTooltip() { if (!tooltip) { return; } removeTooltipElement(); tooltip = null; }; exports.show = function (options) { removeTooltip(); createTooltip(options); return tooltip.show(); }; exports.hide = function () { if (!tooltip) { return new Deferred().resolve(); } return tooltip.hide().done(removeTooltip).promise(); };