(function(t){"use strict"
var e='[data-toggle="context"]',n=function(e,n){this.$element=t(e),this.before=n.before||this.before,this.onItem=n.onItem||this.onItem,this.scopes=n.scopes||null,n.target&&this.$element.data("target",n.target),this.listen()}
n.prototype={constructor:n,show:function(e){var n,o,i,s={relatedTarget:this}
if(!this.isDisabled()&&(this.closemenu(),this.before.call(this,e,t(e.currentTarget))))return n=this.getMenu(),n.trigger(t.Event("show.bs.context",s)),o=this.getPosition(e,n),i="li:not(.divider)",n.attr("style","").css(o).addClass("open").on("click.context.data-api",i,t.proxy(this.onItem,this,t(e.currentTarget))).trigger("shown.bs.context",s),t("html").on("click.context.data-api",n.selector,t.proxy(this.closemenu,this)),!1},closemenu:function(e){var n,o,i
if(n=this.getMenu(),n.hasClass("open"))return i={relatedTarget:this},n.trigger(t.Event("hide.bs.context",i)),o="li:not(.divider)",n.removeClass("open").off("click.context.data-api",o).trigger("hidden.bs.context",i),t("html").off("click.context.data-api",n.selector),!1},keydown:function(t){27==t.which&&this.closemenu(t)},before:function(t){return!0},onItem:function(t){return!0},listen:function(){this.$element.on("contextmenu.context.data-api",this.scopes,t.proxy(this.show,this)),t("html").on("click.context.data-api",t.proxy(this.closemenu,this)),t("html").on("keydown.context.data-api",t.proxy(this.keydown,this))},destroy:function(){this.$element.off(".context.data-api").removeData("context"),t("html").off(".context.data-api")},isDisabled:function(){return this.$element.hasClass("disabled")||this.$element.attr("disabled")},getMenu:function(){var e,n=this.$element.data("target")
return n||(n=this.$element.attr("href"),n=n&&n.replace(/.*(?=#[^\s]*$)/,"")),e=t(n),e&&e.length?e:this.$element.find(n)},getPosition:function(e,n){var o,i,s,a=e.clientX,r=e.clientY,c=t(window).width(),l=t(window).height(),h=n.find(".dropdown-menu").outerWidth(),d=n.find(".dropdown-menu").outerHeight(),u={position:"absolute","z-index":9999}
return o=r+d>l?{top:r-d+t(window).scrollTop()}:{top:r+t(window).scrollTop()},i=a+h>c&&a-h>0?{left:a-h+t(window).scrollLeft()}:{left:a+t(window).scrollLeft()},s=n.offsetParent().offset(),i.left=i.left-s.left,o.top=o.top-s.top,t.extend(u,o,i)}},t.fn.contextmenu=function(e,o){return this.each(function(){var i=t(this),s=i.data("context"),a="object"==typeof e&&e
s||i.data("context",s=new n(i,a)),"string"==typeof e&&s[e].call(s,o)})},t.fn.contextmenu.Constructor=n,t(document).on("contextmenu.context.data-api",function(){t(e).each(function(){var e=t(this).data("context")
e&&e.closemenu()})}).on("contextmenu.context.data-api",e,function(e){t(this).contextmenu("show",e),e.preventDefault(),e.stopPropagation()})})(jQuery)
