From c83256286f766472b156301e0358ccff3dea2e00 Mon Sep 17 00:00:00 2001 From: yehorkardash Date: Thu, 6 Aug 2026 10:35:53 +0200 Subject: [PATCH] don't show mode selector in edit mode. Enable full deletion by default --- .../agents/__tests__/AgentChannelModal.test.ts | 6 +++++- .../src/features/agents/channels/registry.ts | 4 +++- .../AgentChannelSlackRemoveConfirmation.test.ts | 4 ++-- .../slack/AgentChannelSlackRemoveConfirmation.vue | 4 ++-- .../editor-ui/src/features/agents/channels/types.ts | 5 ++++- .../agents/components/AgentChannelModal.vue | 13 +++++++++++-- 6 files changed, 27 insertions(+), 9 deletions(-) diff --git a/packages/frontend/editor-ui/src/features/agents/__tests__/AgentChannelModal.test.ts b/packages/frontend/editor-ui/src/features/agents/__tests__/AgentChannelModal.test.ts index 36773b6b165..b05445fc540 100644 --- a/packages/frontend/editor-ui/src/features/agents/__tests__/AgentChannelModal.test.ts +++ b/packages/frontend/editor-ui/src/features/agents/__tests__/AgentChannelModal.test.ts @@ -102,7 +102,11 @@ vi.mock('../channels/registry', async () => { : null, }; const examplePlatform = { ...basePlatform, type: 'example' }; - const slackPlatform = { ...basePlatform, type: 'slack', headerContent: slackHeaderContent }; + const slackPlatform = { + ...basePlatform, + type: 'slack', + headerContent: { setupModal: slackHeaderContent }, + }; const runtime = { loading: ref(false), load: vi.fn().mockResolvedValue(undefined), diff --git a/packages/frontend/editor-ui/src/features/agents/channels/registry.ts b/packages/frontend/editor-ui/src/features/agents/channels/registry.ts index bba3627e239..31f06f6af38 100644 --- a/packages/frontend/editor-ui/src/features/agents/channels/registry.ts +++ b/packages/frontend/editor-ui/src/features/agents/channels/registry.ts @@ -45,7 +45,9 @@ const platforms = { type: 'slack', setupComponent: AgentChannelSlackSetupView, editComponent: AgentChannelSlackEditView, - headerContent: AgentChannelSlackSetupKindSelector, + headerContent: { + setupModal: AgentChannelSlackSetupKindSelector, + }, disconnectConfirmationComponent: AgentChannelSlackRemoveConfirmation, createRuntime: useSlackChannelRuntime, shouldConfirmDisconnect: (runtime, credentialId, { isPublished }) => diff --git a/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.test.ts b/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.test.ts index a61f5d0bd88..d0616ee79e6 100644 --- a/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.test.ts +++ b/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.test.ts @@ -49,10 +49,10 @@ describe('AgentChannelSlackRemoveConfirmation', () => { expect(wrapper.attributes()).toHaveProperty('data-stacked'); expect(wrapper.attributes('data-size')).toBe('medium'); await wrapper.get('[data-testid="slack-managed-remove-confirm"]').trigger('click'); - expect(wrapper.emitted('confirm')).toEqual([[false]]); + expect(wrapper.emitted('confirm')).toEqual([[true]]); await wrapper.get('[data-testid="slack-managed-remove-delete-app"]').trigger('click'); await wrapper.get('[data-testid="slack-managed-remove-confirm"]').trigger('click'); - expect(wrapper.emitted('confirm')).toEqual([[false], [true]]); + expect(wrapper.emitted('confirm')).toEqual([[true], [false]]); }); }); diff --git a/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.vue b/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.vue index 0a1a053683d..3a99c7813b0 100644 --- a/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.vue +++ b/packages/frontend/editor-ui/src/features/agents/channels/slack/AgentChannelSlackRemoveConfirmation.vue @@ -22,12 +22,12 @@ const emit = defineEmits<{ }>(); const i18n = useI18n(); -const deleteExternalResource = ref(false); +const deleteExternalResource = ref(true); watch( () => props.open, (open) => { - if (open) deleteExternalResource.value = false; + if (open) deleteExternalResource.value = true; }, ); diff --git a/packages/frontend/editor-ui/src/features/agents/channels/types.ts b/packages/frontend/editor-ui/src/features/agents/channels/types.ts index b1124e6b046..b0fb2adc8bf 100644 --- a/packages/frontend/editor-ui/src/features/agents/channels/types.ts +++ b/packages/frontend/editor-ui/src/features/agents/channels/types.ts @@ -93,7 +93,10 @@ export interface AgentChannelPlatform { runtime: AgentChannelRuntime, ) => AgentChannelConnectAction; getConnectedDescription?: (context: AgentChannelPresentationContext) => string; - headerContent?: Component; + headerContent?: { + setupModal?: Component; + editModal?: Component; + }; disconnectConfirmationComponent?: Component; shouldConfirmDisconnect?: ( runtime: AgentChannelRuntime, diff --git a/packages/frontend/editor-ui/src/features/agents/components/AgentChannelModal.vue b/packages/frontend/editor-ui/src/features/agents/components/AgentChannelModal.vue index ba456956c86..102450ef361 100644 --- a/packages/frontend/editor-ui/src/features/agents/components/AgentChannelModal.vue +++ b/packages/frontend/editor-ui/src/features/agents/components/AgentChannelModal.vue @@ -186,6 +186,15 @@ const headerContentDisabled = computed( currentRuntime.value.loading.value || channelViewRef.value?.loading === true, ); +const headerContentComponent = computed(() => { + if (isSetupMode.value) { + return currentPlatform.value.headerContent?.setupModal; + } + if (isEditMode.value) { + return currentPlatform.value.headerContent?.editModal; + } + return undefined; +}); const canClose = computed( () => !isCredentialReplacementInProgress.value && @@ -546,8 +555,8 @@ watch(