forked from urish/angular-spinner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathangular-spinner.min.js
1 lines (1 loc) · 946 Bytes
/
angular-spinner.min.js
1
!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?!1:!0,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);