Files
lcbp3.np-dms.work/n8n-cache/n8n/public/assets/SetupWorkflowCredentialsButton-DMIEMB5C.js
2025-09-21 20:29:15 +07:00

60 lines
2.3 KiB
JavaScript
Executable File

import { d as defineComponent, a1 as useWorkflowsStore, ad as useNodeTypesStore, Q as useUIStore, x as computed, hS as doesNodeHaveAllCredentialsFilled, a7 as watch, W as onBeforeUnmount, hT as SETUP_CREDENTIALS_MODAL_KEY, e as createBlock, f as createCommentVNode, g as openBlock, l as unref, c as useI18n, q as N8nButton } from "./index--OJ5nhDf.js";
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "SetupWorkflowCredentialsButton",
setup(__props) {
const workflowsStore = useWorkflowsStore();
const nodeTypesStore = useNodeTypesStore();
const uiStore = useUIStore();
const i18n = useI18n();
const isTemplateSetupCompleted = computed(() => {
return !!workflowsStore.workflow?.meta?.templateCredsSetupCompleted;
});
const allCredentialsFilled = computed(() => {
if (isTemplateSetupCompleted.value) {
return true;
}
const nodes = workflowsStore.getNodes();
if (!nodes.length) {
return true;
}
return nodes.every((node) => doesNodeHaveAllCredentialsFilled(nodeTypesStore, node));
});
const showButton = computed(() => {
const isCreatedFromTemplate = !!workflowsStore.workflow?.meta?.templateId;
if (!isCreatedFromTemplate || isTemplateSetupCompleted.value) {
return false;
}
return !allCredentialsFilled.value;
});
const unsubscribe = watch(allCredentialsFilled, (newValue) => {
if (newValue) {
workflowsStore.addToWorkflowMetadata({
templateCredsSetupCompleted: true
});
unsubscribe();
}
});
const handleClick = () => {
uiStore.openModal(SETUP_CREDENTIALS_MODAL_KEY);
};
onBeforeUnmount(() => {
uiStore.closeModal(SETUP_CREDENTIALS_MODAL_KEY);
});
return (_ctx, _cache) => {
const _component_n8n_button = N8nButton;
return showButton.value ? (openBlock(), createBlock(_component_n8n_button, {
key: 0,
label: unref(i18n).baseText("nodeView.setupTemplate"),
"data-test-id": "setup-credentials-button",
size: "large",
icon: "package-open",
type: "secondary",
onClick: _cache[0] || (_cache[0] = ($event) => handleClick())
}, null, 8, ["label"])) : createCommentVNode("", true);
};
}
});
export {
_sfc_main as default
};