diff options
author | Mark Otto <markdotto@gmail.com> | 2017-09-06 07:05:12 +0300 |
---|---|---|
committer | Mark Otto <markdotto@gmail.com> | 2017-09-06 07:05:12 +0300 |
commit | df47558ef680adf6e80b5e8402837125c41210c0 (patch) | |
tree | fb9cb52d3ed467f73c16140254b18e9733e640ab /js/dist/tooltip.js | |
parent | fbd1f52f896c599211c24c5c86d04fbbb3e88165 (diff) |
dist
Diffstat (limited to 'js/dist/tooltip.js')
-rw-r--r-- | js/dist/tooltip.js | 786 |
1 files changed, 412 insertions, 374 deletions
diff --git a/js/dist/tooltip.js b/js/dist/tooltip.js index 9193ba5f29..a386e0241f 100644 --- a/js/dist/tooltip.js +++ b/js/dist/tooltip.js @@ -1,3 +1,5 @@ +'use strict'; + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -11,7 +13,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons * -------------------------------------------------------------------------- */ -var Tooltip = function ($) { +var Tooltip = function () { /** * Check for Popper dependency @@ -135,493 +137,529 @@ var Tooltip = function ($) { // getters - // public + _createClass(Tooltip, [{ + key: 'enable', - Tooltip.prototype.enable = function enable() { - this._isEnabled = true; - }; - Tooltip.prototype.disable = function disable() { - this._isEnabled = false; - }; + // public - Tooltip.prototype.toggleEnabled = function toggleEnabled() { - this._isEnabled = !this._isEnabled; - }; + value: function enable() { + this._isEnabled = true; + } + }, { + key: 'disable', + value: function disable() { + this._isEnabled = false; + } + }, { + key: 'toggleEnabled', + value: function toggleEnabled() { + this._isEnabled = !this._isEnabled; + } + }, { + key: 'toggle', + value: function toggle(event) { + if (!this._isEnabled) { + return; + } - Tooltip.prototype.toggle = function toggle(event) { - if (event) { - var dataKey = this.constructor.DATA_KEY; - var context = $(event.currentTarget).data(dataKey); + if (event) { + var dataKey = this.constructor.DATA_KEY; + var context = $(event.currentTarget).data(dataKey); - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $(event.currentTarget).data(dataKey, context); - } + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } - context._activeTrigger.click = !context._activeTrigger.click; + context._activeTrigger.click = !context._activeTrigger.click; - if (context._isWithActiveTrigger()) { - context._enter(null, context); + if (context._isWithActiveTrigger()) { + context._enter(null, context); + } else { + context._leave(null, context); + } } else { - context._leave(null, context); - } - } else { - if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { - this._leave(null, this); - return; - } + if ($(this.getTipElement()).hasClass(ClassName.SHOW)) { + this._leave(null, this); + return; + } - this._enter(null, this); + this._enter(null, this); + } } - }; - - Tooltip.prototype.dispose = function dispose() { - clearTimeout(this._timeout); - - $.removeData(this.element, this.constructor.DATA_KEY); - - $(this.element).off(this.constructor.EVENT_KEY); - $(this.element).closest('.modal').off('hide.bs.modal'); + }, { + key: 'dispose', + value: function dispose() { + clearTimeout(this._timeout); - if (this.tip) { - $(this.tip).remove(); - } + $.removeData(this.element, this.constructor.DATA_KEY); - this._isEnabled = null; - this._timeout = null; - this._hoverState = null; - this._activeTrigger = null; - if (this._popper !== null) { - this._popper.destroy(); - } - this._popper = null; + $(this.element).off(this.constructor.EVENT_KEY); + $(this.element).closest('.modal').off('hide.bs.modal'); - this.element = null; - this.config = null; - this.tip = null; - }; + if (this.tip) { + $(this.tip).remove(); + } - Tooltip.prototype.show = function show() { - var _this = this; + this._isEnabled = null; + this._timeout = null; + this._hoverState = null; + this._activeTrigger = null; + if (this._popper !== null) { + this._popper.destroy(); + } - if ($(this.element).css('display') === 'none') { - throw new Error('Please use show on visible elements'); + this._popper = null; + this.element = null; + this.config = null; + this.tip = null; } + }, { + key: 'show', + value: function show() { + var _this = this; - var showEvent = $.Event(this.constructor.Event.SHOW); - if (this.isWithContent() && this._isEnabled) { - $(this.element).trigger(showEvent); + if ($(this.element).css('display') === 'none') { + throw new Error('Please use show on visible elements'); + } - var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element); + var showEvent = $.Event(this.constructor.Event.SHOW); + if (this.isWithContent() && this._isEnabled) { + $(this.element).trigger(showEvent); - if (showEvent.isDefaultPrevented() || !isInTheDom) { - return; - } + var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element); - var tip = this.getTipElement(); - var tipId = Util.getUID(this.constructor.NAME); + if (showEvent.isDefaultPrevented() || !isInTheDom) { + return; + } - tip.setAttribute('id', tipId); - this.element.setAttribute('aria-describedby', tipId); + var tip = this.getTipElement(); + var tipId = Util.getUID(this.constructor.NAME); - this.setContent(); + tip.setAttribute('id', tipId); + this.element.setAttribute('aria-describedby', tipId); - if (this.config.animation) { - $(tip).addClass(ClassName.FADE); - } + this.setContent(); - var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; + if (this.config.animation) { + $(tip).addClass(ClassName.FADE); + } - var attachment = this._getAttachment(placement); - this.addAttachmentClass(attachment); + var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement; - var container = this.config.container === false ? document.body : $(this.config.container); + var attachment = this._getAttachment(placement); + this.addAttachmentClass(attachment); - $(tip).data(this.constructor.DATA_KEY, this); + var container = this.config.container === false ? document.body : $(this.config.container); - if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { - $(tip).appendTo(container); - } + $(tip).data(this.constructor.DATA_KEY, this); - $(this.element).trigger(this.constructor.Event.INSERTED); + if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) { + $(tip).appendTo(container); + } - this._popper = new Popper(this.element, tip, { - placement: attachment, - modifiers: { - offset: { - offset: this.config.offset + $(this.element).trigger(this.constructor.Event.INSERTED); + + this._popper = new Popper(this.element, tip, { + placement: attachment, + modifiers: { + offset: { + offset: this.config.offset + }, + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: Selector.ARROW + } }, - flip: { - behavior: this.config.fallbackPlacement + onCreate: function onCreate(data) { + if (data.originalPlacement !== data.placement) { + _this._handlePopperPlacementChange(data); + } }, - arrow: { - element: Selector.ARROW - } - }, - onCreate: function onCreate(data) { - if (data.originalPlacement !== data.placement) { + onUpdate: function onUpdate(data) { _this._handlePopperPlacementChange(data); } - }, - onUpdate: function onUpdate(data) { - _this._handlePopperPlacementChange(data); + }); + + $(tip).addClass(ClassName.SHOW); + + // if this is a touch-enabled device we add extra + // empty mouseover listeners to the body's immediate children; + // only needed because of broken event delegation on iOS + // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html + if ('ontouchstart' in document.documentElement) { + $('body').children().on('mouseover', null, $.noop); } - }); - $(tip).addClass(ClassName.SHOW); + var complete = function complete() { + if (_this.config.animation) { + _this._fixTransition(); + } + var prevHoverState = _this._hoverState; + _this._hoverState = null; - // if this is a touch-enabled device we add extra - // empty mouseover listeners to the body's immediate children; - // only needed because of broken event delegation on iOS - // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html - if ('ontouchstart' in document.documentElement) { - $('body').children().on('mouseover', null, $.noop); + $(_this.element).trigger(_this.constructor.Event.SHOWN); + + if (prevHoverState === HoverState.OUT) { + _this._leave(null, _this); + } + }; + + if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { + $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION); + } else { + complete(); + } } + } + }, { + key: 'hide', + value: function hide(callback) { + var _this2 = this; + var tip = this.getTipElement(); + var hideEvent = $.Event(this.constructor.Event.HIDE); var complete = function complete() { - if (_this.config.animation) { - _this._fixTransition(); + if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { + tip.parentNode.removeChild(tip); } - var prevHoverState = _this._hoverState; - _this._hoverState = null; - $(_this.element).trigger(_this.constructor.Event.SHOWN); + _this2._cleanTipClass(); + _this2.element.removeAttribute('aria-describedby'); + $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); + if (_this2._popper !== null) { + _this2._popper.destroy(); + } - if (prevHoverState === HoverState.OUT) { - _this._leave(null, _this); + if (callback) { + callback(); } }; - if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { - $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION); - } else { - complete(); - } - } - }; - - Tooltip.prototype.hide = function hide(callback) { - var _this2 = this; + $(this.element).trigger(hideEvent); - var tip = this.getTipElement(); - var hideEvent = $.Event(this.constructor.Event.HIDE); - var complete = function complete() { - if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) { - tip.parentNode.removeChild(tip); + if (hideEvent.isDefaultPrevented()) { + return; } - _this2._cleanTipClass(); - _this2.element.removeAttribute('aria-describedby'); - $(_this2.element).trigger(_this2.constructor.Event.HIDDEN); - if (_this2._popper !== null) { - _this2._popper.destroy(); - } + $(tip).removeClass(ClassName.SHOW); - if (callback) { - callback(); + // if this is a touch-enabled device we remove the extra + // empty mouseover listeners we added for iOS support + if ('ontouchstart' in document.documentElement) { + $('body').children().off('mouseover', null, $.noop); } - }; - $(this.element).trigger(hideEvent); + this._activeTrigger[Trigger.CLICK] = false; + this._activeTrigger[Trigger.FOCUS] = false; + this._activeTrigger[Trigger.HOVER] = false; - if (hideEvent.isDefaultPrevented()) { - return; - } + if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { - $(tip).removeClass(ClassName.SHOW); + $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); + } else { + complete(); + } - // if this is a touch-enabled device we remove the extra - // empty mouseover listeners we added for iOS support - if ('ontouchstart' in document.documentElement) { - $('body').children().off('mouseover', null, $.noop); + this._hoverState = ''; } - - this._activeTrigger[Trigger.CLICK] = false; - this._activeTrigger[Trigger.FOCUS] = false; - this._activeTrigger[Trigger.HOVER] = false; - - if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) { - - $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION); - } else { - complete(); + }, { + key: 'update', + value: function update() { + if (this._popper !== null) { + this._popper.scheduleUpdate(); + } } - this._hoverState = ''; - }; + // protected - Tooltip.prototype.update = function update() { - if (this._popper !== null) { - this._popper.scheduleUpdate(); + }, { + key: 'isWithContent', + value: function isWithContent() { + return Boolean(this.getTitle()); } - }; - - // protected - - Tooltip.prototype.isWithContent = function isWithContent() { - return Boolean(this.getTitle()); - }; - - Tooltip.prototype.addAttachmentClass = function addAttachmentClass(attachment) { - $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment); - }; - - Tooltip.prototype.getTipElement = function getTipElement() { - return this.tip = this.tip || $(this.config.template)[0]; - }; - - Tooltip.prototype.setContent = function setContent() { - var $tip = $(this.getTipElement()); - this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); - $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW); - }; - - Tooltip.prototype.setElementContent = function setElementContent($element, content) { - var html = this.config.html; - if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) { - // content is a DOM node or a jQuery - if (html) { - if (!$(content).parent().is($element)) { - $element.empty().append(content); + }, { + key: 'addAttachmentClass', + value: function addAttachmentClass(attachment) { + $(this.getTipElement()).addClass(CLASS_PREFIX + '-' + attachment); + } + }, { + key: 'getTipElement', + value: function getTipElement() { + this.tip = this.tip || $(this.config.template)[0]; + return this.tip; + } + }, { + key: 'setContent', + value: function setContent() { + var $tip = $(this.getTipElement()); + this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle()); + $tip.removeClass(ClassName.FADE + ' ' + ClassName.SHOW); + } + }, { + key: 'setElementContent', + value: function setElementContent($element, content) { + var html = this.config.html; + if ((typeof content === 'undefined' ? 'undefined' : _typeof(content)) === 'object' && (content.nodeType || content.jquery)) { + // content is a DOM node or a jQuery + if (html) { + if (!$(content).parent().is($element)) { + $element.empty().append(content); + } + } else { + $element.text($(content).text()); } } else { - $element.text($(content).text()); + $element[html ? 'html' : 'text'](content); } - } else { - $element[html ? 'html' : 'text'](content); } - }; + }, { + key: 'getTitle', + value: function getTitle() { + var title = this.element.getAttribute('data-original-title'); - Tooltip.prototype.getTitle = function getTitle() { - var title = this.element.getAttribute('data-original-title'); + if (!title) { + title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + } - if (!title) { - title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title; + return title; } - return title; - }; - - // private - - Tooltip.prototype._getAttachment = function _getAttachment(placement) { - return AttachmentMap[placement.toUpperCase()]; - }; - - Tooltip.prototype._setListeners = function _setListeners() { - var _this3 = this; + // private - var triggers = this.config.trigger.split(' '); + }, { + key: '_getAttachment', + value: function _getAttachment(placement) { + return AttachmentMap[placement.toUpperCase()]; + } + }, { + key: '_setListeners', + value: function _setListeners() { + var _this3 = this; + + var triggers = this.config.trigger.split(' '); + + triggers.forEach(function (trigger) { + if (trigger === 'click') { + $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { + return _this3.toggle(event); + }); + } else if (trigger !== Trigger.MANUAL) { + var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; + var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; + + $(_this3.element).on(eventIn, _this3.config.selector, function (event) { + return _this3._enter(event); + }).on(eventOut, _this3.config.selector, function (event) { + return _this3._leave(event); + }); + } - triggers.forEach(function (trigger) { - if (trigger === 'click') { - $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) { - return _this3.toggle(event); - }); - } else if (trigger !== Trigger.MANUAL) { - var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN; - var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT; - - $(_this3.element).on(eventIn, _this3.config.selector, function (event) { - return _this3._enter(event); - }).on(eventOut, _this3.config.selector, function (event) { - return _this3._leave(event); + $(_this3.element).closest('.modal').on('hide.bs.modal', function () { + return _this3.hide(); }); - } - - $(_this3.element).closest('.modal').on('hide.bs.modal', function () { - return _this3.hide(); }); - }); - if (this.config.selector) { - this.config = $.extend({}, this.config, { - trigger: 'manual', - selector: '' - }); - } else { - this._fixTitle(); + if (this.config.selector) { + this.config = $.extend({}, this.config, { + trigger: 'manual', + selector: '' + }); + } else { + this._fixTitle(); + } } - }; - - Tooltip.prototype._fixTitle = function _fixTitle() { - var titleType = _typeof(this.element.getAttribute('data-original-title')); - if (this.element.getAttribute('title') || titleType !== 'string') { - this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); - this.element.setAttribute('title', ''); + }, { + key: '_fixTitle', + value: function _fixTitle() { + var titleType = _typeof(this.element.getAttribute('data-original-title')); + if (this.element.getAttribute('title') || titleType !== 'string') { + this.element.setAttribute('data-original-title', this.element.getAttribute('title') || ''); + this.element.setAttribute('title', ''); + } } - }; - - Tooltip.prototype._enter = function _enter(event, context) { - var dataKey = this.constructor.DATA_KEY; - - context = context || $(event.currentTarget).data(dataKey); + }, { + key: '_enter', + value: function _enter(event, context) { + var dataKey = this.constructor.DATA_KEY; - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $(event.currentTarget).data(dataKey, context); - } + context = context || $(event.currentTarget).data(dataKey); - if (event) { - context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; - } + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } - if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { - context._hoverState = HoverState.SHOW; - return; - } + if (event) { + context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true; + } - clearTimeout(context._timeout); + if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) { + context._hoverState = HoverState.SHOW; + return; + } - context._hoverState = HoverState.SHOW; + clearTimeout(context._timeout); - if (!context.config.delay || !context.config.delay.show) { - context.show(); - return; - } + context._hoverState = HoverState.SHOW; - context._timeout = setTimeout(function () { - if (context._hoverState === HoverState.SHOW) { + if (!context.config.delay || !context.config.delay.show) { context.show(); + return; } - }, context.config.delay.show); - }; - Tooltip.prototype._leave = function _leave(event, context) { - var dataKey = this.constructor.DATA_KEY; - - context = context || $(event.currentTarget).data(dataKey); - - if (!context) { - context = new this.constructor(event.currentTarget, this._getDelegateConfig()); - $(event.currentTarget).data(dataKey, context); - } - - if (event) { - context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; - } - - if (context._isWithActiveTrigger()) { - return; + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.SHOW) { + context.show(); + } + }, context.config.delay.show); } + }, { + key: '_leave', + value: function _leave(event, context) { + var dataKey = this.constructor.DATA_KEY; - clearTimeout(context._timeout); - - context._hoverState = HoverState.OUT; + context = context || $(event.currentTarget).data(dataKey); - if (!context.config.delay || !context.config.delay.hide) { - context.hide(); - return; - } + if (!context) { + context = new this.constructor(event.currentTarget, this._getDelegateConfig()); + $(event.currentTarget).data(dataKey, context); + } - context._timeout = setTimeout(function () { - if (context._hoverState === HoverState.OUT) { - context.hide(); + if (event) { + context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false; } - }, context.config.delay.hide); - }; - Tooltip.prototype._isWithActiveTrigger = function _isWithActiveTrigger() { - for (var trigger in this._activeTrigger) { - if (this._activeTrigger[trigger]) { - return true; + if (context._isWithActiveTrigger()) { + return; } - } - return false; - }; + clearTimeout(context._timeout); - Tooltip.prototype._getConfig = function _getConfig(config) { - config = $.extend({}, this.constructor.Default, $(this.element).data(), config); + context._hoverState = HoverState.OUT; - if (config.delay && typeof config.delay === 'number') { - config.delay = { - show: config.delay, - hide: config.delay - }; - } + if (!context.config.delay || !context.config.delay.hide) { + context.hide(); + return; + } - if (config.title && typeof config.title === 'number') { - config.title = config.title.toString(); + context._timeout = setTimeout(function () { + if (context._hoverState === HoverState.OUT) { + context.hide(); + } + }, context.config.delay.hide); } + }, { + key: '_isWithActiveTrigger', + value: function _isWithActiveTrigger() { + for (var trigger in this._activeTrigger) { + if (this._activeTrigger[trigger]) { + return true; + } + } - if (config.content && typeof config.content === 'number') { - config.content = config.content.toString(); + return false; } + }, { + key: '_getConfig', + value: function _getConfig(config) { + config = $.extend({}, this.constructor.Default, $(this.element).data(), config); + + if (config.delay && typeof config.delay === 'number') { + config.delay = { + show: config.delay, + hide: config.delay + }; + } - Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); + if (config.title && typeof config.title === 'number') { + config.title = config.title.toString(); + } - return config; - }; + if (config.content && typeof config.content === 'number') { + config.content = config.content.toString(); + } - Tooltip.prototype._getDelegateConfig = function _getDelegateConfig() { - var config = {}; + Util.typeCheckConfig(NAME, config, this.constructor.DefaultType); - if (this.config) { - for (var key in this.config) { - if (this.constructor.Default[key] !== this.config[key]) { - config[key] = this.config[key]; + return config; + } + }, { + key: '_getDelegateConfig', + value: function _getDelegateConfig() { + var config = {}; + + if (this.config) { + for (var key in this.config) { + if (this.constructor.Default[key] !== this.config[key]) { + config[key] = this.config[key]; + } } } - } - return config; - }; - - Tooltip.prototype._cleanTipClass = function _cleanTipClass() { - var $tip = $(this.getTipElement()); - var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); - if (tabClass !== null && tabClass.length > 0) { - $tip.removeClass(tabClass.join('')); + return config; } - }; - - Tooltip.prototype._handlePopperPlacementChange = function _handlePopperPlacementChange(data) { - this._cleanTipClass(); - this.addAttachmentClass(this._getAttachment(data.placement)); - }; - - Tooltip.prototype._fixTransition = function _fixTransition() { - var tip = this.getTipElement(); - var initConfigAnimation = this.config.animation; - if (tip.getAttribute('x-placement') !== null) { - return; + }, { + key: '_cleanTipClass', + value: function _cleanTipClass() { + var $tip = $(this.getTipElement()); + var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX); + if (tabClass !== null && tabClass.length > 0) { + $tip.removeClass(tabClass.join('')); + } } - $(tip).removeClass(ClassName.FADE); - this.config.animation = false; - this.hide(); - this.show(); - this.config.animation = initConfigAnimation; - }; - - // static - - Tooltip._jQueryInterface = function _jQueryInterface(config) { - return this.each(function () { - var data = $(this).data(DATA_KEY); - var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config; - - if (!data && /dispose|hide/.test(config)) { + }, { + key: '_handlePopperPlacementChange', + value: function _handlePopperPlacementChange(data) { + this._cleanTipClass(); + this.addAttachmentClass(this._getAttachment(data.placement)); + } + }, { + key: '_fixTransition', + value: function _fixTransition() { + var tip = this.getTipElement(); + var initConfigAnimation = this.config.animation; + if (tip.getAttribute('x-placement') !== null) { return; } + $(tip).removeClass(ClassName.FADE); + this.config.animation = false; + this.hide(); + this.show(); + this.config.animation = initConfigAnimation; + } - if (!data) { - data = new Tooltip(this, _config); - $(this).data(DATA_KEY, data); - } + // static + + }], [{ + key: '_jQueryInterface', + value: function _jQueryInterface(config) { + return this.each(function () { + var data = $(this).data(DATA_KEY); + var _config = (typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object' && config; - if (typeof config === 'string') { - if (data[config] === undefined) { - throw new Error('No method named "' + config + '"'); + if (!data && /dispose|hide/.test(config)) { + return; + } + + if (!data) { + data = new Tooltip(this, _config); + $(this).data(DATA_KEY, data); } - data[config](); - } - }); - }; - _createClass(Tooltip, null, [{ + if (typeof config === 'string') { + if (typeof data[config] === 'undefined') { + throw new Error('No method named "' + config + '"'); + } + data[config](); + } + }); + } + }, { key: 'VERSION', get: function get() { return VERSION; @@ -675,5 +713,5 @@ var Tooltip = function ($) { }; return Tooltip; -}(jQuery); /* global Popper */ +}(jQuery, Popper); //# sourceMappingURL=tooltip.js.map
\ No newline at end of file |