diff --git a/rsconcept/frontend/src/components/RSInput/index.tsx b/rsconcept/frontend/src/components/RSInput/index.tsx index 1cd079b7..57446ff3 100644 --- a/rsconcept/frontend/src/components/RSInput/index.tsx +++ b/rsconcept/frontend/src/components/RSInput/index.tsx @@ -114,6 +114,27 @@ function RSInput({ } else if (event.code === 'KeyZ') { text.insertChar('Z'); event.preventDefault(); + } else if (event.code === 'KeyR') { + text.insertChar('R'); + event.preventDefault(); + } else if (event.code === 'KeyF') { + text.insertChar('F'); + event.preventDefault(); + } else if (event.code === 'KeyP') { + text.insertChar('P'); + event.preventDefault(); + } else if (event.code === 'KeyX') { + text.insertChar('X'); + event.preventDefault(); + } else if (event.code === 'KeyS') { + text.insertChar('S'); + event.preventDefault(); + } else if (event.code === 'KeyD') { + text.insertChar('D'); + event.preventDefault(); + } else if (event.code === 'KeyC') { + text.insertChar('C'); + event.preventDefault(); } } else if (event.altKey) { if (text.processAltKey(event.code, event.shiftKey)) { diff --git a/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/ArgumentsTab.tsx b/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/ArgumentsTab.tsx index d989bfd6..d83ac368 100644 --- a/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/ArgumentsTab.tsx +++ b/rsconcept/frontend/src/dialogs/DlgConstituentaTemplate/ArgumentsTab.tsx @@ -1,5 +1,5 @@ import { createColumnHelper } from '@tanstack/react-table'; -import { Dispatch, useCallback, useMemo, useState } from 'react'; +import { Dispatch, useCallback, useEffect, useMemo, useState } from 'react'; import MiniButton from '../../components/Common/MiniButton'; import DataTable, { IConditionalStyle } from '../../components/DataTable'; @@ -32,9 +32,19 @@ function ArgumentsTab({ state, schema, partialUpdate }: ArgumentsTabProps) { const [argumentValue, setArgumentValue] = useState(''); + useEffect( + () => { + if (!selectedArgument && state.arguments.length > 0) { + setSelectedArgument(state.arguments[0]); + } + }, [state.arguments, selectedArgument]); + const handleSelectArgument = useCallback( (arg: IArgumentValue) => { setSelectedArgument(arg); + if (arg.value) { + setArgumentValue(arg.value); + } }, []); const handleSelectConstituenta = useCallback(