diff --git a/cypress/e2e/13-pinning.cy.ts b/cypress/e2e/13-pinning.cy.ts index e0b3ef3f2342a..709000b5e62b7 100644 --- a/cypress/e2e/13-pinning.cy.ts +++ b/cypress/e2e/13-pinning.cy.ts @@ -69,6 +69,16 @@ describe('Data pinning', () => { ndv.getters.outputTbodyCell(1, 0).should('include.text', 1); }); + it('should display pin data edit button for Webhook node', () => { + workflowPage.actions.addInitialNodeToCanvas('Webhook', { keepNdvOpen: true }); + + ndv.getters + .runDataPaneHeader() + .find('button') + .filter(':visible') + .should('have.attr', 'title', 'Edit Output'); + }); + it('Should be duplicating pin data when duplicating node', () => { workflowPage.actions.addInitialNodeToCanvas('Schedule Trigger'); workflowPage.actions.addNodeToCanvas(EDIT_FIELDS_SET_NODE_NAME, true, true); diff --git a/packages/editor-ui/src/composables/useNodeType.ts b/packages/editor-ui/src/composables/useNodeType.ts index 5fa67e2c35776..d41c22c001f4b 100644 --- a/packages/editor-ui/src/composables/useNodeType.ts +++ b/packages/editor-ui/src/composables/useNodeType.ts @@ -36,7 +36,13 @@ export function useNodeType( : false; }); - const isMultipleOutputsNodeType = computed(() => (nodeType.value?.outputs ?? []).length > 1); + const isMultipleOutputsNodeType = computed(() => { + const outputs = nodeType.value?.outputs; + + if (typeof outputs === 'string') return false; // e.g. Webhook node + + return (outputs ?? []).length > 1; + }); return { nodeType,