blob: 2488d92f0cee747749c953f11a3d9383a19bb397 [file] [log] [blame]
!function(a,b){"use strict";b.module("angularSpinner",[]).factory("usSpinnerService",["$rootScope",function(a){var b={};return b.spin=function(b){a.$broadcast("us-spinner:spin",b)},b.stop=function(b){a.$broadcast("us-spinner:stop",b)},b}]).directive("usSpinner",["$window",function(a){return{scope:!0,controller:["$scope","$element","$attrs",function(a,c,d){a.spinner=null,a.key=b.isDefined(d.spinnerKey)?d.spinnerKey:!1,a.startActive=b.isDefined(d.spinnerStartActive)?d.spinnerStartActive:!a.key,a.spin=function(){a.spinner&&a.spinner.spin(c[0])},a.stop=function(){a.spinner&&a.spinner.stop()}}],link:function(b,c,d){b.$watch(d.usSpinner,function(d){b.stop(),b.spinner=new a.Spinner(d),(!b.key||b.startActive)&&b.spinner.spin(c[0])},!0),b.$on("us-spinner:spin",function(a,c){c===b.key&&b.spin()}),b.$on("us-spinner:stop",function(a,c){c===b.key&&b.stop()}),b.$on("$destroy",function(){b.stop(),b.spinner=null})}}}])}(window,window.angular);