Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 Polymer({ | 5 Polymer({ |
| 6 is: 'bookmarks-folder-node', | 6 is: 'bookmarks-folder-node', |
| 7 | 7 |
| 8 behaviors: [ | 8 behaviors: [ |
| 9 bookmarks.StoreClient, | 9 bookmarks.StoreClient, |
| 10 ], | 10 ], |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 78 return this.depth == 0; | 78 return this.depth == 0; |
| 79 }, | 79 }, |
| 80 | 80 |
| 81 /** | 81 /** |
| 82 * @private | 82 * @private |
| 83 * @param {!Event} e | 83 * @param {!Event} e |
| 84 */ | 84 */ |
| 85 onKeydown_: function(e) { | 85 onKeydown_: function(e) { |
| 86 var direction = 0; | 86 var direction = 0; |
| 87 var handled = true; | 87 var handled = true; |
| 88 // TODO(calamity): Handle left/right arrow keys. | |
| 89 if (e.key == 'ArrowUp') { | 88 if (e.key == 'ArrowUp') { |
| 90 direction = -1; | 89 direction = -1; |
| 91 } else if (e.key == 'ArrowDown') { | 90 } else if (e.key == 'ArrowDown') { |
| 92 direction = 1; | 91 direction = 1; |
| 92 } else if (e.key == 'ArrowRight') { | |
|
tsergeant
2017/05/05 01:31:07
These shortcuts need to flip in RTL.
calamity
2017/05/09 03:45:35
Done.
| |
| 93 // The right arrow opens a folder if closed and goes to the first child | |
| 94 // otherwise. | |
| 95 if (this.hasChildFolder_()) { | |
| 96 if (this.isClosed_) { | |
| 97 this.dispatch( | |
| 98 bookmarks.actions.changeFolderOpen(this.item_.id, true)); | |
| 99 } else { | |
| 100 direction = 1; | |
| 101 } | |
| 102 } | |
| 103 } else if (e.key == 'ArrowLeft') { | |
| 104 // The left arrow closes a folder if open and goes to the parent | |
| 105 // otherwise. | |
| 106 if (this.hasChildFolder_() && !this.isClosed_) { | |
| 107 this.dispatch(bookmarks.actions.changeFolderOpen(this.item_.id, false)); | |
| 108 } else { | |
| 109 var parentFolderNode = this.getParentFolderNode_(); | |
| 110 if (parentFolderNode.itemId != ROOT_NODE_ID) { | |
| 111 parentFolderNode.selectFolder_(); | |
| 112 parentFolderNode.getFocusTarget().focus(); | |
| 113 } | |
| 114 } | |
| 93 } else { | 115 } else { |
| 94 handled = false; | 116 handled = false; |
| 95 } | 117 } |
| 96 | 118 |
| 97 if (direction) | 119 if (direction) |
| 98 this.changeKeyboardSelection_(direction, this.root.activeElement); | 120 this.changeKeyboardSelection_(direction, this.root.activeElement); |
| 99 | 121 |
| 100 if (!handled) | 122 if (!handled) |
| 101 return; | 123 return; |
| 102 | 124 |
| (...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 292 }, | 314 }, |
| 293 | 315 |
| 294 /** | 316 /** |
| 295 * @private | 317 * @private |
| 296 * @return {string} | 318 * @return {string} |
| 297 */ | 319 */ |
| 298 getTabIndex_: function() { | 320 getTabIndex_: function() { |
| 299 return this.isSelectedFolder_ ? '0' : ''; | 321 return this.isSelectedFolder_ ? '0' : ''; |
| 300 }, | 322 }, |
| 301 }); | 323 }); |
| OLD | NEW |