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