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

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

Issue 2675503002: [MD Bookmarks] Remove Multiple Selected Items. (Closed)
Patch Set: section 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
« no previous file with comments | « chrome/browser/resources/md_bookmarks/list.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/md_bookmarks/store.js
diff --git a/chrome/browser/resources/md_bookmarks/store.js b/chrome/browser/resources/md_bookmarks/store.js
index 5c2718aa8ada50dc8589b61dca479afe2c03bd39..1ff73c788e09f3fb050cd4725e5716446c76377d 100644
--- a/chrome/browser/resources/md_bookmarks/store.js
+++ b/chrome/browser/resources/md_bookmarks/store.js
@@ -58,6 +58,7 @@ var BookmarksStore = Polymer({
this.documentListeners_ = {
'folder-open-changed': this.onFolderOpenChanged_.bind(this),
'open-item': this.onItemOpened_.bind(this),
+ 'remove-item': this.onItemRemoved_.bind(this),
'search-term-changed': this.onSearchTermChanged_.bind(this),
'select-item': this.onItemSelected_.bind(this),
'selected-folder-changed': this.onSelectedFolderChanged_.bind(this),
@@ -274,6 +275,22 @@ var BookmarksStore = Polymer({
this.selectedIndexSet_.add(this.anchorIndex_);
},
+ /**
+ * @param {BookmarkTreeNode} item
+ * @private
+ */
+ removeSingleItem_: function(item) {
+ if (item.url) {
+ chrome.bookmarks.remove(item.id, function() {
+ // TODO(jiaxi): Add toast later.
+ }.bind(this));
+ } else {
+ chrome.bookmarks.removeTree(item.id, function() {
+ // TODO(jiaxi): Add toast later.
+ }.bind(this));
+ }
+ },
+
//////////////////////////////////////////////////////////////////////////////
// bookmarks-store, bookmarks API event listeners:
@@ -433,6 +450,24 @@ var BookmarksStore = Polymer({
}
}
},
+
+ /**
+ * @param {CustomEvent} e
+ * @private
+ */
+ onItemRemoved_: function(e) {
+ var item = /** BookmarkTreeNode */ (e.detail);
+ if (this.selectedIndexSet_.size == 1 || !item.isSelectedItem) {
+ this.removeSingleItem_(item);
+ } else {
+ var itemsToRemoved = [];
+ for (let index of this.selectedIndexSet_)
+ itemsToRemoved.push(this.displayedList[index]);
+
+ for (var i = 0; i < itemsToRemoved.length; i++)
+ this.removeSingleItem_(itemsToRemoved[i]);
jiaxi 2017/02/01 23:32:13 This probably needs a test but I'm not sure how to
tsergeant 2017/02/02 02:12:15 That sounds like a reasonable way to do it.
jiaxi 2017/02/02 05:37:19 Done.
+ }
+ },
});
////////////////////////////////////////////////////////////////////////////////
« no previous file with comments | « chrome/browser/resources/md_bookmarks/list.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698