{"version":3,"file":"kendo.mobile.popover.min.js","names":["factory","define","amd","$","kendo","ui","HIDE","OPEN","CLOSE","Widget","DIRECTIONS","ANIMATION","DIMENSIONS","REVERSE","Popup","PopOver","window","jQuery","mobile","down","origin","position","up","left","collision","right","animation","open","effects","duration","close","horizontal","offset","size","vertical","extend","init","element","options","popupOptions","axis","that","this","containerPopup","closest","viewport","children","first","container","document","body","copyAnchorStyles","autosize","overlay","show","activate","_activate","bind","deactivate","hide","_apiCall","trigger","fn","call","wrap","addClass","direction","match","dimensions","wrapper","parent","css","width","height","arrow","prependTo","appendTo","className","popup","name","events","target","anchor","destroy","remove","anchorOffset","elementOffset","cssClass","flipped","min","max","offsetAmount","removeClass","initialOpen","on","e","preventDefault","pane","Pane","$angular","notify","view","_invokeNgController","navigateToInitial","navigate","_position","openFor","plugin"],"sources":["kendo.mobile.popover.js"],"mappings":"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","sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(['kendo.popup', 'kendo.mobile.pane'], factory) :\n factory();\n})((function () {\n var __meta__ = {\n id: \"mobile.popover\",\n name: \"PopOver\",\n category: \"mobile\",\n description: \"The mobile PopOver widget represents a transient view which is displayed when the user taps on a navigational widget or area on the screen. \",\n depends: [ \"popup\", \"mobile.pane\" ]\n };\n\n (function($, undefined$1) {\n var kendo = window.kendo,\n mobile = kendo.mobile,\n ui = mobile.ui,\n HIDE = \"hide\",\n OPEN = \"open\",\n CLOSE = \"close\",\n WRAPPER = '
',\n ARROW = '
',\n OVERLAY = '
',\n DIRECTION_CLASSES = \"km-up km-down km-left km-right\",\n Widget = ui.Widget,\n DIRECTIONS = {\n \"down\": {\n origin: \"bottom center\",\n position: \"top center\"\n },\n \"up\": {\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 },\n\n ANIMATION = {\n animation: {\n open: {\n effects: \"fade:in\",\n duration: 0\n },\n close: {\n effects: \"fade:out\",\n duration: 400\n }\n }\n },\n DIMENSIONS = {\n \"horizontal\": { offset: \"top\", size: \"height\" },\n \"vertical\": { offset: \"left\", size: \"width\" }\n },\n\n REVERSE = {\n \"up\": \"down\",\n \"down\": \"up\",\n \"left\": \"right\",\n \"right\": \"left\"\n };\n\n var Popup = Widget.extend({\n init: function(element, options) {\n var that = this,\n containerPopup = element.closest(\".km-modalview-wrapper\"),\n viewport = element.closest(\".km-root\").children('.km-pane').first(),\n container = containerPopup[0] ? containerPopup : viewport,\n popupOptions,\n axis;\n\n if (options.viewport) {\n viewport = options.viewport;\n } else if (!viewport[0]) {\n viewport = window;\n }\n\n if (options.container) {\n container = options.container;\n } else if (!container[0]) {\n container = document.body;\n }\n\n popupOptions = {\n viewport: viewport,\n copyAnchorStyles: false,\n autosize: true,\n open: function() {\n that.overlay.show();\n },\n\n activate: that._activate.bind(that),\n\n deactivate: function() {\n that.overlay.hide();\n if (!that._apiCall) {\n that.trigger(HIDE);\n }\n\n that._apiCall = false;\n }\n };\n\n Widget.fn.init.call(that, element, options);\n\n element = that.element;\n options = that.options;\n\n element.wrap(WRAPPER).addClass(\"km-popup\").show();\n\n axis = that.options.direction.match(/left|right/) ? \"horizontal\" : \"vertical\";\n\n that.dimensions = DIMENSIONS[axis];\n\n that.wrapper = element.parent().css({\n width: options.width,\n height: options.height\n }).addClass(\"km-popup-wrapper km-\" + options.direction).hide();\n\n that.arrow = $(ARROW).prependTo(that.wrapper).hide();\n\n that.overlay = $(OVERLAY).appendTo(container).hide();\n popupOptions.appendTo = that.overlay;\n\n if (options.className) {\n that.overlay.addClass(options.className);\n }\n\n that.popup = new kendo.ui.Popup(that.wrapper, $.extend(true, popupOptions, ANIMATION, DIRECTIONS[options.direction]));\n },\n\n options: {\n name: \"Popup\",\n width: 240,\n height: \"\",\n direction: \"down\",\n container: null,\n viewport: null\n },\n\n events: [\n HIDE\n ],\n\n show: function(target) {\n this.popup.options.anchor = $(target);\n this.popup.open();\n },\n\n hide: function() {\n this._apiCall = true;\n this.popup.close();\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this.popup.destroy();\n this.overlay.remove();\n },\n\n target: function() {\n return this.popup.options.anchor;\n },\n\n _activate: function() {\n var that = this,\n direction = that.options.direction,\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 = popup.flipped ? REVERSE[direction] : direction,\n min = that.arrow[dimensions.size]() * 2,\n max = that.element[dimensions.size]() - that.arrow[dimensions.size](),\n size = $(anchor)[dimensions.size](),\n offsetAmount = anchorOffset[offset] - elementOffset[offset] + (size / 2);\n\n if (offsetAmount < min) {\n offsetAmount = min;\n }\n\n if (offsetAmount > max) {\n offsetAmount = max;\n }\n\n that.wrapper.removeClass(DIRECTION_CLASSES).addClass(\"km-\" + cssClass);\n that.arrow.css(offset, offsetAmount).show();\n }\n });\n\n var PopOver = Widget.extend({\n init: function(element, options) {\n var that = this,\n popupOptions;\n\n that.initialOpen = false;\n\n Widget.fn.init.call(that, element, options);\n\n popupOptions = $.extend({\n className: \"km-popover-root\",\n hide: function() { that.trigger(CLOSE); }\n }, this.options.popup);\n\n that.popup = new Popup(that.element, popupOptions);\n that.popup.overlay.on(\"move\", function(e) {\n if (e.target == that.popup.overlay[0]) {\n e.preventDefault();\n }\n });\n\n that.pane = new ui.Pane(that.element, $.extend(this.options.pane, { $angular: this.options.$angular }));\n\n kendo.notify(that, ui);\n },\n\n options: {\n name: \"PopOver\",\n popup: { },\n pane: { }\n },\n\n events: [\n OPEN,\n CLOSE\n ],\n\n open: function(target) {\n this.popup.show(target);\n\n if (!this.initialOpen) {\n if (!this.pane.navigateToInitial()) {\n this.pane.navigate(\"\");\n }\n\n this.popup.popup._position();\n this.initialOpen = true;\n } else {\n this.pane.view()._invokeNgController();\n }\n },\n\n openFor: function(target) {\n this.open(target);\n this.trigger(OPEN, { target: this.popup.target() });\n },\n\n close: function() {\n this.popup.hide();\n },\n\n destroy: function() {\n Widget.fn.destroy.call(this);\n this.pane.destroy();\n this.popup.destroy();\n\n kendo.destroy(this.element);\n }\n });\n\n ui.plugin(Popup);\n ui.plugin(PopOver);\n })(window.kendo.jQuery);\n\n}));\n"]}