Skip to content

Commit 90c8597

Browse files
authored
refactor:batch rename and remove (#174)
1 parent efa9efe commit 90c8597

4 files changed

Lines changed: 22 additions & 4 deletions

File tree

src/pages/home/toolbar/BatchRename.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ export const BatchRename = () => {
143143

144144
const renameObj: RenameObj = {
145145
src_name: obj.name,
146-
new_name: srcName() + tempNum + "." + suffix,
146+
new_name: srcName() + tempNum + (suffix == "" ? "" : "." + suffix),
147147
}
148148
tempNum = (parseInt(tempNum) + 1)
149149
.toString()

src/pages/home/toolbar/Delete.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,10 @@ export const Delete = () => {
5454
onClick={async () => {
5555
const resp = await ok(
5656
pathname(),
57-
selectedObjs().map((obj) => obj.name),
57+
selectedObjs().map((obj) => ({
58+
id: obj.id,
59+
name: obj.name,
60+
})),
5861
)
5962
handleRespWithNotifySuccess(resp, () => {
6063
refresh()

src/types/obj.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export enum ObjType {
1111
}
1212

1313
export interface Obj {
14+
id: string
1415
name: string
1516
size: number
1617
is_dir: boolean
@@ -27,6 +28,11 @@ export type StoreObj = Obj & {
2728
selected?: boolean
2829
}
2930

31+
export type IDName = {
32+
id: string
33+
name: string
34+
}
35+
3036
export type RenameObj = {
3137
src_name: string
3238
new_name: string

src/utils/api.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
RenameObj,
1010
ArchiveMeta,
1111
ArchiveList,
12+
IDName,
1213
} from "~/types"
1314
import { r } from "."
1415

@@ -104,8 +105,16 @@ export const fsCopy = (
104105
return r.post("/fs/copy", { src_dir, dst_dir, names, overwrite })
105106
}
106107

107-
export const fsRemove = (dir: string, names: string[]): PEmptyResp => {
108-
return r.post("/fs/remove", { dir, names })
108+
export const fsRemove = (dir: string, names: IDName[]): PEmptyResp => {
109+
return r.post(
110+
"/fs/remove",
111+
{ names },
112+
{
113+
headers: {
114+
"File-Path": encodeURIComponent(dir),
115+
},
116+
},
117+
)
109118
}
110119

111120
export const fsRemoveEmptyDirectory = (src_dir: string): PEmptyResp => {

0 commit comments

Comments
 (0)