diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx index d4a5589c1b..29d43f183e 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx @@ -70,7 +70,7 @@ export const EditableConstraintsList = forwardRef< {constraints.map((constraint, index) => ( onDelete(index)} onUpdate={onAutoSave(constraint[constraintId])} diff --git a/frontend/src/component/segments/EditSegment/EditSegment.tsx b/frontend/src/component/segments/EditSegment/EditSegment.tsx index b385177d2e..c0df6ef2ee 100644 --- a/frontend/src/component/segments/EditSegment/EditSegment.tsx +++ b/frontend/src/component/segments/EditSegment/EditSegment.tsx @@ -24,15 +24,31 @@ import { useSegmentLimits } from 'hooks/api/getters/useSegmentLimits/useSegmentL import { useOptionalPathParam } from 'hooks/useOptionalPathParam'; import { useChangeRequestApi } from 'hooks/api/actions/useChangeRequestApi/useChangeRequestApi'; import { useHighestPermissionChangeRequestEnvironment } from 'hooks/useHighestPermissionChangeRequestEnvironment'; +import type { ISegment } from 'interfaces/segment.ts'; +import { constraintId } from 'constants/constraintId.ts'; +import { v4 as uuidv4 } from 'uuid'; interface IEditSegmentProps { modal?: boolean; } +const addIdSymbolToConstraints = (segment?: ISegment): ISegment | undefined => { + if (!segment) return; + + const constraints = segment.constraints.map((constraint) => { + return { ...constraint, [constraintId]: uuidv4() }; + }); + + return { ...segment, constraints }; +}; + export const EditSegment = ({ modal }: IEditSegmentProps) => { const projectId = useOptionalPathParam('projectId'); const segmentId = useRequiredPathParam('segmentId'); - const { segment } = useSegment(Number(segmentId)); + const { segment: segmentWithoutConstraintIds } = useSegment( + Number(segmentId), + ); + const segment = addIdSymbolToConstraints(segmentWithoutConstraintIds); const { uiConfig } = useUiConfig(); const { setToastData, setToastApiError } = useToast(); const navigate = useNavigate();