Shun Miyazawa 1 年間 前
コミット
d8cbc115c2

+ 1 - 22
apps/app/src/client/components/Common/Dropdown/PageItemControl.tsx

@@ -27,7 +27,6 @@ export const MenuItemType = {
   DELETE: 'delete',
   DELETE: 'delete',
   REVERT: 'revert',
   REVERT: 'revert',
   PATH_RECOVERY: 'pathRecovery',
   PATH_RECOVERY: 'pathRecovery',
-  SYNC_LATEST_REVISION_BODY: 'syncLatestRevisionBody',
   SWITCH_CONTENT_WIDTH: 'switch_content_width',
   SWITCH_CONTENT_WIDTH: 'switch_content_width',
 } as const;
 } as const;
 export type MenuItemType = typeof MenuItemType[keyof typeof MenuItemType];
 export type MenuItemType = typeof MenuItemType[keyof typeof MenuItemType];
@@ -48,7 +47,6 @@ type CommonProps = {
   onClickDeleteMenuItem?: (pageId: string, pageInfo: IPageInfoAll | undefined) => Promise<void> | void,
   onClickDeleteMenuItem?: (pageId: string, pageInfo: IPageInfoAll | undefined) => Promise<void> | void,
   onClickRevertMenuItem?: (pageId: string) => Promise<void> | void,
   onClickRevertMenuItem?: (pageId: string) => Promise<void> | void,
   onClickPathRecoveryMenuItem?: (pageId: string) => Promise<void> | void,
   onClickPathRecoveryMenuItem?: (pageId: string) => Promise<void> | void,
-  onClickSyncLatestRevisionBodyMenuItem?: (pageId: string) => Promise<void> | void,
 
 
   additionalMenuItemOnTopRenderer?: React.FunctionComponent<AdditionalMenuItemsRendererProps>,
   additionalMenuItemOnTopRenderer?: React.FunctionComponent<AdditionalMenuItemsRendererProps>,
   additionalMenuItemRenderer?: React.FunctionComponent<AdditionalMenuItemsRendererProps>,
   additionalMenuItemRenderer?: React.FunctionComponent<AdditionalMenuItemsRendererProps>,
@@ -69,7 +67,7 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
   const {
   const {
     pageId, isLoading, pageInfo, isEnableActions, isReadOnlyUser, forceHideMenuItems, operationProcessData,
     pageId, isLoading, pageInfo, isEnableActions, isReadOnlyUser, forceHideMenuItems, operationProcessData,
     onClickBookmarkMenuItem, onClickRenameMenuItem, onClickDuplicateMenuItem, onClickDeleteMenuItem,
     onClickBookmarkMenuItem, onClickRenameMenuItem, onClickDuplicateMenuItem, onClickDeleteMenuItem,
-    onClickRevertMenuItem, onClickPathRecoveryMenuItem, onClickSyncLatestRevisionBodyMenuItem,
+    onClickRevertMenuItem, onClickPathRecoveryMenuItem,
     additionalMenuItemOnTopRenderer: AdditionalMenuItemsOnTop,
     additionalMenuItemOnTopRenderer: AdditionalMenuItemsOnTop,
     additionalMenuItemRenderer: AdditionalMenuItems,
     additionalMenuItemRenderer: AdditionalMenuItems,
     isInstantRename, alignEnd,
     isInstantRename, alignEnd,
@@ -110,14 +108,6 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
     await onClickRevertMenuItem(pageId);
     await onClickRevertMenuItem(pageId);
   }, [onClickRevertMenuItem, pageId]);
   }, [onClickRevertMenuItem, pageId]);
 
 
