mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-20 11:22:15 +00:00
feat(editor): Allow partial template credential setup (no-changelog) (#7899)
Enable continue button even if all credentials havent been setup
This commit is contained in:
@@ -92,7 +92,7 @@ describe('Template credentials setup', () => {
|
|||||||
it('can create credentials and workflow from the template', () => {
|
it('can create credentials and workflow from the template', () => {
|
||||||
templateCredentialsSetupPage.actions.visit(testTemplate.id);
|
templateCredentialsSetupPage.actions.visit(testTemplate.id);
|
||||||
|
|
||||||
templateCredentialsSetupPage.getters.continueButton().should('be.disabled');
|
templateCredentialsSetupPage.getters.continueButton().should('be.enabled');
|
||||||
|
|
||||||
templateCredentialsSetupPage.getters.createAppCredentialsButton('Shopify').click();
|
templateCredentialsSetupPage.getters.createAppCredentialsButton('Shopify').click();
|
||||||
credentialsModal.getters.editCredentialModal().find('input:first()').type('test');
|
credentialsModal.getters.editCredentialModal().find('input:first()').type('test');
|
||||||
|
|||||||
@@ -2281,6 +2281,5 @@
|
|||||||
"templateSetup.instructions": "You need {0} account to setup this template",
|
"templateSetup.instructions": "You need {0} account to setup this template",
|
||||||
"templateSetup.skip": "Skip",
|
"templateSetup.skip": "Skip",
|
||||||
"templateSetup.continue.button": "Continue",
|
"templateSetup.continue.button": "Continue",
|
||||||
"templateSetup.continue.tooltip": "Connect to {numLeft} more app to continue | Connect to {numLeft} more apps to continue",
|
|
||||||
"templateSetup.credential.description": "The credential you select will be used in the {0} node of the workflow template. | The credential you select will be used in the {0} nodes of the workflow template."
|
"templateSetup.credential.description": "The credential you select will be used in the {0} node of the workflow template. | The credential you select will be used in the {0} nodes of the workflow template."
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,15 +38,6 @@ const skipSetupUrl = computed(() => {
|
|||||||
return resolvedRoute.fullPath;
|
return resolvedRoute.fullPath;
|
||||||
});
|
});
|
||||||
|
|
||||||
const buttonTooltip = computed(() => {
|
|
||||||
const numLeft = setupTemplateStore.numCredentialsLeft;
|
|
||||||
|
|
||||||
return i18n.baseText('templateSetup.continue.tooltip', {
|
|
||||||
adjustToNumber: numLeft,
|
|
||||||
interpolate: { numLeft: numLeft.toString() },
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
//#endregion Computed
|
//#endregion Computed
|
||||||
|
|
||||||
//#region Watchers
|
//#region Watchers
|
||||||
@@ -137,19 +128,14 @@ onMounted(async () => {
|
|||||||
$locale.baseText('templateSetup.skip')
|
$locale.baseText('templateSetup.skip')
|
||||||
}}</n8n-link>
|
}}</n8n-link>
|
||||||
|
|
||||||
<n8n-tooltip
|
|
||||||
v-if="isReady"
|
|
||||||
:content="buttonTooltip"
|
|
||||||
:disabled="setupTemplateStore.numCredentialsLeft === 0"
|
|
||||||
>
|
|
||||||
<n8n-button
|
<n8n-button
|
||||||
|
v-if="isReady"
|
||||||
size="large"
|
size="large"
|
||||||
:label="$locale.baseText('templateSetup.continue.button')"
|
:label="$locale.baseText('templateSetup.continue.button')"
|
||||||
:disabled="setupTemplateStore.numCredentialsLeft > 0 || setupTemplateStore.isSaving"
|
:disabled="setupTemplateStore.isSaving"
|
||||||
@click="setupTemplateStore.createWorkflow($router)"
|
@click="setupTemplateStore.createWorkflow($router)"
|
||||||
data-test-id="continue-button"
|
data-test-id="continue-button"
|
||||||
/>
|
/>
|
||||||
</n8n-tooltip>
|
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<n8n-loading variant="button" />
|
<n8n-loading variant="button" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -227,10 +227,6 @@ export const useSetupTemplateStore = defineStore('setupTemplate', () => {
|
|||||||
return overrides;
|
return overrides;
|
||||||
});
|
});
|
||||||
|
|
||||||
const numCredentialsLeft = computed(() => {
|
|
||||||
return credentialUsages.value.length - Object.keys(selectedCredentialIdByKey.value).length;
|
|
||||||
});
|
|
||||||
|
|
||||||
//#endregion Getters
|
//#endregion Getters
|
||||||
|
|
||||||
//#region Actions
|
//#region Actions
|
||||||
@@ -375,7 +371,6 @@ export const useSetupTemplateStore = defineStore('setupTemplate', () => {
|
|||||||
template,
|
template,
|
||||||
credentialUsages,
|
credentialUsages,
|
||||||
selectedCredentialIdByKey,
|
selectedCredentialIdByKey,
|
||||||
numCredentialsLeft,
|
|
||||||
credentialOverrides,
|
credentialOverrides,
|
||||||
createWorkflow,
|
createWorkflow,
|
||||||
skipSetup,
|
skipSetup,
|
||||||
|
|||||||
Reference in New Issue
Block a user