SULLEY\ryo-h 4 лет назад
Родитель
Сommit
1734ef9384

+ 3 - 1
packages/app/src/components/Navbar/SubNavButtons.tsx

@@ -29,6 +29,7 @@ type CommonProps = {
   onClickDuplicateMenuItem?: (pageToDuplicate: IPageForPageDuplicateModal) => void,
   onClickDuplicateMenuItem?: (pageToDuplicate: IPageForPageDuplicateModal) => void,
   onClickRenameMenuItem?: (pageToRename: IPageToRenameWithMeta) => void,
   onClickRenameMenuItem?: (pageToRename: IPageToRenameWithMeta) => void,
   onClickDeleteMenuItem?: (pageToDelete: IPageToDeleteWithMeta) => void,
   onClickDeleteMenuItem?: (pageToDelete: IPageToDeleteWithMeta) => void,
+  hoge?: () => void,
 }
 }
 
 
 type SubNavButtonsSubstanceProps = CommonProps & {
 type SubNavButtonsSubstanceProps = CommonProps & {
@@ -44,7 +45,7 @@ const SubNavButtonsSubstance = (props: SubNavButtonsSubstanceProps): JSX.Element
     pageInfo,
     pageInfo,
     pageId, revisionId, path, shareLinkId,
     pageId, revisionId, path, shareLinkId,
     isCompactMode, disableSeenUserInfoPopover, showPageControlDropdown, forceHideMenuItems, additionalMenuItemRenderer,
     isCompactMode, disableSeenUserInfoPopover, showPageControlDropdown, forceHideMenuItems, additionalMenuItemRenderer,
-    onClickDuplicateMenuItem, onClickRenameMenuItem, onClickDeleteMenuItem,
+    onClickDuplicateMenuItem, onClickRenameMenuItem, onClickDeleteMenuItem, hoge,
   } = props;
   } = props;
 
 
   const { data: isGuestUser } = useIsGuestUser();
   const { data: isGuestUser } = useIsGuestUser();
@@ -82,6 +83,7 @@ const SubNavButtonsSubstance = (props: SubNavButtonsSubstanceProps): JSX.Element
     }
     }
 
 
     await toggleLike(pageId, pageInfo.isLiked);
     await toggleLike(pageId, pageInfo.isLiked);
+    hoge?.();
     mutatePageInfo();
     mutatePageInfo();
   }, [isGuestUser, mutatePageInfo, pageId, pageInfo]);
   }, [isGuestUser, mutatePageInfo, pageId, pageInfo]);
 
 

+ 10 - 2
packages/app/src/components/SearchPage.tsx

@@ -6,7 +6,8 @@ import { useTranslation } from 'react-i18next';
 import { parse as parseQuerystring } from 'querystring';
 import { parse as parseQuerystring } from 'querystring';
 
 
 import AppContainer from '~/client/services/AppContainer';
 import AppContainer from '~/client/services/AppContainer';
-import { IFormattedSearchResult } from '~/interfaces/search';
+import { IPageWithMeta } from '~/interfaces/page';
+import { IFormattedSearchResult, IPageSearchMeta } from '~/interfaces/search';
 import { ISelectableAll, ISelectableAndIndeterminatable } from '~/client/interfaces/selectable-all';
 import { ISelectableAll, ISelectableAndIndeterminatable } from '~/client/interfaces/selectable-all';
 import { useIsSearchServiceReachable } from '~/stores/context';
 import { useIsSearchServiceReachable } from '~/stores/context';
 import { ISearchConditions, ISearchConfigurations, useSWRxFullTextSearch } from '~/stores/search';
 import { ISearchConditions, ISearchConfigurations, useSWRxFullTextSearch } from '~/stores/search';
@@ -113,6 +114,7 @@ export const SearchPage = (props: Props): JSX.Element => {
   const [offset, setOffset] = useState<number>(0);
   const [offset, setOffset] = useState<number>(0);
   const [limit, setLimit] = useState<number>(INITIAL_PAGIONG_SIZE);
   const [limit, setLimit] = useState<number>(INITIAL_PAGIONG_SIZE);
   const [configurationsByControl, setConfigurationsByControl] = useState<Partial<ISearchConfigurations>>({});
   const [configurationsByControl, setConfigurationsByControl] = useState<Partial<ISearchConfigurations>>({});
+  const [searchResultPages, setSearchResultPages] = useState<IPageWithMeta<IPageSearchMeta>[] | undefined>(undefined);
 
 
   const selectAllControlRef = useRef<ISelectableAndIndeterminatable|null>(null);
   const selectAllControlRef = useRef<ISelectableAndIndeterminatable|null>(null);
   const searchPageBaseRef = useRef<ISelectableAll & IReturnSelectedPageIds|null>(null);
   const searchPageBaseRef = useRef<ISelectableAll & IReturnSelectedPageIds|null>(null);
@@ -170,6 +172,11 @@ export const SearchPage = (props: Props): JSX.Element => {
     mutate();
     mutate();
   }, [mutate]);
   }, [mutate]);
 
 
