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

Unified Diff: ui/webui/resources/cr_elements/network/cr_network_list.js

Issue 2627373002: MD Settings: Save and restore scroll position in iron-list (Closed)
Patch Set: Rebase + feedback + clang format Created 3 years, 11 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: ui/webui/resources/cr_elements/network/cr_network_list.js
diff --git a/ui/webui/resources/cr_elements/network/cr_network_list.js b/ui/webui/resources/cr_elements/network/cr_network_list.js
index 26cddbe00f8243d8b23fb4cc7900ac0129c72ebf..67b321830f57809193229274cd8557a4546c181c 100644
--- a/ui/webui/resources/cr_elements/network/cr_network_list.js
+++ b/ui/webui/resources/cr_elements/network/cr_network_list.js
@@ -19,9 +19,7 @@ Polymer({
*/
networks: {
type: Array,
- value: function() {
- return [];
- }
+ value: function() { return []; },
},
/**
@@ -30,9 +28,7 @@ Polymer({
*/
customItems: {
type: Array,
- value: function() {
- return [];
- }
+ value: function() { return []; },
},
/** True if action buttons should be shown for the itmes. */
@@ -49,29 +45,34 @@ Polymer({
selectedItem: {
type: Object,
observer: 'selectedItemChanged_',
- }
+ },
+
+ /**
+ * Contains |networks| + |customItems|.
+ * @private {!Array<!CrNetworkList.CrNetworkListItemType>}
+ */
+ listItems_: {
+ type: Array,
+ value: function() { return []; },
+ },
},
behaviors: [CrScrollableBehavior],
- observers: ['listChanged_(networks, customItems)'],
+ observers: ['updateListItems_(networks, customItems)'],
/** @private */
- listChanged_: function() {
- this.updateScrollableContents();
- },
+ updateListItems_: function() {
+ var list = this.$.list;
+ this.saveScroll(list);
- /**
- * Returns a combined list of networks and custom items.
- * @return {!Array<!CrNetworkList.CrNetworkListItemType>}
- * @private
- */
- getItems_: function() {
var customItems = this.customItems.slice();
- // Flag the first custom item with isFirstCustomItem = true.
if (customItems.length > 0)
customItems[0].isFirstCustomItem = true;
- return this.networks.concat(customItems);
+ this.listItems_ = this.networks.concat(customItems);
+
+ this.restoreScroll(list);
+ this.updateScrollableContents();
},
/**

Powered by Google App Engine
This is Rietveld 408576698