/*! angular-block-ui v0.0.12 (c) 2014 (null) McNull https://github.com/McNull/angular-block-ui License: MIT */ !function(t){var e=t.module("blockUI",[]);e.config(["$provide","$httpProvider",function(t,e){t.decorator("$exceptionHandler",["$delegate","$injector",function(t,e){var n,o;return function(i,c){o=o||e.get("blockUIConfig"),o.resetOnException&&(n=n||e.get("blockUI"),n.instances.reset()),t(i,c)}}]),e.interceptors.push("blockUIHttpInterceptor")}]),e.run(["$document","blockUIConfig",function(t,e){e.autoInjectBodyBlock&&t.find("body").append('
')}]),e.provider("blockUIConfig",function(){var e={templateUrl:"angular-block-ui/angular-block-ui.ng.html",delay:250,message:"Loading ...",autoBlock:!0,resetOnException:!0,requestFilter:t.noop,autoInjectBodyBlock:!0};this.templateUrl=function(t){e.templateUrl=t},this.template=function(t){e.template=t},this.delay=function(t){e.delay=t},this.message=function(t){e.message=t},this.autoBlock=function(t){e.autoBlock=t},this.resetOnException=function(t){e.resetOnException=t},this.requestFilter=function(t){e.requestFilter=t},this.autoInjectBodyBlock=function(t){e.autoInjectBodyBlock=t},this.$get=function(){return e}}),e.directive("blockUi",["blockUI","blockUIConfig","blockUiLinkFn",function(t,e,n){return{scope:!0,restrict:"A",templateUrl:e.template?void 0:e.templateUrl,template:e.template,link:n}}]).factory("blockUiLinkFn",["blockUI","blockUIUtils",function(t,e){return function(n,o,i){var c=o.parent();if(c.length){var r=t;if("BODY"===c[0].tagName)var a=n.$on("$viewContentLoaded",function(){a(),n.$on("$locationChangeStart",function(t){n.state.blockCount>0&&t.preventDefault()})});else{c.css("position","relative");var s=i.blockUi?i.blockUi:"_"+n.$id;r=t.instances.get(s);var l=o.inheritedData("block-ui");l&&(r._parent=l);var u=i.blockUiPattern;if(u){var f=e.buildRegExp(u);r.pattern(f)}n.$on("$destroy",function(){r.release()}),r.addRef()}o.addClass("block-ui"),c.data("block-ui",r),n.state=r.state(),n.$watch("state.blocking",function(t){c.attr("aria-busy",t)})}}}]),e.factory("blockUIHttpInterceptor",["$q","$injector","blockUIConfig",function(t,e,n){function o(){r=r||e.get("blockUI")}function i(t){n.autoBlock&&!t.$_noBlock&&t.$_blocks&&(o(),t.$_blocks.stop())}function c(e){return i(e.config),t.reject(e)}var r;return{request:function(t){return n.autoBlock&&(n.requestFilter(t)===!1?t.$_noBlock=!0:(o(),t.$_blocks=r.instances.locate(t),t.$_blocks.start())),t},requestError:c,response:function(t){return i(t.config),t},responseError:c}}]),e.factory("blockUI",["blockUIConfig","$timeout","blockUIUtils","$document",function(e,n,o,i){function c(c){var a,l=this,u={id:c,blockCount:0,message:e.message,blocking:!1},f=[];this._refs=0,this.start=function(c){c=u.blockCount>0?c||u.message||e.message:c||e.message,u.message=c,u.blockCount++;var r=t.element(i[0].activeElement);r.length&&o.isElementInBlockScope(r,l)&&(l._restoreFocus=r[0],n(function(){l._restoreFocus&&l._restoreFocus.blur()})),a||(a=n(function(){a=null,u.blocking=!0},e.delay))},this._cancelStartTimeout=function(){a&&(n.cancel(a),a=null)},this.stop=function(){u.blockCount=Math.max(0,--u.blockCount),0===u.blockCount&&l.reset(!0)},this.message=function(t){u.message=t},this.pattern=function(t){return void 0!==t&&(l._pattern=t),l._pattern},this.reset=function(e){l._cancelStartTimeout(),u.blockCount=0,u.blocking=!1,!l._restoreFocus||i[0].activeElement&&i[0].activeElement!==r[0]||(l._restoreFocus.focus(),l._restoreFocus=null);try{e&&t.forEach(f,function(t){t()})}finally{f.length=0}},this.done=function(t){f.push(t)},this.state=function(){return u},this.addRef=function(){l._refs+=1},this.release=function(){--l._refs<=0&&s.instances._destroy(l)}}var r=i.find("body"),a=[];a.get=function(t){var e=a[t];return e||(e=a[t]=new c(t),a.push(e)),e},a._destroy=function(e){if(t.isString(e)&&(e=a[e]),e){e.reset(),delete a[e.state().id];for(var n=a.length;--n;)if(a[n]===e){a.splice(n,1);break}}},a.locate=function(t){var e=[];o.forEachFnHook(e,"start"),o.forEachFnHook(e,"stop");for(var n=a.length;n--;){var i=a[n],c=i._pattern;c&&c.test(t.url)&&e.push(i)}return 0===e.length&&e.push(s),e},o.forEachFnHook(a,"reset");var s=a.get("main");return s.addRef(),s.instances=a,s}]),e.factory("blockUIUtils",function(){var t={buildRegExp:function(t){var e,n=t.match(/^\/(.*)\/([gim]*)$/);if(!n)throw Error("Incorrect regular expression format: "+t);return e=new RegExp(n[1],n[2])},forEachFn:function(t,e,n){for(var o=t.length;o--;){var i=t[o];i[e].apply(i,n)}},forEachFnHook:function(e,n){e[n]=function(){t.forEachFn(this,n,arguments)}},isElementInBlockScope:function(t,e){for(var n=t.inheritedData("block-ui");n;){if(n===e)return!0;n=n._parent}return!1}};return t}),t.module("blockUI").run(["$templateCache",function(t){t.put("angular-block-ui/angular-block-ui.ng.html",' ')}])}(angular); //# sourceMappingURL=angular-block-ui.min.js.map