From b45c1e7fd0ba9f7d60fe12d15780577cbfb02754 Mon Sep 17 00:00:00 2001 From: Hossein Date: Fri, 4 Jun 2021 07:28:33 -0400 Subject: [PATCH] Fix search resetting (#508) --- .../src/components/viewHeader/viewHeaderSearch.tsx | 12 ++++-------- webapp/src/viewModel/boardTree.ts | 1 + 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/webapp/src/components/viewHeader/viewHeaderSearch.tsx b/webapp/src/components/viewHeader/viewHeaderSearch.tsx index 5290f0cff..7a17d1446 100644 --- a/webapp/src/components/viewHeader/viewHeaderSearch.tsx +++ b/webapp/src/components/viewHeader/viewHeaderSearch.tsx @@ -14,21 +14,17 @@ type Props = { } const ViewHeaderSearch = (props: Props) => { - const {boardTree} = props + const {boardTree, setSearchText} = props const intl = useIntl() const searchFieldRef = useRef<{focus(selectAll?: boolean): void}>(null) - const [isSearching, setIsSearching] = useState(Boolean(props.boardTree.getSearchText())) + const [isSearching, setIsSearching] = useState(Boolean(boardTree.getSearchText())) const [searchValue, setSearchValue] = useState(boardTree.getSearchText()) useEffect(() => { searchFieldRef.current?.focus() }, [isSearching]) - useEffect(() => { - setSearchValue(boardTree.getSearchText()) - }, [boardTree]) - useHotkeys('ctrl+shift+f,cmd+shift+f', () => { setIsSearching(true) searchFieldRef.current?.focus(true) @@ -44,13 +40,13 @@ const ViewHeaderSearch = (props: Props) => { onCancel={() => { setSearchValue('') setIsSearching(false) - props.setSearchText('') + setSearchText('') }} onSave={() => { if (searchValue === '') { setIsSearching(false) } - props.setSearchText(searchValue) + setSearchText(searchValue) }} /> ) diff --git a/webapp/src/viewModel/boardTree.ts b/webapp/src/viewModel/boardTree.ts index cc07aa28a..576c08bc0 100644 --- a/webapp/src/viewModel/boardTree.ts +++ b/webapp/src/viewModel/boardTree.ts @@ -77,6 +77,7 @@ class MutableBoardTree implements BoardTree { } const rawBlocks = OctoUtils.mergeBlocks(boardTree.allBlocks, relevantBlocks) const newBoardTree = this.buildTree(boardTree.board.id, rawBlocks) + newBoardTree?.setSearchText(boardTree.getSearchText()) if (newBoardTree && boardTree.activeView) { newBoardTree.setActiveView(boardTree.activeView.id) }