An Aurelia repeater supports drag & drop reordering automatically.
https://buttonwoodcx.github.io/doc-bcx-aurelia-dnd/reorderable-repeat
npm i bcx-aurelia-reorderable-repeat
or yarn add bcx-aurelia-reorderable-repeat
In your main.js file
aurelia.use.plugin(PLATFORM.moduleName('bcx-aurelia-reorderable-repeat'));
Simply use reorderable-repeat.for="item of items"
in your view template. That's it!