n8n-editor-ui
Version:
Workflow Editor UI for n8n
66 lines (65 loc) • 2.8 kB
JavaScript
import { C as computed, E as createCommentVNode, Gt as unref, J as onBeforeUnmount, P as defineComponent, T as createBlock, _t as watch, et as openBlock } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
import { gt as useI18n } from "./_MapCache-B159LOu5.js";
import { Hn as N8nButton_default } from "./src-BW7zuOU1.js";
import "./en-b3uD8cvU.js";
import "./preload-helper-CR0ecmWK.js";
import "./_plugin-vue_export-helper-BwBpWJRZ.js";
import "./truncate-Dc5upPom.js";
import "./icon-MZ_3fB_h.js";
import "./empty-4-N75rxI.js";
import { Fi as useUIStore, at as useNodeTypesStore, o as useWorkflowsStore } from "./useTelemetry-C797TaYa.js";
import "./sanitize-html-CgpOSgtK.js";
import "./CalendarDate-DxkU3CHY.js";
import "./path-browserify-B5h_dP_u.js";
import { ss as SETUP_CREDENTIALS_MODAL_KEY } from "./constants-CX1ozgFz.js";
import "./merge-BArJwbQo.js";
import "./_baseOrderBy-DL6Sy5xK.js";
import "./dateformat-CMLc6OKJ.js";
import "./useDebounce-RgPaX171.js";
import { t as doesNodeHaveAllCredentialsFilled } from "./nodeTransforms-0T6NES_R.js";
var SetupWorkflowCredentialsButton_default = /* @__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(() => {
if (!!!workflowsStore.workflow?.meta?.templateId || 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) => {
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) => handleClick())
}, null, 8, ["label"])) : createCommentVNode("", true);
};
}
});
export { SetupWorkflowCredentialsButton_default as default };