-  const syncLatestRevisionBodyHandler = useCallback(async() => {
-    if (onClickSyncLatestRevisionBodyMenuItem == null) {
-      return;
-    }
-    await onClickSyncLatestRevisionBodyMenuItem(pageId);
-  }, [onClickSyncLatestRevisionBodyMenuItem, pageId]);
-
-
   // eslint-disable-next-line react-hooks/rules-of-hooks
   // eslint-disable-next-line react-hooks/rules-of-hooks
   const deleteItemClickedHandler = useCallback(async() => {
   const deleteItemClickedHandler = useCallback(async() => {
     if (pageInfo == null || onClickDeleteMenuItem == null) {
     if (pageInfo == null || onClickDeleteMenuItem == null) {
@@ -220,17 +210,6 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
           </DropdownItem>
           </DropdownItem>
         ) }
         ) }
 
 
-        {/* SyncLatestRevisionBody */}
-        { !forceHideMenuItems?.includes(MenuItemType.SYNC_LATEST_REVISION_BODY) && isEnableActions && !isReadOnlyUser && (
-          <DropdownItem
-            onClick={syncLatestRevisionBodyHandler}
-            className="grw-page-control-dropdown-item"
-          >
-            <span className="material-symbols-outlined me-1 grw-page-control-dropdown-icon">sync</span>
-            {t('SyncLatestRevisionBody')}
-          </DropdownItem>
-        )}
-
         { AdditionalMenuItems && (
         { AdditionalMenuItems && (
           <>
           <>
             { showDeviderBeforeAdditionalMenuItems && <DropdownItem divider /> }
             { showDeviderBeforeAdditionalMenuItems && <DropdownItem divider /> }

+ 16 - 9
apps/app/src/client/components/Navbar/GrowiContextualSubNavigation.tsx

@@ -76,8 +76,24 @@ const PageOperationMenuItems = (props: PageOperationMenuItemsProps): JSX.Element
   const { open: openPresentationModal } = usePagePresentationModal();
   const { open: openPresentationModal } = usePagePresentationModal();
   const { open: openAccessoriesModal } = usePageAccessoriesModal();
   const { open: openAccessoriesModal } = usePageAccessoriesModal();
 
 
+  const syncLatestRevisionBodyHandler = useCallback(async() => {
+    // eslint-disable-next-line no-alert
+    const answer = window.confirm(t('sync-latest-reevision-body.confirm'));
+    if (answer) {
+      // TODO: https://redmine.weseek.co.jp/issues/149418
+    }
+  }, [t]);
+
   return (
   return (
     <>
     <>
+      <DropdownItem
+        onClick={() => syncLatestRevisionBodyHandler()}
+        className="grw-page-control-dropdown-item"
+      >
+        <span className="material-symbols-outlined me-1 grw-page-control-dropdown-icon">sync</span>
+        {t('SyncLatestRevisionBody')}
+      </DropdownItem>
+
       {/* Presentation */}
       {/* Presentation */}
       <DropdownItem
       <DropdownItem
         onClick={() => openPresentationModal()}
         onClick={() => openPresentationModal()}
@@ -256,14 +272,6 @@ const GrowiContextualSubNavigation = (props: GrowiContextualSubNavigationProps):
     openDeleteModal([pageWithMeta], { onDeleted: deletedHandler });
     openDeleteModal([pageWithMeta], { onDeleted: deletedHandler });
   }, [currentPathname, mutateCurrentPage, openDeleteModal, router, mutatePageInfo]);
   }, [currentPathname, mutateCurrentPage, openDeleteModal, router, mutatePageInfo]);
 
 
-  const syncLatestRevisionBodyHandler = useCallback(async(pageId: string) => {
-    // eslint-disable-next-line no-alert
-    const answer = window.confirm(t('sync-latest-reevision-body.confirm'));
-    if (answer) {
-      // TODO: https://redmine.weseek.co.jp/issues/149418
-    }
-  }, [t]);
-
   const switchContentWidthHandler = useCallback(async(pageId: string, value: boolean) => {
   const switchContentWidthHandler = useCallback(async(pageId: string, value: boolean) => {
     if (!isSharedPage) {
     if (!isSharedPage) {
       await updateContentWidth(pageId, value);
       await updateContentWidth(pageId, value);
@@ -339,7 +347,6 @@ const GrowiContextualSubNavigation = (props: GrowiContextualSubNavigationProps):
                 onClickDuplicateMenuItem={duplicateItemClickedHandler}
                 onClickDuplicateMenuItem={duplicateItemClickedHandler}
                 onClickRenameMenuItem={renameItemClickedHandler}
                 onClickRenameMenuItem={renameItemClickedHandler}
                 onClickDeleteMenuItem={deleteItemClickedHandler}
                 onClickDeleteMenuItem={deleteItemClickedHandler}
-                onClickSyncLatestRevisionBodyMenuItem={syncLatestRevisionBodyHandler}
                 onClickSwitchContentWidth={switchContentWidthHandler}
                 onClickSwitchContentWidth={switchContentWidthHandler}
               />
               />
             )}
             )}

+ 1 - 12
apps/app/src/client/components/PageControls/PageControls.tsx

@@ -113,7 +113,6 @@ 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,
-  onClickSyncLatestRevisionBodyMenuItem?: (pageId: string) => void,
   onClickSwitchContentWidth?: (pageId: string, value: boolean) => void,
   onClickSwitchContentWidth?: (pageId: string, value: boolean) => void,
 }
 }
 
 
@@ -127,8 +126,7 @@ const PageControlsSubstance = (props: PageControlsSubstanceProps): JSX.Element =
     pageInfo,
     pageInfo,
     pageId, revisionId, path, shareLinkId, expandContentWidth,
     pageId, revisionId, path, shareLinkId, expandContentWidth,
     disableSeenUserInfoPopover, hideSubControls, showPageControlDropdown, forceHideMenuItems, additionalMenuItemRenderer,
     disableSeenUserInfoPopover, hideSubControls, showPageControlDropdown, forceHideMenuItems, additionalMenuItemRenderer,
-    onClickEditTagsButton, onClickDuplicateMenuItem, onClickRenameMenuItem,
-    onClickDeleteMenuItem, onClickSyncLatestRevisionBodyMenuItem, onClickSwitchContentWidth,
+    onClickEditTagsButton, onClickDuplicateMenuItem, onClickRenameMenuItem, onClickDeleteMenuItem, onClickSwitchContentWidth,
   } = props;
   } = props;
 
 
   const { data: isGuestUser } = useIsGuestUser();
   const { data: isGuestUser } = useIsGuestUser();
@@ -227,14 +225,6 @@ const PageControlsSubstance = (props: PageControlsSubstanceProps): JSX.Element =
     onClickDeleteMenuItem(pageToDelete);
     onClickDeleteMenuItem(pageToDelete);
   }, [onClickDeleteMenuItem, pageId, pageInfo, path, revisionId]);
   }, [onClickDeleteMenuItem, pageId, pageInfo, path, revisionId]);
 
 
