mirror of
https://github.com/atom/atom.git
synced 2026-01-22 21:38:10 -05:00
Dragging a tab from one pane to another clears all placement markers
Closes #528
This commit is contained in:
@@ -95,8 +95,7 @@ class TabBarView extends View
|
||||
|
||||
onDragEnd: (event) =>
|
||||
@find(".is-dragging").removeClass 'is-dragging'
|
||||
@children('.is-drop-target').removeClass 'is-drop-target'
|
||||
@children('.drop-target-is-after').removeClass 'drop-target-is-after'
|
||||
@removeDropTargetClasses()
|
||||
|
||||
onDragOver: (event) =>
|
||||
unless event.originalEvent.dataTransfer.getData('atom-event') is 'true'
|
||||
@@ -104,18 +103,16 @@ class TabBarView extends View
|
||||
event.stopPropagation()
|
||||
return
|
||||
|
||||
@removeDropTargetClasses()
|
||||
|
||||
event.preventDefault()
|
||||
currentDropTargetIndex = @find(".is-drop-target").index()
|
||||
newDropTargetIndex = @getDropTargetIndex(event)
|
||||
|
||||
if newDropTargetIndex != currentDropTargetIndex
|
||||
@children().removeClass 'is-drop-target drop-target-is-after'
|
||||
sortableObjects = @find(".sortable")
|
||||
if newDropTargetIndex < sortableObjects.length
|
||||
sortableObjects.eq(newDropTargetIndex).addClass 'is-drop-target'
|
||||
else
|
||||
sortableObjects.eq(newDropTargetIndex - 1).addClass 'drop-target-is-after'
|
||||
|
||||
sortableObjects = @find(".sortable")
|
||||
if newDropTargetIndex < sortableObjects.length
|
||||
sortableObjects.eq(newDropTargetIndex).addClass 'is-drop-target'
|
||||
else
|
||||
sortableObjects.eq(newDropTargetIndex - 1).addClass 'drop-target-is-after'
|
||||
|
||||
onDrop: (event) =>
|
||||
unless event.originalEvent.dataTransfer.getData('atom-event') is 'true'
|
||||
@@ -123,6 +120,9 @@ class TabBarView extends View
|
||||
event.stopPropagation()
|
||||
return
|
||||
|
||||
@find(".is-dragging").removeClass 'is-dragging'
|
||||
@removeDropTargetClasses()
|
||||
|
||||
event.stopPropagation()
|
||||
|
||||
dataTransfer = event.originalEvent.dataTransfer
|
||||
@@ -142,6 +142,11 @@ class TabBarView extends View
|
||||
toPane.showItem(item)
|
||||
toPane.focus()
|
||||
|
||||
removeDropTargetClasses: ->
|
||||
console.log rootView.find('.tabs .is-drop-target').length
|
||||
rootView.find('.tabs .is-drop-target').removeClass 'is-drop-target'
|
||||
rootView.find('.tabs .drop-target-is-after').removeClass 'drop-target-is-after'
|
||||
|
||||
getDropTargetIndex: (event) ->
|
||||
el = $(event.target).closest('.sortable')
|
||||
el = $(event.target).find('.sortable').last() if el.length == 0
|
||||
|
||||
Reference in New Issue
Block a user