diff --git a/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx b/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx index 7214f80a9f..b1e7ee3538 100644 --- a/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/ConstraintsList/EditableConstraintsList.tsx @@ -14,7 +14,7 @@ export interface IEditableConstraintsListRef { export interface IEditableConstraintsListProps { constraints: IConstraint[]; - setConstraints?: React.Dispatch>; + setConstraints: React.Dispatch>; } const StyledContainer = styled('div')({ @@ -29,29 +29,16 @@ export const EditableConstraintsList = forwardRef< >(({ constraints, setConstraints }, ref) => { const { context } = useUnleashContext(); - const onRemove = - setConstraints && - ((index: number) => { - setConstraints( - produce((draft) => { - draft.splice(index, 1); - }), - ); - }); - - const onSave = - setConstraints && - ((index: number, constraint: IConstraint) => { - setConstraints( - produce((draft) => { - draft[index] = constraint; - }), - ); - }); + const onDelete = (index: number) => { + setConstraints( + produce((draft) => { + draft.splice(index, 1); + }), + ); + }; const onAutoSave = - setConstraints && - ((id: string | undefined) => (constraint: IConstraint) => { + (id: string | undefined) => (constraint: IConstraint) => { setConstraints( produce((draft) => { return draft.map((oldConstraint) => { @@ -62,7 +49,7 @@ export const EditableConstraintsList = forwardRef< }); }), ); - }); + }; if (context.length === 0) { return null; @@ -75,9 +62,8 @@ export const EditableConstraintsList = forwardRef< onDelete(index)} + onAutoSave={onAutoSave(constraint[constraintId])} /> ))} diff --git a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx index e574248c67..2bd0ab3790 100644 --- a/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx +++ b/frontend/src/component/common/NewConstraintAccordion/NewConstraintAccordionList/NewConstraintAccordionList.tsx @@ -147,12 +147,15 @@ export const NewConstraintAccordionList = forwardRef< {constraints.map((constraint, index) => addEditStrategy ? ( - state.get(constraint)?.editing ? ( + state.get(constraint)?.editing && + Boolean(setConstraints) ? ( onRemove(index)} + // @ts-ignore + onAutoSave={onAutoSave(constraintId)} /> ) : (