DnD w evo-ui to wspolny kontrakt dla powierzchni reorder w modulach managera: taby, zagniezdzone pola, tabele i opcje w modalach. Kanoniczny kontrakt techniczny jest w DnD And Reorder Contract oraz DnD Implementation Guide.
x-evo::reorder-raildla strzalek gora/dol i drag handle.x-evo::dnd-option-listorazx-evo::dnd-option-rowdla opcji value/label.- CSS dla
.evo-ui-dnd-row,.evo-ui-dnd-group-row,.evo-ui-dnd-option-row, placeholderow i compact actions. - Native JavaScript runtime
window.EvoUI.initDnd(...).
- Stabilne
_uiddla tabow, wierszy i opcji. - Metody Livewire, np.
sortTabByUid,sortFieldByUid,sortOptionByUid. - Zapis schematu, uprawnienia i walidacja domenowa.
Dla opcji w modalu handle jest immediate native drag starter, a wiersz pozostaje zrodlem payload/drop target. Nie pozwalaj inputom zostac drag source.
<x-evo::dnd-option-list method="sortOptionByUid">
<x-evo::dnd-option-row
:uid="$option['_uid']"
:index="$index"
option-value="{{ $option['value'] }}"
option-label="{{ $option['label'] }}"
/>
</x-evo::dnd-option-list>Po migracji sprawdz drag miedzy wierszami, drag miedzy tabami, reczne strzalki, save dirty state i modal z wieloma opcjami.