-  const syncLatestRevisionBodyMenuItemClickHandler = useCallback(async() => {
-    if (onClickSyncLatestRevisionBodyMenuItem == null || path == null) {
-      return;
-    }
-
-    onClickSyncLatestRevisionBodyMenuItem(pageId);
-  }, [onClickSyncLatestRevisionBodyMenuItem, pageId, path]);
-
   const switchContentWidthClickHandler = useCallback(() => {
   const switchContentWidthClickHandler = useCallback(() => {
 
 
     const newValue = !expandContentWidth;
     const newValue = !expandContentWidth;
@@ -341,7 +331,6 @@ const PageControlsSubstance = (props: PageControlsSubstanceProps): JSX.Element =
           additionalMenuItemRenderer={additionalMenuItemRenderer}
           additionalMenuItemRenderer={additionalMenuItemRenderer}
           onClickRenameMenuItem={renameMenuItemClickHandler}
           onClickRenameMenuItem={renameMenuItemClickHandler}
           onClickDuplicateMenuItem={duplicateMenuItemClickHandler}
           onClickDuplicateMenuItem={duplicateMenuItemClickHandler}
-          onClickSyncLatestRevisionBodyMenuItem={syncLatestRevisionBodyMenuItemClickHandler}
           onClickDeleteMenuItem={deleteMenuItemClickHandler}
           onClickDeleteMenuItem={deleteMenuItemClickHandler}
         />
         />
       )}
       )}