🐛 Fix permanent trash delete (#629)
This commit is contained in:
@@ -111,9 +111,11 @@ export const useDriveActions = () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
const remove = useCallback(
|
const remove = useCallback(
|
||||||
async (id: string, parentId: string) => {
|
async (id: string | string[], parentId: string) => {
|
||||||
try {
|
try {
|
||||||
await DriveApiClient.remove(companyId, id);
|
if (Array.isArray(id)) {
|
||||||
|
await Promise.all(id.map(i => DriveApiClient.remove(companyId, i)));
|
||||||
|
} else await DriveApiClient.remove(companyId, id);
|
||||||
await refresh(parentId || '', true);
|
await refresh(parentId || '', true);
|
||||||
await getQuota();
|
await getQuota();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ const ConfirmDeleteModalContent = ({ items }: { items: DriveItem[] }) => {
|
|||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const [state, setState] = useRecoilState(ConfirmDeleteModalAtom);
|
const [state, setState] = useRecoilState(ConfirmDeleteModalAtom);
|
||||||
const [, setSelected] = useRecoilState(DriveItemSelectedList);
|
const [, setSelected] = useRecoilState(DriveItemSelectedList);
|
||||||
const { viewId } = RouterServices.getStateFromRoute();
|
const { dirId, viewId } = RouterServices.getStateFromRoute();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
refresh(items[0].id);
|
refresh(items[0].id);
|
||||||
@@ -65,9 +65,8 @@ const ConfirmDeleteModalContent = ({ items }: { items: DriveItem[] }) => {
|
|||||||
loading={loading}
|
loading={loading}
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
for (const item of items) {
|
const ids = items.map((item) => item.id);
|
||||||
await remove(item.id, viewId || "");
|
await remove(ids, dirId || viewId || "");
|
||||||
}
|
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
setSelected({});
|
setSelected({});
|
||||||
setState({ ...state, open: false });
|
setState({ ...state, open: false });
|
||||||
|
|||||||
Reference in New Issue
Block a user