1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-08-27 13:49:10 +02:00

refactor: deprecate old ConstraintAccordion and point to new version (#9613)

Code for constraint accordion was copy-pasted before previous
improvement. Old version is still in use for Segments. When we get to
improving constraint editing we should rebuild segments editing, without
use of this code.
This commit is contained in:
Tymoteusz Czech 2025-04-17 11:16:32 +02:00 committed by GitHub
parent 923578c9ea
commit 9d2174534f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
63 changed files with 133 additions and 31 deletions

View File

@ -24,7 +24,7 @@ import { SidebarModal } from 'component/common/SidebarModal/SidebarModal';
import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; import { useSegments } from 'hooks/api/getters/useSegments/useSegments';
import { FeatureStrategyForm } from '../../../../feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm'; import { FeatureStrategyForm } from '../../../../feature/FeatureStrategy/FeatureStrategyForm/FeatureStrategyForm';
import { NewStrategyVariants } from 'component/feature/StrategyTypes/NewStrategyVariants'; import { NewStrategyVariants } from 'component/feature/StrategyTypes/NewStrategyVariants';
import { constraintId } from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; import { constraintId } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/createEmptyConstraint';
import { v4 as uuidv4 } from 'uuid'; import { v4 as uuidv4 } from 'uuid';
interface IEditChangeProps { interface IEditChangeProps {

View File

@ -8,7 +8,7 @@ import type {
} from 'component/changeRequest/changeRequest.types'; } from 'component/changeRequest/changeRequest.types';
import { useSegment } from 'hooks/api/getters/useSegment/useSegment'; import { useSegment } from 'hooks/api/getters/useSegment/useSegment';
import { SegmentDiff, SegmentTooltipLink } from '../../SegmentTooltipLink'; import { SegmentDiff, SegmentTooltipLink } from '../../SegmentTooltipLink';
import { ConstraintAccordionList } from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; import { ConstraintAccordionList } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList';
import { ChangeOverwriteWarning } from './ChangeOverwriteWarning/ChangeOverwriteWarning'; import { ChangeOverwriteWarning } from './ChangeOverwriteWarning/ChangeOverwriteWarning';
const ChangeItemCreateEditWrapper = styled(Box)(({ theme }) => ({ const ChangeItemCreateEditWrapper = styled(Box)(({ theme }) => ({

View File

@ -1,7 +1,7 @@
import type { ComponentProps, FC, ReactNode } from 'react'; import type { ComponentProps, FC, ReactNode } from 'react';
import { StrategyEvaluationItem } from '../StrategyEvaluationItem/StrategyEvaluationItem'; import { StrategyEvaluationItem } from '../StrategyEvaluationItem/StrategyEvaluationItem';
import type { ConstraintSchema } from 'openapi'; import type { ConstraintSchema } from 'openapi';
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; import { formatOperatorDescription } from 'component/common/LegacyConstraintAccordion/ConstraintOperator/formatOperatorDescription';
import { StrategyEvaluationChip } from '../StrategyEvaluationChip/StrategyEvaluationChip'; import { StrategyEvaluationChip } from '../StrategyEvaluationChip/StrategyEvaluationChip';
import { styled, Tooltip } from '@mui/material'; import { styled, Tooltip } from '@mui/material';
import { Truncator } from 'component/common/Truncator/Truncator'; import { Truncator } from 'component/common/Truncator/Truncator';

View File

@ -14,6 +14,9 @@ interface IConstraintAccordionProps {
onSave?: (constraint: IConstraint) => void; onSave?: (constraint: IConstraint) => void;
} }
/**
* @deprecated use `component/common/NewConstraintAccordion/NewConstraintAccordion`
*/
export const ConstraintAccordion = ({ export const ConstraintAccordion = ({
constraint, constraint,
compact = false, compact = false,

View File

@ -77,6 +77,9 @@ const StyledAccordionDetails = styled(AccordionDetails)(({ theme }) => ({
padding: 0, padding: 0,
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionEdit = ({ export const ConstraintAccordionEdit = ({
constraint, constraint,
compact, compact,

View File

@ -41,6 +41,9 @@ const StyledRightButton = styled(Button)(({ theme }) => ({
minWidth: '125px', minWidth: '125px',
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionEditBody: React.FC< export const ConstraintAccordionEditBody: React.FC<
IConstraintAccordionBody IConstraintAccordionBody
> = ({ localConstraint, children, triggerTransition, setAction, onSubmit }) => { > = ({ localConstraint, children, triggerTransition, setAction, onSubmit }) => {

View File

@ -8,6 +8,9 @@ const StyledHeader = styled('h3')(({ theme }) => ({
marginBottom: theme.spacing(0.5), marginBottom: theme.spacing(0.5),
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintFormHeader: React.FC< export const ConstraintFormHeader: React.FC<
React.HTMLAttributes<HTMLDivElement> React.HTMLAttributes<HTMLDivElement>
> = ({ children, ...rest }) => { > = ({ children, ...rest }) => {

View File

@ -21,6 +21,9 @@ const StyledWrapper = styled('div')(({ theme }) => ({
gap: theme.spacing(1), gap: theme.spacing(1),
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const DateSingleValue = ({ export const DateSingleValue = ({
setValue, setValue,
value, value,

View File

@ -53,6 +53,9 @@ const useStyles = makeStyles()((theme) => ({
const ENTER = 'Enter'; const ENTER = 'Enter';
/**
* @deprecated use NewConstraintAccordion components
*/
export const FreeTextInput = ({ export const FreeTextInput = ({
values, values,
removeValue, removeValue,

View File

@ -29,6 +29,9 @@ export const LegalValueLabel = ({ legal, control }: ILegalValueTextProps) => {
); );
}; };
/**
* @deprecated use NewConstraintAccordion components
*/
export const filterLegalValues = ( export const filterLegalValues = (
legalValues: ILegalValue[], legalValues: ILegalValue[],
filter: string, filter: string,

View File

@ -61,6 +61,9 @@ const resolveLegalValues = (
}; };
}; };
/**
* @deprecated use NewConstraintAccordion components
*/
export const ResolveInput = ({ export const ResolveInput = ({
input, input,
contextDefinition, contextDefinition,

View File

@ -2,7 +2,7 @@ import { useEffect, useState } from 'react';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { Alert, Checkbox, styled } from '@mui/material'; import { Alert, Checkbox, styled } from '@mui/material';
import { useThemeStyles } from 'themes/themeStyles'; import { useThemeStyles } from 'themes/themeStyles';
import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConstraintValueSearch } from 'component/common/LegacyConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch';
import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader';
import type { ILegalValue } from 'interfaces/context'; import type { ILegalValue } from 'interfaces/context';
import { import {
@ -60,6 +60,9 @@ const StyledValuesContainer = styled('div')(({ theme }) => ({
overflow: 'auto', overflow: 'auto',
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const RestrictiveLegalValues = ({ export const RestrictiveLegalValues = ({
data, data,
values, values,

View File

@ -2,7 +2,7 @@ import type React from 'react';
import { useState } from 'react'; import { useState } from 'react';
import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader';
import { FormControl, RadioGroup, Radio, Alert } from '@mui/material'; import { FormControl, RadioGroup, Radio, Alert } from '@mui/material';
import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConstraintValueSearch } from 'component/common/LegacyConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { useThemeStyles } from 'themes/themeStyles'; import { useThemeStyles } from 'themes/themeStyles';
import type { ILegalValue } from 'interfaces/context'; import type { ILegalValue } from 'interfaces/context';
@ -26,6 +26,9 @@ interface ISingleLegalValueProps {
constraintValue: string; constraintValue: string;
} }
/**
* @deprecated use NewConstraintAccordion components
*/
export const SingleLegalValue = ({ export const SingleLegalValue = ({
setValue, setValue,
value, value,

View File

@ -18,6 +18,9 @@ const useStyles = makeStyles()((theme) => ({
}, },
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const SingleValue = ({ export const SingleValue = ({
setValue, setValue,
value, value,

View File

@ -64,6 +64,9 @@ type Validator =
| 'STRING_ARRAY_VALIDATOR' | 'STRING_ARRAY_VALIDATOR'
| 'DATE_VALIDATOR'; | 'DATE_VALIDATOR';
/**
* @deprecated use NewConstraintAccordion components
*/
export const useConstraintInput = ({ export const useConstraintInput = ({
contextDefinition, contextDefinition,
localConstraint, localConstraint,

View File

@ -2,7 +2,7 @@ import type { IConstraint } from 'interfaces/strategy';
import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext';
import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect';
import { ConstraintIcon } from 'component/common/ConstraintAccordion/ConstraintIcon'; import { ConstraintIcon } from 'component/common/LegacyConstraintAccordion/ConstraintIcon';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { import {
dateOperators, dateOperators,
@ -15,7 +15,7 @@ import { oneOf } from 'utils/oneOf';
import type React from 'react'; import type React from 'react';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import type { Operator } from 'constants/operators'; import type { Operator } from 'constants/operators';
import { ConstraintOperatorSelect } from 'component/common/ConstraintAccordion/ConstraintOperatorSelect'; import { ConstraintOperatorSelect } from 'component/common/LegacyConstraintAccordion/ConstraintOperatorSelect';
import { import {
operatorsForContext, operatorsForContext,
CURRENT_TIME_CONTEXT_FIELD, CURRENT_TIME_CONTEXT_FIELD,
@ -87,6 +87,9 @@ const StyledHeaderText = styled('p')(({ theme }) => ({
}, },
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionEditHeader = ({ export const ConstraintAccordionEditHeader = ({
compact, compact,
localConstraint, localConstraint,

View File

@ -13,6 +13,9 @@ interface CaseSensitiveButtonProps {
setCaseInsensitive: () => void; setCaseInsensitive: () => void;
} }
/**
* @deprecated use NewConstraintAccordion components
*/
export const CaseSensitiveButton = ({ export const CaseSensitiveButton = ({
localConstraint, localConstraint,
setCaseInsensitive, setCaseInsensitive,

View File

@ -13,6 +13,9 @@ interface InvertedOperatorButtonProps {
setInvertedOperator: () => void; setInvertedOperator: () => void;
} }
/**
* @deprecated use NewConstraintAccordion components
*/
export const InvertedOperatorButton = ({ export const InvertedOperatorButton = ({
localConstraint, localConstraint,
setInvertedOperator, setInvertedOperator,

View File

@ -1,6 +1,9 @@
import { styled } from '@mui/system'; import { styled } from '@mui/system';
import { IconButton } from '@mui/material'; import { IconButton } from '@mui/material';
/**
* @deprecated use NewConstraintAccordion components
*/
export const StyledToggleButtonOff = styled(IconButton)(({ theme }) => ({ export const StyledToggleButtonOff = styled(IconButton)(({ theme }) => ({
width: '28px', width: '28px',
minWidth: '28px', minWidth: '28px',
@ -19,6 +22,9 @@ export const StyledToggleButtonOff = styled(IconButton)(({ theme }) => ({
}, },
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const StyledToggleButtonOn = styled(IconButton)(({ theme }) => ({ export const StyledToggleButtonOn = styled(IconButton)(({ theme }) => ({
width: '28px', width: '28px',
minWidth: '28px', minWidth: '28px',

View File

@ -19,6 +19,9 @@ const StyledHeaderActions = styled('div')(({ theme }) => ({
}, },
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionHeaderActions = ({ export const ConstraintAccordionHeaderActions = ({
onEdit, onEdit,
onDelete, onDelete,

View File

@ -8,12 +8,12 @@ import {
import { Button, styled, Tooltip } from '@mui/material'; import { Button, styled, Tooltip } from '@mui/material';
import HelpOutline from '@mui/icons-material/HelpOutline'; import HelpOutline from '@mui/icons-material/HelpOutline';
import type { IConstraint } from 'interfaces/strategy'; import type { IConstraint } from 'interfaces/strategy';
import { ConstraintAccordion } from 'component/common/ConstraintAccordion/ConstraintAccordion'; import { ConstraintAccordion } from 'component/common/LegacyConstraintAccordion/ConstraintAccordion';
import produce from 'immer'; import produce from 'immer';
import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext';
import { type IUseWeakMap, useWeakMap } from 'hooks/useWeakMap'; import { type IUseWeakMap, useWeakMap } from 'hooks/useWeakMap';
import { objectId } from 'utils/objectId'; import { objectId } from 'utils/objectId';
import { createEmptyConstraint } from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; import { createEmptyConstraint } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/createEmptyConstraint';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator'; import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator';
@ -104,6 +104,9 @@ export const useConstraintAccordionList = (
return { onAdd, state, context }; return { onAdd, state, context };
}; };
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionList = forwardRef< export const ConstraintAccordionList = forwardRef<
IConstraintAccordionListRef | undefined, IConstraintAccordionListRef | undefined,
IConstraintAccordionListProps IConstraintAccordionListProps
@ -183,6 +186,9 @@ interface IConstraintList {
state: IUseWeakMap<IConstraint, IConstraintAccordionListItemState>; state: IUseWeakMap<IConstraint, IConstraintAccordionListItemState>;
} }
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintList = forwardRef< export const ConstraintList = forwardRef<
IConstraintAccordionListRef | undefined, IConstraintAccordionListRef | undefined,
IConstraintList IConstraintList

View File

@ -63,6 +63,9 @@ const StyledWrapper = styled('div')({
width: '100%', width: '100%',
}); });
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionView = ({ export const ConstraintAccordionView = ({
constraint, constraint,
onEdit, onEdit,

View File

@ -15,6 +15,9 @@ const StyledValueContainer = styled('div')(({ theme }) => ({
overflowY: 'auto', overflowY: 'auto',
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionViewBody = ({ export const ConstraintAccordionViewBody = ({
constraint, constraint,
}: IConstraintAccordionViewBodyProps) => { }: IConstraintAccordionViewBodyProps) => {

View File

@ -16,6 +16,9 @@ const StyledChip = styled(Chip)(({ theme }) => ({
margin: theme.spacing(0, 1, 1, 0), margin: theme.spacing(0, 1, 1, 0),
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const MultipleValues = ({ values }: IMultipleValuesProps) => { export const MultipleValues = ({ values }: IMultipleValuesProps) => {
const [filter, setFilter] = useState(''); const [filter, setFilter] = useState('');

View File

@ -24,6 +24,9 @@ const StyledChip = styled(Chip)(({ theme }) => ({
margin: theme.spacing(0, 1, 1, 0), margin: theme.spacing(0, 1, 1, 0),
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const SingleValue = ({ value, operator }: ISingleValueProps) => { export const SingleValue = ({ value, operator }: ISingleValueProps) => {
if (!value) return null; if (!value) return null;

View File

@ -1,4 +1,4 @@
import { ConstraintIcon } from 'component/common/ConstraintAccordion/ConstraintIcon'; import { ConstraintIcon } from 'component/common/LegacyConstraintAccordion/ConstraintIcon';
import type { IConstraint } from 'interfaces/strategy'; import type { IConstraint } from 'interfaces/strategy';
import { ConstraintAccordionViewHeaderInfo } from './ConstraintAccordionViewHeaderInfo'; import { ConstraintAccordionViewHeaderInfo } from './ConstraintAccordionViewHeaderInfo';
import { ConstraintAccordionHeaderActions } from '../../ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions'; import { ConstraintAccordionHeaderActions } from '../../ConstraintAccordionHeaderActions/ConstraintAccordionHeaderActions';
@ -27,6 +27,9 @@ const StyledContainer = styled('div')(({ theme }) => ({
}, },
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionViewHeader = ({ export const ConstraintAccordionViewHeader = ({
constraint, constraint,
onEdit, onEdit,

View File

@ -53,6 +53,9 @@ interface ConstraintAccordionViewHeaderMetaInfoProps {
maxLength?: number; maxLength?: number;
} }
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionViewHeaderInfo = ({ export const ConstraintAccordionViewHeaderInfo = ({
constraint, constraint,
singleValue, singleValue,

View File

@ -51,6 +51,9 @@ const StyledHeaderValuesExpand = styled('p')(({ theme }) => ({
}, },
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionViewHeaderMultipleValues = ({ export const ConstraintAccordionViewHeaderMultipleValues = ({
constraint, constraint,
expanded, expanded,

View File

@ -24,6 +24,9 @@ const StyledHeaderValuesContainerWrapper = styled('div')(({ theme }) => ({
margin: 'auto 0', margin: 'auto 0',
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintAccordionViewHeaderSingleValue = ({ export const ConstraintAccordionViewHeaderSingleValue = ({
constraint, constraint,
allowExpand, allowExpand,

View File

@ -28,6 +28,9 @@ const StyledHeaderConstraintContainer = styled('div')(({ theme }) => ({
}, },
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintViewHeaderOperator = ({ export const ConstraintViewHeaderOperator = ({
constraint, constraint,
disabled = false, disabled = false,

View File

@ -25,6 +25,9 @@ const StyledPrefixIconWrapper = styled(StyledIconWrapperBase)(({ theme }) => ({
borderBottomRightRadius: 0, borderBottomRightRadius: 0,
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const StyledIconWrapper = forwardRef< export const StyledIconWrapper = forwardRef<
HTMLDivElement, HTMLDivElement,
{ isPrefix?: boolean; children?: ReactNode } { isPrefix?: boolean; children?: ReactNode }

View File

@ -7,6 +7,9 @@ interface IConstraintIconProps {
disabled?: boolean; disabled?: boolean;
} }
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintIcon: VFC<IConstraintIconProps> = ({ export const ConstraintIcon: VFC<IConstraintIconProps> = ({
compact, compact,
disabled, disabled,

View File

@ -1,5 +1,5 @@
import type { IConstraint } from 'interfaces/strategy'; import type { IConstraint } from 'interfaces/strategy';
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; import { formatOperatorDescription } from 'component/common/LegacyConstraintAccordion/ConstraintOperator/formatOperatorDescription';
import { styled } from '@mui/material'; import { styled } from '@mui/material';
interface IConstraintOperatorProps { interface IConstraintOperatorProps {
@ -30,6 +30,9 @@ const StyledText = styled('p', {
color: disabled ? theme.palette.text.secondary : theme.palette.neutral.main, color: disabled ? theme.palette.text.secondary : theme.palette.neutral.main,
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintOperator = ({ export const ConstraintOperator = ({
constraint, constraint,
hasPrefix, hasPrefix,

View File

@ -15,7 +15,7 @@ import {
inOperators, inOperators,
} from 'constants/operators'; } from 'constants/operators';
import { useState } from 'react'; import { useState } from 'react';
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; import { formatOperatorDescription } from 'component/common/LegacyConstraintAccordion/ConstraintOperator/formatOperatorDescription';
interface IConstraintOperatorSelectProps { interface IConstraintOperatorSelectProps {
options: Operator[]; options: Operator[];
@ -74,6 +74,9 @@ const StyledOptionContainer = styled('div')(({ theme }) => ({
lineHeight: 1.2, lineHeight: 1.2,
})); }));
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintOperatorSelect = ({ export const ConstraintOperatorSelect = ({
options, options,
value, value,

View File

@ -6,6 +6,9 @@ interface IConstraintValueSearchProps {
setFilter: React.Dispatch<React.SetStateAction<string>>; setFilter: React.Dispatch<React.SetStateAction<string>>;
} }
/**
* @deprecated use NewConstraintAccordion components
*/
export const ConstraintValueSearch = ({ export const ConstraintValueSearch = ({
filter, filter,
setFilter, setFilter,

View File

@ -1,7 +1,7 @@
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { Alert, Button, Checkbox, Chip, Stack, styled } from '@mui/material'; import { Alert, Button, Checkbox, Chip, Stack, styled } from '@mui/material';
import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConstraintValueSearch } from 'component/common/LegacyConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch';
import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader';
import type { ILegalValue } from 'interfaces/context'; import type { ILegalValue } from 'interfaces/context';
import { import {

View File

@ -2,7 +2,7 @@ import type React from 'react';
import { useState } from 'react'; import { useState } from 'react';
import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader'; import { ConstraintFormHeader } from '../ConstraintFormHeader/ConstraintFormHeader';
import { FormControl, RadioGroup, Radio, Alert, styled } from '@mui/material'; import { FormControl, RadioGroup, Radio, Alert, styled } from '@mui/material';
import { ConstraintValueSearch } from 'component/common/ConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch'; import { ConstraintValueSearch } from 'component/common/LegacyConstraintAccordion/ConstraintValueSearch/ConstraintValueSearch';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { useThemeStyles } from 'themes/themeStyles'; import { useThemeStyles } from 'themes/themeStyles';
import type { ILegalValue } from 'interfaces/context'; import type { ILegalValue } from 'interfaces/context';

View File

@ -2,7 +2,7 @@ import type { IConstraint } from 'interfaces/strategy';
import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext'; import useUnleashContext from 'hooks/api/getters/useUnleashContext/useUnleashContext';
import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect'; import GeneralSelect from 'component/common/GeneralSelect/GeneralSelect';
import { ConstraintIcon } from 'component/common/ConstraintAccordion/ConstraintIcon'; import { ConstraintIcon } from 'component/common/LegacyConstraintAccordion/ConstraintIcon';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { import {
dateOperators, dateOperators,
@ -15,7 +15,7 @@ import { oneOf } from 'utils/oneOf';
import type React from 'react'; import type React from 'react';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import type { Operator } from 'constants/operators'; import type { Operator } from 'constants/operators';
import { ConstraintOperatorSelect } from 'component/common/ConstraintAccordion/ConstraintOperatorSelect'; import { ConstraintOperatorSelect } from 'component/common/LegacyConstraintAccordion/ConstraintOperatorSelect';
import { import {
operatorsForContext, operatorsForContext,
CURRENT_TIME_CONTEXT_FIELD, CURRENT_TIME_CONTEXT_FIELD,

View File

@ -1,4 +1,4 @@
import { ConstraintIcon } from 'component/common/ConstraintAccordion/ConstraintIcon'; import { ConstraintIcon } from 'component/common/LegacyConstraintAccordion/ConstraintIcon';
import type { IConstraint } from 'interfaces/strategy'; import type { IConstraint } from 'interfaces/strategy';
import { ConstraintAccordionViewHeaderInfo } from './ConstraintAccordionViewHeaderInfo'; import { ConstraintAccordionViewHeaderInfo } from './ConstraintAccordionViewHeaderInfo';
import { ConstraintAccordionViewHeaderInfo as LegacyConstraintAccordionViewHeaderInfo } from './LegacyConstraintAccordionViewHeaderInfo'; import { ConstraintAccordionViewHeaderInfo as LegacyConstraintAccordionViewHeaderInfo } from './LegacyConstraintAccordionViewHeaderInfo';

View File

@ -1,5 +1,5 @@
import type { IConstraint } from 'interfaces/strategy'; import type { IConstraint } from 'interfaces/strategy';
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; import { formatOperatorDescription } from 'component/common/LegacyConstraintAccordion/ConstraintOperator/formatOperatorDescription';
import { styled } from '@mui/material'; import { styled } from '@mui/material';
interface IConstraintOperatorProps { interface IConstraintOperatorProps {

View File

@ -15,7 +15,7 @@ import {
inOperators, inOperators,
} from 'constants/operators'; } from 'constants/operators';
import { useState } from 'react'; import { useState } from 'react';
import { formatOperatorDescription } from 'component/common/ConstraintAccordion/ConstraintOperator/formatOperatorDescription'; import { formatOperatorDescription } from 'component/common/LegacyConstraintAccordion/ConstraintOperator/formatOperatorDescription';
interface IConstraintOperatorSelectProps { interface IConstraintOperatorSelectProps {
options: Operator[]; options: Operator[];

View File

@ -8,7 +8,7 @@ import { type IUseWeakMap, useWeakMap } from 'hooks/useWeakMap';
import { import {
constraintId, constraintId,
createEmptyConstraint, createEmptyConstraint,
} from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/createEmptyConstraint';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator'; import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator';
import { NewConstraintAccordion } from 'component/common/NewConstraintAccordion/NewConstraintAccordion'; import { NewConstraintAccordion } from 'component/common/NewConstraintAccordion/NewConstraintAccordion';

View File

@ -10,7 +10,7 @@ import {
styled, styled,
Typography, Typography,
} from '@mui/material'; } from '@mui/material';
import { ConstraintAccordionList } from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; import { ConstraintAccordionList } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
interface ISegmentItemProps { interface ISegmentItemProps {

View File

@ -3,7 +3,7 @@ import { render } from 'utils/testRenderer';
import { testServerRoute, testServerSetup } from 'utils/testServer'; import { testServerRoute, testServerSetup } from 'utils/testServer';
import { FeatureStrategyConstraintAccordionList } from './FeatureStrategyConstraintAccordionList'; import { FeatureStrategyConstraintAccordionList } from './FeatureStrategyConstraintAccordionList';
import type { IConstraint } from 'interfaces/strategy'; import type { IConstraint } from 'interfaces/strategy';
import { constraintId } from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; import { constraintId } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/createEmptyConstraint';
const server = testServerSetup(); const server = testServerSetup();

View File

@ -9,7 +9,7 @@ import { HelpIcon } from 'component/common/HelpIcon/HelpIcon';
import { import {
type IConstraintAccordionListRef, type IConstraintAccordionListRef,
useConstraintAccordionList, useConstraintAccordionList,
} from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList';
import { NewConstraintAccordionList } from 'component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList'; import { NewConstraintAccordionList } from 'component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList';
import { Limit } from 'component/common/Limit/Limit'; import { Limit } from 'component/common/Limit/Limit';
import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig'; import useUiConfig from 'hooks/api/getters/useUiConfig/useUiConfig';

View File

@ -28,7 +28,7 @@ import { usePendingChangeRequests } from 'hooks/api/getters/usePendingChangeRequ
import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; import { usePlausibleTracker } from 'hooks/usePlausibleTracker';
import { FeatureStrategyForm } from '../FeatureStrategyForm/FeatureStrategyForm'; import { FeatureStrategyForm } from '../FeatureStrategyForm/FeatureStrategyForm';
import { NewStrategyVariants } from 'component/feature/StrategyTypes/NewStrategyVariants'; import { NewStrategyVariants } from 'component/feature/StrategyTypes/NewStrategyVariants';
import { constraintId } from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; import { constraintId } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/createEmptyConstraint';
import { v4 as uuidv4 } from 'uuid'; import { v4 as uuidv4 } from 'uuid';
import { useScheduledChangeRequestsWithStrategy } from 'hooks/api/getters/useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy'; import { useScheduledChangeRequestsWithStrategy } from 'hooks/api/getters/useScheduledChangeRequestsWithStrategy/useScheduledChangeRequestsWithStrategy';
import { import {

View File

@ -5,7 +5,7 @@ import Clear from '@mui/icons-material/Clear';
import VisibilityOff from '@mui/icons-material/VisibilityOff'; import VisibilityOff from '@mui/icons-material/VisibilityOff';
import Visibility from '@mui/icons-material/Visibility'; import Visibility from '@mui/icons-material/Visibility';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { constraintAccordionListId } from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; import { constraintAccordionListId } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList';
import { styled, type Theme, Tooltip } from '@mui/material'; import { styled, type Theme, Tooltip } from '@mui/material';
interface IFeatureStrategySegmentListProps { interface IFeatureStrategySegmentListProps {

View File

@ -7,7 +7,7 @@ import { ConstraintItem } from './ConstraintItem/LegacyConstraintItem';
import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies'; import { useStrategies } from 'hooks/api/getters/useStrategies/useStrategies';
import { useSegments } from 'hooks/api/getters/useSegments/useSegments'; import { useSegments } from 'hooks/api/getters/useSegments/useSegments';
import { FeatureOverviewSegment } from 'component/feature/FeatureView/FeatureOverview/FeatureOverviewSegment/FeatureOverviewSegment'; import { FeatureOverviewSegment } from 'component/feature/FeatureView/FeatureOverview/FeatureOverviewSegment/FeatureOverviewSegment';
import { ConstraintAccordionList } from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; import { ConstraintAccordionList } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList';
import { import {
parseParameterNumber, parseParameterNumber,
parseParameterString, parseParameterString,

View File

@ -4,7 +4,7 @@ import { objectId } from 'utils/objectId';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator'; import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator';
import { styled } from '@mui/material'; import { styled } from '@mui/material';
import { ConstraintAccordionView } from 'component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView'; import { ConstraintAccordionView } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView';
interface IConstraintExecutionWithoutResultsProps { interface IConstraintExecutionWithoutResultsProps {
constraints?: PlaygroundConstraintSchema[]; constraints?: PlaygroundConstraintSchema[];

View File

@ -7,7 +7,7 @@ import { objectId } from 'utils/objectId';
import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender'; import { ConditionallyRender } from 'component/common/ConditionallyRender/ConditionallyRender';
import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator'; import { StrategySeparator } from 'component/common/StrategySeparator/LegacyStrategySeparator';
import { styled } from '@mui/material'; import { styled } from '@mui/material';
import { ConstraintAccordionView } from 'component/common/ConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView'; import { ConstraintAccordionView } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionView/ConstraintAccordionView';
import { ConstraintError } from './ConstraintError/LegacyConstraintError'; import { ConstraintError } from './ConstraintError/LegacyConstraintError';
import { ConstraintOk } from './ConstraintOk/LegacyConstraintOk'; import { ConstraintOk } from './ConstraintOk/LegacyConstraintOk';

View File

@ -9,7 +9,7 @@ import type { ActionsFilterState } from '../../useProjectActionsForm';
import Delete from '@mui/icons-material/Delete'; import Delete from '@mui/icons-material/Delete';
import Input from 'component/common/Input/Input'; import Input from 'component/common/Input/Input';
import { ProjectActionsFormItem } from '../ProjectActionsFormItem'; import { ProjectActionsFormItem } from '../ProjectActionsFormItem';
import { ConstraintOperatorSelect } from 'component/common/ConstraintAccordion/ConstraintOperatorSelect'; import { ConstraintOperatorSelect } from 'component/common/NewConstraintAccordion/ConstraintOperatorSelect';
import { import {
type Operator, type Operator,
allOperators, allOperators,

View File

@ -18,7 +18,7 @@ import { useNavigate } from 'react-router-dom';
import { import {
ConstraintAccordionList, ConstraintAccordionList,
type IConstraintAccordionListRef, type IConstraintAccordionListRef,
} from 'component/common/ConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList'; } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/ConstraintAccordionList';
import type { SegmentFormStep, SegmentFormMode } from './SegmentForm'; import type { SegmentFormStep, SegmentFormMode } from './SegmentForm';
import { import {
AutocompleteBox, AutocompleteBox,

View File

@ -1,6 +1,6 @@
import type { Operator } from 'constants/operators'; import type { Operator } from 'constants/operators';
import type { IFeatureVariant } from './featureToggle'; import type { IFeatureVariant } from './featureToggle';
import { constraintId } from 'component/common/ConstraintAccordion/ConstraintAccordionList/createEmptyConstraint'; import { constraintId } from 'component/common/LegacyConstraintAccordion/ConstraintAccordionList/createEmptyConstraint';
export interface IFeatureStrategy { export interface IFeatureStrategy {
id: string; id: string;