1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-04-06 01:15:28 +02:00

disable approvers select when no access (#2486)

This commit is contained in:
Mateusz Kwasniewski 2022-11-21 13:38:21 +01:00 committed by GitHub
parent 6e5b214475
commit b39f6a2f0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,4 @@
import React, { useMemo, useState, VFC } from 'react'; import React, { useContext, useMemo, useState, VFC } from 'react';
import { HeaderGroup, useGlobalFilter, useTable } from 'react-table'; import { HeaderGroup, useGlobalFilter, useTable } from 'react-table';
import { Alert, Box, styled, Typography } from '@mui/material'; import { Alert, Box, styled, Typography } from '@mui/material';
import { import {
@ -25,9 +25,10 @@ import { UPDATE_PROJECT } from '@server/types/permissions';
import useToast from 'hooks/useToast'; import useToast from 'hooks/useToast';
import { formatUnknownError } from 'utils/formatUnknownError'; import { formatUnknownError } from 'utils/formatUnknownError';
import { ChangeRequestProcessHelp } from './ChangeRequestProcessHelp/ChangeRequestProcessHelp'; import { ChangeRequestProcessHelp } from './ChangeRequestProcessHelp/ChangeRequestProcessHelp';
import GeneralSelect from '../../../../common/GeneralSelect/GeneralSelect'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect';
import { KeyboardArrowDownOutlined } from '@mui/icons-material'; import { KeyboardArrowDownOutlined } from '@mui/icons-material';
import { useTheme } from '@mui/material/styles'; import { useTheme } from '@mui/material/styles';
import AccessContext from 'contexts/AccessContext';
const StyledBox = styled(Box)(({ theme }) => ({ const StyledBox = styled(Box)(({ theme }) => ({
padding: theme.spacing(1), padding: theme.spacing(1),
@ -141,27 +142,34 @@ export const ChangeRequestConfiguration: VFC = () => {
{ {
Header: 'Required approvals', Header: 'Required approvals',
align: 'center', align: 'center',
Cell: ({ row: { original } }: any) => ( Cell: ({ row: { original } }: any) => {
<ConditionallyRender const { hasAccess } = useContext(AccessContext);
condition={original.changeRequestEnabled}
show={ return (
<StyledBox data-loading> <ConditionallyRender
<GeneralSelect condition={original.changeRequestEnabled}
options={approvalOptions} show={
value={original.requiredApprovals || 1} <StyledBox data-loading>
onChange={approvals => { <GeneralSelect
onRequiredApprovalsChange( options={approvalOptions}
original, value={original.requiredApprovals || 1}
approvals onChange={approvals => {
); onRequiredApprovalsChange(
}} original,
IconComponent={KeyboardArrowDownOutlined} approvals
fullWidth );
/> }}
</StyledBox> disabled={!hasAccess(UPDATE_PROJECT)}
} IconComponent={
/> KeyboardArrowDownOutlined
), }
fullWidth
/>
</StyledBox>
}
/>
);
},
width: 100, width: 100,
disableGlobalFilter: true, disableGlobalFilter: true,
disableSortBy: true, disableSortBy: true,