diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx index 7b676097bc..8e78cd021b 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsCard.tsx @@ -1,11 +1,13 @@ import { Add, CloudCircle } from '@mui/icons-material'; -import { Button, Divider, styled } from '@mui/material'; +import { Divider, styled } from '@mui/material'; import { IFeatureEnvironment, IFeatureVariant } from 'interfaces/featureToggle'; import { EnvironmentVariantsTable } from './EnvironmentVariantsTable/EnvironmentVariantsTable'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import { useMemo } from 'react'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; +import PermissionButton from 'component/common/PermissionButton/PermissionButton'; +import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from 'component/providers/AccessProvider/permissions'; const StyledCard = styled('div')(({ theme }) => ({ padding: theme.spacing(3), @@ -58,6 +60,7 @@ const StyledGeneralSelect = styled(GeneralSelect)(({ theme }) => ({ })); interface IEnvironmentVariantsCardProps { + projectId: string; environment: IFeatureEnvironment; searchValue: string; onAddVariant: () => void; @@ -68,6 +71,7 @@ interface IEnvironmentVariantsCardProps { } export const EnvironmentVariantsCard = ({ + projectId, environment, searchValue, onAddVariant, @@ -127,13 +131,16 @@ export const EnvironmentVariantsCard = ({ onEditVariant={onEditVariant} onDeleteVariant={onDeleteVariant} /> - + 1} show={ diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx index ffeafaec02..ed6dd11cf7 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/EnvironmentVariantsTable.tsx @@ -111,6 +111,7 @@ export const EnvironmentVariantsTable = ({ diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx index ce89938803..c06a66bf9e 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCard/EnvironmentVariantsTable/VariantsActionsCell/VariantsActionsCell.tsx @@ -1,11 +1,12 @@ import { Edit, Delete } from '@mui/icons-material'; import PermissionIconButton from 'component/common/PermissionIconButton/PermissionIconButton'; import { ActionCell } from 'component/common/Table/cells/ActionCell/ActionCell'; -import { UPDATE_FEATURE_VARIANTS } from 'component/providers/AccessProvider/permissions'; +import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from 'component/providers/AccessProvider/permissions'; import { IFeatureVariant } from 'interfaces/featureToggle'; interface IVarintsActionCellProps { projectId: string; + environmentId: string; variant: IFeatureVariant; editVariant: (variant: IFeatureVariant) => void; deleteVariant: (variant: IFeatureVariant) => void; @@ -13,6 +14,7 @@ interface IVarintsActionCellProps { export const VariantsActionCell = ({ projectId, + environmentId, variant, editVariant, deleteVariant, @@ -22,8 +24,9 @@ export const VariantsActionCell = ({ editVariant(variant)} tooltipProps={{ title: 'Edit variant', @@ -33,9 +36,10 @@ export const VariantsActionCell = ({ deleteVariant(variant)} tooltipProps={{ title: 'Delete variant', diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx index 82eca42ac9..c3416d1a53 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/EnvironmentVariantsCopyFrom/EnvironmentVariantsCopyFrom.tsx @@ -14,6 +14,7 @@ interface IEnvironmentVariantsCopyFromProps { environment: IFeatureEnvironment; permission: string; projectId: string; + environmentId: string; onCopyVariantsFrom: ( fromEnvironment: IFeatureEnvironment, toEnvironment: IFeatureEnvironment @@ -25,6 +26,7 @@ export const EnvironmentVariantsCopyFrom = ({ environment, permission, projectId, + environmentId, onCopyVariantsFrom, otherEnvsWithVariants, }: IEnvironmentVariantsCopyFromProps) => { @@ -48,6 +50,7 @@ export const EnvironmentVariantsCopyFrom = ({ variant="outlined" permission={permission} projectId={projectId} + environmentId={environmentId} > Copy variants from diff --git a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx index 0f3137d294..95748256ed 100644 --- a/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx +++ b/frontend/src/component/feature/FeatureView/FeatureVariants/FeatureEnvironmentVariants/FeatureEnvironmentVariants.tsx @@ -7,7 +7,7 @@ import { PageHeader } from 'component/common/PageHeader/PageHeader'; import PermissionButton from 'component/common/PermissionButton/PermissionButton'; import { Search } from 'component/common/Search/Search'; import { updateWeight } from 'component/common/util'; -import { UPDATE_FEATURE_VARIANTS } from 'component/providers/AccessProvider/permissions'; +import { UPDATE_FEATURE_ENVIRONMENT_VARIANTS } from 'component/providers/AccessProvider/permissions'; import { useFeature } from 'hooks/api/getters/useFeature/useFeature'; import { useRequiredPathParam } from 'hooks/useRequiredPathParam'; import { IFeatureEnvironment, IFeatureVariant } from 'interfaces/featureToggle'; @@ -232,6 +232,7 @@ export const FeatureEnvironmentVariants = () => { return ( addVariant(environment)} @@ -252,15 +253,21 @@ export const FeatureEnvironmentVariants = () => { addVariant(environment)} variant="outlined" - permission={UPDATE_FEATURE_VARIANTS} + permission={ + UPDATE_FEATURE_ENVIRONMENT_VARIANTS + } projectId={projectId} + environmentId={environment.name} > Add variant