| Index: third_party/polymer/v0_8/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
|
| diff --git a/third_party/polymer/v0_8/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js b/third_party/polymer/v0_8/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..ce733745cafb60ec55844f4bbbcf649ff2e4713e
|
| --- /dev/null
|
| +++ b/third_party/polymer/v0_8/components-chromium/iron-range-behavior/iron-range-behavior-extracted.js
|
| @@ -0,0 +1,88 @@
|
| +
|
| +
|
| + /**
|
| + * `iron-range-behavior` provides the behavior for something with a minimum to maximum range.
|
| + *
|
| + * @demo demo/index.html
|
| + * @polymerBehavior
|
| + */
|
| + Polymer.IronRangeBehavior = {
|
| +
|
| + properties: {
|
| +
|
| + /**
|
| + * The number that represents the current value.
|
| + */
|
| + value: {
|
| + type: Number,
|
| + value: 0,
|
| + notify: true,
|
| + reflectToAttribute: true
|
| + },
|
| +
|
| + /**
|
| + * The number that indicates the minimum value of the range.
|
| + */
|
| + min: {
|
| + type: Number,
|
| + value: 0,
|
| + notify: true
|
| + },
|
| +
|
| + /**
|
| + * The number that indicates the maximum value of the range.
|
| + */
|
| + max: {
|
| + type: Number,
|
| + value: 100,
|
| + notify: true
|
| + },
|
| +
|
| + /**
|
| + * Specifies the value granularity of the range's value.
|
| + */
|
| + step: {
|
| + type: Number,
|
| + value: 1,
|
| + notify: true
|
| + },
|
| +
|
| + /**
|
| + * Returns the ratio of the value.
|
| + */
|
| + ratio: {
|
| + type: Number,
|
| + value: 0,
|
| + readOnly: true,
|
| + notify: true
|
| + },
|
| + },
|
| +
|
| + observers: [
|
| + '_update(value, min, max, step)'
|
| + ],
|
| +
|
| + _calcRatio: function(value) {
|
| + return (this._clampValue(value) - this.min) / (this.max - this.min);
|
| + },
|
| +
|
| + _clampValue: function(value) {
|
| + return Math.min(this.max, Math.max(this.min, this._calcStep(value)));
|
| + },
|
| +
|
| + _calcStep: function(value) {
|
| + return this.step ? (Math.round(value / this.step) / (1 / this.step)) : value;
|
| + },
|
| +
|
| + _validateValue: function() {
|
| + var v = this._clampValue(this.value);
|
| + this.value = this.oldValue = isNaN(v) ? this.oldValue : v;
|
| + return this.value !== v;
|
| + },
|
| +
|
| + _update: function() {
|
| + this._validateValue();
|
| + this._setRatio(this._calcRatio(this.value) * 100);
|
| + }
|
| +
|
| +};
|
|
|