ref: Little refactoring

pull/443/head
Maksim Eltyshev 3 years ago
parent d9830ddf61
commit ff1f7c48a0

@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next';
import TextareaAutosize from 'react-textarea-autosize'; import TextareaAutosize from 'react-textarea-autosize';
import { Button, Form, TextArea } from 'semantic-ui-react'; import { Button, Form, TextArea } from 'semantic-ui-react';
import { useClosableForm, useForm } from '../../../hooks'; import { useForm } from '../../../hooks';
import styles from './CommentEdit.module.scss'; import styles from './CommentEdit.module.scss';
@ -35,12 +35,7 @@ const CommentEdit = React.forwardRef(({ children, defaultData, onUpdate }, ref)
text: data.text.trim(), text: data.text.trim(),
}; };
if (!cleanData.text) { if (cleanData.text && !dequal(cleanData, defaultData)) {
textField.current.ref.current.select();
return;
}
if (!dequal(cleanData, defaultData)) {
onUpdate(cleanData); onUpdate(cleanData);
} }
@ -65,7 +60,9 @@ const CommentEdit = React.forwardRef(({ children, defaultData, onUpdate }, ref)
[submit], [submit],
); );
const [, handleControlMouseOver, handleControlMouseOut] = useClosableForm(close, isOpened); const handleFieldBlur = useCallback(() => {
submit();
}, [submit]);
const handleSubmit = useCallback(() => { const handleSubmit = useCallback(() => {
submit(); submit();
@ -93,16 +90,11 @@ const CommentEdit = React.forwardRef(({ children, defaultData, onUpdate }, ref)
className={styles.field} className={styles.field}
onKeyDown={handleFieldKeyDown} onKeyDown={handleFieldKeyDown}
onChange={handleFieldChange} onChange={handleFieldChange}
onBlur={() => submit()} onBlur={handleFieldBlur}
/> />
<div className={styles.controls}> <div className={styles.controls}>
{/* eslint-disable-next-line jsx-a11y/mouse-events-have-key-events */} {/* eslint-disable-next-line jsx-a11y/mouse-events-have-key-events */}
<Button <Button positive content={t('action.save')} />
positive
content={t('action.save')}
onMouseOver={handleControlMouseOver}
onMouseOut={handleControlMouseOut}
/>
</div> </div>
</Form> </Form>
); );

Loading…
Cancel
Save