From 173bce94743fbc71e9f39d8bfd12d3879a739ad6 Mon Sep 17 00:00:00 2001 From: seaheart Date: Mon, 26 Jun 2023 23:59:34 +0800 Subject: [PATCH] add delete batch add soft delete batch api change --- src/common/model/matter/Matter.ts | 5 ++-- src/pages/bin/List.tsx | 2 +- src/pages/matter/List.tsx | 6 +++-- src/pages/matter/widget/MatterDeleteModal.tsx | 23 +++++++++++-------- src/pages/matter/widget/MatterPanel.tsx | 2 ++ 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/common/model/matter/Matter.ts b/src/common/model/matter/Matter.ts index d9ed17c..10b3e84 100644 --- a/src/common/model/matter/Matter.ts +++ b/src/common/model/matter/Matter.ts @@ -216,8 +216,8 @@ export default class Matter extends BaseEntity { } static httpSoftDeleteBatch( - spaceUuid: string, uuids: string, + spaceUuid: string, successCallback?: any, errorCallback?: any ) { @@ -244,12 +244,13 @@ export default class Matter extends BaseEntity { static httpDeleteBatch( uuids: string, + spaceUuid: string, successCallback?: any, errorCallback?: any ) { new HttpBase().httpPost( Matter.URL_MATTER_DELETE_BATCH, - { uuids: uuids }, + { uuids, spaceUuid }, function (response: any) { typeof successCallback === 'function' && successCallback(response); }, diff --git a/src/pages/bin/List.tsx b/src/pages/bin/List.tsx index 0303660..2935468 100644 --- a/src/pages/bin/List.tsx +++ b/src/pages/bin/List.tsx @@ -120,7 +120,7 @@ export default class List extends TankComponent { icon: , onOk: () => { const uuids = this.selectedMatters.map((i) => i.uuid).toString(); - Matter.httpDeleteBatch(uuids, () => { + Matter.httpDeleteBatch(uuids, this.user.spaceUuid!, () => { MessageBoxUtil.success(Lang.t('operationSuccess')); this.refresh(); }); diff --git a/src/pages/matter/List.tsx b/src/pages/matter/List.tsx index c6aeac3..e90c924 100644 --- a/src/pages/matter/List.tsx +++ b/src/pages/matter/List.tsx @@ -229,15 +229,16 @@ export default class List extends TankComponent { deleteBatch() { const uuids = this.selectedMatters.map((i) => i.uuid).toString(); MatterDeleteModal.open( + !!this.props.spaceUuid, () => { - Matter.httpSoftDeleteBatch(this.getSpaceUuid()!, uuids, () => { + Matter.httpSoftDeleteBatch(uuids, this.getSpaceUuid()!, () => { MessageBoxUtil.success(Lang.t('operationSuccess')); Capacity.instance?.refresh(); this.refresh(); }); }, () => { - Matter.httpDeleteBatch(uuids, () => { + Matter.httpDeleteBatch(uuids, this.getSpaceUuid()!, () => { MessageBoxUtil.success(Lang.t('operationSuccess')); Capacity.instance?.refresh(); this.refresh(); @@ -692,6 +693,7 @@ export default class List extends TankComponent { key={matter.uuid!} director={director} matter={matter} + isSpace={!!this.props.spaceUuid} onGoToDirectory={(id) => this.goToDirectory(id)} onDeleteSuccess={() => this.delete()} onCheckMatter={(m) => this.checkMatter(m)} diff --git a/src/pages/matter/widget/MatterDeleteModal.tsx b/src/pages/matter/widget/MatterDeleteModal.tsx index 02df8fd..a6f9c4a 100644 --- a/src/pages/matter/widget/MatterDeleteModal.tsx +++ b/src/pages/matter/widget/MatterDeleteModal.tsx @@ -8,6 +8,7 @@ import './MatterDeleteModal.less'; import Preference from '../../../common/model/preference/Preference'; interface IProps { + isSpace: boolean; // 是否是空间,空间下暂不展示放入回收站逻辑 onSoftDel: () => void; onHardDel: () => void; onClose: () => void; @@ -22,7 +23,7 @@ export default class MatterDeleteModal extends TankComponent { static preference: Preference = Moon.getSingleton().preference; - static open(onSoftDel: () => void, onHardDel: () => void) { + static open(isSpace: boolean, onSoftDel: () => void, onHardDel: () => void) { let modal = Modal.warning({ className: 'delete-modal', title: Lang.t('delete'), @@ -33,6 +34,7 @@ export default class MatterDeleteModal extends TankComponent { }, content: ( { onSoftDel(); modal.destroy(); @@ -60,15 +62,16 @@ export default class MatterDeleteModal extends TankComponent { - {MatterDeleteModal.preference.getRecycleBinStatus() && ( - - )} + {!this.props.isSpace && + MatterDeleteModal.preference.getRecycleBinStatus() && ( + + )} ); diff --git a/src/pages/matter/widget/MatterPanel.tsx b/src/pages/matter/widget/MatterPanel.tsx index 6e76e18..0a306d8 100644 --- a/src/pages/matter/widget/MatterPanel.tsx +++ b/src/pages/matter/widget/MatterPanel.tsx @@ -32,6 +32,7 @@ import MatterDeleteModal from './MatterDeleteModal'; interface IProps { matter: Matter; recycleMode?: boolean; // 回收站模式,默认false,简化相关操作,不可进入文件夹里 + isSpace?: boolean; // 是否共享空间下 director?: Director; onCreateDirectoryCallback?: () => any; onDeleteSuccess?: () => any; @@ -95,6 +96,7 @@ export default class MatterPanel extends TankComponent { deleteMatter() { MatterDeleteModal.open( + !!this.props.isSpace, () => { this.props.matter.httpSoftDelete(() => { MessageBoxUtil.success(Lang.t('operationSuccess'));