mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-08 17:40:28 +00:00
fix: sort of completed tasks (#297)
This commit is contained in:
7 files changed
+25
-19
No files matched your search
@@ -3,5 +3,6 @@ import 'package:gopeed/app/modules/task/controllers/task_list_controller.dart';
|
||||
import '../../../../api/model/task.dart';
|
||||
|
||||
class TaskDownloadedController extends TaskListController {
|
||||
TaskDownloadedController() : super([Status.done], SortDirection.asc);
|
||||
TaskDownloadedController()
|
||||
: super([Status.done], (a, b) => b.updatedAt.compareTo(a.updatedAt));
|
||||
}
|
||||
@@ -9,5 +9,5 @@ class TaskDownloadingController extends TaskListController {
|
||||
Status.pause,
|
||||
Status.wait,
|
||||
Status.error
|
||||
], SortDirection.desc);
|
||||
], (a, b) => b.createdAt.compareTo(a.createdAt));
|
||||
}
|
||||
@@ -5,13 +5,11 @@ import 'package:get/get.dart';
|
||||
import '../../../../api/api.dart';
|
||||
import '../../../../api/model/task.dart';
|
||||
|
||||
enum SortDirection { asc, desc }
|
||||
|
||||
abstract class TaskListController extends GetxController {
|
||||
List<Status> statuses;
|
||||
SortDirection sortDirection;
|
||||
int Function(Task a, Task b) compare;
|
||||
|
||||
TaskListController(this.statuses, this.sortDirection);
|
||||
TaskListController(this.statuses, this.compare);
|
||||
|
||||
final tasks = <Task>[].obs;
|
||||
final isRunning = false.obs;
|
||||
@@ -48,13 +46,7 @@ abstract class TaskListController extends GetxController {
|
||||
getTasksState() async {
|
||||
final tasks = await getTasks(statuses);
|
||||
// sort tasks by create time
|
||||
tasks.sort((a, b) {
|
||||
if (sortDirection == SortDirection.asc) {
|
||||
return a.createdAt.compareTo(b.createdAt);
|
||||
} else {
|
||||
return b.createdAt.compareTo(a.createdAt);
|
||||
}
|
||||
});
|
||||
tasks.sort(compare);
|
||||
this.tasks.value = tasks;
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user