Fixed copy paste on int and float parameters

This commit is contained in:
Lucas Oliveira 2023-05-30 10:36:56 -03:00
commit 6fa08264df
4 changed files with 28 additions and 0 deletions

View file

@ -144,6 +144,7 @@ export default function ParameterComponent({
) : left === true && type === "float" ? ( ) : left === true && type === "float" ? (
<FloatComponent <FloatComponent
disabled={disabled} disabled={disabled}
disableCopyPaste={true}
value={data.node.template[name].value ?? ""} value={data.node.template[name].value ?? ""}
onChange={(t) => { onChange={(t) => {
data.node.template[name].value = t; data.node.template[name].value = t;
@ -184,6 +185,7 @@ export default function ParameterComponent({
) : left === true && type === "int" ? ( ) : left === true && type === "int" ? (
<IntComponent <IntComponent
disabled={disabled} disabled={disabled}
disableCopyPaste={true}
value={data.node.template[name].value ?? ""} value={data.node.template[name].value ?? ""}
onChange={(t) => { onChange={(t) => {
data.node.template[name].value = t; data.node.template[name].value = t;

View file

@ -5,9 +5,12 @@ import { TabsContext } from "../../contexts/tabsContext";
export default function FloatComponent({ export default function FloatComponent({
value, value,
onChange, onChange,
disableCopyPaste = false,
disabled, disabled,
}: FloatComponentType) { }: FloatComponentType) {
const [myValue, setMyValue] = useState(value ?? ""); const [myValue, setMyValue] = useState(value ?? "");
const { setDisableCopyPaste } = useContext(TabsContext);
useEffect(() => { useEffect(() => {
if (disabled) { if (disabled) {
setMyValue(""); setMyValue("");
@ -21,6 +24,12 @@ export default function FloatComponent({
} }
> >
<input <input
onFocus={() => {
if (disableCopyPaste) setDisableCopyPaste(true);
}}
onBlur={() => {
if (disableCopyPaste) setDisableCopyPaste(false);
}}
type="number" type="number"
value={myValue} value={myValue}
className={ className={

View file

@ -5,9 +5,12 @@ import { TabsContext } from "../../contexts/tabsContext";
export default function IntComponent({ export default function IntComponent({
value, value,
onChange, onChange,
disableCopyPaste = false,
disabled, disabled,
}: FloatComponentType) { }: FloatComponentType) {
const [myValue, setMyValue] = useState(value ?? ""); const [myValue, setMyValue] = useState(value ?? "");
const { setDisableCopyPaste } = useContext(TabsContext);
useEffect(() => { useEffect(() => {
if (disabled) { if (disabled) {
setMyValue(""); setMyValue("");
@ -22,13 +25,26 @@ export default function IntComponent({
} }
> >
<input <input
onFocus={() => {
if (disableCopyPaste) setDisableCopyPaste(true);
}}
onBlur={() => {
if (disableCopyPaste) setDisableCopyPaste(false);
}}
onKeyDown={(event) => { onKeyDown={(event) => {
console.log(event);
if ( if (
event.key !== "Backspace" && event.key !== "Backspace" &&
event.key !== "Enter" && event.key !== "Enter" &&
event.key !== "Delete" && event.key !== "Delete" &&
event.key !== "ArrowLeft" && event.key !== "ArrowLeft" &&
event.key !== "ArrowRight" && 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) !/^[-]?\d*$/.test(event.key)
) { ) {
event.preventDefault(); event.preventDefault();

View file

@ -69,6 +69,7 @@ export type DisclosureComponentType = {
export type FloatComponentType = { export type FloatComponentType = {
value: string; value: string;
disabled?: boolean; disabled?: boolean;
disableCopyPaste?: boolean;
onChange: (value: string) => void; onChange: (value: string) => void;
}; };