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; };