{"version":3,"sources":["kendo.tooltip.js"],"names":["f","define","$","undefined","restoreTitle","element","length","restoreTitleAttributeForElement","parent","title","data","kendo","ns","attr","removeData","saveTitleAttributeForElement","saveTitleAttributes","is","Tooltip","window","Widget","ui","Popup","isFunction","isPlainObject","extend","proxy","DOCUMENT","document","isLocalUrl","ARIAIDSUFFIX","DESCRIBEDBY","SHOW","HIDE","ERROR","CONTENTLOAD","REQUESTSTART","KCONTENTFRAME","TEMPLATE","IFRAMETEMPLATE","template","NS","POSITIONS","bottom","origin","position","top","left","collision","right","center","REVERSE","DIRCLASSES","DIMENSIONS","horizontal","offset","size","vertical","DEFAULTCONTENT","e","target","TooltipBase","init","options","axis","that","this","fn","call","match","dimensions","support","touch","_isShownOnMouseEnter","on","mousedown","filter","_showOn","showOn","name","showAfter","hideAfter","callout","animation","open","effects","duration","close","hide","destroy","popup","off","clearTimeout","timeout","show","_saveTitle","_show","anchor","currentTarget","_isShownOnClick","_isShownOnFocus","setTimeout","_positionCallout","anchorOffset","elementOffset","cssClass","flipped","offsetAmount","_offset","arrow","removeClass","addClass","css","arrowWidth","isTopLeft","isFlipped","direction","marginRule","_outerWidth","wrapper","_addDescribedBy","ariaId","id","guid","describedBy","push","join","_removeDescribedBy","arrayAttr","finalArray","finalDescribedbyAttr","tooltipId","currentDescribedBy","split","val","removeAttr","_openPopup","_hovered","plugin","_documentKeyDownHandler","_documentKeyDown","_mouseenter","autoHide","_mouseleave","_blur","content","width","height","events","_appendContent","iframe","contentOptions","showIframe","url","trigger","find","src","html","empty","progress","_ajaxRequest","sender","angular","elements","contentLoading","jQuery","ajax","type","dataType","cache","error","xhr","status","success","keyCode","keys","ESC","refresh","current","_initPopup","kendoStop","one","dir","autosize","activate","copyAnchorStyles","_closeButtonClick","preventDefault","_closePopup","amd","a1","a2","a3"],"mappings":"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","file":"kendo.tooltip.min.js","sourcesContent":["/*!\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n*/\n(function (f, define) {\n define('kendo.tooltip', [\n 'kendo.core',\n 'kendo.popup',\n 'kendo.fx'\n ], f);\n}(function () {\n var __meta__ = {\n id: 'tooltip',\n name: 'Tooltip',\n category: 'web',\n description: 'The Tooltip widget displays a popup hint for a given html element.',\n depends: [\n 'core',\n 'popup'\n ],\n features: [{\n id: 'tooltip-fx',\n name: 'Animation',\n description: 'Support for animation',\n depends: ['fx']\n }]\n };\n (function ($, undefined) {\n var kendo = window.kendo, Widget = kendo.ui.Widget, Popup = kendo.ui.Popup, isFunction = kendo.isFunction, isPlainObject = $.isPlainObject, extend = $.extend, proxy = $.proxy, DOCUMENT = $(document), isLocalUrl = kendo.isLocalUrl, ARIAIDSUFFIX = '_tb_active', DESCRIBEDBY = 'aria-describedby', SHOW = 'show', HIDE = 'hide', ERROR = 'error', CONTENTLOAD = 'contentLoad', REQUESTSTART = 'requestStart', KCONTENTFRAME = 'k-content-frame', TEMPLATE = '
' + '
' + '#if (!autoHide) {#
#}#' + '#if (callout){ #
#}#' + '
', IFRAMETEMPLATE = kendo.template(''), NS = '.kendoTooltip', POSITIONS = {\n bottom: {\n origin: 'bottom center',\n position: 'top center'\n },\n top: {\n origin: 'top center',\n position: 'bottom center'\n },\n left: {\n origin: 'center left',\n position: 'center right',\n collision: 'fit flip'\n },\n right: {\n origin: 'center right',\n position: 'center left',\n collision: 'fit flip'\n },\n center: {\n position: 'center center',\n origin: 'center center'\n }\n }, REVERSE = {\n 'top': 'bottom',\n 'bottom': 'top',\n 'left': 'right',\n 'right': 'left',\n 'center': 'center'\n }, DIRCLASSES = {\n bottom: 'n',\n top: 's',\n left: 'e',\n right: 'w',\n center: 'n'\n }, DIMENSIONS = {\n 'horizontal': {\n offset: 'top',\n size: 'outerHeight'\n },\n 'vertical': {\n offset: 'left',\n size: 'outerWidth'\n }\n }, DEFAULTCONTENT = function (e) {\n return e.target.data(kendo.ns + 'title');\n };\n function restoreTitle(element) {\n while (element.length) {\n if (restoreTitleAttributeForElement(element)) {\n break;\n }\n element = element.parent();\n }\n }\n function restoreTitleAttributeForElement(element) {\n var title = element.data(kendo.ns + 'title');\n if (title) {\n element.attr('title', title);\n element.removeData(kendo.ns + 'title');\n return true;\n }\n }\n function saveTitleAttributeForElement(element) {\n var title = element.attr('title');\n if (title) {\n element.data(kendo.ns + 'title', title);\n element.attr('title', '');\n return true;\n }\n }\n function saveTitleAttributes(element) {\n while (element.length && !element.is('body')) {\n if (saveTitleAttributeForElement(element)) {\n break;\n }\n element = element.parent();\n }\n }\n var TooltipBase = Widget.extend({\n init: function (element, options) {\n var that = this, axis;\n Widget.fn.init.call(that, element, options);\n axis = that.options.position.match(/left|right/) ? 'horizontal' : 'vertical';\n that.dimensions = DIMENSIONS[axis];\n if (kendo.support.touch && this._isShownOnMouseEnter()) {\n that.element.on(kendo.support.mousedown + NS, that.options.filter, proxy(that._showOn, that));\n }\n that.element.on(that.options.showOn + NS, that.options.filter, proxy(that._showOn, that));\n },\n options: {\n name: 'TooltipBase',\n filter: '',\n offset: 0,\n showAfter: 100,\n hideAfter: 100,\n callout: true,\n position: 'bottom',\n showOn: 'mouseenter',\n animation: {\n open: {\n effects: 'fade:in',\n duration: 0\n },\n close: {\n duration: 40,\n hide: true\n }\n }\n },\n destroy: function () {\n var popup = this.popup;\n if (popup) {\n popup.element.off(NS);\n popup.destroy();\n }\n clearTimeout(this.timeout);\n Widget.fn.destroy.call(this);\n },\n hide: function () {\n if (this.popup) {\n this.popup.close();\n }\n },\n show: function (target) {\n target = target || this.element;\n this._saveTitle(target);\n this._show(target);\n },\n target: function () {\n if (this.popup) {\n return this.popup.options.anchor;\n }\n return null;\n },\n _showOn: function (e) {\n var that = this;\n var currentTarget = $(e.currentTarget);\n if (that._isShownOnClick() && !that._isShownOnMouseEnter()) {\n that._show(currentTarget);\n } else if (that._isShownOnFocus()) {\n that._saveTitle(currentTarget);\n that._show(currentTarget);\n } else {\n clearTimeout(that.timeout);\n that.timeout = setTimeout(function () {\n that._show(currentTarget);\n }, that.options.showAfter);\n }\n },\n _isShownOnFocus: function () {\n return this.options.showOn && this.options.showOn.match(/focus/);\n },\n _isShownOnMouseEnter: function () {\n return this.options.showOn && this.options.showOn.match(/mouseenter/);\n },\n _isShownOnClick: function () {\n return this.options.showOn && this.options.showOn.match(/click/);\n },\n _positionCallout: function () {\n var that = this, position = that.options.position, dimensions = that.dimensions, offset = dimensions.offset, popup = that.popup, anchor = popup.options.anchor, anchorOffset = $(anchor).offset(), elementOffset = $(popup.element).offset(), cssClass = DIRCLASSES[popup.flipped ? REVERSE[position] : position], offsetAmount = anchorOffset[offset] - elementOffset[offset] + $(anchor)[dimensions.size]() / 2;\n that._offset(position, that.options.offset);\n that.arrow.removeClass('k-callout-n k-callout-s k-callout-w k-callout-e').addClass('k-callout-' + cssClass).css(offset, offsetAmount);\n },\n _offset: function (position, offsetAmount, arrowWidth) {\n var that = this, isTopLeft = position == 'top' || position == 'left', isFlipped = that.popup.flipped, direction = isTopLeft && isFlipped || !isTopLeft && !isFlipped ? 1 : -1, marginRule = isTopLeft ? 'margin-' + position : 'margin-' + REVERSE[position], offset = (arrowWidth || kendo._outerWidth(that.arrow)) / 2 + offsetAmount;\n that.popup.wrapper.css(marginRule, offset * direction + 'px');\n },\n _addDescribedBy: function () {\n var that = this, anchor = that.popup.options.anchor, ariaId = anchor[0].id || that.element[0].id || kendo.guid(), describedBy = [];\n if (anchor.attr(DESCRIBEDBY)) {\n describedBy.push(anchor.attr(DESCRIBEDBY));\n }\n if (ariaId) {\n describedBy.push(ariaId + ARIAIDSUFFIX);\n anchor.attr(DESCRIBEDBY, describedBy.join(' '));\n that.popup.element.attr('id', ariaId + ARIAIDSUFFIX);\n }\n },\n _removeDescribedBy: function (target) {\n var tooltipId = this.popup.element.attr('id'), currentDescribedBy = target.attr(DESCRIBEDBY), arrayAttr, finalArray, finalDescribedbyAttr;\n if (!currentDescribedBy) {\n return;\n }\n arrayAttr = currentDescribedBy.split(' ');\n if (arrayAttr && arrayAttr.length > 0) {\n finalArray = arrayAttr.filter(function (val) {\n return val !== tooltipId;\n });\n }\n if (finalArray && finalArray.length > 0) {\n finalDescribedbyAttr = finalArray.join(' ');\n target.attr(DESCRIBEDBY, finalDescribedbyAttr);\n } else {\n target.removeAttr(DESCRIBEDBY);\n }\n },\n _openPopup: function () {\n if (!this.popup) {\n return;\n }\n this.popup._hovered = true;\n this.popup.open();\n }\n });\n kendo.ui.plugin(TooltipBase);\n var Tooltip = TooltipBase.extend({\n init: function (element, options) {\n var that = this, axis;\n TooltipBase.fn.init.call(that, element, options);\n axis = that.options.position.match(/left|right/) ? 'horizontal' : 'vertical';\n that.dimensions = DIMENSIONS[axis];\n that._documentKeyDownHandler = proxy(that._documentKeyDown, that);\n if (this._isShownOnMouseEnter() || this._isShownOnClick()) {\n that.element.on('mouseenter' + NS, that.options.filter, proxy(that._mouseenter, that));\n }\n if (this.options.autoHide && this._isShownOnMouseEnter()) {\n that.element.on('mouseleave' + NS, that.options.filter, proxy(that._mouseleave, that));\n }\n if (this.options.autoHide && this._isShownOnFocus()) {\n that.element.on('blur' + NS, that.options.filter, proxy(that._blur, that));\n }\n if (kendo.support.touch) {\n that.element.on(kendo.support.mousedown + NS, that.options.filter, proxy(that._mouseenter, that));\n }\n },\n options: {\n name: 'Tooltip',\n filter: '',\n content: DEFAULTCONTENT,\n showAfter: 100,\n callout: true,\n offset: 0,\n position: 'bottom',\n showOn: 'mouseenter',\n autoHide: true,\n width: null,\n height: null,\n animation: {\n open: {\n effects: 'fade:in',\n duration: 0\n },\n close: {\n duration: 40,\n hide: true\n }\n }\n },\n events: [\n SHOW,\n HIDE,\n CONTENTLOAD,\n ERROR,\n REQUESTSTART\n ],\n _mouseenter: function (e) {\n saveTitleAttributes($(e.currentTarget));\n },\n _saveTitle: function (target) {\n saveTitleAttributes(target);\n },\n _appendContent: function (target) {\n var that = this, contentOptions = that.options.content, element = that.content, showIframe = that.options.iframe, iframe;\n if (isPlainObject(contentOptions) && contentOptions.url) {\n if (!('iframe' in that.options)) {\n showIframe = !isLocalUrl(contentOptions.url);\n }\n that.trigger(REQUESTSTART, {\n options: contentOptions,\n target: target\n });\n if (!showIframe) {\n element.empty();\n kendo.ui.progress(element, true);\n that._ajaxRequest(contentOptions);\n } else {\n element.hide();\n iframe = element.find('.' + KCONTENTFRAME)[0];\n if (iframe) {\n iframe.src = contentOptions.url || iframe.src;\n } else {\n element.html(IFRAMETEMPLATE({ content: contentOptions }));\n }\n element.find('.' + KCONTENTFRAME).off('load' + NS).on('load' + NS, function () {\n that.trigger(CONTENTLOAD);\n element.show();\n });\n }\n } else if (contentOptions && isFunction(contentOptions)) {\n contentOptions = contentOptions({\n sender: this,\n target: target\n });\n element.html(contentOptions || '');\n } else {\n element.html(contentOptions);\n }\n that.angular('compile', function () {\n return { elements: element };\n });\n },\n _ajaxRequest: function (options) {\n var that = this;\n that.contentLoading = true;\n jQuery.ajax(extend({\n type: 'GET',\n dataType: 'html',\n cache: false,\n error: function (xhr, status) {\n kendo.ui.progress(that.content, false);\n that.trigger(ERROR, {\n status: status,\n xhr: xhr\n });\n },\n success: proxy(function (data) {\n kendo.ui.progress(that.content, false);\n that.content.html(data);\n that.contentLoading = false;\n that.trigger(CONTENTLOAD);\n that._openPopup();\n }, that)\n }, options));\n },\n _documentKeyDown: function (e) {\n if (e.keyCode === kendo.keys.ESC) {\n this.hide();\n }\n },\n refresh: function () {\n var that = this, popup = that.popup;\n if (popup && popup.options.anchor) {\n that._appendContent(popup.options.anchor);\n }\n },\n _show: function (target) {\n var that = this, current = that.target();\n if (!that.popup) {\n that._initPopup();\n }\n if (current && current[0] != target[0]) {\n that.popup.close();\n that.popup.element.kendoStop(true, true);\n }\n if (!current || current[0] != target[0]) {\n that._appendContent(target);\n that.popup.options.anchor = target;\n }\n that.popup.one('deactivate', function () {\n restoreTitle(target);\n that._removeDescribedBy(target);\n this.element.removeAttr('id').attr('aria-hidden', true);\n DOCUMENT.off('keydown' + NS, that._documentKeyDownHandler);\n });\n if (!that.contentLoading) {\n that._openPopup();\n }\n },\n _initPopup: function () {\n var that = this, options = that.options, wrapper = $(kendo.template(TEMPLATE)({\n callout: options.callout && options.position !== 'center',\n dir: DIRCLASSES[options.position],\n autoHide: options.autoHide\n }));\n that.popup = new Popup(wrapper, extend({\n autosize: true,\n activate: function () {\n that._addDescribedBy();\n if (options.callout) {\n that._positionCallout();\n } else {\n that._offset(that.options.position, that.options.offset);\n }\n this.element.removeAttr('aria-hidden');\n DOCUMENT.on('keydown' + NS, that._documentKeyDownHandler);\n that.trigger(SHOW);\n that.popup._hovered = undefined;\n },\n close: function () {\n that.trigger(HIDE);\n },\n copyAnchorStyles: false,\n animation: options.animation\n }, POSITIONS[options.position]));\n wrapper.css({\n width: options.width,\n height: options.height\n });\n that.content = wrapper.find('.k-tooltip-content');\n that.arrow = wrapper.find('.k-callout');\n if (options.autoHide && this._isShownOnMouseEnter()) {\n wrapper.on('mouseleave' + NS, proxy(that._mouseleave, that));\n } else {\n wrapper.on('click' + NS, '.k-tooltip-button', proxy(that._closeButtonClick, that));\n }\n },\n _closeButtonClick: function (e) {\n e.preventDefault();\n this.hide();\n },\n _mouseleave: function (e) {\n var that = this;\n clearTimeout(that.timeout);\n that.timeout = setTimeout(function () {\n that._closePopup(e.currentTarget);\n }, that.options.hideAfter);\n },\n _blur: function (e) {\n this._closePopup(e.currentTarget);\n },\n _closePopup: function (target) {\n if (this.popup && !this.popup._hovered) {\n this.popup.close();\n } else {\n restoreTitle($(target));\n }\n },\n destroy: function () {\n this.element.off(NS);\n DOCUMENT.off('keydown' + NS, this._documentKeyDownHandler);\n TooltipBase.fn.destroy.call(this);\n }\n });\n kendo.ui.plugin(Tooltip);\n }(window.kendo.jQuery));\n return window.kendo;\n}, typeof define == 'function' && define.amd ? define : function (a1, a2, a3) {\n (a3 || a2)();\n}));"]}