mirror of
https://github.com/Unleash/unleash.git
synced 2025-06-04 01:18:20 +02:00
fix: usage of default strategy (#3995)
This commit is contained in:
parent
f7b0f0e410
commit
60f4ce31f7
@ -33,6 +33,7 @@ import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
|
|||||||
import useQueryParams from 'hooks/useQueryParams';
|
import useQueryParams from 'hooks/useQueryParams';
|
||||||
import useProject from 'hooks/api/getters/useProject/useProject';
|
import useProject from 'hooks/api/getters/useProject/useProject';
|
||||||
import { useSegments } from 'hooks/api/getters/useSegments/useSegments';
|
import { useSegments } from 'hooks/api/getters/useSegments/useSegments';
|
||||||
|
import { DEFAULT_STRATEGY } from '../../../project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy';
|
||||||
|
|
||||||
export const FeatureStrategyCreate = () => {
|
export const FeatureStrategyCreate = () => {
|
||||||
const projectId = useRequiredPathParam('projectId');
|
const projectId = useRequiredPathParam('projectId');
|
||||||
@ -98,7 +99,7 @@ export const FeatureStrategyCreate = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (useDefaultStrategy) {
|
if (useDefaultStrategy) {
|
||||||
setStrategy((defaultStrategy as any) || {});
|
setStrategy((defaultStrategy as any) || DEFAULT_STRATEGY);
|
||||||
} else if (strategyDefinition) {
|
} else if (strategyDefinition) {
|
||||||
setStrategy(createFeatureStrategy(featureId, strategyDefinition));
|
setStrategy(createFeatureStrategy(featureId, strategyDefinition));
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,8 @@ interface IFeatureStrategyMenuCardProps {
|
|||||||
projectId: string;
|
projectId: string;
|
||||||
featureId: string;
|
featureId: string;
|
||||||
environmentId: string;
|
environmentId: string;
|
||||||
strategy: IStrategy;
|
strategy: Pick<IStrategy, 'name' | 'displayName' | 'description'> &
|
||||||
|
Partial<IStrategy>;
|
||||||
defaultStrategy?: boolean;
|
defaultStrategy?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,8 +2,6 @@ import { List, ListItem, styled, Typography } from '@mui/material';
|
|||||||
import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies';
|
import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies';
|
||||||
import { FeatureStrategyMenuCard } from '../FeatureStrategyMenuCard/FeatureStrategyMenuCard';
|
import { FeatureStrategyMenuCard } from '../FeatureStrategyMenuCard/FeatureStrategyMenuCard';
|
||||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||||
import useProject from 'hooks/api/getters/useProject/useProject';
|
|
||||||
import { IStrategy } from 'interfaces/strategy';
|
|
||||||
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';
|
||||||
|
|
||||||
interface IFeatureStrategyMenuCardsProps {
|
interface IFeatureStrategyMenuCardsProps {
|
||||||
@ -33,28 +31,16 @@ export const FeatureStrategyMenuCards = ({
|
|||||||
strategy => !strategy.deprecated && strategy.editable
|
strategy => !strategy.deprecated && strategy.editable
|
||||||
);
|
);
|
||||||
|
|
||||||
const { project } = useProject(projectId);
|
const defaultStrategy = {
|
||||||
|
|
||||||
const strategy = project.environments.find(
|
|
||||||
env => env.environment === environmentId
|
|
||||||
)?.defaultStrategy;
|
|
||||||
|
|
||||||
const defaultStrategy: IStrategy = {
|
|
||||||
name: 'flexibleRollout',
|
name: 'flexibleRollout',
|
||||||
displayName: 'Default strategy',
|
displayName: 'Default strategy',
|
||||||
description:
|
description:
|
||||||
'This is the default strategy defined for this environment in the project',
|
'This is the default strategy defined for this environment in the project',
|
||||||
parameters: [],
|
|
||||||
editable: false,
|
|
||||||
deprecated: false,
|
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
<List dense>
|
<List dense>
|
||||||
<ConditionallyRender
|
<ConditionallyRender
|
||||||
condition={
|
condition={Boolean(uiConfig.flags.strategyImprovements)}
|
||||||
Boolean(uiConfig.flags.strategyImprovements) &&
|
|
||||||
strategy !== undefined
|
|
||||||
}
|
|
||||||
show={
|
show={
|
||||||
<>
|
<>
|
||||||
<StyledTypography color="textSecondary">
|
<StyledTypography color="textSecondary">
|
||||||
@ -65,7 +51,7 @@ export const FeatureStrategyMenuCards = ({
|
|||||||
projectId={projectId}
|
projectId={projectId}
|
||||||
featureId={featureId}
|
featureId={featureId}
|
||||||
environmentId={environmentId}
|
environmentId={environmentId}
|
||||||
strategy={defaultStrategy!}
|
strategy={defaultStrategy}
|
||||||
defaultStrategy={true}
|
defaultStrategy={true}
|
||||||
/>
|
/>
|
||||||
</ListItem>
|
</ListItem>
|
||||||
|
@ -20,7 +20,7 @@ import { ProjectDefaultStrategyForm } from './ProjectDefaultStrategyForm';
|
|||||||
import { CreateFeatureStrategySchema } from 'openapi';
|
import { CreateFeatureStrategySchema } from 'openapi';
|
||||||
import useProject from 'hooks/api/getters/useProject/useProject';
|
import useProject from 'hooks/api/getters/useProject/useProject';
|
||||||
|
|
||||||
const DEFAULT_STRATEGY = {
|
export const DEFAULT_STRATEGY = {
|
||||||
name: 'flexibleRollout',
|
name: 'flexibleRollout',
|
||||||
constraints: [],
|
constraints: [],
|
||||||
parameters: {
|
parameters: {
|
||||||
|
Loading…
Reference in New Issue
Block a user