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

Side by Side Diff: chrome/browser/resources/bookmark_manager/js/main.js

Issue 1058873009: Bookmark manager: Pass in explicit targets to the delete and rename commands. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | ui/webui/resources/js/cr/ui/menu.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 (function() { 5 (function() {
6 /** @const */ var BookmarkList = bmm.BookmarkList; 6 /** @const */ var BookmarkList = bmm.BookmarkList;
7 /** @const */ var BookmarkTree = bmm.BookmarkTree; 7 /** @const */ var BookmarkTree = bmm.BookmarkTree;
8 /** @const */ var Command = cr.ui.Command; 8 /** @const */ var Command = cr.ui.Command;
9 /** @const */ var LinkKind = cr.LinkKind; 9 /** @const */ var LinkKind = cr.LinkKind;
10 /** @const */ var ListItem = cr.ui.ListItem; 10 /** @const */ var ListItem = cr.ui.ListItem;
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after
1011 function computeParentFolderForNewItem() { 1011 function computeParentFolderForNewItem() {
1012 if (document.activeElement == bmm.tree) 1012 if (document.activeElement == bmm.tree)
1013 return bmm.list.parentId; 1013 return bmm.list.parentId;
1014 var selectedItem = bmm.list.selectedItem; 1014 var selectedItem = bmm.list.selectedItem;
1015 return selectedItem && bmm.isFolder(selectedItem) ? 1015 return selectedItem && bmm.isFolder(selectedItem) ?
1016 selectedItem.id : bmm.list.parentId; 1016 selectedItem.id : bmm.list.parentId;
1017 } 1017 }
1018 1018
1019 /** 1019 /**
1020 * Callback for rename folder and edit command. This starts editing for 1020 * Callback for rename folder and edit command. This starts editing for
1021 * selected item. 1021 * the passed in target, or the selected item.
1022 * @param {EventTarget=} opt_target The target to start editing. If absent or
1023 * null, the selected item will be edited instead.
1022 */ 1024 */
1023 function editSelectedItem() { 1025 function editItem(opt_target) {
1024 if (document.activeElement == bmm.tree) { 1026 if ((opt_target || document.activeElement) == bmm.tree) {
1025 bmm.tree.selectedItem.editing = true; 1027 bmm.tree.selectedItem.editing = true;
1026 } else { 1028 } else {
1027 var li = bmm.list.getListItem(bmm.list.selectedItem); 1029 var li = bmm.list.getListItem(bmm.list.selectedItem);
1028 if (li) 1030 if (li)
1029 li.editing = true; 1031 li.editing = true;
1030 } 1032 }
1031 } 1033 }
1032 1034
1033 /** 1035 /**
1034 * Callback for the new folder command. This creates a new folder and starts 1036 * Callback for the new folder command. This creates a new folder and starts
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 case 'open-incognito-window-command': 1301 case 'open-incognito-window-command':
1300 recordUserAction('OpenIncognito'); 1302 recordUserAction('OpenIncognito');
1301 openBookmarks(LinkKind.INCOGNITO, 1303 openBookmarks(LinkKind.INCOGNITO,
1302 assertInstanceof(e.target, HTMLElement)); 1304 assertInstanceof(e.target, HTMLElement));
1303 break; 1305 break;
1304 1306
1305 case 'delete-from-folders-menu-command': 1307 case 'delete-from-folders-menu-command':
1306 target = bmm.tree; 1308 target = bmm.tree;
1307 case 'delete-command': 1309 case 'delete-command':
1308 recordUserAction('Delete'); 1310 recordUserAction('Delete');
1309 deleteBookmarks(target); 1311 deleteBookmarks(target || assertInstanceof(e.target, HTMLElement));
1310 break; 1312 break;
1311 1313
1312 case 'copy-from-folders-menu-command': 1314 case 'copy-from-folders-menu-command':
1313 target = bmm.tree; 1315 target = bmm.tree;
1314 case 'copy-command': 1316 case 'copy-command':
1315 recordUserAction('Copy'); 1317 recordUserAction('Copy');
1316 chrome.bookmarkManagerPrivate.copy(getSelectedBookmarkIds(target), 1318 chrome.bookmarkManagerPrivate.copy(getSelectedBookmarkIds(target),
1317 updatePasteCommand); 1319 updatePasteCommand);
1318 break; 1320 break;
1319 1321
(...skipping 19 matching lines...) Expand all
1339 case 'paste-from-context-menu-command': 1341 case 'paste-from-context-menu-command':
1340 pasteBookmark(getSelectedId()); 1342 pasteBookmark(getSelectedId());
1341 break; 1343 break;
1342 1344
1343 case 'sort-command': 1345 case 'sort-command':
1344 recordUserAction('Sort'); 1346 recordUserAction('Sort');
1345 chrome.bookmarkManagerPrivate.sortChildren(bmm.list.parentId); 1347 chrome.bookmarkManagerPrivate.sortChildren(bmm.list.parentId);
1346 break; 1348 break;
1347 1349
1348 case 'rename-folder-command': 1350 case 'rename-folder-command':
1349 editSelectedItem(); 1351 editItem(assertInstanceof(e.target, HTMLElement));
1350 break; 1352 break;
1351 1353
1352 case 'rename-folder-from-folders-menu-command': 1354 case 'rename-folder-from-folders-menu-command':
1353 bmm.tree.selectedItem.editing = true; 1355 target = bmm.tree;
1354 break; 1356 // Fall through.
1355
1356 case 'edit-command': 1357 case 'edit-command':
1357 recordUserAction('Edit'); 1358 recordUserAction('Edit');
1358 editSelectedItem(); 1359 editItem(target);
Dan Beam 2015/04/17 19:26:33 what happens if target is undefined? seems entire
Bernhard Bauer 2015/04/17 21:46:51 Yup, that's intended here. editItem() will fall ba
Dan Beam 2015/04/17 23:35:16 ok, thanks for explaining
1359 break; 1360 break;
Dan Beam 2015/04/17 19:26:33 nit: maybe: case 'edit-command': recordUser
Bernhard Bauer 2015/04/17 21:46:51 That won't work, because for edit we want to pass
Dan Beam 2015/04/17 23:35:16 yeah, that's fine
Bernhard Bauer 2015/04/20 07:40:17 Ok, done.
1360 1361
1361 case 'new-folder-from-folders-menu-command': 1362 case 'new-folder-from-folders-menu-command':
1362 target = bmm.tree; 1363 target = bmm.tree;
1363 case 'new-folder-command': 1364 case 'new-folder-command':
1364 recordUserAction('NewFolder'); 1365 recordUserAction('NewFolder');
1365 newFolder(target); 1366 newFolder(target);
1366 break; 1367 break;
1367 1368
1368 case 'add-new-bookmark-command': 1369 case 'add-new-bookmark-command':
1369 recordUserAction('AddPage'); 1370 recordUserAction('AddPage');
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
1517 1518
1518 cr.ui.FocusOutlineManager.forDocument(document); 1519 cr.ui.FocusOutlineManager.forDocument(document);
1519 initializeSplitter(); 1520 initializeSplitter();
1520 bmm.addBookmarkModelListeners(); 1521 bmm.addBookmarkModelListeners();
1521 dnd.init(selectItemsAfterUserAction); 1522 dnd.init(selectItemsAfterUserAction);
1522 bmm.tree.reload(); 1523 bmm.tree.reload();
1523 } 1524 }
1524 1525
1525 initializeBookmarkManager(); 1526 initializeBookmarkManager();
1526 })(); 1527 })();
OLDNEW
« no previous file with comments | « no previous file | ui/webui/resources/js/cr/ui/menu.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698