Autofocus CodeMirror SQL input to the first element of a form.

This commit is contained in:
Aditya Toshniwal 2022-04-28 14:09:27 +05:30 committed by Akshay Joshi
parent 7c61017f57
commit bd799ea51a
2 changed files with 7 additions and 3 deletions

View File

@ -75,7 +75,7 @@ function MappedFormControlBase({ type, value, id, onChange, className, visible,
case 'file':
return <FormInputFileSelect name={name} value={value} onChange={onTextChange} className={className} inputRef={inputRef} {...props} />;
case 'sql':
return <FormInputSQL name={name} value={value} onChange={onSqlChange} className={className} noLabel={noLabel} {...props} />;
return <FormInputSQL name={name} value={value} onChange={onSqlChange} className={className} noLabel={noLabel} inputRef={inputRef} {...props} />;
case 'note':
return <FormNote className={className} {...props} />;
case 'datetimepicker':

View File

@ -155,13 +155,16 @@ FormInput.propTypes = {
testcid: PropTypes.any,
};
export function InputSQL({ value, options, onChange, className, controlProps, ...props }) {
export function InputSQL({ value, options, onChange, className, controlProps, inputRef, ...props }) {
const classes = useStyles();
const editor = useRef();
return (
<CodeMirror
currEditor={(obj) => editor.current = obj}
currEditor={(obj) => {
editor.current = obj;
inputRef?.(obj);
}}
value={value || ''}
options={{
lineNumbers: true,
@ -186,6 +189,7 @@ InputSQL.propTypes = {
readonly: PropTypes.bool,
className: CustomPropTypes.className,
controlProps: PropTypes.object,
inputRef: CustomPropTypes.ref,
};
export function FormInputSQL({ hasError, required, label, className, helpMessage, testcid, value, controlProps, noLabel, ...props }) {