任务列表排序

This commit is contained in:
jyuesong
2022-05-27 09:59:15 +08:00
parent 6716456b04
commit 9a27ae8e69

View File

@@ -6,6 +6,13 @@ import 'package:qinglong_app/module/task/task_bean.dart';
import 'package:qinglong_app/utils/extension.dart';
var taskProvider = ChangeNotifierProvider((ref) => TaskViewModel());
Map<int, int> sort = {
0: 0,
5: 1,
3: 2,
1: 3,
4: 4,
};
class TaskViewModel extends BaseViewModel {
List<TaskBean> list = [];
@@ -33,12 +40,12 @@ class TaskViewModel extends BaseViewModel {
}
void sortList() {
for (int i = 0; i < list.length; i++) {
if (list[i].isPinned == 1) {
final TaskBean item = list.removeAt(i);
list.insert(0, item);
}
}
list.sort((TaskBean a, TaskBean b) {
int? sortA = (a.isPinned == 1 && a.status != 0) ? 5 : ((a.isDisabled == 1 && a.status != 0) ? 4 : a.status);
int? sortB = (b.isPinned == 1 && b.status != 0) ? 5 : ((b.isDisabled == 1 && b.status != 0) ? 4 : b.status);
return sort[sortA!]! - sort[sortB!]!;
});
running.clear();
running.addAll(list.where((element) => element.status == 0));