UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

68 lines (64 loc) 1.95 kB
/** * DevExtreme (cjs/__internal/ui/tooltip/tooltip.js) * Version: 26.1.4 * Build date: Fri Jul 24 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.hide = hide; exports.show = show; var _renderer = _interopRequireDefault(require("../../../core/renderer")); var _deferred = require("../../../core/utils/deferred"); var _view_port = require("../../../core/utils/view_port"); var _tooltip = _interopRequireDefault(require("../../../ui/tooltip")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } let tooltip = null; let clean = null; const createTooltip = configuration => { var _$tooltip; const options = Object.assign({ position: "top" }, configuration); const { content: content } = options; delete options.content; let $tooltip = (0, _renderer.default)("<div>").html(content).appendTo((0, _view_port.value)()); tooltip = new _tooltip.default(null === (_$tooltip = $tooltip) || void 0 === _$tooltip ? void 0 : _$tooltip.get(0), options); clean = () => { var _$tooltip2; null === (_$tooltip2 = $tooltip) || void 0 === _$tooltip2 || _$tooltip2.remove(); $tooltip = null; tooltip = null } }; const removeTooltip = () => { var _clean; if (!tooltip) { return } null === (_clean = clean) || void 0 === _clean || _clean() }; function show(options) { removeTooltip(); createTooltip(options); if (!tooltip) { return (0, _deferred.Deferred)().resolve(false).promise() } return tooltip.show() } function hide() { if (!tooltip) { return (0, _deferred.Deferred)().resolve(false).promise() } return tooltip.hide().done(removeTooltip).promise() }