|
|
@@ -38,6 +38,7 @@ export type AdditionalMenuItemsRendererProps = { pageInfo: IPageInfoAll };
|
|
|
type CommonProps = {
|
|
|
pageInfo?: IPageInfoAll,
|
|
|
isEnableActions?: boolean,
|
|
|
+ isReadOnlyUser?: boolean,
|
|
|
forceHideMenuItems?: ForceHideMenuItems,
|
|
|
|
|
|
onClickBookmarkMenuItem?: (pageId: string, newValue?: boolean) => Promise<void>,
|
|
|
@@ -64,7 +65,7 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
|
|
|
const { t } = useTranslation('');
|
|
|
|
|
|
const {
|
|
|
- pageId, isLoading, pageInfo, isEnableActions, forceHideMenuItems, operationProcessData,
|
|
|
+ pageId, isLoading, pageInfo, isEnableActions, isReadOnlyUser, forceHideMenuItems, operationProcessData,
|
|
|
onClickBookmarkMenuItem, onClickRenameMenuItem, onClickDuplicateMenuItem, onClickDeleteMenuItem,
|
|
|
onClickRevertMenuItem, onClickPathRecoveryMenuItem,
|
|
|
additionalMenuItemOnTopRenderer: AdditionalMenuItemsOnTop,
|
|
|
@@ -176,7 +177,7 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
|
|
|
) }
|
|
|
|
|
|
{/* Move/Rename */}
|
|
|
- { !forceHideMenuItems?.includes(MenuItemType.RENAME) && isEnableActions && pageInfo.isMovable && (
|
|
|
+ { !forceHideMenuItems?.includes(MenuItemType.RENAME) && isEnableActions && !isReadOnlyUser && pageInfo.isMovable && (
|
|
|
<DropdownItem
|
|
|
onClick={renameItemClickedHandler}
|
|
|
data-testid="open-page-move-rename-modal-btn"
|
|
|
@@ -188,7 +189,7 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
|
|
|
) }
|
|
|
|
|
|
{/* Duplicate */}
|
|
|
- { !forceHideMenuItems?.includes(MenuItemType.DUPLICATE) && isEnableActions && (
|
|
|
+ { !forceHideMenuItems?.includes(MenuItemType.DUPLICATE) && isEnableActions && !isReadOnlyUser && (
|
|
|
<DropdownItem
|
|
|
onClick={duplicateItemClickedHandler}
|
|
|
data-testid="open-page-duplicate-modal-btn"
|
|
|
@@ -200,7 +201,7 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
|
|
|
) }
|
|
|
|
|
|
{/* Revert */}
|
|
|
- { !forceHideMenuItems?.includes(MenuItemType.REVERT) && isEnableActions && pageInfo.isRevertible && (
|
|
|
+ { !forceHideMenuItems?.includes(MenuItemType.REVERT) && isEnableActions && !isReadOnlyUser && pageInfo.isRevertible && (
|
|
|
<DropdownItem
|
|
|
onClick={revertItemClickedHandler}
|
|
|
className="grw-page-control-dropdown-item"
|
|
|
@@ -218,7 +219,7 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
|
|
|
) }
|
|
|
|
|
|
{/* PathRecovery */}
|
|
|
- { !forceHideMenuItems?.includes(MenuItemType.PATH_RECOVERY) && isEnableActions && shouldShowPathRecoveryButton && (
|
|
|
+ { !forceHideMenuItems?.includes(MenuItemType.PATH_RECOVERY) && isEnableActions && !isReadOnlyUser && shouldShowPathRecoveryButton && (
|
|
|
<DropdownItem
|
|
|
onClick={pathRecoveryItemClickedHandler}
|
|
|
className="grw-page-control-dropdown-item"
|
|
|
@@ -230,7 +231,7 @@ const PageItemControlDropdownMenu = React.memo((props: DropdownMenuProps): JSX.E
|
|
|
|
|
|
{/* divider */}
|
|
|
{/* Delete */}
|
|
|
- { !forceHideMenuItems?.includes(MenuItemType.DELETE) && isEnableActions && pageInfo.isMovable && (
|
|
|
+ { !forceHideMenuItems?.includes(MenuItemType.DELETE) && isEnableActions && !isReadOnlyUser && pageInfo.isMovable && (
|
|
|
<>
|
|
|
{ showDeviderBeforeDelete && <DropdownItem divider /> }
|
|
|
<DropdownItem
|