feat:增加待办排序UI功能
This commit is contained in:
@@ -15,9 +15,29 @@ class TodoService {
|
||||
}
|
||||
}
|
||||
|
||||
List<Todo> getAllTodos() {
|
||||
return box.values.toList()
|
||||
..sort((a, b) => b.updateTime.compareTo(a.updateTime));
|
||||
List<Todo> getAllTodos(TodoSortMode mode) {
|
||||
if (mode == TodoSortMode.time) {
|
||||
return box.values.toList()
|
||||
..sort((a, b) {
|
||||
// 先按是否有 dueDate 分组:有时间的排前面
|
||||
if (a.dueDate != null && b.dueDate == null) {
|
||||
return -1; // a有时间,b没有时间,a排在前面
|
||||
} else if (a.dueDate == null && b.dueDate != null) {
|
||||
return 1; // a没有时间,b有时间,b排在前面
|
||||
}
|
||||
// 都有 dueDate,按 dueDate 排序
|
||||
else if (a.dueDate != null && b.dueDate != null) {
|
||||
return a.dueDate!.compareTo(b.dueDate!); // 最近的在前面
|
||||
}
|
||||
// 都没有 dueDate,按 updateTime 排序
|
||||
else {
|
||||
return b.updateTime.compareTo(a.updateTime); // 最近的在前面
|
||||
}
|
||||
});
|
||||
} else {
|
||||
return box.values.toList()
|
||||
..sort((a, b) => b.priorityIndex.compareTo(a.priorityIndex));
|
||||
}
|
||||
}
|
||||
|
||||
List<Todo> getAllTodosByYear(int year) {
|
||||
|
||||
Reference in New Issue
Block a user