Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(565)

Unified Diff: third_party/polymer/v0_8/components/iron-selector/iron-multi-selectable.html

Issue 1162563004: Upgrade to 1.0 and switch clients to dom-repeat where needed. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix a layout import and remove the gzipped webanimation in reproduce.sh Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/v0_8/components/iron-selector/iron-multi-selectable.html
diff --git a/third_party/polymer/v0_8/components/iron-selector/iron-multi-selectable.html b/third_party/polymer/v0_8/components/iron-selector/iron-multi-selectable.html
index 91896d84f5ac5dda35c2d7a692afe85b72232bd0..ba9455ded233d8b00081e14c2bf00e16dab6959e 100644
--- a/third_party/polymer/v0_8/components/iron-selector/iron-multi-selectable.html
+++ b/third_party/polymer/v0_8/components/iron-selector/iron-multi-selectable.html
@@ -1,4 +1,5 @@
<!--
+@license
Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
@@ -11,117 +12,109 @@ subject to an additional IP rights grant found at http://polymer.github.io/PATEN
<link rel="import" href="iron-selectable.html">
<script>
+ /** @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
];
</script>

Powered by Google App Engine
This is Rietveld 408576698