| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 cr.define('bookmarks', function() { | 5 cr.define('bookmarks', function() { |
| 6 /** | 6 /** |
| 7 * @param {BookmarkElement} element | 7 * @param {BookmarkElement} element |
| 8 * @return {boolean} | 8 * @return {boolean} |
| 9 */ | 9 */ |
| 10 function isBookmarkItem(element) { | 10 function isBookmarkItem(element) { |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 * @private | 321 * @private |
| 322 * @param {Event} e | 322 * @param {Event} e |
| 323 */ | 323 */ |
| 324 onDragStart_: function(e) { | 324 onDragStart_: function(e) { |
| 325 var dragElement = getBookmarkElement(e.path); | 325 var dragElement = getBookmarkElement(e.path); |
| 326 if (!dragElement) | 326 if (!dragElement) |
| 327 return; | 327 return; |
| 328 | 328 |
| 329 // Determine the selected bookmarks. | 329 // Determine the selected bookmarks. |
| 330 var state = bookmarks.Store.getInstance().data; | 330 var state = bookmarks.Store.getInstance().data; |
| 331 var draggedNodes = Object.keys(state.selection.items); | 331 var draggedNodes = Array.from(state.selection.items); |
| 332 | 332 |
| 333 if (isBookmarkFolderNode(dragElement) || | 333 if (isBookmarkFolderNode(dragElement) || |
| 334 draggedNodes.indexOf(dragElement.itemId) == -1) { | 334 draggedNodes.indexOf(dragElement.itemId) == -1) { |
| 335 // TODO(calamity): clear current selection. | 335 // TODO(calamity): clear current selection. |
| 336 draggedNodes = [dragElement.itemId]; | 336 draggedNodes = [dragElement.itemId]; |
| 337 } | 337 } |
| 338 | 338 |
| 339 e.preventDefault(); | 339 e.preventDefault(); |
| 340 | 340 |
| 341 // If we are dragging a single link, we can do the *Link* effect. | 341 // If we are dragging a single link, we can do the *Link* effect. |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 | 489 |
| 490 var validDropPositions = DropPosition.NONE; | 490 var validDropPositions = DropPosition.NONE; |
| 491 | 491 |
| 492 // Cannot drop above if the item above is already in the drag source. | 492 // Cannot drop above if the item above is already in the drag source. |
| 493 var previousElem = overElement.previousElementSibling; | 493 var previousElem = overElement.previousElementSibling; |
| 494 if (!previousElem || !dragInfo.isDraggingBookmark(previousElem.itemId)) | 494 if (!previousElem || !dragInfo.isDraggingBookmark(previousElem.itemId)) |
| 495 validDropPositions |= DropPosition.ABOVE; | 495 validDropPositions |= DropPosition.ABOVE; |
| 496 | 496 |
| 497 // Don't allow dropping below an expanded sidebar folder item since it is | 497 // Don't allow dropping below an expanded sidebar folder item since it is |
| 498 // confusing to the user anyway. | 498 // confusing to the user anyway. |
| 499 if (isOverFolderNode && !state.closedFolders[overElement.itemId] && | 499 if (isOverFolderNode && !state.closedFolders.has(overElement.itemId) && |
| 500 bookmarks.util.hasChildFolders(overElement.itemId, state.nodes)) { | 500 bookmarks.util.hasChildFolders(overElement.itemId, state.nodes)) { |
| 501 return validDropPositions; | 501 return validDropPositions; |
| 502 } | 502 } |
| 503 | 503 |
| 504 var nextElement = overElement.nextElementSibling; | 504 var nextElement = overElement.nextElementSibling; |
| 505 | 505 |
| 506 // The template element sits past the end of the last bookmark element. | 506 // The template element sits past the end of the last bookmark element. |
| 507 if (!isBookmarkItem(nextElement) && !isBookmarkFolderNode(nextElement)) | 507 if (!isBookmarkItem(nextElement) && !isBookmarkFolderNode(nextElement)) |
| 508 nextElement = null; | 508 nextElement = null; |
| 509 | 509 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 530 return !this.dragInfo_.isDraggingChildBookmark(overElement.itemId) | 530 return !this.dragInfo_.isDraggingChildBookmark(overElement.itemId) |
| 531 }, | 531 }, |
| 532 }; | 532 }; |
| 533 | 533 |
| 534 return { | 534 return { |
| 535 DNDManager: DNDManager, | 535 DNDManager: DNDManager, |
| 536 DragInfo: DragInfo, | 536 DragInfo: DragInfo, |
| 537 DropIndicator: DropIndicator, | 537 DropIndicator: DropIndicator, |
| 538 }; | 538 }; |
| 539 }); | 539 }); |
| OLD | NEW |