Skip to content

Commit 25f2cc7

Browse files
authored
Merge pull request #160 from boostcamp-2020/feat/153
title 데이터 갱신 주기를 onBlur로 수정
2 parents 224c641 + 0464c93 commit 25f2cc7

File tree

1 file changed

+15
-15
lines changed
  • frontend/src/components/molecules/Title

1 file changed

+15
-15
lines changed

frontend/src/components/molecules/Title/Title.tsx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -50,26 +50,26 @@ const titleCss = () => css`
5050
function Title(): JSX.Element {
5151
const [selectedPage, setSelectedPage] = useRecoilState(pageState);
5252
const setPages = useSetRecoilState(pagesState);
53-
const [, { setCaretOffset }] = useManager(selectedPage.rootId);
54-
const updateSelectedPage = useRef(
55-
debounce(async (page: Page) => {
56-
const { page: updatedPage } = await updatePage(page);
57-
const updatedPages = await refreshPages();
58-
const { focusOffset } = window.getSelection();
59-
setTimeout(() => setCaretOffset(focusOffset));
60-
titleRef.current.blur();
53+
const updateSelectedPage = async (page: Page) => {
54+
const { page: updatedPage } = await updatePage(page);
55+
const updatedPages = await refreshPages();
56+
57+
setSelectedPage(updatedPage);
58+
setPages(updatedPages);
59+
};
6160

62-
setSelectedPage(updatedPage);
63-
setPages(updatedPages);
64-
}, 300),
65-
).current;
6661
const titleRef = useRef(null);
6762

68-
const handleChange = async (event: ChangeEvent<HTMLDivElement>) =>
63+
const handleChange = async () => {
64+
const sel = window.getSelection();
65+
const text = (sel.focusNode as any).length
66+
? sel.focusNode.textContent
67+
: sel.focusNode.parentElement.innerText;
6968
updateSelectedPage({
7069
...selectedPage,
71-
title: event.currentTarget.textContent,
70+
title: text,
7271
});
72+
};
7373

7474
return (
7575
<div css={wrapperCss()}>
@@ -79,7 +79,7 @@ function Title(): JSX.Element {
7979
contentEditable
8080
suppressContentEditableWarning
8181
css={titleCss()}
82-
onInput={handleChange}
82+
onBlur={handleChange}
8383
>
8484
{selectedPage.title}
8585
</div>

0 commit comments

Comments
 (0)