mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-01 00:28:18 +08:00
opt multi del
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -7,7 +7,8 @@ import 'package:PiliPlus/models_new/fav/fav_detail/data.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_detail/media.dart';
|
||||
import 'package:PiliPlus/models_new/fav/fav_folder/list.dart';
|
||||
import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select_controller.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select/base.dart';
|
||||
import 'package:PiliPlus/pages/common/multi_select/multi_select_controller.dart';
|
||||
import 'package:PiliPlus/pages/fav_sort/view.dart';
|
||||
import 'package:PiliPlus/services/account_service.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
@@ -22,7 +23,7 @@ mixin BaseFavController
|
||||
bool get isOwner;
|
||||
int get mediaId;
|
||||
|
||||
void onRemove(int count) {}
|
||||
void updateLength(int count) {}
|
||||
|
||||
void onViewFav(FavDetailItemModel item, int? index);
|
||||
|
||||
@@ -35,7 +36,7 @@ mixin BaseFavController
|
||||
loadingState
|
||||
..value.data!.removeAt(index)
|
||||
..refresh();
|
||||
onRemove(1);
|
||||
updateLength(1);
|
||||
SmartDialog.showToast('取消收藏');
|
||||
} else {
|
||||
SmartDialog.showToast(result['msg']);
|
||||
@@ -43,20 +44,22 @@ mixin BaseFavController
|
||||
}
|
||||
|
||||
@override
|
||||
void onConfirm() {
|
||||
void onRemove() {
|
||||
showConfirmDialog(
|
||||
context: Get.context!,
|
||||
content: '确认删除所选收藏吗?',
|
||||
title: '提示',
|
||||
onConfirm: () async {
|
||||
final checked = allChecked.toSet();
|
||||
final removeList = allChecked;
|
||||
var result = await FavHttp.favVideo(
|
||||
resources: checked.map((item) => '${item.id}:${item.type}').join(','),
|
||||
resources: removeList
|
||||
.map((item) => '${item.id}:${item.type}')
|
||||
.join(','),
|
||||
delIds: mediaId.toString(),
|
||||
);
|
||||
if (result['status']) {
|
||||
afterDelete(checked);
|
||||
onRemove(checked.length);
|
||||
updateLength(removeList.length);
|
||||
afterDelete(removeList);
|
||||
SmartDialog.showToast('取消收藏');
|
||||
} else {
|
||||
SmartDialog.showToast(result['msg']);
|
||||
@@ -120,7 +123,7 @@ class FavDetailController
|
||||
}
|
||||
|
||||
@override
|
||||
void onRemove(int count) {
|
||||
void updateLength(int count) {
|
||||
folderInfo
|
||||
..value.mediaCount -= count
|
||||
..refresh();
|
||||
|
||||
@@ -249,7 +249,7 @@ class _FavDetailPageState extends State<FavDetailPage> {
|
||||
context: context,
|
||||
title: '确定删除该收藏夹?',
|
||||
onConfirm: () =>
|
||||
FavHttp.deleteFolder(mediaIds: [mediaId]).then((res) {
|
||||
FavHttp.deleteFolder(mediaIds: mediaId).then((res) {
|
||||
if (res['status']) {
|
||||
SmartDialog.showToast('删除成功');
|
||||
Get.back(result: true);
|
||||
@@ -324,7 +324,7 @@ class _FavDetailPageState extends State<FavDetailPage> {
|
||||
style: TextButton.styleFrom(
|
||||
visualDensity: VisualDensity.compact,
|
||||
),
|
||||
onPressed: _favDetailController.onConfirm,
|
||||
onPressed: _favDetailController.onRemove,
|
||||
child: Text(
|
||||
'删除',
|
||||
style: TextStyle(color: theme.colorScheme.error),
|
||||
|
||||
Reference in New Issue
Block a user