Page MenuHomePhabricator

D4057.diff
No OneTemporary

D4057.diff

diff --git a/lib/hooks/search-sidebars.js b/lib/hooks/search-sidebars.js
--- a/lib/hooks/search-sidebars.js
+++ b/lib/hooks/search-sidebars.js
@@ -20,7 +20,7 @@
+listData: $ReadOnlyArray<SidebarInfo>,
+searchState: SidebarSearchState,
+setSearchState: SetState<SidebarSearchState>,
- +searchIndex: SearchIndex,
+ +onChangeSearchInputText: (text: string) => mixed,
} {
const [searchState, setSearchState] = React.useState({
text: '',
@@ -57,6 +57,16 @@
return index;
}, [sidebarInfos, userInfos, viewerID]);
+ const onChangeSearchInputText = React.useCallback(
+ (text: string) => {
+ setSearchState({
+ text,
+ results: new Set(searchIndex.getSearchResults(text)),
+ });
+ },
+ [searchIndex, setSearchState],
+ );
+
React.useEffect(() => {
setSearchState(curState => ({
...curState,
@@ -65,8 +75,13 @@
}, [searchIndex, setSearchState]);
return React.useMemo(
- () => ({ listData, searchState, setSearchState, searchIndex }),
- [listData, setSearchState, searchState, searchIndex],
+ () => ({
+ listData,
+ searchState,
+ setSearchState,
+ onChangeSearchInputText,
+ }),
+ [listData, setSearchState, searchState, onChangeSearchInputText],
);
}
diff --git a/native/chat/sidebar-list-modal.react.js b/native/chat/sidebar-list-modal.react.js
--- a/native/chat/sidebar-list-modal.react.js
+++ b/native/chat/sidebar-list-modal.react.js
@@ -35,18 +35,9 @@
listData,
searchState,
setSearchState,
- searchIndex,
+ onChangeSearchInputText,
} = useSearchSidebars(props.route.params.threadInfo);
- const onChangeSearchText = React.useCallback(
- (searchText: string) =>
- setSearchState({
- text: searchText,
- results: new Set(searchIndex.getSearchResults(searchText)),
- }),
- [searchIndex, setSearchState],
- );
-
const searchTextInputRef = React.useRef();
const setSearchTextInputRef = React.useCallback(
async (textInput: ?React.ElementRef<typeof TextInput>) => {
@@ -95,7 +86,7 @@
<Modal>
<Search
searchText={searchState.text}
- onChangeText={onChangeSearchText}
+ onChangeText={onChangeSearchInputText}
containerStyle={styles.search}
placeholder="Search sidebars"
ref={setSearchTextInputRef}
diff --git a/web/modals/chat/sidebar-list-modal.react.js b/web/modals/chat/sidebar-list-modal.react.js
--- a/web/modals/chat/sidebar-list-modal.react.js
+++ b/web/modals/chat/sidebar-list-modal.react.js
@@ -26,7 +26,7 @@
listData,
searchState,
setSearchState,
- searchIndex,
+ onChangeSearchInputText,
} = useSearchSidebars(threadInfo);
const { popModal } = useModalContext();
@@ -47,17 +47,6 @@
[popModal, listData],
);
- const onChangeSearchText = React.useCallback(
- (event: SyntheticEvent<HTMLInputElement>) => {
- const searchText = event.currentTarget.value;
- setSearchState({
- text: searchText,
- results: new Set(searchIndex.getSearchResults(searchText)),
- });
- },
- [searchIndex, setSearchState],
- );
-
const clearQuery = React.useCallback(
(event: SyntheticEvent<HTMLAnchorElement>) => {
event.preventDefault();
@@ -78,6 +67,14 @@
);
}
+ const handleOnChangeSearchText = React.useCallback(
+ (event: SyntheticEvent<HTMLInputElement>) => {
+ const { value } = event.currentTarget;
+ onChangeSearchInputText(value);
+ },
+ [onChangeSearchInputText],
+ );
+
return (
<Modal name="Sidebars" onClose={popModal}>
<div
@@ -93,7 +90,7 @@
type="text"
placeholder="Search sidebars"
value={searchState.text}
- onChange={onChangeSearchText}
+ onChange={handleOnChangeSearchText}
/>
{clearQueryButton}
</div>

File Metadata

Mime Type
text/plain
Expires
Sat, Sep 21, 6:19 AM (9 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2158949
Default Alt Text
D4057.diff (3 KB)

Event Timeline