- Add the SAVE_EMAIL action. This action requires more setting parameters than the Serverless Function action. - Changed the way we computed the workflow diagram. It now preserves some properties, like the `selected` property. That's necessary to not close the right drawer when the workflow back-end data change. - Added the possibility to set a label to a TextArea. This uses a `<label>` HTML element and the `useId()` hook to create an id linking the label with the input.
27 lines
645 B
TypeScript
27 lines
645 B
TypeScript
import { WorkflowStep } from '@/workflow/types/Workflow';
|
|
import { findStepPositionOrThrow } from '@/workflow/utils/findStepPositionOrThrow';
|
|
|
|
export const replaceStep = <T extends WorkflowStep>({
|
|
steps: stepsInitial,
|
|
stepId,
|
|
stepToReplace,
|
|
}: {
|
|
steps: Array<WorkflowStep>;
|
|
stepId: string;
|
|
stepToReplace: Partial<Omit<T, 'id'>>;
|
|
}) => {
|
|
const steps = structuredClone(stepsInitial);
|
|
|
|
const parentStepPosition = findStepPositionOrThrow({
|
|
steps,
|
|
stepId,
|
|
});
|
|
|
|
parentStepPosition.steps[parentStepPosition.index] = {
|
|
...parentStepPosition.steps[parentStepPosition.index],
|
|
...stepToReplace,
|
|
};
|
|
|
|
return steps;
|
|
};
|