opt: select (#937)

This commit is contained in:
My-Responsitories
2025-08-05 13:41:37 +08:00
committed by GitHub
parent afb09e8a0a
commit 01552801f2
20 changed files with 425 additions and 595 deletions

View File

@@ -10,10 +10,7 @@ import 'package:get/get.dart';
class HistorySearchController
extends CommonSearchController<HistoryData, HistoryItemModel>
with
MultiSelectMixin<HistoryItemModel>,
CommonMultiSelectMixin,
DeleteItemMixin {
with CommonMultiSelectMixin<HistoryItemModel>, DeleteItemMixin {
@override
Future<LoadingState<HistoryData>> customGetData() => UserHttp.searchHistory(
pn: page,

View File

@@ -1,4 +1,3 @@
import 'package:PiliPlus/common/widgets/appbar/appbar.dart';
import 'package:PiliPlus/models_new/history/data.dart';
import 'package:PiliPlus/models_new/history/list.dart';
import 'package:PiliPlus/pages/common/common_search_page.dart';
@@ -29,31 +28,6 @@ class _HistorySearchPageState
tag: Utils.generateRandomString(8),
);
@override
Widget build(BuildContext context) {
// TODO: refa
return Obx(() {
final parent = super.build(context) as Scaffold;
final enableMultiSelect = controller.enableMultiSelect.value;
return PopScope(
canPop: !enableMultiSelect,
onPopInvokedWithResult: (didPop, result) {
if (enableMultiSelect) {
controller.handleSelect();
}
},
child: Scaffold(
resizeToAvoidBottomInset: parent.resizeToAvoidBottomInset,
appBar: MultiSelectAppBarWidget(
ctr: controller,
child: parent.appBar as AppBar,
),
body: parent.body,
),
);
});
}
@override
Widget buildList(List<HistoryItemModel> list) {
return SliverGrid(