@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 6.24 kB
JavaScript
module.exports=function(t){function o(n){if(e[n])return e[n].exports;var i=e[n]={exports:{},id:n,loaded:!1};return t[n].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}var e={};return o.m=t,o.c=e,o.p="",o(0)}({0:function(t,o,e){t.exports=e(1383)},3:function(t,o){t.exports=function(){throw Error("define cannot be used indirect")}},1123:function(t,o){t.exports=require("./kendo.tooltip")},1383:function(t,o,e){var n,i,s;!function(r,define){i=[e(1123)],n=r,s="function"==typeof n?n.apply(o,i):n,!(void 0!==s&&(t.exports=s))}(function(){return function(t,o){var e=window.kendo,n=e.ui.Popup,i=e.ui.TooltipBase,s=t.extend,r=t.proxy,a=t(document),p=".kendoPopover",c=28,l='<button #=index# class="k-button k-flat k-primary">#=text#</button>',u='<button #=index# class="k-button k-button-icontext"><span class="#=iconClass#"></span>#=text#</button>',d='<button #=index# class="k-button k-button-icon"><span class="#=iconClass#"></span></button>',f='#if (header) {# <div class="k-popover-header">#=header#</div> #}#<div class="k-popover-body">#=body#</div>#if (actions){ #<div class="k-popover-actions k-actions k-hstack k-justify-content-#=positioning#">#=actions#</div>#}#',h='<div role="tooltip" class="k-popover k-widget">#if (callout){ #<div class="k-popover-callout k-callout-#=dir#"></div>#}#</div>',m="show",v="hide",k={top:"bottom",bottom:"top",left:"right",right:"left",center:"center"},w={bottom:{origin:"bottom center",position:"top center"},top:{origin:"top center",position:"bottom center"},left:{origin:"center left",position:"center right",collision:"fit flip"},right:{origin:"center right",position:"center left",collision:"fit flip"},center:{position:"center center",origin:"center center"}},g={bottom:"n",top:"s",left:"e",right:"w",center:"n"},_={mouseenter:"mouseleave",focus:"blur",focusin:"focusout"},b={horizontal:{offset:"top",size:"outerHeight"},vertical:{offset:"left",size:"outerWidth"}},y=i.extend({init:function(o,n){var s,a=this;i.fn.init.call(a,o,n),s=a.options.position.match(/left|right/)?"horizontal":"vertical",a.dimensions=b[s],a._saveTitle=t.noop,a._documentKeyDownHandler=r(a._documentKeyDown,a),a._actionsHandler=r(a._actionsClick,a),a.options.toggleOnClick&&a._isShownOnClick()&&a.element.on((e.support.touch?e.support.mousedown:a.options.showOn)+p,a.options.filter,r(a._showAction,a)),a._isShownOnClick()||a.element.on(_[a.options.showOn],a.options.filter,r(a._dismissAction,a))},options:{name:"Popover",filter:"",actions:[],actionsLayout:"center",position:"bottom",showOn:"mouseenter",toggleOnClick:!1,width:null,height:null,animation:{open:{effects:"fade:in",duration:0},close:{duration:40,hide:!0}}},events:[m,v],_addAria:function(){var t,o=this,n=o.options;o._isShownOnClick()&&o.wrapper.find("a,input,select,textarea,button").length?(o.wrapper.attr("role","dialog"),o._isDialog=!0,n.header&&(t=e.guid(),o.wrapper.attr("aria-labelledby",t).find(".k-popover-header").attr("id",t)),n.body&&(t=e.guid(),o.wrapper.attr("aria-describedby",t).find(".k-popover-body").attr("id",t))):o.wrapper.attr("role","tooltip")},_appendContent:function(t){var o=this,n=o.options,i=o.options.template;o.wrapper.children(":not(.k-popover-callout)").remove(),o.wrapper.append(i?e.template(i)({target:t}):e.template(f)({header:e.template(n.header||"")({target:t}),body:e.template(n.body||"")({target:t}),actions:o._buildActions(n.actions),positioning:n.actionsLayout}))},_actionsClick:function(o){var n=this,i=n.options.actions,s=t(o.currentTarget),r=i[parseInt(s.attr(e.attr("index")),10)];r.click&&r.click.call(n,{sender:n,target:s})},_attachActions:function(){var t=this;t.wrapper.on("click"+p,".k-popover-actions .k-button",t._actionsHandler)},_dettachActions:function(){var t=this;t.wrapper&&t.wrapper.off("click"+p,t._actionsHandler)},_buildActions:function(t){var o,n,i;if(t.length){for(o="",i=0;i<t.length;i++)n=t[i],o+=n.text&&n.iconClass?e.template(u)({text:n.text,index:e.attr("index")+"="+i,iconClass:n.iconClass}):n.iconClass&&!n.text?e.template(d)({index:e.attr("index")+"="+i,iconClass:n.iconClass}):e.template(l)({text:n.text,index:e.attr("index")+"="+i});return o}},_documentKeyDown:function(t){var o,n,i;t.keyCode===e.keys.ESC&&(this._shown=!1,this._dismissAction()),t.keyCode===e.keys.TAB&&(o=this.wrapper.find(":kendoFocusable"),n=o.first(),i=o.last(),t.shiftKey?document.activeElement===n[0]&&(i.trigger("focus"),t.preventDefault()):document.activeElement===i[0]&&(n.trigger("focus"),t.preventDefault()))},_initPopup:function(){var i=this,l=i.options,u=t(e.template(h)({callout:l.callout&&"center"!==l.position,dir:g[l.position]}));i.wrapper=u,i.popup=new n(u,s({activate:function(){i._offset(i.options.position,i.options.offset,c),i._positionCallout(),i._attachActions(),a.on("keydown"+p,i._documentKeyDownHandler),i._isDialog?i.wrapper.find(":kendoFocusable").first().trigger("focus"):i._addDescribedBy(),i.trigger(m),i.popup._hovered=o},close:function(t){return i.options.toggleOnClick&&i._shown?(t.preventDefault(),o):(i.trigger(v),o)},copyAnchorStyles:!1,animation:l.animation},w[l.position])),u.css({width:l.width,height:l.height}),i._isShownOnMouseEnter()&&u.on("mouseleave"+p,r(i._dismissAction,i)),i.arrow=u.find(".k-popover-callout")},_dismissAction:function(){var t=this;clearTimeout(t.timeout),t.timeout=setTimeout(function(){t.popup&&!t.popup._hovered&&t.popup.close()},t.options.hideAfter)},_showAction:function(){var t=this;t._shown=!t._shown,t._shown||t.popup.close()},_show:function(t){var o=this,e=o.target();o.popup||o._initPopup(),e&&e[0]!=t[0]&&(o.popup.close(),o.popup.element.kendoStop(!0,!0)),e&&e[0]==t[0]||(o._appendContent(t),o._addAria(),o.popup.options.anchor=t),o.popup.one("deactivate",function(){a.off("keydown"+p,o._documentKeyDownHandler),o._isDialog||(o._removeDescribedBy(o.target()),this.element.removeAttr("id")),o._dettachActions()}),o._openPopup()},_positionCallout:function(){var t=this,o=t.options.position,e=t.popup,n=g[e.flipped?k[o]:o];t.arrow.removeClass("k-callout-s k-callout-w k-callout-e k-callout-n").addClass("k-callout-"+n)},destroy:function(){this.element.off(p),this._dettachActions(),clearTimeout(this.timeout),a.off("keydown"+p,this._documentKeyDownHandler),i.fn.destroy.call(this)}});e.ui.plugin(y)}(window.kendo.jQuery),window.kendo},e(3))}});