UNPKG

n8n-editor-ui

Version:

Workflow Editor UI for n8n

154 lines (153 loc) 7.54 kB
import { C as computed, Cn as toDisplayString, E as createCommentVNode, Gt as unref, It as ref, M as createVNode, P as defineComponent, T as createBlock, bt as withCtx, et as openBlock, j as createTextVNode, vn as normalizeClass, w as createBaseVNode } from "./vue.runtime.esm-bundler-tP5dCd7J.js"; import { gt as useI18n } from "./_MapCache-B159LOu5.js"; import { Hn as N8nButton_default, Vn as N8nText_default, xt as N8nIconButton_default, zn as N8nHeading_default } from "./src-BW7zuOU1.js"; import "./en-b3uD8cvU.js"; import "./preload-helper-CR0ecmWK.js"; import { t as __plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BwBpWJRZ.js"; import { x as createEventBus } from "./truncate-Dc5upPom.js"; import "./icon-MZ_3fB_h.js"; import "./overlay-CftFqN-S.js"; import "./empty-4-N75rxI.js"; import { t as useMessage } from "./useMessage-C1bozAQq.js"; import "./dialog-DlumiPST.js"; import { Ht as useCredentialsStore } from "./useTelemetry-C797TaYa.js"; import { t as useToast } from "./useToast-ZaUhbG9w.js"; import "./sanitize-html-CgpOSgtK.js"; import "./CalendarDate-DxkU3CHY.js"; import "./path-browserify-B5h_dP_u.js"; import { Qr as PROVIDER_CREDENTIAL_TYPE_MAP, ts as MODAL_CONFIRM } from "./constants-CX1ozgFz.js"; import "./merge-BArJwbQo.js"; import "./_baseOrderBy-DL6Sy5xK.js"; import "./dateformat-CMLc6OKJ.js"; import "./useDebounce-RgPaX171.js"; import "./useExternalHooks-CYMS6JpD.js"; import "./useStyles-DhM0cpS7.js"; import { t as Modal_default } from "./Modal-DgSM6to-.js"; import { t as CredentialIcon_default } from "./CredentialIcon-DJSoDYWS.js"; import { f as providerDisplayNames } from "./constants-D2fYduVh.js"; import { t as CredentialPicker_default } from "./CredentialPicker-BurvsUA1.js"; var CredentialSelectorModal_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ __name: "CredentialSelectorModal", props: { modalName: {}, data: {} }, setup(__props) { const props = __props; const i18n = useI18n(); const message = useMessage(); const toast = useToast(); const credentialsStore = useCredentialsStore(); const modalBus = ref(createEventBus()); const selectedCredentialId = ref(props.data.initialValue); const credentialType = computed(() => PROVIDER_CREDENTIAL_TYPE_MAP[props.data.provider]); const selectedCredential = computed(() => { if (!selectedCredentialId.value) return null; return credentialsStore.getCredentialById(selectedCredentialId.value); }); function onCredentialSelect(credentialId) { selectedCredentialId.value = credentialId; } function onCredentialDeselect() { selectedCredentialId.value = null; } async function onDeleteCredential() { if (!selectedCredential.value) return; const credentialIdToDelete = selectedCredential.value.id; if (await message.confirm(i18n.baseText("credentialEdit.credentialEdit.confirmMessage.deleteCredential.message", { interpolate: { savedCredentialName: selectedCredential.value.name } }), i18n.baseText("credentialEdit.credentialEdit.confirmMessage.deleteCredential.headline"), { confirmButtonText: i18n.baseText("credentialEdit.credentialEdit.confirmMessage.deleteCredential.confirmButtonText") }) !== "confirm") return; try { await credentialsStore.deleteCredential({ id: credentialIdToDelete }); selectedCredentialId.value = null; if (credentialIdToDelete === props.data.initialValue) props.data.onSelect(props.data.provider, null); modalBus.value.emit("close"); } catch (error) { toast.showError(error, i18n.baseText("credentialEdit.credentialEdit.showError.deleteCredential.title")); } } function onConfirm() { if (selectedCredentialId.value) { props.data.onSelect(props.data.provider, selectedCredentialId.value); modalBus.value.emit("close"); } } function onCancel() { modalBus.value.emit("close"); } return (_ctx, _cache) => { return openBlock(), createBlock(Modal_default, { name: _ctx.modalName, "event-bus": modalBus.value, width: "50%", center: true, "max-width": "460px", "min-height": "250px" }, { header: withCtx(() => [createBaseVNode("div", { class: normalizeClass(_ctx.$style.header) }, [createVNode(CredentialIcon_default, { "credential-type-name": unref(PROVIDER_CREDENTIAL_TYPE_MAP)[_ctx.data.provider], size: 24, class: normalizeClass(_ctx.$style.icon) }, null, 8, ["credential-type-name", "class"]), createVNode(unref(N8nHeading_default), { size: "medium", tag: "h2", class: normalizeClass(_ctx.$style.title) }, { default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("chatHub.credentials.selector.title", { interpolate: { provider: unref(providerDisplayNames)[_ctx.data.provider] } })), 1)]), _: 1 }, 8, ["class"])], 2)]), content: withCtx(() => [createBaseVNode("div", { class: normalizeClass(_ctx.$style.content) }, [createVNode(unref(N8nText_default), { size: "small", color: "text-base" }, { default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("chatHub.credentials.selector.chooseOrCreate", { interpolate: { provider: unref(providerDisplayNames)[_ctx.data.provider] } })), 1)]), _: 1 }), createBaseVNode("div", { class: normalizeClass(_ctx.$style.credentialContainer) }, [createVNode(CredentialPicker_default, { class: normalizeClass(_ctx.$style.credentialPicker), "app-name": unref(providerDisplayNames)[_ctx.data.provider], "credential-type": credentialType.value, "selected-credential-id": selectedCredentialId.value, "hide-create-new": true, onCredentialSelected: onCredentialSelect, onCredentialDeselected: onCredentialDeselect }, null, 8, [ "class", "app-name", "credential-type", "selected-credential-id" ]), selectedCredentialId.value ? (openBlock(), createBlock(unref(N8nIconButton_default), { key: 0, "native-type": "button", title: unref(i18n).baseText("chatHub.credentials.selector.deleteButton"), icon: "trash-2", "icon-size": "large", type: "secondary", onClick: onDeleteCredential }, null, 8, ["title"])) : createCommentVNode("", true)], 2)], 2)]), footer: withCtx(() => [createBaseVNode("div", { class: normalizeClass(_ctx.$style.footer) }, [createVNode(unref(N8nButton_default), { type: "tertiary", onClick: onCancel }, { default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("chatHub.credentials.selector.cancel")), 1)]), _: 1 }), createVNode(unref(N8nButton_default), { type: "primary", disabled: !selectedCredentialId.value, onClick: onConfirm }, { default: withCtx(() => [createTextVNode(toDisplayString(unref(i18n).baseText("chatHub.credentials.selector.confirm")), 1)]), _: 1 }, 8, ["disabled"])], 2)]), _: 1 }, 8, ["name", "event-bus"]); }; } }); var CredentialSelectorModal_vue_vue_type_style_index_0_lang_module_default = { content: "_content_1edrp_123", footer: "_footer_1edrp_130", header: "_header_1edrp_138", icon: "_icon_1edrp_144", credentialContainer: "_credentialContainer_1edrp_149", credentialPicker: "_credentialPicker_1edrp_156" }; var CredentialSelectorModal_default = /* @__PURE__ */ __plugin_vue_export_helper_default(CredentialSelectorModal_vue_vue_type_script_setup_true_lang_default, [["__cssModules", { "$style": CredentialSelectorModal_vue_vue_type_style_index_0_lang_module_default }]]); export { CredentialSelectorModal_default as default };