Skip to content
Browse files

Add selectedItem property

  • Loading branch information...
1 parent a42ca09 commit d65acd0bc360893251691226745b4afb274d3a1f @blasten blasten committed
Showing with 21 additions and 7 deletions.
  1. +15 −1 src/lib/template/array-selector.html
  2. +6 −6 test/unit/array-selector.html
View
16 src/lib/template/array-selector.html
@@ -99,6 +99,15 @@
},
/**
+ * When `multi` is false, this is the currently selected item, or `null`
+ * if no item is selected.
+ */
+ selectedItem: {
+ type: Object,
+ notify: true
+ },
+
+ /**
* When `true`, calling `select` on an item that is already selected
* will deselect the item.
*/
@@ -132,6 +141,7 @@
this.selected = null;
this._selectedColl = null;
}
+ this.selectedItem = null;
},
/**
@@ -164,7 +174,9 @@
}
} else {
this.selected = null;
+ this.selectedItem = null;
this.unlinkPaths('selected');
+ this.unlinkPaths('selectedItem');
}
},
@@ -192,8 +204,10 @@
if (this.toggle && item == this.selected) {
this.deselect();
} else {
- this.linkPaths('selected', 'items.' + key);
this.selected = item;
+ this.selectedItem = item;
+ this.linkPaths('selected', 'items.' + key);
+ this.linkPaths('selectedItem', 'items.' + key);
}
}
}
View
12 test/unit/array-selector.html
@@ -37,39 +37,39 @@
test('single selection', function() {
var el = singleConfigured;
// Nothing selected
- assert.strictEqual(el.selected, null);
+ assert.strictEqual(el.selectedItem, null);
assert.isFalse(el.isSelected(el.items[0]));
assert.isFalse(el.isSelected(el.items[1]));
assert.isFalse(el.isSelected(el.items[2]));
// Select 0
el.select(el.items[0]);
- assert.strictEqual(el.selected, el.items[0]);
+ assert.strictEqual(el.selectedItem, el.items[0]);
assert.isTrue(el.isSelected(el.items[0]));
assert.isFalse(el.isSelected(el.items[1]));
assert.isFalse(el.isSelected(el.items[2]));
// Re-select 0
el.select(el.items[0]);
- assert.strictEqual(el.selected, el.items[0]);
+ assert.strictEqual(el.selectedItem, el.items[0]);
assert.isTrue(el.isSelected(el.items[0]));
assert.isFalse(el.isSelected(el.items[1]));
assert.isFalse(el.isSelected(el.items[2]));
// Select 2
el.select(el.items[2]);
- assert.strictEqual(el.selected, el.items[2]);
+ assert.strictEqual(el.selectedItem, el.items[2]);
assert.isFalse(el.isSelected(el.items[0]));
assert.isFalse(el.isSelected(el.items[1]));
assert.isTrue(el.isSelected(el.items[2]));
// Toggle 2
el.toggle = true;
el.select(el.items[2]);
- assert.strictEqual(el.selected, null);
+ assert.strictEqual(el.selectedItem, null);
assert.isFalse(el.isSelected(el.items[0]));
assert.isFalse(el.isSelected(el.items[1]));
assert.isFalse(el.isSelected(el.items[2]));
// Toggle 2
el.toggle = true;
el.select(el.items[2]);
- assert.strictEqual(el.selected, el.items[2]);
+ assert.strictEqual(el.selectedItem, el.items[2]);
assert.isFalse(el.isSelected(el.items[0]));
assert.isFalse(el.isSelected(el.items[1]));
assert.isTrue(el.isSelected(el.items[2]));

0 comments on commit d65acd0

Please sign in to comment.
Something went wrong with that request. Please try again.