mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-28 17:55:15 +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