Finished custom sorting of deliveries

This commit is contained in:
Dennis Nemec
2026-01-07 15:19:34 +01:00
parent 9111dc92db
commit 622967e5c1
8 changed files with 369 additions and 41 deletions

View File

@ -0,0 +1,54 @@
import 'package:flutter/cupertino.dart';
class SortingInformation {
String deliveryId;
int position;
SortingInformation({required this.deliveryId, required this.position});
static Map<String, dynamic> toJson(SortingInformation info) {
return {"delivery_id": info.deliveryId, "position": info.position};
}
static SortingInformation fromJson(Map<String, dynamic> json) {
return SortingInformation(
deliveryId: json["delivery_id"].toString(),
position: json["position"],
);
}
}
class SortingInformationContainer {
List<SortingInformation> sorting;
SortingInformationContainer({required this.sorting});
void sort() {
sorting.sort((a, b) => a.position.compareTo(b.position));
}
static SortingInformationContainer fromJson(Map<String, dynamic> json) {
SortingInformationContainer container = SortingInformationContainer(
sorting: [],
);
for (final info in json["sorting"]) {
container.sorting.add(SortingInformation.fromJson(info));
}
return container;
}
Map<String, dynamic> toJson() {
return {
"sorting":
sorting.map((info) => SortingInformation.toJson(info)).toList(),
};
}
SortingInformationContainer copyWith({List<SortingInformation>? sorting}) {
return SortingInformationContainer(
sorting: sorting ?? this.sorting,
);
}
}