ref: Move to separate function

pull/779/head
Maksim Eltyshev 2 years ago
parent 862ade29f8
commit f3f89f062a

@ -5,6 +5,7 @@ import TextareaAutosize from 'react-textarea-autosize';
import { Button, Form, TextArea } from 'semantic-ui-react';
import { useClosableForm, useField } from '../../hooks';
import { focusEnd } from '../../utils/element-helpers';
import styles from './NameEdit.module.scss';
@ -79,9 +80,7 @@ const NameEdit = React.forwardRef(({ children, defaultValue, onUpdate }, ref) =>
useEffect(() => {
if (isOpened) {
const text = field.current.ref.current;
text.focus();
text.setSelectionRange(text.value.length + 1, text.value.length + 1);
focusEnd(field.current.ref.current);
}
}, [isOpened]);

@ -6,6 +6,7 @@ import TextareaAutosize from 'react-textarea-autosize';
import { Button, Form, TextArea } from 'semantic-ui-react';
import { useForm } from '../../../hooks';
import { focusEnd } from '../../../utils/element-helpers';
import styles from './CommentEdit.module.scss';
@ -70,9 +71,7 @@ const CommentEdit = React.forwardRef(({ children, defaultData, onUpdate }, ref)
useEffect(() => {
if (isOpened) {
const text = textField.current.ref.current;
text.focus();
text.setSelectionRange(text.value.length + 1, text.value.length + 1);
focusEnd(textField.current.ref.current);
}
}, [isOpened]);

@ -5,6 +5,7 @@ import TextareaAutosize from 'react-textarea-autosize';
import { Button, Form, TextArea } from 'semantic-ui-react';
import { useField } from '../../../hooks';
import { focusEnd } from '../../../utils/element-helpers';
import styles from './NameEdit.module.scss';
@ -65,9 +66,7 @@ const NameEdit = React.forwardRef(({ children, defaultValue, onUpdate }, ref) =>
useEffect(() => {
if (isOpened) {
const text = field.current.ref.current;
text.focus();
text.setSelectionRange(text.value.length + 1, text.value.length + 1);
focusEnd(field.current.ref.current);
}
}, [isOpened]);

@ -4,6 +4,7 @@ import TextareaAutosize from 'react-textarea-autosize';
import { TextArea } from 'semantic-ui-react';
import { useField } from '../../hooks';
import { focusEnd } from '../../utils/element-helpers';
import styles from './NameEdit.module.scss';
@ -71,9 +72,7 @@ const NameEdit = React.forwardRef(({ children, defaultValue, onUpdate }, ref) =>
useEffect(() => {
if (isOpened) {
const text = field.current.ref.current;
text.focus();
text.setSelectionRange(text.value.length + 1, text.value.length + 1);
focusEnd(field.current.ref.current);
}
}, [isOpened]);

@ -0,0 +1,5 @@
// eslint-disable-next-line import/prefer-default-export
export const focusEnd = (element) => {
element.focus();
element.setSelectionRange(element.value.length + 1, element.value.length + 1);
};
Loading…
Cancel
Save