@@ -299,6 +299,22 @@ function RemoteFunctions(config) {
299299 _handleDeleteOptionClick ( e , element ) ;
300300 }
301301 }
302+
303+ function _dragStartChores ( element ) {
304+ element . _originalDragOpacity = element . style . opacity ;
305+ element . style . opacity = 0.3 ;
306+ }
307+
308+
309+ function _dragEndChores ( element ) {
310+ if ( element . _originalDragOpacity ) {
311+ element . style . opacity = element . _originalDragOpacity ;
312+ } else {
313+ element . style . opacity = 1 ;
314+ }
315+ delete element . _originalDragOpacity ;
316+ }
317+
302318 /**
303319 * This is for the advanced DOM options that appears when a DOM element is clicked
304320 * advanced options like: 'select parent', 'duplicate', 'delete'
@@ -310,6 +326,36 @@ function RemoteFunctions(config) {
310326 }
311327
312328 NodeMoreOptionsBox . prototype = {
329+ _registerDragDrop : function ( ) {
330+ this . element . setAttribute ( "draggable" , true ) ;
331+
332+ this . element . addEventListener ( "dragstart" , ( event ) => {
333+ event . stopPropagation ( ) ;
334+ event . dataTransfer . setData ( "text/plain" , this . element . getAttribute ( "data-brackets-id" ) ) ;
335+ _dragStartChores ( this . element ) ;
336+ console . log ( "pluto- dragstart: " , this . element . getAttribute ( "data-brackets-id" ) ) ;
337+ } ) ;
338+
339+ this . element . addEventListener ( "dragover" , ( event ) => {
340+ event . preventDefault ( ) ;
341+ event . stopPropagation ( ) ;
342+ console . log ( "pluto- dragover" ) ;
343+ } ) ;
344+
345+ this . element . addEventListener ( "dragend" , ( event ) => {
346+ event . preventDefault ( ) ;
347+ event . stopPropagation ( ) ;
348+ _dragEndChores ( this . element ) ;
349+ console . log ( "pluto- dragend" ) ;
350+ } ) ;
351+
352+ this . element . addEventListener ( "drop" , ( event ) => {
353+ event . preventDefault ( ) ;
354+ event . stopPropagation ( ) ;
355+ console . log ( "pluto- drop" ) ;
356+ } ) ;
357+ } ,
358+
313359 _style : function ( ) {
314360 this . body = window . document . createElement ( "div" ) ;
315361
@@ -425,6 +471,8 @@ function RemoteFunctions(config) {
425471 this . remove ( ) ;
426472 } ) ;
427473 } ) ;
474+
475+ this . _registerDragDrop ( ) ;
428476 } ,
429477
430478 remove : function ( ) {
0 commit comments