mirror of
https://github.com/Unleash/unleash.git
synced 2025-07-26 13:48:33 +02:00
chore: clean dead code (#9903)
When looking at the big removal PR, I knew we missed something. https://github.com/Unleash/unleash/pull/9888
This commit is contained in:
parent
db90ad9c6c
commit
dcb58de728
@ -1,87 +0,0 @@
|
||||
import { Fragment, type VFC } from 'react';
|
||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||
import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator';
|
||||
import { styled } from '@mui/material';
|
||||
import type {
|
||||
PlaygroundRequestSchema,
|
||||
PlaygroundStrategySchema,
|
||||
} from 'openapi';
|
||||
import { ConstraintExecution } from './ConstraintExecution/LegacyConstraintExecution';
|
||||
import { SegmentExecution } from './SegmentExecution/LegacySegmentExecution';
|
||||
import { PlaygroundResultStrategyExecutionParameters } from './StrategyExecutionParameters/StrategyExecutionParameters';
|
||||
import { CustomStrategyParams } from './CustomStrategyParams/CustomStrategyParams';
|
||||
import { formattedStrategyNames } from 'utils/strategyNames';
|
||||
import { StyledBoxSummary } from './StrategyExecution.styles';
|
||||
import { Badge } from 'component/common/Badge/Badge';
|
||||
|
||||
interface IStrategyExecutionProps {
|
||||
strategyResult: PlaygroundStrategySchema;
|
||||
percentageFill?: string;
|
||||
input?: PlaygroundRequestSchema;
|
||||
}
|
||||
|
||||
const StyledStrategyExecutionWrapper = styled('div')(({ theme }) => ({
|
||||
padding: theme.spacing(0),
|
||||
}));
|
||||
|
||||
export const StrategyExecution: VFC<IStrategyExecutionProps> = ({
|
||||
strategyResult,
|
||||
input,
|
||||
}) => {
|
||||
const { name, constraints, segments, parameters } = strategyResult;
|
||||
|
||||
const hasSegments = Boolean(segments && segments.length > 0);
|
||||
const hasConstraints = Boolean(constraints && constraints?.length > 0);
|
||||
const hasExecutionParameters =
|
||||
name !== 'default' &&
|
||||
Object.keys(formattedStrategyNames).includes(name);
|
||||
const hasCustomStrategyParameters =
|
||||
Object.keys(parameters).length > 0 &&
|
||||
strategyResult.result.evaluationStatus === 'incomplete'; // Use of custom strategy can be more explicit from the API
|
||||
|
||||
if (!parameters) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const items = [
|
||||
hasSegments && <SegmentExecution segments={segments} input={input} />,
|
||||
hasConstraints && (
|
||||
<ConstraintExecution constraints={constraints} input={input} />
|
||||
),
|
||||
hasExecutionParameters && (
|
||||
<PlaygroundResultStrategyExecutionParameters
|
||||
parameters={parameters}
|
||||
constraints={constraints}
|
||||
input={input}
|
||||
/>
|
||||
),
|
||||
hasCustomStrategyParameters && (
|
||||
<CustomStrategyParams strategyName={name} parameters={parameters} />
|
||||
),
|
||||
name === 'default' && (
|
||||
<StyledBoxSummary sx={{ width: '100%' }}>
|
||||
The standard strategy is <Badge color='success'>ON</Badge> for
|
||||
all users.
|
||||
</StyledBoxSummary>
|
||||
),
|
||||
].filter(Boolean);
|
||||
|
||||
return (
|
||||
<StyledStrategyExecutionWrapper>
|
||||
{items.map((item, index) => (
|
||||
<Fragment key={index}>
|
||||
<ConditionallyRender
|
||||
condition={
|
||||
index > 0 &&
|
||||
(strategyResult.name === 'flexibleRollout'
|
||||
? index < items.length
|
||||
: index < items.length - 1)
|
||||
}
|
||||
show={<StrategySeparator text='AND' />}
|
||||
/>
|
||||
{item}
|
||||
</Fragment>
|
||||
))}
|
||||
</StyledStrategyExecutionWrapper>
|
||||
);
|
||||
};
|
@ -1,76 +0,0 @@
|
||||
import { Fragment, type VFC } from 'react';
|
||||
import type { PlaygroundSegmentSchema, PlaygroundRequestSchema } from 'openapi';
|
||||
import { ConstraintExecution } from '../ConstraintExecution/LegacyConstraintExecution';
|
||||
import CancelOutlined from '@mui/icons-material/CancelOutlined';
|
||||
import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator';
|
||||
import { styled, Typography } from '@mui/material';
|
||||
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
|
||||
import { SegmentItem } from 'component/common/SegmentItem/LegacySegmentItem';
|
||||
|
||||
interface ISegmentExecutionProps {
|
||||
segments?: PlaygroundSegmentSchema[];
|
||||
input?: PlaygroundRequestSchema;
|
||||
}
|
||||
|
||||
const SegmentResultTextWrapper = styled('div')(({ theme }) => ({
|
||||
color: theme.palette.error.main,
|
||||
display: 'inline-flex',
|
||||
justifyContent: 'center',
|
||||
marginLeft: 'auto',
|
||||
gap: theme.spacing(1),
|
||||
}));
|
||||
|
||||
export const SegmentExecution: VFC<ISegmentExecutionProps> = ({
|
||||
segments,
|
||||
input,
|
||||
}) => {
|
||||
if (!segments) return null;
|
||||
|
||||
return (
|
||||
<>
|
||||
{segments.map((segment, index) => (
|
||||
<Fragment key={segment.id}>
|
||||
<SegmentItem
|
||||
segment={segment}
|
||||
constraintList={
|
||||
<ConstraintExecution
|
||||
constraints={segment.constraints}
|
||||
input={input}
|
||||
/>
|
||||
}
|
||||
headerContent={
|
||||
<ConditionallyRender
|
||||
condition={!segment.result}
|
||||
show={
|
||||
<SegmentResultTextWrapper>
|
||||
<Typography
|
||||
variant={'subtitle2'}
|
||||
sx={{ pt: 0.25 }}
|
||||
>
|
||||
segment is false
|
||||
</Typography>
|
||||
<span>
|
||||
<CancelOutlined />
|
||||
</span>
|
||||
</SegmentResultTextWrapper>
|
||||
}
|
||||
elseShow={undefined}
|
||||
/>
|
||||
}
|
||||
isExpanded
|
||||
/>
|
||||
<ConditionallyRender
|
||||
condition={
|
||||
// Add IF there is a next segment
|
||||
index >= 0 &&
|
||||
segments.length > 1 &&
|
||||
// Don't add if it's the last segment item
|
||||
index !== segments.length - 1
|
||||
}
|
||||
show={<StrategySeparator text='AND' />}
|
||||
/>
|
||||
</Fragment>
|
||||
))}
|
||||
</>
|
||||
);
|
||||
};
|
Loading…
Reference in New Issue
Block a user