Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 463 else if (document.activeElement == bmm.tree) | 463 else if (document.activeElement == bmm.tree) |
| 464 cmd = 'paste-from-folders-menu-command'; | 464 cmd = 'paste-from-folders-menu-command'; |
| 465 | 465 |
| 466 if (cmd) | 466 if (cmd) |
| 467 update('paste-from-context-menu-command', !$(cmd).disabled); | 467 update('paste-from-context-menu-command', !$(cmd).disabled); |
| 468 | 468 |
| 469 if (opt_f) opt_f(); | 469 if (opt_f) opt_f(); |
| 470 }); | 470 }); |
| 471 } | 471 } |
| 472 | 472 |
| 473 function handleCanExecuteForSearchBox(e) { | |
| 474 var command = e.command; | |
| 475 switch (command.id) { | |
| 476 case 'delete-command': | |
| 477 case 'undo-command': | |
| 478 // Do nothing when delete is selected in search box. | |
| 479 // Pass the undo command through (fixes http://crbug.com/278112). | |
| 480 // Otherwise, because the global undo command has no visible UI, always | |
|
Bernhard Bauer
2015/04/15 14:54:45
Remove this sentence (see my comment above).
Deepak
2015/04/15 15:04:15
Done.
| |
| 481 // enable it, and just make it a no-op if undo is not possible. | |
| 482 e.canExecute = false; | |
| 483 break; | |
| 484 } | |
| 485 } | |
| 486 | |
| 473 function handleCanExecuteForDocument(e) { | 487 function handleCanExecuteForDocument(e) { |
| 474 var command = e.command; | 488 var command = e.command; |
| 475 switch (command.id) { | 489 switch (command.id) { |
| 476 case 'import-menu-command': | 490 case 'import-menu-command': |
| 477 e.canExecute = canEdit; | 491 e.canExecute = canEdit; |
| 478 break; | 492 break; |
| 479 | 493 |
| 480 case 'export-menu-command': | 494 case 'export-menu-command': |
| 481 // We can always execute the export-menu command. | 495 // We can always execute the export-menu command. |
| 482 e.canExecute = true; | 496 e.canExecute = true; |
| 483 break; | 497 break; |
| 484 | 498 |
| 485 case 'sort-command': | 499 case 'sort-command': |
| 486 e.canExecute = !bmm.list.isSearch() && | 500 e.canExecute = !bmm.list.isSearch() && |
| 487 bmm.list.dataModel && bmm.list.dataModel.length > 1 && | 501 bmm.list.dataModel && bmm.list.dataModel.length > 1 && |
| 488 !isUnmodifiable(bmm.tree.getBookmarkNodeById(bmm.list.parentId)); | 502 !isUnmodifiable(bmm.tree.getBookmarkNodeById(bmm.list.parentId)); |
| 489 break; | 503 break; |
| 490 | 504 |
| 491 case 'undo-command': | |
| 492 // If the search box is active, pass the undo command through | |
| 493 // (fixes http://crbug.com/278112). Otherwise, because | |
| 494 // the global undo command has no visible UI, always enable it, and | |
| 495 // just make it a no-op if undo is not possible. | |
| 496 e.canExecute = e.currentTarget.activeElement !== $('term'); | |
|
Bernhard Bauer
2015/04/15 14:54:45
For the undo command we need to keep the behavior
Deepak
2015/04/15 15:04:14
Done.
| |
| 497 break; | |
| 498 | |
| 499 default: | 505 default: |
| 500 canExecuteForList(e); | 506 canExecuteForList(e); |
| 501 if (!e.defaultPrevented) | 507 if (!e.defaultPrevented) |
| 502 canExecuteForTree(e); | 508 canExecuteForTree(e); |
| 503 break; | 509 break; |
| 504 } | 510 } |
| 505 } | 511 } |
| 506 | 512 |
| 507 /** | 513 /** |
| 508 * Helper function for handling canExecute for the list and the tree. | 514 * Helper function for handling canExecute for the list and the tree. |
| (...skipping 948 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1457 // when // the user goes back and forward in the history. | 1463 // when // the user goes back and forward in the history. |
| 1458 window.addEventListener('hashchange', processHash); | 1464 window.addEventListener('hashchange', processHash); |
| 1459 | 1465 |
| 1460 document.querySelector('header form').onsubmit = | 1466 document.querySelector('header form').onsubmit = |
| 1461 /** @type {function(Event=)} */(function(e) { | 1467 /** @type {function(Event=)} */(function(e) { |
| 1462 setSearch($('term').value); | 1468 setSearch($('term').value); |
| 1463 e.preventDefault(); | 1469 e.preventDefault(); |
| 1464 }); | 1470 }); |
| 1465 | 1471 |
| 1466 $('term').addEventListener('search', handleSearch); | 1472 $('term').addEventListener('search', handleSearch); |
| 1473 $('term').addEventListener('canExecute', handleCanExecuteForSearchBox); | |
| 1467 | 1474 |
| 1468 $('folders-button').addEventListener('click', handleMenuButtonClicked); | 1475 $('folders-button').addEventListener('click', handleMenuButtonClicked); |
| 1469 $('organize-button').addEventListener('click', handleMenuButtonClicked); | 1476 $('organize-button').addEventListener('click', handleMenuButtonClicked); |
| 1470 | 1477 |
| 1471 document.addEventListener('canExecute', handleCanExecuteForDocument); | 1478 document.addEventListener('canExecute', handleCanExecuteForDocument); |
| 1472 document.addEventListener('command', handleCommand); | 1479 document.addEventListener('command', handleCommand); |
| 1473 | 1480 |
| 1474 // Listen to copy, cut and paste events and execute the associated commands. | 1481 // Listen to copy, cut and paste events and execute the associated commands. |
| 1475 installEventHandlerForCommand('copy', 'copy-command'); | 1482 installEventHandlerForCommand('copy', 'copy-command'); |
| 1476 installEventHandlerForCommand('cut', 'cut-command'); | 1483 installEventHandlerForCommand('cut', 'cut-command'); |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 1506 | 1513 |
| 1507 cr.ui.FocusOutlineManager.forDocument(document); | 1514 cr.ui.FocusOutlineManager.forDocument(document); |
| 1508 initializeSplitter(); | 1515 initializeSplitter(); |
| 1509 bmm.addBookmarkModelListeners(); | 1516 bmm.addBookmarkModelListeners(); |
| 1510 dnd.init(selectItemsAfterUserAction); | 1517 dnd.init(selectItemsAfterUserAction); |
| 1511 bmm.tree.reload(); | 1518 bmm.tree.reload(); |
| 1512 } | 1519 } |
| 1513 | 1520 |
| 1514 initializeBookmarkManager(); | 1521 initializeBookmarkManager(); |
| 1515 })(); | 1522 })(); |
| OLD | NEW |