| Index: third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
|
| diff --git a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
|
| index b5503cc6ac6aa05452ddd55ff8fb15baf4beb033..5a1f9edc8b6f861a738dbf71d870147151c9739c 100644
|
| --- a/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
|
| +++ b/third_party/polymer/v1_0/components/paper-spinner/paper-spinner.html
|
| @@ -99,123 +99,101 @@ Custom property | Description | Default
|
|
|
| <script>
|
|
|
| - (function() {
|
| -
|
| - 'use strict';
|
| -
|
| - function classNames(obj) {
|
| - var classNames = [];
|
| - for (var key in obj) {
|
| - if (obj.hasOwnProperty(key) && obj[key]) {
|
| - classNames.push(key);
|
| - }
|
| - }
|
| -
|
| - return classNames.join(' ');
|
| - }
|
| -
|
| - Polymer({
|
| -
|
| - is: 'paper-spinner',
|
| -
|
| - listeners: {
|
| - 'animationend': 'reset',
|
| - 'webkitAnimationEnd': 'reset'
|
| + Polymer({
|
| +
|
| + is: 'paper-spinner',
|
| +
|
| + listeners: {
|
| + 'animationend': 'reset',
|
| + 'webkitAnimationEnd': 'reset'
|
| + },
|
| +
|
| + properties: {
|
| +
|
| + /**
|
| + * Displays the spinner.
|
| + *
|
| + * @attribute active
|
| + * @type boolean
|
| + * @default false
|
| + */
|
| + active: {
|
| + type: Boolean,
|
| + value: false,
|
| + reflectToAttribute: true,
|
| + observer: '_activeChanged'
|
| },
|
|
|
| - properties: {
|
| -
|
| - /**
|
| - * Displays the spinner.
|
| - *
|
| - * @attribute active
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - active: {
|
| - observer: '_activeChanged',
|
| - type: Boolean,
|
| - value: false
|
| - },
|
| -
|
| - /**
|
| - * Alternative text content for accessibility support.
|
| - * If alt is present, it will add an aria-label whose content matches alt when active.
|
| - * If alt is not present, it will default to 'loading' as the alt value.
|
| - *
|
| - * @attribute alt
|
| - * @type string
|
| - * @default 'loading'
|
| - */
|
| - alt: {
|
| - observer: '_altChanged',
|
| - type: String,
|
| - value: 'loading'
|
| - },
|
| -
|
| - /**
|
| - * True when the spinner is going from active to inactive. This is represented by a fade
|
| - * to 0% opacity to the user.
|
| - */
|
| - _coolingDown: {
|
| - type: Boolean,
|
| - value: false
|
| - },
|
| -
|
| - _spinnerContainerClassName: {
|
| - type: String,
|
| - computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
|
| - }
|
| -
|
| + /**
|
| + * Alternative text content for accessibility support.
|
| + * If alt is present, it will add an aria-label whose content matches alt when active.
|
| + * If alt is not present, it will default to 'loading' as the alt value.
|
| + *
|
| + * @attribute alt
|
| + * @type string
|
| + * @default 'loading'
|
| + */
|
| + alt: {
|
| + type: String,
|
| + value: 'loading',
|
| + observer: '_altChanged'
|
| },
|
|
|
| - _computeSpinnerContainerClassName: function(active, _coolingDown) {
|
| - return classNames({
|
| - active: active || _coolingDown,
|
| - cooldown: _coolingDown
|
| - });
|
| + /**
|
| + * True when the spinner is going from active to inactive. This is represented by a fade
|
| + * to 0% opacity to the user.
|
| + */
|
| + _coolingDown: {
|
| + type: Boolean,
|
| + value: false
|
| },
|
|
|
| - ready: function() {
|
| - // Allow user-provided `aria-label` take preference to any other text alternative.
|
| - if (this.hasAttribute('aria-label')) {
|
| - this.alt = this.getAttribute('aria-label');
|
| - } else {
|
| - this.setAttribute('aria-label', this.alt);
|
| - }
|
| -
|
| - if (!this.active) {
|
| - this.setAttribute('aria-hidden', 'true');
|
| - }
|
| - },
|
| -
|
| - _activeChanged: function() {
|
| - if (this.active) {
|
| - this.removeAttribute('aria-hidden');
|
| - } else {
|
| - this._coolingDown = true;
|
| - this.setAttribute('aria-hidden', 'true');
|
| - }
|
| - },
|
| + _spinnerContainerClassName: {
|
| + type: String,
|
| + computed: '_computeSpinnerContainerClassName(active, _coolingDown)'
|
| + }
|
|
|
| - _altChanged: function() {
|
| - if (this.alt === '') {
|
| - this.setAttribute('aria-hidden', 'true');
|
| - } else {
|
| - this.removeAttribute('aria-hidden');
|
| - }
|
| + },
|
|
|
| - this.setAttribute('aria-label', this.alt);
|
| - },
|
| + _computeSpinnerContainerClassName: function(active, coolingDown) {
|
| + return [
|
| + active || coolingDown ? 'active' : '',
|
| + coolingDown ? 'cooldown' : ''
|
| + ].join(' ');
|
| + },
|
|
|
| - reset: function() {
|
| - this.active = false;
|
| - this._coolingDown = false;
|
| + _activeChanged: function(active, old) {
|
| + this._setAriaHidden(!active);
|
| + if (!active && old) {
|
| + this._coolingDown = true;
|
| + }
|
| + },
|
| +
|
| + _altChanged: function(alt) {
|
| + // user-provided `aria-label` takes precedence over prototype default
|
| + if (alt === this.getPropertyInfo('alt').value) {
|
| + this.alt = this.getAttribute('aria-label') || alt;
|
| + } else {
|
| + this._setAriaHidden(alt==='');
|
| + this.setAttribute('aria-label', alt);
|
| }
|
| + },
|
| +
|
| + _setAriaHidden: function(hidden) {
|
| + var attr = 'aria-hidden';
|
| + if (hidden) {
|
| + this.setAttribute(attr, 'true');
|
| + } else {
|
| + this.removeAttribute(attr);
|
| + }
|
| + },
|
|
|
| - });
|
| + reset: function() {
|
| + this.active = false;
|
| + this._coolingDown = false;
|
| + }
|
|
|
| - }());
|
| + });
|
|
|
| </script>
|
|
|
|
|