!function(t,i){"use strict";i.module("angularQuickDialog",[]).factory("$quickDialog",["$rootScope",function(t){function i(t,i){if(this.isVisible=!1,!t)throw new Error("Dialog needs a name");this.originalName=t,this.name=a(t),this.shouldBroadcast=i}function o(t){t=a(t),l[t].open()}function n(t){t=t?a(t):u.getTop().name,l[t].close()}function e(t,o){return l[a(t)]=new i(t,o),l[a(t)]}function c(){l={},u.clear()}function a(t){return t.replace(/\.|\:/g,"_$_")}var l={},u={stack:[],top:0,push:function(t){this.stack[this.top++]=t},pop:function(){return this.stack[--this.top]},getTop:function(){return this.stack[this.top-1]},clear:function(){this.top=0}};return i.prototype.open=function(){this.isVisible=!0,u.push(this),this.shouldBroadcast&&t.$broadcast("quickDialog.opened",this.originalName)},i.prototype.close=function(){this.isVisible&&u.pop(),this.isVisible=!1,this.shouldBroadcast&&t.$broadcast("quickDialog.closed",this.originalName)},{open:o,close:n,create:e,reset:c}}]).directive("quickDialog",["$timeout","$quickDialog",function(o,n){return{restrict:"EA",templateUrl:"template/quick-dialog.html",scope:{},transclude:!0,link:function(e,c,a){function l(){m=m||document.activeElement,p.append(d),d.bind("click",r),h.bind("keydown",s),o(function(){f.focus()})}function u(){h.unbind("keydown",s),d.unbind("click",r),d.remove(),null!==m&&(m.focus(),m=k)}function s(t){t.keyCode===g&&(t.preventDefault(),o(function(){e.dialog.close()}),u())}function r(t){t.stopPropagation(),o(function(){e.dialog.close()}),u()}var d=i.element(document.createElement("div")).addClass("quick-dialog__backdrop"),g=27,p=i.element(document.body),h=i.element(t),f=document.getElementById(a.openFocus)||c[0],m=document.getElementById(a.closeFocus),k=document.getElementById(a.closeFocus);e.dialog=n.create(a.dialogName,a.shouldBroadcast);var b=!0;e.$watch("dialog.isVisible",function(t){b||(t?l():u()),b=!1}),e.$on("$routeChangeStart",function(){n.reset()})}}}])}(window,window.angular),function(t){try{t=angular.module("angularQuickDialog")}catch(i){t=angular.module("angularQuickDialog",[])}t.run(["$templateCache",function(t){t.put("template/quick-dialog.html",'
x
')}])}(); //# sourceMappingURL=angular-quick-dialog.min.js.map