1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-05-26 01:17:00 +02:00

fix: usage of default strategy (#3995)

This commit is contained in:
Jaanus Sellin 2023-06-19 11:31:08 +03:00 committed by GitHub
parent f7b0f0e410
commit 60f4ce31f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 20 deletions

View File

@ -33,6 +33,7 @@ import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
import useQueryParams from 'hooks/useQueryParams';
import useProject from 'hooks/api/getters/useProject/useProject';
import { useSegments } from 'hooks/api/getters/useSegments/useSegments';
import { DEFAULT_STRATEGY } from '../../../project/Project/ProjectSettings/ProjectDefaultStrategySettings/ProjectEnvironment/ProjectEnvironmentDefaultStrategy/EditDefaultStrategy';
export const FeatureStrategyCreate = () => {
const projectId = useRequiredPathParam('projectId');
@ -98,7 +99,7 @@ export const FeatureStrategyCreate = () => {
useEffect(() => {
if (useDefaultStrategy) {
setStrategy((defaultStrategy as any) || {});
setStrategy((defaultStrategy as any) || DEFAULT_STRATEGY);
} else if (strategyDefinition) {
setStrategy(createFeatureStrategy(featureId, strategyDefinition));
}

View File

@ -12,7 +12,8 @@ interface IFeatureStrategyMenuCardProps {
projectId: string;
featureId: string;
environmentId: string;
strategy: IStrategy;
strategy: Pick<IStrategy, 'name' | 'displayName' | 'description'> &
Partial<IStrategy>;
defaultStrategy?: boolean;
}

View File

@ -2,8 +2,6 @@ import { List, ListItem, styled, Typography } from '@mui/material';
import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies';
import { FeatureStrategyMenuCard } from '../FeatureStrategyMenuCard/FeatureStrategyMenuCard';
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';
interface IFeatureStrategyMenuCardsProps {
@ -33,28 +31,16 @@ export const FeatureStrategyMenuCards = ({
strategy => !strategy.deprecated && strategy.editable
);
const { project } = useProject(projectId);
const strategy = project.environments.find(
env => env.environment === environmentId
)?.defaultStrategy;
const defaultStrategy: IStrategy = {
const defaultStrategy = {
name: 'flexibleRollout',
displayName: 'Default strategy',
description:
'This is the default strategy defined for this environment in the project',
parameters: [],
editable: false,
deprecated: false,
};
return (
<List dense>
<ConditionallyRender
condition={
Boolean(uiConfig.flags.strategyImprovements) &&
strategy !== undefined
}
condition={Boolean(uiConfig.flags.strategyImprovements)}
show={
<>
<StyledTypography color="textSecondary">
@ -65,7 +51,7 @@ export const FeatureStrategyMenuCards = ({
projectId={projectId}
featureId={featureId}
environmentId={environmentId}
strategy={defaultStrategy!}
strategy={defaultStrategy}
defaultStrategy={true}
/>
</ListItem>

View File

@ -20,7 +20,7 @@ import { ProjectDefaultStrategyForm } from './ProjectDefaultStrategyForm';
import { CreateFeatureStrategySchema } from 'openapi';
import useProject from 'hooks/api/getters/useProject/useProject';
const DEFAULT_STRATEGY = {
export const DEFAULT_STRATEGY = {
name: 'flexibleRollout',
constraints: [],
parameters: {