From d71ba8addf41cca7bb4713ebde523392fe24c102 Mon Sep 17 00:00:00 2001 From: Jesus Sanz Date: Wed, 5 Feb 2025 18:39:37 +0100 Subject: [PATCH] Closes #539. Updated New Page functionality to clear the clipboard --- .../providers/canvas-schema/canvas-schema-vlatest.model.ts | 1 + src/core/providers/canvas-schema/canvas-schema.provider.tsx | 6 ++++++ .../toolbar/components/new-button/new-button.component.tsx | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) 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 (