Skip to content

Commit dd752a4

Browse files
committed
feat: extend the copy and paste to other type from string
1 parent 1b04da9 commit dd752a4

File tree

4 files changed

+28
-3
lines changed

4 files changed

+28
-3
lines changed

src/renderer/screens/DatabaseScreen/QueryResultViewer/TableCell/TableCellDecimal.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ const TableCellDecimal = createTableCellType({
4747
},
4848
content: TableCellDecimalContent,
4949
editor: TableCellDecimalEditor,
50+
onCopy: (value: string) => {
51+
return value;
52+
},
53+
onPaste: (value: string) => {
54+
return { accept: true, value };
55+
},
5056
});
5157

5258
export default TableCellDecimal;

src/renderer/screens/DatabaseScreen/QueryResultViewer/TableCell/TableCellJson.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,16 @@ const TableCellJson = createTableCellType({
8282
content: TableCellJsonContent,
8383
editor: TableCellJsonEditor,
8484
detachEditor: true,
85+
onCopy: (value: string) => {
86+
return JSON.stringify(value);
87+
},
88+
onPaste: (value: string) => {
89+
try {
90+
return { accept: true, value: JSON.parse(value) };
91+
} catch {
92+
return { accept: false, value: undefined };
93+
}
94+
},
8595
});
8696

8797
export default TableCellJson;

src/renderer/screens/DatabaseScreen/QueryResultViewer/TableCell/TableCellNumber.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ const TableCellNumber = createTableCellType({
4646
diff: (prev: number, current: number) => prev !== current,
4747
content: TableCellNumberContent,
4848
editor: TableCellNumberEditor,
49+
onCopy: (value: number) => {
50+
return value.toString();
51+
},
52+
onPaste: (value: string) => {
53+
return { accept: true, value: Number(value) };
54+
},
4955
});
5056

5157
export default TableCellNumber;

src/renderer/screens/DatabaseScreen/QueryResultViewer/TableCell/TableEditableCell.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ interface TableEditableCellProps {
4646
header: QueryResultHeader;
4747
}
4848

49-
const TableEditableCell = forwardRef<TableEditableCellHandler, TableEditableCellProps>(function TableEditableCell(
49+
const TableEditableCell = forwardRef<
50+
TableEditableCellHandler,
51+
TableEditableCellProps
52+
>(function TableEditableCell(
5053
{
5154
diff,
5255
detactEditor,
@@ -84,9 +87,9 @@ const TableEditableCell = forwardRef<TableEditableCellHandler, TableEditableCell
8487

8588
const copyHandler = useCallback(() => {
8689
if (onCopy) {
87-
window.navigator.clipboard.writeText(onCopy(value));
90+
window.navigator.clipboard.writeText(onCopy(afterValue));
8891
}
89-
}, [onCopy, value]);
92+
}, [onCopy, afterValue]);
9093

9194
const pasteHandler = useCallback(() => {
9295
if (onPaste) {

0 commit comments

Comments
 (0)