Просмотр исходного кода

show deletemodal on SearchResultContent

kaori 4 лет назад
Родитель
Сommit
df92686cac

+ 2 - 2
packages/app/src/components/Navbar/SubNavButtons.tsx

@@ -92,8 +92,8 @@ const SubNavButtonsSubstance = (props: SubNavButtonsSubstanceProps): JSX.Element
       return;
       return;
     }
     }
 
 
-    if (pageId == null || revisionId == null || path == null) {
-      throw Error('Any of _id, revision, and path must not be null.');
+    if (path == null) {
+      throw Error('path must not be null.');
     }
     }
 
 
     const pageToDelete: IPageForPageDeleteModal = {
     const pageToDelete: IPageForPageDeleteModal = {

+ 12 - 1
packages/app/src/components/SearchPage/SearchResultContent.tsx

@@ -14,6 +14,8 @@ import { GrowiSubNavigation } from '../Navbar/GrowiSubNavigation';
 import { SubNavButtons } from '../Navbar/SubNavButtons';
 import { SubNavButtons } from '../Navbar/SubNavButtons';
 import { AdditionalMenuItemsRendererProps } from '../Common/Dropdown/PageItemControl';
 import { AdditionalMenuItemsRendererProps } from '../Common/Dropdown/PageItemControl';
 
 
+import { usePageDeleteModalStatus } from '~/stores/ui';
+
 
 
 type AdditionalMenuItemsProps = AdditionalMenuItemsRendererProps & {
 type AdditionalMenuItemsProps = AdditionalMenuItemsRendererProps & {
   pageId: string,
   pageId: string,
@@ -53,10 +55,17 @@ const SearchResultContent: FC<Props> = (props: Props) => {
     showPageControlDropdown,
     showPageControlDropdown,
   } = props;
   } = props;
 
 
+  const { open: openDeleteModal } = usePageDeleteModalStatus();
+
   const page = focusedSearchResultData?.pageData;
   const page = focusedSearchResultData?.pageData;
 
 
   const growiRenderer = appContainer.getRenderer('searchresult');
   const growiRenderer = appContainer.getRenderer('searchresult');
 
 
+
+  const deleteItemClickedHandler = useCallback(async(pageToDelete) => {
+    openDeleteModal([pageToDelete]);
+  }, [openDeleteModal]);
+
   const ControlComponents = useCallback(() => {
   const ControlComponents = useCallback(() => {
     if (page == null) {
     if (page == null) {
       return <></>;
       return <></>;
@@ -72,15 +81,17 @@ const SearchResultContent: FC<Props> = (props: Props) => {
           <SubNavButtons
           <SubNavButtons
             pageId={page._id}
             pageId={page._id}
             revisionId={revisionId}
             revisionId={revisionId}
+            path={page.path}
             showPageControlDropdown={showPageControlDropdown}
             showPageControlDropdown={showPageControlDropdown}
             additionalMenuItemRenderer={props => <AdditionalMenuItems {...props} pageId={page._id} revisionId={revisionId} />}
             additionalMenuItemRenderer={props => <AdditionalMenuItems {...props} pageId={page._id} revisionId={revisionId} />}
+            onClickDeleteMenuItem={deleteItemClickedHandler}
           />
           />
         </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">
         </div>
         </div>
       </>
       </>
     );
     );
-  }, [page, showPageControlDropdown]);
+  }, [deleteItemClickedHandler, page, showPageControlDropdown]);
 
 
   // return if page is null
   // return if page is null
   if (page == null) return <></>;
   if (page == null) return <></>;