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 efab6e96b883df797ce046c817ccc8074953e969..4388c78c8c3cddec8adcadf83d3e6ddb3dfd2fec 100644 |
| --- a/chrome/browser/resources/bookmark_manager/js/main.js |
| +++ b/chrome/browser/resources/bookmark_manager/js/main.js |
| @@ -1029,12 +1029,18 @@ function newFolder(opt_target) { |
| performGlobalUndo = null; // This can't be undone, so disable global undo. |
| var parentId = computeParentFolderForNewItem(); |
| - |
| + var selectedItem = bmm.list.selectedItem; |
| + var newIndex; |
| // Callback is called after tree and list data model updated. |
| function createFolder(callback) { |
| + if (selectedItem && document.activeElement != bmm.tree && |
| + !bmm.isFolder(selectedItem)) { |
| + newIndex = bmm.list.dataModel.indexOf(selectedItem) + 1; |
| + } |
| chrome.bookmarks.create({ |
| title: loadTimeData.getString('new_folder_name'), |
| - parentId: parentId |
| + parentId: parentId, |
| + index: newIndex |
| }, callback); |
| } |
| @@ -1048,8 +1054,12 @@ function newFolder(opt_target) { |
| } |
| function editNewFolderInList() { |
| - createFolder(function() { |
| + createFolder(function(newNode) { |
| var index = bmm.list.dataModel.length - 1; |
| + // Assigning the index of the newly added node. |
| + newIndex = newNode.index; |
| + if (newIndex != undefined) |
| + index = newIndex; |
|
xiyuan
2015/01/08 17:31:37
I think we can replace line 1058-1062 to just
va
Deepak
2015/01/09 04:20:07
Done.
|
| var sm = bmm.list.selectionModel; |
| sm.anchorIndex = sm.leadIndex = sm.selectedIndex = index; |
| scrollIntoViewAndMakeEditable(index); |
| @@ -1080,20 +1090,29 @@ function scrollIntoViewAndMakeEditable(index) { |
| */ |
| function addPage() { |
| var parentId = computeParentFolderForNewItem(); |
| - |
| + var selectedItem = bmm.list.selectedItem; |
| + var newIndex; |
| function editNewBookmark() { |
| + if (selectedItem && document.activeElement != bmm.tree && |
| + !bmm.isFolder(selectedItem)) { |
| + newIndex = bmm.list.dataModel.indexOf(selectedItem) + 1; |
| + } |
| + |
| var fakeNode = { |
| title: '', |
| url: '', |
| parentId: parentId, |
| + index: newIndex, |
| id: 'new' |
| }; |
| var dataModel = bmm.list.dataModel; |
| - var length = dataModel.length; |
| - dataModel.splice(length, 0, fakeNode); |
| + var index = dataModel.length; |
| + if (newIndex != undefined) |
| + index = newIndex; |
| + dataModel.splice(index, 0, fakeNode); |
| var sm = bmm.list.selectionModel; |
| - sm.anchorIndex = sm.leadIndex = sm.selectedIndex = length; |
| - scrollIntoViewAndMakeEditable(length); |
| + sm.anchorIndex = sm.leadIndex = sm.selectedIndex = index; |
| + scrollIntoViewAndMakeEditable(index); |
| }; |
| navigateTo(parentId, editNewBookmark); |