| Index: third_party/polymer/v0_8/components-chromium/iron-selector/iron-multi-selectable-extracted.js
|
| diff --git a/third_party/polymer/v0_8/components-chromium/iron-selector/iron-multi-selectable-extracted.js b/third_party/polymer/v0_8/components-chromium/iron-selector/iron-multi-selectable-extracted.js
|
| index d4df0bd492f2c8d4148c99c6f9268434573a407d..a595e492e8270a6bd0f1ea50f2ccd87cfb276918 100644
|
| --- a/third_party/polymer/v0_8/components-chromium/iron-selector/iron-multi-selectable-extracted.js
|
| +++ b/third_party/polymer/v0_8/components-chromium/iron-selector/iron-multi-selectable-extracted.js
|
| @@ -1,114 +1,106 @@
|
|
|
| + /** @polymerBehavior Polymer.IronMultiSelectableBehavior */
|
| + Polymer.IronMultiSelectableBehaviorImpl = {
|
| + properties: {
|
|
|
| - Polymer.IronMultiSelectableBehavior = [
|
| - Polymer.IronSelectableBehavior, {
|
| -
|
| - properties: {
|
| -
|
| - /**
|
| - * If true, multiple selections are allowed.
|
| - *
|
| - * @attribute multi
|
| - * @type Boolean
|
| - * @default false
|
| - */
|
| - multi: {
|
| - type: Boolean,
|
| - value: false,
|
| - observer: 'multiChanged'
|
| - },
|
| -
|
| - /**
|
| - * Gets or sets the selected elements. This is used instead of `selected` when `multi`
|
| - * is true.
|
| - *
|
| - * @attribute selectedValues
|
| - * @type Array
|
| - */
|
| - selectedValues: {
|
| - type: Array,
|
| - notify: true
|
| - },
|
| -
|
| - /**
|
| - * Returns an array of currently selected items.
|
| - *
|
| - * @attribute selectedItems
|
| - * @type Array
|
| - */
|
| - selectedItems: {
|
| - type: Array,
|
| - readOnly: true,
|
| - notify: true
|
| - },
|
| -
|
| + /**
|
| + * If true, multiple selections are allowed.
|
| + */
|
| + multi: {
|
| + type: Boolean,
|
| + value: false,
|
| + observer: 'multiChanged'
|
| },
|
|
|
| - observers: [
|
| - '_updateSelected(attrForSelected, selectedValues)'
|
| - ],
|
| -
|
| /**
|
| - * Selects the given value. If the `multi` property is true, then the selected state of the
|
| - * `value` will be toggled; otherwise the `value` will be selected.
|
| - *
|
| - * @method select
|
| - * @param {string} value the value to select.
|
| + * Gets or sets the selected elements. This is used instead of `selected` when `multi`
|
| + * is true.
|
| */
|
| - select: function(value) {
|
| - if (this.multi) {
|
| - if (this.selectedValues) {
|
| - this._toggleSelected(value);
|
| - } else {
|
| - this.selectedValues = [value];
|
| - }
|
| - } else {
|
| - this.selected = value;
|
| - }
|
| + selectedValues: {
|
| + type: Array,
|
| + notify: true
|
| },
|
|
|
| - multiChanged: function(multi) {
|
| - this._selection.multi = multi;
|
| + /**
|
| + * Returns an array of currently selected items.
|
| + */
|
| + selectedItems: {
|
| + type: Array,
|
| + readOnly: true,
|
| + notify: true
|
| },
|
|
|
| - _updateSelected: function() {
|
| - if (this.multi) {
|
| - this._selectMulti(this.selectedValues);
|
| + },
|
| +
|
| + observers: [
|
| + '_updateSelected(attrForSelected, selectedValues)'
|
| + ],
|
| +
|
| + /**
|
| + * Selects the given value. If the `multi` property is true, then the selected state of the
|
| + * `value` will be toggled; otherwise the `value` will be selected.
|
| + *
|
| + * @method select
|
| + * @param {string} value the value to select.
|
| + */
|
| + select: function(value) {
|
| + if (this.multi) {
|
| + if (this.selectedValues) {
|
| + this._toggleSelected(value);
|
| } else {
|
| - this._selectSelected(this.selected);
|
| + this.selectedValues = [value];
|
| }
|
| - },
|
| + } else {
|
| + this.selected = value;
|
| + }
|
| + },
|
|
|
| - _selectMulti: function(values) {
|
| - this._selection.clear();
|
| - if (values) {
|
| - for (var i = 0; i < values.length; i++) {
|
| - this._selection.setItemSelected(this._valueToItem(values[i]), true);
|
| - }
|
| - }
|
| - },
|
| + multiChanged: function(multi) {
|
| + this._selection.multi = multi;
|
| + },
|
|
|
| - _selectionChange: function() {
|
| - var s = this._selection.get();
|
| - if (this.multi) {
|
| - this._setSelectedItems(s);
|
| - } else {
|
| - this._setSelectedItems([s]);
|
| - this._setSelectedItem(s);
|
| - }
|
| - },
|
| + _updateSelected: function() {
|
| + if (this.multi) {
|
| + this._selectMulti(this.selectedValues);
|
| + } else {
|
| + this._selectSelected(this.selected);
|
| + }
|
| + },
|
|
|
| - _toggleSelected: function(value) {
|
| - var i = this.selectedValues.indexOf(value);
|
| - var unselected = i < 0;
|
| - if (unselected) {
|
| - this.selectedValues.push(value);
|
| - } else {
|
| - this.selectedValues.splice(i, 1);
|
| + _selectMulti: function(values) {
|
| + this._selection.clear();
|
| + if (values) {
|
| + for (var i = 0; i < values.length; i++) {
|
| + this._selection.setItemSelected(this._valueToItem(values[i]), true);
|
| }
|
| - this._selection.setItemSelected(this._valueToItem(value), unselected);
|
| }
|
| -
|
| + },
|
| +
|
| + _selectionChange: function() {
|
| + var s = this._selection.get();
|
| + if (this.multi) {
|
| + this._setSelectedItems(s);
|
| + } else {
|
| + this._setSelectedItems([s]);
|
| + this._setSelectedItem(s);
|
| + }
|
| + },
|
| +
|
| + _toggleSelected: function(value) {
|
| + var i = this.selectedValues.indexOf(value);
|
| + var unselected = i < 0;
|
| + if (unselected) {
|
| + this.selectedValues.push(value);
|
| + } else {
|
| + this.selectedValues.splice(i, 1);
|
| + }
|
| + this._selection.setItemSelected(this._valueToItem(value), unselected);
|
| }
|
| + };
|
| +
|
| + /** @polymerBehavior */
|
| + Polymer.IronMultiSelectableBehavior = [
|
| + Polymer.IronSelectableBehavior,
|
| + Polymer.IronMultiSelectableBehaviorImpl
|
| ];
|
|
|
|
|