From 6fa08264df99d5c982330654cc55738c227d2456 Mon Sep 17 00:00:00 2001 From: Lucas Oliveira Date: Tue, 30 May 2023 10:36:56 -0300 Subject: [PATCH] Fixed copy paste on int and float parameters --- .../components/parameterComponent/index.tsx | 2 ++ .../src/components/floatComponent/index.tsx | 9 +++++++++ .../src/components/intComponent/index.tsx | 16 ++++++++++++++++ src/frontend/src/types/components/index.ts | 1 + 4 files changed, 28 insertions(+) diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index 5668b5430..653248763 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -144,6 +144,7 @@ export default function ParameterComponent({ ) : left === true && type === "float" ? ( { data.node.template[name].value = t; @@ -184,6 +185,7 @@ export default function ParameterComponent({ ) : left === true && type === "int" ? ( { data.node.template[name].value = t; diff --git a/src/frontend/src/components/floatComponent/index.tsx b/src/frontend/src/components/floatComponent/index.tsx index c6b1befe3..1fe3e3f76 100644 --- a/src/frontend/src/components/floatComponent/index.tsx +++ b/src/frontend/src/components/floatComponent/index.tsx @@ -5,9 +5,12 @@ import { TabsContext } from "../../contexts/tabsContext"; export default function FloatComponent({ value, onChange, + disableCopyPaste = false, disabled, }: FloatComponentType) { const [myValue, setMyValue] = useState(value ?? ""); + const { setDisableCopyPaste } = useContext(TabsContext); + useEffect(() => { if (disabled) { setMyValue(""); @@ -21,6 +24,12 @@ export default function FloatComponent({ } > { + if (disableCopyPaste) setDisableCopyPaste(true); + }} + onBlur={() => { + if (disableCopyPaste) setDisableCopyPaste(false); + }} type="number" value={myValue} className={ diff --git a/src/frontend/src/components/intComponent/index.tsx b/src/frontend/src/components/intComponent/index.tsx index 6353dff60..5ca68c5ce 100644 --- a/src/frontend/src/components/intComponent/index.tsx +++ b/src/frontend/src/components/intComponent/index.tsx @@ -5,9 +5,12 @@ import { TabsContext } from "../../contexts/tabsContext"; export default function IntComponent({ value, onChange, + disableCopyPaste = false, disabled, }: FloatComponentType) { const [myValue, setMyValue] = useState(value ?? ""); + const { setDisableCopyPaste } = useContext(TabsContext); + useEffect(() => { if (disabled) { setMyValue(""); @@ -22,13 +25,26 @@ export default function IntComponent({ } > { + if (disableCopyPaste) setDisableCopyPaste(true); + }} + onBlur={() => { + if (disableCopyPaste) setDisableCopyPaste(false); + }} onKeyDown={(event) => { + console.log(event); if ( event.key !== "Backspace" && event.key !== "Enter" && event.key !== "Delete" && event.key !== "ArrowLeft" && event.key !== "ArrowRight" && + event.key !== "Control" && + event.key !== "Meta" && + event.key !== "Shift" && + event.key !== "c" && + event.key !== "v" && + event.key !== "a" && !/^[-]?\d*$/.test(event.key) ) { event.preventDefault(); diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index e660e1c4d..e7559023a 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -69,6 +69,7 @@ export type DisclosureComponentType = { export type FloatComponentType = { value: string; disabled?: boolean; + disableCopyPaste?: boolean; onChange: (value: string) => void; };