김재형

Add actions for folder

import React, { useState } from "react";
import React, { useState, Fragment } from "react";
import { Popconfirm, Popover, Button, message } from "antd";
import { FileItem } from "./useFileList";
import styles from "./FileItemActions.module.scss";
......@@ -52,9 +52,11 @@ export function FileItemActions({
이름 변경
</Button>
</Popover>
<Button type="link" size="small">
공유
</Button>
{!item.is_folder && (
<Button type="link" size="small">
공유
</Button>
)}
<Popover
title="이동할 폴더를 선택하세요"
content={
......@@ -78,36 +80,40 @@ export function FileItemActions({
이동
</Button>
</Popover>
<Popover
title="복사할 폴더를 선택하세요"
content={
<FileListPopover
root={item.parent}
onSelect={(to: number) => {
onCopy(item.id, to);
setCopy(false);
}}
onCancel={() => setCopy(false)}
/>
}
trigger="click"
visible={copy}
onVisibleChange={setCopy}
>
<Button type="link" size="small">
복사
</Button>
</Popover>
<Popconfirm
title="정말로 삭제하시겠습니까?"
onConfirm={() => onDelete(item.id)}
okText="삭제"
cancelText="취소"
>
<Button type="link" size="small">
삭제
</Button>
</Popconfirm>
{!item.is_folder && (
<Popover
title="복사할 폴더를 선택하세요"
content={
<FileListPopover
root={item.parent}
onSelect={(to: number) => {
onCopy(item.id, to);
setCopy(false);
}}
onCancel={() => setCopy(false)}
/>
}
trigger="click"
visible={copy}
onVisibleChange={setCopy}
>
<Button type="link" size="small">
복사
</Button>
</Popover>
)}
{!item.is_folder && (
<Popconfirm
title="정말로 삭제하시겠습니까?"
onConfirm={() => onDelete(item.id)}
okText="삭제"
cancelText="취소"
>
<Button type="link" size="small">
삭제
</Button>
</Popconfirm>
)}
</div>
);
}
......
......@@ -152,23 +152,22 @@ function getColumns({
dataIndex: "size",
width: 120,
render: (bytes: number, item) =>
item.is_folder ? "" : filesize(bytes, { round: 0 }),
item.is_folder ? "-" : filesize(bytes, { round: 0 }),
},
{
title: "",
key: "action",
dataIndex: "",
width: 300,
render: (__: any, item) =>
item.is_folder ? null : (
<FileItemActions
item={item}
onRename={handleRename}
onMove={handleMove}
onCopy={handleCopy}
onDelete={handleDelete}
/>
),
render: (__: any, item) => (
<FileItemActions
item={item}
onRename={handleRename}
onMove={handleMove}
onCopy={handleCopy}
onDelete={handleDelete}
/>
),
},
];
}
......