Chromium Code Reviews| Index: chrome/browser/resources/bookmark_manager/js/main.js |
| diff --git a/chrome/browser/resources/bookmark_manager/js/main.js b/chrome/browser/resources/bookmark_manager/js/main.js |
| index cf3c7fca2b0edb94105530bb9c73f982da5c516c..ed1903d50f48c88eeee697fa0faa34e0d0b18683 100644 |
| --- a/chrome/browser/resources/bookmark_manager/js/main.js |
| +++ b/chrome/browser/resources/bookmark_manager/js/main.js |
| @@ -154,12 +154,51 @@ function updateParentId(id) { |
| // the user goes back and forward in the history. |
| window.onhashchange = function(e) { |
| var id = window.location.hash.slice(1); |
| + if (!id) { |
| + // If we do not have a hash select first item in the tree. |
| + id = tree.items[0].bookmarkId; |
| + } |
| var valid = false; |
| + if (/^e=/.test(id)) { |
| + var editId = id.slice(2); |
|
Rick Byers
2011/08/04 18:26:07
This 'slice' line is duplicated in 3 places now.
flackr
2011/08/12 18:11:24
Done. In the case of q= the id is not changed.
Rick Byers
2011/08/15 14:59:41
Ah, I missed this subtlety. Thanks for adding com
|
| + // If hash contains e= edit the item specified. |
| + chrome.bookmarks.get(editId, function(bookmarkNodes) { |
| + // Verify the node to edit is a valid node. |
| + if (!bookmarkNodes || bookmarkNodes.length != 1) |
| + return; |
| + var bookmarkNode = bookmarkNodes[0]; |
| + // After the list reloads edit the desired bookmark. |
| + var f = function(e) { |
|
Rick Byers
2011/08/04 18:26:07
This add/remove pattern is duplicated often enough
Rick Byers
2011/08/04 18:26:07
Should probably use a variable name more descripti
flackr
2011/08/12 18:11:24
Done.
flackr
2011/08/12 18:11:24
Done.
|
| + var index; |
| + if ((index = list.dataModel.findIndexById(bookmarkNode.id)) != -1) { |
| + var sm = list.selectionModel; |
| + sm.anchorIndex = sm.leadIndex = sm.selectedIndex = index; |
| + scrollIntoViewAndMakeEditable(index); |
| + } |
| + list.removeEventListener('load', f); |
| + } |
| + list.addEventListener('load', f); |
| - // In case we got a search hash update the text input and the bmm.treeLookup |
| - // to use the new id. |
| - if (/^q=/.test(id)) { |
| + // Navigate to the parent folder of the node to edit and call function. |
|
Rick Byers
2011/08/04 18:26:07
I find this a little confusing (especially given t
flackr
2011/08/12 18:11:24
Done.
|
| + if (list.parentId == bookmarkNode.parentId) |
| + f(); |
| + else |
| + updateParentId(bookmarkNode.parentId); |
| + }); |
| + // We need more information before we know which folder to navigate to. |
|
Rick Byers
2011/08/04 18:26:07
What is this comment referring to? The delayed ca
flackr
2011/08/12 18:11:24
Done.
|
| + return; |
| + } else if (/^a=/.test(id)) { |
| + id = id.slice(2); |
| + // After the list reloads add the desired bookmark. |
| + var f = function(e) { |
| + addPage(); |
| + list.removeEventListener('load', f); |
| + } |
|
arv (Not doing code reviews)
2011/08/11 22:32:22
missing semicolon
flackr
2011/08/12 18:11:24
Done.
|
| + list.addEventListener('load', f); |
| + } else if (/^q=/.test(id)) { |
| + // In case we got a search hash update the text input and the |
| + // bmm.treeLookup to use the new id. |
| setSearch(id.slice(2)); |
| valid = true; |
| } else if (id == 'recent') { |
| @@ -347,21 +386,8 @@ function getFolder(parentId) { |
| tree.addEventListener('load', function(e) { |
| // Add hard coded tree items |
| tree.add(recentTreeItem); |
| - |
| - // Now we can select a tree item. |
| - var hash = window.location.hash.slice(1); |
| - if (!hash) { |
| - // If we do not have a hash select first item in the tree. |
| - hash = tree.items[0].bookmarkId; |
| - } |
| - |
| - if (/^q=/.test(hash)) { |
| - var searchTerm = hash.slice(2); |
| - $('term').value = searchTerm; |
| - setSearch(searchTerm); |
| - } else { |
| - navigateTo(hash); |
| - } |
| + // Call onhashchange to navigate to hash location. |
| + window.onhashchange(); |
|
Rick Byers
2011/08/04 18:26:07
Technically I'd consider it invalid to call this e
arv (Not doing code reviews)
2011/08/11 22:32:22
Yeah, don't do this. Just do what Rick suggested.
flackr
2011/08/12 18:11:24
Done.
|
| }); |
| tree.reload(); |