diff --git a/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.test.ts b/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.test.ts index 7cf46f456a9..de899c1eea9 100644 --- a/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.test.ts +++ b/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.test.ts @@ -80,7 +80,7 @@ describe('workflow builder form manipulation', () => { index: 0, }); - expect(getElement(form, el.id, isContainerElement).parentId).toBe(form.rootElementId); + expect(getElement(form, el.id).parentId).toBe(form.rootElementId); }); it('should add the element at the given index', () => { diff --git a/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.ts b/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.ts index 89dd4e48663..ee2dfa8f6f5 100644 --- a/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.ts +++ b/invokeai/frontend/web/src/features/nodes/components/sidePanel/builder/form-manipulation.ts @@ -125,6 +125,11 @@ export const addElement = (args: { const { form, element, parentId, index } = args; const { elements } = form; + if (element.id in elements) { + // Element already exists + return false; + } + const parent = elements[parentId]; if (!parent || !isContainerElement(parent)) { return false;