Skip to content

Commit

Permalink
Merge pull request #160 from boostcamp-2020/feat/153
Browse files Browse the repository at this point in the history
title 데이터 갱신 주기를 onBlur로 수정
  • Loading branch information
domino8788 authored Dec 20, 2020
2 parents 224c641 + 0464c93 commit 25f2cc7
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions frontend/src/components/molecules/Title/Title.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,26 +50,26 @@ const titleCss = () => css`
function Title(): JSX.Element {
const [selectedPage, setSelectedPage] = useRecoilState(pageState);
const setPages = useSetRecoilState(pagesState);
const [, { setCaretOffset }] = useManager(selectedPage.rootId);
const updateSelectedPage = useRef(
debounce(async (page: Page) => {
const { page: updatedPage } = await updatePage(page);
const updatedPages = await refreshPages();
const { focusOffset } = window.getSelection();
setTimeout(() => setCaretOffset(focusOffset));
titleRef.current.blur();
const updateSelectedPage = async (page: Page) => {
const { page: updatedPage } = await updatePage(page);
const updatedPages = await refreshPages();

setSelectedPage(updatedPage);
setPages(updatedPages);
};

setSelectedPage(updatedPage);
setPages(updatedPages);
}, 300),
).current;
const titleRef = useRef(null);

const handleChange = async (event: ChangeEvent<HTMLDivElement>) =>
const handleChange = async () => {
const sel = window.getSelection();
const text = (sel.focusNode as any).length
? sel.focusNode.textContent
: sel.focusNode.parentElement.innerText;
updateSelectedPage({
...selectedPage,
title: event.currentTarget.textContent,
title: text,
});
};

return (
<div css={wrapperCss()}>
Expand All @@ -79,7 +79,7 @@ function Title(): JSX.Element {
contentEditable
suppressContentEditableWarning
css={titleCss()}
onInput={handleChange}
onBlur={handleChange}
>
{selectedPage.title}
</div>
Expand Down

0 comments on commit 25f2cc7

Please sign in to comment.