diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index 7fa485df0..9a3afec58 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -152,7 +152,7 @@ export default function ParameterComponent({ return (
<>
{}, hardReset: () => {}, saveFlow: async (flow: FlowType) => {}, - disableCopyPaste: false, - setDisableCopyPaste: (state: boolean) => {}, lastCopiedSelection: null, setLastCopiedSelection: (selection: any) => {}, tabsState: {}, @@ -585,16 +583,12 @@ export function TabsProvider({ children }: { children: ReactNode }) { } } - const [disableCopyPaste, setDisableCopyPaste] = useState(false); - return ( { - if ( - (event.ctrlKey || event.metaKey) && - event.key === "c" && - lastSelection && - !disableCopyPaste - ) { - event.preventDefault(); - setLastCopiedSelection(_.cloneDeep(lastSelection)); - } - if ( - (event.ctrlKey || event.metaKey) && - event.key === "v" && - lastCopiedSelection && - !disableCopyPaste - ) { - event.preventDefault(); - let bounds = reactFlowWrapper.current.getBoundingClientRect(); - paste(lastCopiedSelection, { - x: position.x - bounds.left, - y: position.y - bounds.top, - }); - } - if ( - (event.ctrlKey || event.metaKey) && - event.key === "g" && - lastSelection - ) { - event.preventDefault(); + if (!isWrappedWithClass(event, "nocopy")) { + if ( + (event.ctrlKey || event.metaKey) && + event.key === "c" && + lastSelection + ) { + event.preventDefault(); + setLastCopiedSelection(_.cloneDeep(lastSelection)); + } + if ( + (event.ctrlKey || event.metaKey) && + event.key === "v" && + lastCopiedSelection + ) { + event.preventDefault(); + let bounds = reactFlowWrapper.current.getBoundingClientRect(); + paste(lastCopiedSelection, { + x: position.x - bounds.left, + y: position.y - bounds.top, + }); + } + if ( + (event.ctrlKey || event.metaKey) && + event.key === "g" && + lastSelection + ) { + event.preventDefault(); + } } }; const handleMouseMove = (event) => { @@ -355,8 +355,6 @@ export default function Page({ flow }: { flow: FlowType }) { setLastSelection(flow); }, []); - const { setDisableCopyPaste } = useContext(TabsContext); - return (
@@ -378,18 +376,6 @@ export default function Page({ flow }: { flow: FlowType }) { }); }} edges={edges} - onPaneClick={() => { - console.log("enableCopyPastePaneClick"); - setDisableCopyPaste(false); - }} - onPaneMouseLeave={() => { - console.log("enableCopyPastePaneLeave"); - setDisableCopyPaste(true); - }} - onPaneMouseEnter={() => { - console.log("enableCopyPastePaneEnter"); - setDisableCopyPaste(false); - }} onNodesChange={onNodesChangeMod} onEdgesChange={onEdgesChangeMod} onConnect={onConnect} @@ -410,7 +396,6 @@ export default function Page({ flow }: { flow: FlowType }) { onDrop={onDrop} onNodesDelete={onDelete} onSelectionChange={onSelectionChange} - zoomOnDoubleClick={!disableCopyPaste} className="theme-attribution" minZoom={0.01} maxZoom={8} diff --git a/src/frontend/src/types/tabs/index.ts b/src/frontend/src/types/tabs/index.ts index 82e75e4e4..1a873f651 100644 --- a/src/frontend/src/types/tabs/index.ts +++ b/src/frontend/src/types/tabs/index.ts @@ -20,9 +20,6 @@ export type TabsContextType = { uploadFlows: () => void; uploadFlow: (newFlow?: boolean, file?: File) => void; hardReset: () => void; - //disable CopyPaste - disableCopyPaste: boolean; - setDisableCopyPaste: (value: boolean) => void; getNodeId: (nodeType: string) => string; tabsState: TabsState; setTabsState: Dispatch>;