You’re going to need to do something like this :
https://anvil.works/build#clone:YTXE5RIVLZHP3B2W=XE2TL2GZDTXR2IVNSUYT7ZPZ
This sets the draggable stuff on the form itself, so each group of components you want to drag and drop would need to be in a custom form.
Watch the console in the inspector to see the events. Then you’ll need to use the callback from JS to Anvil to fire form events.
The main problem which I’ve yet to tackle (which I think might be the real sticking point) is how to uniquely identify the component being dragged (from an Anvil perspective). You can’t set the #id unless you are creating them in html (well, no that I can see yet anyway), and using roles to add classes limits you.
It’s flawed (and it’s late) but it passed an hour 
I’ll probably look at this again tomorrow…