Files

23 lines
423 B
Dart

List<String> reorderList(List<String> old, int oldIndex, int newIndex) {
List<String> tmp = [...old];
int newIndexCalc = newIndex - 1;
if (newIndex < oldIndex) {
newIndexCalc = newIndex;
}
if (newIndex == old.length) {
newIndexCalc = old.length - 1;
}
if (newIndex == 0) {
newIndexCalc = 0;
}
String oldItem = tmp.removeAt(oldIndex);
tmp.insert(newIndexCalc, oldItem);
return tmp;
}