don't show mode selector in edit mode. Enable full deletion by default

This commit is contained in:
yehorkardash 2026-08-06 10:35:53 +02:00
parent bff8c56bac
commit c83256286f
No known key found for this signature in database
6 changed files with 27 additions and 9 deletions

View File

@ -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),

View File

@ -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 }) =>

View File

@ -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]]);
});
});

View File

@ -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;
},
);
</script>

View File

@ -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,

View File

@ -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(
</div>
<div :class="$style.headerActions">
<component
:is="currentPlatform.headerContent"
v-if="currentPlatform.headerContent"
:is="headerContentComponent"
v-if="headerContentComponent"
:runtime="currentRuntime"
:disabled="headerContentDisabled"
/>