diff --git a/src/core/providers/canvas-schema/canvas-schema-vlatest.model.ts b/src/core/providers/canvas-schema/canvas-schema-vlatest.model.ts index 45b0c6fd..0090999b 100644 --- a/src/core/providers/canvas-schema/canvas-schema-vlatest.model.ts +++ b/src/core/providers/canvas-schema/canvas-schema-vlatest.model.ts @@ -82,4 +82,5 @@ export interface CanvasSchemaContextVm { copySelectedTable: () => void; pasteTable: () => void; hasClipboardContent: boolean; + clearClipboard: () => void; } diff --git a/src/core/providers/canvas-schema/canvas-schema.provider.tsx b/src/core/providers/canvas-schema/canvas-schema.provider.tsx index 29767cba..e89d5d29 100644 --- a/src/core/providers/canvas-schema/canvas-schema.provider.tsx +++ b/src/core/providers/canvas-schema/canvas-schema.provider.tsx @@ -226,6 +226,11 @@ export const CanvasSchemaProvider: React.FC = props => { } }; + const clearClipboard = () => { + setClipboardTable(null); + setPasteOffset({ x: 0, y: 0 }); + }; + return ( = props => { copySelectedTable, pasteTable, hasClipboardContent: Boolean(clipboardTable), + clearClipboard, }} > {children} diff --git a/src/pods/toolbar/components/new-button/new-button.component.tsx b/src/pods/toolbar/components/new-button/new-button.component.tsx index 1f9d54a2..5b7ce903 100644 --- a/src/pods/toolbar/components/new-button/new-button.component.tsx +++ b/src/pods/toolbar/components/new-button/new-button.component.tsx @@ -8,13 +8,14 @@ import classes from '@/pods/toolbar/toolbar.pod.module.css'; import { SHORTCUTS } from '../../shortcut/shortcut.const'; export const NewButton = () => { - const { createEmptySchema } = useCanvasSchemaContext(); + const { createEmptySchema, clearClipboard } = useCanvasSchemaContext(); const { setFilename, setLoadSample } = useCanvasViewSettingsContext(); const handleNewButtonClick = () => { setFilename(''); createEmptySchema(); setLoadSample(false); + clearClipboard(); }; return (