+  const hoge = useCallback(() => {
+    setSearchResultPages(data?.data);
+    mutate();
+  }, [mutate]);
+
   const pagingNumberChangedHandler = useCallback((activePage: number) => {
   const pagingNumberChangedHandler = useCallback((activePage: number) => {
     setOffset((activePage - 1) * limit);
     setOffset((activePage - 1) * limit);
     mutate();
     mutate();
@@ -268,13 +275,14 @@ export const SearchPage = (props: Props): JSX.Element => {
     <SearchPageBase
     <SearchPageBase
       ref={searchPageBaseRef}
       ref={searchPageBaseRef}
       appContainer={appContainer}
       appContainer={appContainer}
-      pages={data?.data}
+      pages={searchResultPages}
       searchingKeyword={keyword}
       searchingKeyword={keyword}
       onSelectedPagesByCheckboxesChanged={selectedPagesByCheckboxesChangedHandler}
       onSelectedPagesByCheckboxesChanged={selectedPagesByCheckboxesChangedHandler}
       // Components
       // Components
       searchControl={searchControl}
       searchControl={searchControl}
       searchResultListHead={searchResultListHead}
       searchResultListHead={searchResultListHead}
       searchPager={searchPager}
       searchPager={searchPager}
+      hoge={hoge}
     />
     />
   );
   );
 };
 };

+ 3 - 0
packages/app/src/components/SearchPage/SearchResultContent.tsx

@@ -55,6 +55,7 @@ type Props ={
   highlightKeywords?: string[],
   highlightKeywords?: string[],
   showPageControlDropdown?: boolean,
   showPageControlDropdown?: boolean,
   forceHideMenuItems?: ForceHideMenuItems,
   forceHideMenuItems?: ForceHideMenuItems,
+  hoge?: () => void,
 }
 }
 
 
 const scrollTo = (scrollElement:HTMLElement) => {
 const scrollTo = (scrollElement:HTMLElement) => {
@@ -107,6 +108,7 @@ export const SearchResultContent: FC<Props> = (props: Props) => {
     highlightKeywords,
     highlightKeywords,
     showPageControlDropdown,
     showPageControlDropdown,
     forceHideMenuItems,
     forceHideMenuItems,
+    hoge,
   } = props;
   } = props;
 
 
   const { t } = useTranslation();
   const { t } = useTranslation();
@@ -186,6 +188,7 @@ export const SearchResultContent: FC<Props> = (props: Props) => {
             onClickDuplicateMenuItem={duplicateItemClickedHandler}
             onClickDuplicateMenuItem={duplicateItemClickedHandler}
             onClickRenameMenuItem={renameItemClickedHandler}
             onClickRenameMenuItem={renameItemClickedHandler}
             onClickDeleteMenuItem={deleteItemClickedHandler}
             onClickDeleteMenuItem={deleteItemClickedHandler}
+            hoge={hoge}
           />
           />
         </div>
         </div>
         <div className="h-50 d-flex flex-column align-items-end justify-content-center">
         <div className="h-50 d-flex flex-column align-items-end justify-content-center">

+ 3 - 1
packages/app/src/components/SearchPage2/SearchPageBase.tsx

@@ -35,7 +35,7 @@ type Props = {
   forceHideMenuItems?: ForceHideMenuItems,
   forceHideMenuItems?: ForceHideMenuItems,
 
 
   onSelectedPagesByCheckboxesChanged?: (selectedCount: number, totalCount: number) => void,
   onSelectedPagesByCheckboxesChanged?: (selectedCount: number, totalCount: number) => void,
-
+  hoge?: () => void,
   searchControl: React.ReactNode,
   searchControl: React.ReactNode,
   searchResultListHead: React.ReactElement,
   searchResultListHead: React.ReactElement,
   searchPager: React.ReactNode,
   searchPager: React.ReactNode,
@@ -48,6 +48,7 @@ const SearchPageBaseSubstance: ForwardRefRenderFunction<ISelectableAll & IReturn
     searchingKeyword,
     searchingKeyword,
     forceHideMenuItems,
     forceHideMenuItems,
     onSelectedPagesByCheckboxesChanged,
     onSelectedPagesByCheckboxesChanged,
+    hoge,
     searchControl, searchResultListHead, searchPager,
     searchControl, searchResultListHead, searchPager,
   } = props;
   } = props;
 
 
@@ -208,6 +209,7 @@ const SearchPageBaseSubstance: ForwardRefRenderFunction<ISelectableAll & IReturn
               highlightKeywords={highlightKeywords}
               highlightKeywords={highlightKeywords}
               showPageControlDropdown={!isGuestUser}
               showPageControlDropdown={!isGuestUser}
               forceHideMenuItems={forceHideMenuItems}
               forceHideMenuItems={forceHideMenuItems}
+              hoge={hoge}
             />
             />
           )}
           )}
         </div>
         </div>