@@ -64,15 +64,16 @@ export default function (mind: MindElixirInstance) {
6464 }
6565 if ( mind . currentNodes ) {
6666 dragged = mind . currentNodes
67- ghost . innerHTML = mind . currentNodes . length + ' nodes '
67+ ghost . innerHTML = mind . currentNodes . length + ''
6868 } else {
6969 dragged = [ target ]
7070 ghost . innerHTML = target . innerHTML
7171 }
7272 for ( const node of dragged ) {
7373 node . parentElement . parentElement . style . opacity = '0.5'
7474 }
75- e . dataTransfer ?. setDragImage ( ghost , 0 , 0 )
75+ e . dataTransfer ! . setDragImage ( ghost , 0 , 0 )
76+ e . dataTransfer ! . dropEffect = 'move'
7677 dragMoveHelper . clear ( )
7778 } )
7879
@@ -95,36 +96,34 @@ export default function (mind: MindElixirInstance) {
9596 dragged = null
9697 } )
9798
98- mind . map . addEventListener (
99- 'dragover' ,
100- throttle ( function ( e : DragEvent ) {
101- if ( ! dragged ) return
102- clearPreview ( meet )
103- // minus threshold infer that postion of the cursor is above topic
104- const topMeet = $d . elementFromPoint ( e . clientX , e . clientY - threshold ) as Topic
105- if ( canMove ( topMeet , dragged ) ) {
106- meet = topMeet
107- const y = topMeet . getBoundingClientRect ( ) . y
108- if ( e . clientY > y + topMeet . clientHeight ) {
109- insertTpye = 'after'
99+ mind . map . addEventListener ( 'dragover' , function ( e : DragEvent ) {
100+ e . preventDefault ( )
101+ if ( ! dragged ) return
102+ clearPreview ( meet )
103+ // minus threshold infer that postion of the cursor is above topic
104+ const topMeet = $d . elementFromPoint ( e . clientX , e . clientY - threshold ) as Topic
105+ if ( canMove ( topMeet , dragged ) ) {
106+ meet = topMeet
107+ const y = topMeet . getBoundingClientRect ( ) . y
108+ if ( e . clientY > y + topMeet . clientHeight ) {
109+ insertTpye = 'after'
110+ } else {
111+ insertTpye = 'in'
112+ }
113+ } else {
114+ const bottomMeet = $d . elementFromPoint ( e . clientX , e . clientY + threshold ) as Topic
115+ if ( canMove ( bottomMeet , dragged ) ) {
116+ meet = bottomMeet
117+ const y = bottomMeet . getBoundingClientRect ( ) . y
118+ if ( e . clientY < y ) {
119+ insertTpye = 'before'
110120 } else {
111121 insertTpye = 'in'
112122 }
113123 } else {
114- const bottomMeet = $d . elementFromPoint ( e . clientX , e . clientY + threshold ) as Topic
115- if ( canMove ( bottomMeet , dragged ) ) {
116- meet = bottomMeet
117- const y = bottomMeet . getBoundingClientRect ( ) . y
118- if ( e . clientY < y ) {
119- insertTpye = 'before'
120- } else {
121- insertTpye = 'in'
122- }
123- } else {
124- insertTpye = meet = null
125- }
124+ insertTpye = meet = null
126125 }
127- if ( meet ) insertPreview ( meet , insertTpye )
128- } , 100 )
129- )
126+ }
127+ if ( meet ) insertPreview ( meet , insertTpye )
128+ } )
130129}
0 commit comments