|
@@ -14,7 +14,9 @@ export type ISearchedPage = IPageHasId & {
|
|
|
|
|
|
|
|
type Props = {
|
|
type Props = {
|
|
|
pages: ISearchedPage[],
|
|
pages: ISearchedPage[],
|
|
|
- selectedPages: ISearchedPage[],
|
|
|
|
|
|
|
+ selectedPages: ISearchedPage[] & {
|
|
|
|
|
+ has: (page: ISearchedPage) => boolean,
|
|
|
|
|
+ },
|
|
|
onClickInvoked?: (pageId: string) => void,
|
|
onClickInvoked?: (pageId: string) => void,
|
|
|
onChangedInvoked?: (page: ISearchedPage) => void,
|
|
onChangedInvoked?: (page: ISearchedPage) => void,
|
|
|
searchResultCount?: number,
|
|
searchResultCount?: number,
|
|
@@ -25,11 +27,13 @@ type Props = {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const SearchResultList: FC<Props> = (props:Props) => {
|
|
const SearchResultList: FC<Props> = (props:Props) => {
|
|
|
- const { focusedPage } = props;
|
|
|
|
|
|
|
+ const { focusedPage, selectedPages } = props;
|
|
|
|
|
+
|
|
|
const focusedPageId = focusedPage != null && focusedPage._id != null ? focusedPage._id : '';
|
|
const focusedPageId = focusedPage != null && focusedPage._id != null ? focusedPage._id : '';
|
|
|
return (
|
|
return (
|
|
|
<>
|
|
<>
|
|
|
{props.pages.map((page) => {
|
|
{props.pages.map((page) => {
|
|
|
|
|
+ const isChecked = selectedPages.has(page);
|
|
|
return (
|
|
return (
|
|
|
<SearchResultListItem
|
|
<SearchResultListItem
|
|
|
key={page._id}
|
|
key={page._id}
|
|
@@ -37,6 +41,7 @@ const SearchResultList: FC<Props> = (props:Props) => {
|
|
|
onClickInvoked={props.onClickInvoked}
|
|
onClickInvoked={props.onClickInvoked}
|
|
|
onChangedInvoked={props.onChangedInvoked}
|
|
onChangedInvoked={props.onChangedInvoked}
|
|
|
isSelected={page._id === focusedPageId || false}
|
|
isSelected={page._id === focusedPageId || false}
|
|
|
|
|
+ isChecked={isChecked}
|
|
|
/>
|
|
/>
|
|
|
);
|
|
);
|
|
|
})}
|
|
})}
|