From f5c95f642d702773143cd305731264c8fe79459a Mon Sep 17 00:00:00 2001 From: Chad Killingsworth Date: Wed, 30 Jan 2019 10:37:39 -0600 Subject: [PATCH 1/3] Update several string references which can be renamed by closure-compiler --- lib/elements/array-selector.html | 22 +++++++++++----------- lib/elements/dom-repeat.html | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/elements/array-selector.html b/lib/elements/array-selector.html index 57b96c42d8..6325cc91c3 100644 --- a/lib/elements/array-selector.html +++ b/lib/elements/array-selector.html @@ -122,7 +122,7 @@ __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 || []; @@ -137,14 +137,14 @@ } 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); @@ -182,7 +182,7 @@ 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; } @@ -199,13 +199,13 @@ 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); }); } } @@ -260,9 +260,9 @@ } __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); } } @@ -282,7 +282,7 @@ } this.__updateLinks(); if (this.multi) { - this.splice('selected', sidx, 1); + this.splice(JSCompiler_renameProperty('selected', this), sidx, 1); } else { this.selected = this.selectedItem = null; } @@ -326,7 +326,7 @@ 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.html b/lib/elements/dom-repeat.html index 23f7875268..96025ea600 100644 --- a/lib/elements/dom-repeat.html +++ b/lib/elements/dom-repeat.html @@ -384,7 +384,7 @@ if (prop == this.as) { this.items[idx] = value; } - let path = Polymer.Path.translate(this.as, 'items.' + idx, prop); + let path = Polymer.Path.translate(this.as, `${JSCompiler_renameProperty('items', this)}.` + idx, prop); this.notifyPath(path, value); } } From 0e6daa703ccc2644b8c551e0e7ad6643bf9f9781 Mon Sep 17 00:00:00 2001 From: Chad Killingsworth Date: Wed, 30 Jan 2019 11:01:43 -0600 Subject: [PATCH 2/3] Avoid string concatentation to template strings --- lib/elements/array-selector.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/elements/array-selector.html b/lib/elements/array-selector.html index 6325cc91c3..9e7ea69ade 100644 --- a/lib/elements/array-selector.html +++ b/lib/elements/array-selector.html @@ -199,13 +199,13 @@ let sidx = 0; this.__selectedMap.forEach(idx => { if (idx >= 0) { - this.linkPaths(`${JSCompiler_renameProperty('items', this)}.` + idx, `${JSCompiler_renameProperty('selected', this)}.` + sidx++); + this.linkPaths(`${JSCompiler_renameProperty('items', this)}.${idx}`, `${JSCompiler_renameProperty('selected', this)}.${sidx++}`); } }); } else { this.__selectedMap.forEach(idx => { - this.linkPaths(JSCompiler_renameProperty('selected', this), `${JSCompiler_renameProperty('items', this)}.` + idx); - this.linkPaths(JSCompiler_renameProperty('selectedItem', this), `${JSCompiler_renameProperty('items', this)}.` + idx); + this.linkPaths(JSCompiler_renameProperty('selected', this), `${JSCompiler_renameProperty('items', this)}.${idx}`); + this.linkPaths(JSCompiler_renameProperty('selectedItem', this), `${JSCompiler_renameProperty('items', this)}.${idx}`); }); } } @@ -260,7 +260,7 @@ } __selectedIndexForItemIndex(idx) { - let selected = this.__dataLinkedPaths[`${JSCompiler_renameProperty('items', this)}.` + idx]; + let selected = this.__dataLinkedPaths[`${JSCompiler_renameProperty('items', this)}.${idx}`]; if (selected) { return parseInt(selected.slice(`${JSCompiler_renameProperty('selected', this)}.`.length), 10); } From 40d5881401dce2ec416770402b77ab7a5646aa54 Mon Sep 17 00:00:00 2001 From: Chad Killingsworth Date: Wed, 30 Jan 2019 11:11:12 -0600 Subject: [PATCH 3/3] Remove yet another string concatenation to a template string --- lib/elements/dom-repeat.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/elements/dom-repeat.html b/lib/elements/dom-repeat.html index 96025ea600..b0365cfa71 100644 --- a/lib/elements/dom-repeat.html +++ b/lib/elements/dom-repeat.html @@ -384,7 +384,7 @@ if (prop == this.as) { this.items[idx] = value; } - let path = Polymer.Path.translate(this.as, `${JSCompiler_renameProperty('items', this)}.` + idx, prop); + let path = Polymer.Path.translate(this.as, `${JSCompiler_renameProperty('items', this)}.${idx}`, prop); this.notifyPath(path, value); } }