diff --git a/lib/elements/array-selector.js b/lib/elements/array-selector.js index c4a9816749..158d242cea 100644 --- a/lib/elements/array-selector.js +++ b/lib/elements/array-selector.js @@ -107,7 +107,7 @@ let ArraySelectorMixin = dedupingMixin(superClass => { __updateSelection(multi, itemsInfo) { let path = itemsInfo.path; - if (path == 'items') { + if (path == JSCompiler_renameProperty('items', this)) { // Case 1 - items array changed, so diff against previous array and // deselect any removed items and adjust selected indices let newItems = itemsInfo.base || []; @@ -122,14 +122,14 @@ let ArraySelectorMixin = dedupingMixin(superClass => { } this.__lastItems = newItems; this.__lastMulti = multi; - } else if (itemsInfo.path == 'items.splices') { + } else if (itemsInfo.path == `${JSCompiler_renameProperty('items', this)}.splices`) { // Case 2 - got specific splice information describing the array mutation: // deselect any removed items and adjust selected indices this.__applySplices(itemsInfo.value.indexSplices); } else { // Case 3 - an array element was changed, so deselect the previous // item for that index if it was previously selected - let part = path.slice('items.'.length); + let part = path.slice(`${JSCompiler_renameProperty('items', this)}.`.length); let idx = parseInt(part, 10); if ((part.indexOf('.') < 0) && part == idx) { this.__deselectChangedIdx(idx); @@ -167,7 +167,7 @@ let ArraySelectorMixin = dedupingMixin(superClass => { selected.forEach((idx, item) => { if (idx < 0) { if (this.multi) { - this.splice('selected', sidx, 1); + this.splice(JSCompiler_renameProperty('selected', this), sidx, 1); } else { this.selected = this.selectedItem = null; } @@ -184,13 +184,19 @@ let ArraySelectorMixin = dedupingMixin(superClass => { let sidx = 0; this.__selectedMap.forEach(idx => { if (idx >= 0) { - this.linkPaths('items.' + idx, 'selected.' + sidx++); + this.linkPaths( + `${JSCompiler_renameProperty('items', this)}.${idx}`, + `${JSCompiler_renameProperty('selected', this)}.${sidx++}`); } }); } else { this.__selectedMap.forEach(idx => { - this.linkPaths('selected', 'items.' + idx); - this.linkPaths('selectedItem', 'items.' + idx); + this.linkPaths( + JSCompiler_renameProperty('selected', this), + `${JSCompiler_renameProperty('items', this)}.${idx}`); + this.linkPaths( + JSCompiler_renameProperty('selectedItem', this), + `${JSCompiler_renameProperty('items', this)}.${idx}`); }); } } @@ -248,9 +254,9 @@ let ArraySelectorMixin = dedupingMixin(superClass => { } __selectedIndexForItemIndex(idx) { - let selected = this.__dataLinkedPaths['items.' + idx]; + let selected = this.__dataLinkedPaths[`${JSCompiler_renameProperty('items', this)}.${idx}`]; if (selected) { - return parseInt(selected.slice('selected.'.length), 10); + return parseInt(selected.slice(`${JSCompiler_renameProperty('selected', this)}.`.length), 10); } } @@ -271,7 +277,7 @@ let ArraySelectorMixin = dedupingMixin(superClass => { } this.__updateLinks(); if (this.multi) { - this.splice('selected', sidx, 1); + this.splice(JSCompiler_renameProperty('selected', this), sidx, 1); } else { this.selected = this.selectedItem = null; } @@ -318,7 +324,7 @@ let ArraySelectorMixin = dedupingMixin(superClass => { this.__selectedMap.set(item, idx); this.__updateLinks(); if (this.multi) { - this.push('selected', item); + this.push(JSCompiler_renameProperty('selected', this), item); } else { this.selected = this.selectedItem = item; } diff --git a/lib/elements/dom-repeat.js b/lib/elements/dom-repeat.js index e4ca665939..74f12659d9 100644 --- a/lib/elements/dom-repeat.js +++ b/lib/elements/dom-repeat.js @@ -382,7 +382,7 @@ export class DomRepeat extends domRepeatBase { if (prop == this.as) { this.items[idx] = value; } - let path = translate(this.as, 'items.' + idx, prop); + let path = translate(this.as, `${JSCompiler_renameProperty('items', this)}.${idx}`, prop); this.notifyPath(path, value); } }