|
@@ -47,6 +47,7 @@ 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>,
|
|
@@ -67,7 +68,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,
|
|
|
|
|
|
|
+ onClickRevertMenuItem, onClickPathRecoveryMenuItem, onClickSyncLatestRevisionBodyMenuItem,
|
|
|
additionalMenuItemOnTopRenderer: AdditionalMenuItemsOnTop,
|
|
additionalMenuItemOnTopRenderer: AdditionalMenuItemsOnTop,
|
|
|
additionalMenuItemRenderer: AdditionalMenuItems,
|
|
additionalMenuItemRenderer: AdditionalMenuItems,
|
|
|
isInstantRename, alignEnd,
|
|
isInstantRename, alignEnd,
|
|
@@ -108,6 +109,13 @@ 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() => {
|
|
@@ -211,6 +219,15 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
|
|
|
</DropdownItem>
|
|
</DropdownItem>
|
|
|
) }
|
|
) }
|
|
|
|
|
|
|
|
|
|
+ {/* SyncLatestRevisionBody */}
|
|
|
|
|
+ <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 /> }
|