n8n-editor-ui
Version:
Workflow Editor UI for n8n
72 lines (71 loc) • 3.15 kB
JavaScript
import { C as computed, E as createCommentVNode, Gt as unref, J as onBeforeUnmount, P as defineComponent, T as createBlock, Z as onMounted, _t as watch, et as openBlock } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
import { _t as useI18n } from "./_MapCache-ficiegRb.js";
import { Sn as N8nButton_default } from "./src-DgvumQTi.js";
import "./en-CF30SCh2.js";
import "./preload-helper-CR0ecmWK.js";
import "./_plugin-vue_export-helper-BwBpWJRZ.js";
import "./truncate-B1HVeveJ.js";
import { N as useWorkflowsStore, Nt as useNodeTypesStore, j as usePostHog, oa as useUIStore } from "./builder.store-sBTWwxRU.js";
import "./empty-BuGRxzl4.js";
import "./sanitize-html-Cc45ZKm8.js";
import "./CalendarDate-zWqgZMlk.js";
import "./path-browserify-BtCDmZ3_.js";
import { ls as SETUP_CREDENTIALS_MODAL_KEY, vc as TEMPLATE_SETUP_EXPERIENCE } from "./constants-BbpucWL4.js";
import "./merge-k8vSyyXH.js";
import "./_baseOrderBy-B_6CV8x6.js";
import "./dateformat-CM9k0--B.js";
import "./useDebounce-Bnb8W2LR.js";
import { t as doesNodeHaveAllCredentialsFilled } from "./nodeTransforms-Lk_uXh7p.js";
var SetupWorkflowCredentialsButton_default = /* @__PURE__ */ defineComponent({
__name: "SetupWorkflowCredentialsButton",
setup(__props) {
const workflowsStore = useWorkflowsStore();
const nodeTypesStore = useNodeTypesStore();
const posthogStore = usePostHog();
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(() => {
if (!!!workflowsStore.workflow?.meta?.templateId || isTemplateSetupCompleted.value) return false;
return !allCredentialsFilled.value;
});
const isNewTemplatesSetupEnabled = computed(() => {
return posthogStore.getVariant(TEMPLATE_SETUP_EXPERIENCE.name) === TEMPLATE_SETUP_EXPERIENCE.variant;
});
const unsubscribe = watch(allCredentialsFilled, (newValue) => {
if (newValue) {
workflowsStore.addToWorkflowMetadata({ templateCredsSetupCompleted: true });
unsubscribe();
}
});
const openSetupModal = () => {
uiStore.openModal(SETUP_CREDENTIALS_MODAL_KEY);
};
onBeforeUnmount(() => {
uiStore.closeModal(SETUP_CREDENTIALS_MODAL_KEY);
});
onMounted(() => {
if (isNewTemplatesSetupEnabled.value && showButton.value) openSetupModal();
});
return (_ctx, _cache) => {
return showButton.value ? (openBlock(), createBlock(unref(N8nButton_default), {
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) => openSetupModal())
}, null, 8, ["label"])) : createCommentVNode("", true);
};
}
});
export { SetupWorkflowCredentialsButton_default as default };