mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-16 07:06:14 +08:00
opt: multiSelect (#935)
This commit is contained in:
committed by
GitHub
parent
d246462535
commit
7b51f15753
@@ -1,12 +1,19 @@
|
||||
import 'package:PiliPlus/common/widgets/dialog/dialog.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/http/user.dart';
|
||||
import 'package:PiliPlus/models_new/history/data.dart';
|
||||
import 'package:PiliPlus/models_new/history/list.dart';
|
||||
import 'package:PiliPlus/pages/common/common_search_controller.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class HistorySearchController
|
||||
extends CommonSearchController<HistoryData, HistoryItemModel> {
|
||||
extends CommonSearchController<HistoryData, HistoryItemModel>
|
||||
with
|
||||
MultiSelectMixin<HistoryItemModel>,
|
||||
CommonMultiSelectMixin,
|
||||
DeleteItemMixin {
|
||||
@override
|
||||
Future<LoadingState<HistoryData>> customGetData() => UserHttp.searchHistory(
|
||||
pn: page,
|
||||
@@ -18,12 +25,14 @@ class HistorySearchController
|
||||
return response.list;
|
||||
}
|
||||
|
||||
Future<void> onDelHistory(int index, kid, business) async {
|
||||
String resKid = 'archive_$kid';
|
||||
Future<void> onDelHistory(int index, kid, String business) async {
|
||||
final String resKid;
|
||||
if (business == 'live') {
|
||||
resKid = 'live_$kid';
|
||||
} else if (business.contains('article')) {
|
||||
resKid = 'article_$kid';
|
||||
} else {
|
||||
resKid = 'archive_$kid';
|
||||
}
|
||||
|
||||
var res = await UserHttp.delHistory([resKid]);
|
||||
@@ -34,4 +43,26 @@ class HistorySearchController
|
||||
}
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
|
||||
@override
|
||||
void onConfirm() {
|
||||
showConfirmDialog(
|
||||
context: Get.context!,
|
||||
content: '确认删除所选历史记录吗?',
|
||||
title: '提示',
|
||||
onConfirm: () async {
|
||||
SmartDialog.showLoading(msg: '请求中');
|
||||
final result = allChecked.toSet();
|
||||
final kidList = result.map(
|
||||
(item) => '${item.history.business!}_${item.kid!}',
|
||||
);
|
||||
var response = await UserHttp.delHistory(kidList);
|
||||
if (response['status']) {
|
||||
afterDelete(result);
|
||||
}
|
||||
SmartDialog.dismiss();
|
||||
SmartDialog.showToast(response['msg']);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user