Move items by dragging. No page reload
Moving media into a folder
From grid: Drag one or more selected media items and drop them onto a folder (folder card in the grid or folder row in the sidebar). The API is called to assign the media to that folder (e.g. set media_folder term). The list refreshes in place; the page does not reload.
From list view: Same idea: select rows and use "Move to folder" (dropdown) or drag if the list supports it. API + refresh.
Multiple selection: If you have several items selected, dropping onto a folder moves all of them in one batch request (or one-by-one with a single refresh at the end).
Moving folders
In the sidebar: Drag a folder and drop it onto "All Media" to move it to root (parent 0). Drag it onto another folder to make it a subfolder of that folder. API: updateFolder(id, { parent }). Tree and grid refresh; no full page reload.
In the grid: Dragging a folder card onto "All Media" (breadcrumb or sidebar) or onto another folder card does the same reparent. The grid updates so the folder appears in the new place.
Drop targets and feedback
Valid drop targets are highlighted when you drag over them (e.g. folder row/card gets a border or background). Dropping on empty grid area does nothing (or cancels). "All Media" is always a valid target to "unfolder" items.
Benefit: Reorganize media and folders quickly; everything updates in place so you don't lose your place or wait for a full reload.