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

Unified Diff: chrome/browser/resources/md_bookmarks/app.js

Issue 2776993002: [MD Bookmarks] Persist collapsed folders between page loads. (Closed)
Patch Set: fix closure Created 3 years, 8 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: chrome/browser/resources/md_bookmarks/app.js
diff --git a/chrome/browser/resources/md_bookmarks/app.js b/chrome/browser/resources/md_bookmarks/app.js
index 1c0983e0992604ffedfad62ad5fbc3fbd725b948..e59d8331c68ea24127c0631857910b6a2f2bbefd 100644
--- a/chrome/browser/resources/md_bookmarks/app.js
+++ b/chrome/browser/resources/md_bookmarks/app.js
@@ -16,6 +16,11 @@ Polymer({
observer: 'searchTermChanged_',
},
+ closedFoldersState_: {
+ type: Object,
+ observer: 'closedFoldersStateChanged_',
+ },
+
/** @private */
sidebarWidth_: String,
},
@@ -32,12 +37,21 @@ Polymer({
return store.search.term;
});
+ this.watch('closedFoldersState_', function(store) {
+ return store.closedFolders;
+ });
+
chrome.bookmarks.getTree(function(results) {
var nodeList = bookmarks.util.normalizeNodes(results[0]);
var initialState = bookmarks.util.createEmptyState();
initialState.nodes = nodeList;
- initialState.selectedFolder =
- nodeList[bookmarks.util.ROOT_NODE_ID].children[0];
+ initialState.selectedFolder = nodeList[ROOT_NODE_ID].children[0];
+ var closedFoldersString =
+ window.localStorage[LOCAL_STORAGE_CLOSED_FOLDERS_KEY];
+ initialState.closedFolders = closedFoldersString ?
+ /** @type {!Object<string,boolean>} */ (
+ JSON.parse(closedFoldersString)) :
+ {};
bookmarks.Store.getInstance().init(initialState);
bookmarks.ApiListener.init();
@@ -87,6 +101,7 @@ Polymer({
this.sidebarWidth_ = this.$.sidebar.getComputedStyleValue('width');
},
+ /** @private */
searchTermChanged_: function() {
if (!this.searchTerm_)
return;
@@ -98,4 +113,10 @@ Polymer({
this.dispatch(bookmarks.actions.setSearchResults(ids));
}.bind(this));
},
+
+ /** @private */
+ closedFoldersStateChanged_: function() {
+ window.localStorage[LOCAL_STORAGE_CLOSED_FOLDERS_KEY] =
+ JSON.stringify(this.closedFoldersState_);
+ },
});
« no previous file with comments | « chrome/browser/resources/md_bookmarks/app.html ('k') | chrome/browser/resources/md_bookmarks/compiled_resources2.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698