progressCircular.min.js 2.3 KB

1234567
  1. /*!
  2. * Angular Material Design
  3. * https://github.com/angular/material
  4. * @license MIT
  5. * v0.11.3-master-3fe7d76
  6. */
  7. !function(e,r,t){"use strict";function a(e,a,i){function n(e){return e.attr("aria-valuemin",0),e.attr("aria-valuemax",100),e.attr("role","progressbar"),s}function s(n,s,f){function v(){f.$observe("value",function(e){var r=d(e);s.attr("aria-valuenow",r),w()==c&&h(r)}),f.$observe("mdMode",function(e){switch(e){case c:case u:$.removeClass("ng-hide"),$.removeClass(b),$.addClass(b="md-mode-"+e);break;default:$.removeClass(b),$.addClass("ng-hide"),b=t}})}function p(){M.css(x({transform:a.supplant("scale( {0} )",[C()])}))}function g(){if(r.isUndefined(f.mdMode)){var e=r.isDefined(f.value),t=e?c:u,n="Auto-adding the missing md-mode='{0}' to the ProgressCircular element";i.debug(a.supplant(n,[t])),s.attr("md-mode",t),f.mdMode=t}}function h(e){if(w()){y=y||r.element(s[0].querySelector(".md-left > .md-half-circle")),D=D||r.element(s[0].querySelector(".md-right > .md-half-circle")),q=q||r.element(s[0].querySelector(".md-gap"));var t=o({borderBottomColor:50>=e?"transparent !important":"",transition:50>=e?"":"borderBottomColor 0.1s linear"}),i=o({transition:50>=e?"transform 0.1s linear":"",transform:a.supplant("rotate({0}deg)",[50>=e?135:(e-50)/50*180+135])}),n=o({transition:e>=50?"transform 0.1s linear":"",transform:a.supplant("rotate({0}deg)",[e>=50?45:e/50*180-135])});y.css(x(i)),D.css(x(n)),q.css(x(t))}}function C(){if(!f.mdDiameter)return l;var e=/([0-9]*)%/.exec(f.mdDiameter),r=Math.max(0,e&&e[1]/100||parseFloat(f.mdDiameter));return r>1?r/m:r}function w(){var e=(f.mdMode||"").trim();if(e)switch(e){case c:case u:break;default:e=t}return e}e(s);var b,M=s,$=r.element(s.children()[0]),x=a.dom.animator.toCss;s.attr("md-mode",w()),p(),g(),v();var y,D,q}function d(e){return Math.max(0,Math.min(e||0,100))}function o(e){for(var r in e)e.hasOwnProperty(r)&&""==e[r]&&delete e[r];return e}var m=100,l=.5,c="determinate",u="indeterminate";return{restrict:"E",scope:!0,template:'<div class="md-spinner-wrapper"><div class="md-inner"><div class="md-gap"></div><div class="md-left"><div class="md-half-circle"></div></div><div class="md-right"><div class="md-half-circle"></div></div></div></div>',compile:n}}r.module("material.components.progressCircular",["material.core"]).directive("mdProgressCircular",a),a.$inject=["$mdTheming","$mdUtil","$log"]}(window,window.angular);