n8n-editor-ui 1.48.0 → 1.48.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +79 -79
- package/dist/assets/{AuthView-Cfnovems.js → AuthView-DeM_7KeR.js} +2 -2
- package/dist/assets/{AuthView-Cfnovems.js.map → AuthView-DeM_7KeR.js.map} +1 -1
- package/dist/assets/{CanvasControls-Dis0UJTc.js → CanvasControls-BarjtIlw.js} +2 -2
- package/dist/assets/{CanvasControls-Dis0UJTc.js.map → CanvasControls-BarjtIlw.js.map} +1 -1
- package/dist/assets/{ChangePasswordView-CFVFfkrj.js → ChangePasswordView-BsVhSf9z.js} +2 -2
- package/dist/assets/{ChangePasswordView-CFVFfkrj.js.map → ChangePasswordView-BsVhSf9z.js.map} +1 -1
- package/dist/assets/{CollectionParameter-BKwsDV7i.js → CollectionParameter-ruqgU7kr.js} +2 -2
- package/dist/assets/CollectionParameter-ruqgU7kr.js.map +1 -0
- package/dist/assets/{CredentialsView-D-Gs1CW_.js → CredentialsView-CEWMy0O7.js} +2 -2
- package/dist/assets/{CredentialsView-D-Gs1CW_.js.map → CredentialsView-CEWMy0O7.js.map} +1 -1
- package/dist/assets/{ErrorView-B9fsIgpd.js → ErrorView-i1G_7Vnl.js} +2 -2
- package/dist/assets/{ErrorView-B9fsIgpd.js.map → ErrorView-i1G_7Vnl.js.map} +1 -1
- package/dist/assets/{ExecutionsFilter-Bp-2hjm2.js → ExecutionsFilter-8p_qD50I.js} +2 -2
- package/dist/assets/{ExecutionsFilter-Bp-2hjm2.js.map → ExecutionsFilter-8p_qD50I.js.map} +1 -1
- package/dist/assets/{ExecutionsView-CaF0x9T5.js → ExecutionsView-Bw4zWCsi.js} +2 -2
- package/dist/assets/{ExecutionsView-CaF0x9T5.js.map → ExecutionsView-Bw4zWCsi.js.map} +1 -1
- package/dist/assets/{ForgotMyPasswordView-C6mthrk9.js → ForgotMyPasswordView-xpgEo3Ld.js} +2 -2
- package/dist/assets/{ForgotMyPasswordView-C6mthrk9.js.map → ForgotMyPasswordView-xpgEo3Ld.js.map} +1 -1
- package/dist/assets/{MainHeader-Cq4gEd6q.js → MainHeader-BckwBOk-.js} +2 -2
- package/dist/assets/{MainHeader-Cq4gEd6q.js.map → MainHeader-BckwBOk-.js.map} +1 -1
- package/dist/assets/{MainSidebar-5O6ikbgz.js → MainSidebar-Cs4qBbtI.js} +2 -2
- package/dist/assets/{MainSidebar-5O6ikbgz.js.map → MainSidebar-Cs4qBbtI.js.map} +1 -1
- package/dist/assets/{NodeCreation-Ddbdc92L.js → NodeCreation-CicljMw4.js} +3 -3
- package/dist/assets/{NodeCreation-Ddbdc92L.js.map → NodeCreation-CicljMw4.js.map} +1 -1
- package/dist/assets/{NodeCreator-DCRSsCDa.js → NodeCreator-B_seYieX.js} +2 -2
- package/dist/assets/{NodeCreator-DCRSsCDa.js.map → NodeCreator-B_seYieX.js.map} +1 -1
- package/dist/assets/NodeDetailsView-uX6Ox6-p.js +4 -0
- package/dist/assets/NodeDetailsView-uX6Ox6-p.js.map +1 -0
- package/dist/assets/{NodeView-ZNm7_dIP.css → NodeView-B1741gUJ.css} +1 -1
- package/dist/assets/{NodeView-DHiWHy1x.js → NodeView-dhEa5JeF.js} +3 -3
- package/dist/assets/NodeView-dhEa5JeF.js.map +1 -0
- package/dist/assets/NodeView.v2-BTnhsVQt.js +3 -0
- package/dist/assets/{NodeView.v2-Ces_FOmN.js.map → NodeView.v2-BTnhsVQt.js.map} +1 -1
- package/dist/assets/{ProjectCardBadge.vue_vue_type_script_setup_true_lang-BrrHv_OT.js → ProjectCardBadge.vue_vue_type_script_setup_true_lang-DrgXuCbj.js} +2 -2
- package/dist/assets/{ProjectCardBadge.vue_vue_type_script_setup_true_lang-BrrHv_OT.js.map → ProjectCardBadge.vue_vue_type_script_setup_true_lang-DrgXuCbj.js.map} +1 -1
- package/dist/assets/{ProjectSettings-DwtXe_N9.js → ProjectSettings-H_vMYteG.js} +2 -2
- package/dist/assets/{ProjectSettings-DwtXe_N9.js.map → ProjectSettings-H_vMYteG.js.map} +1 -1
- package/dist/assets/{ProjectTabs-DY8rNWak.js → ProjectTabs-CBgK4uTk.js} +2 -2
- package/dist/assets/{ProjectTabs-DY8rNWak.js.map → ProjectTabs-CBgK4uTk.js.map} +1 -1
- package/dist/assets/{PushConnectionTracker-BodK8d2Q.js → PushConnectionTracker-CaBlBm3C.js} +2 -2
- package/dist/assets/{PushConnectionTracker-BodK8d2Q.js.map → PushConnectionTracker-CaBlBm3C.js.map} +1 -1
- package/dist/assets/{ResourcesListLayout-qK7zTnkk.js → ResourcesListLayout-DqfRSMy0.js} +2 -2
- package/dist/assets/{ResourcesListLayout-qK7zTnkk.js.map → ResourcesListLayout-DqfRSMy0.js.map} +1 -1
- package/dist/assets/{RunDataAi-CQWIq0sA.js → RunDataAi-BRDcniUj.js} +2 -2
- package/dist/assets/{RunDataAi-CQWIq0sA.js.map → RunDataAi-BRDcniUj.js.map} +1 -1
- package/dist/assets/{RunDataJson-DV2qWwIx.js → RunDataJson-CJg6rq7p.js} +3 -3
- package/dist/assets/{RunDataJson-DV2qWwIx.js.map → RunDataJson-CJg6rq7p.js.map} +1 -1
- package/dist/assets/{RunDataJsonActions-D9BQabwD.js → RunDataJsonActions-DtpaWP51.js} +2 -2
- package/dist/assets/{RunDataJsonActions-D9BQabwD.js.map → RunDataJsonActions-DtpaWP51.js.map} +1 -1
- package/dist/assets/{RunDataSchema-CEbOE_wk.js → RunDataSchema-CH1XRzPV.js} +2 -2
- package/dist/assets/{RunDataSchema-CEbOE_wk.js.map → RunDataSchema-CH1XRzPV.js.map} +1 -1
- package/dist/assets/{RunDataSearch-BIoMsNXa.js → RunDataSearch-CtzUEG0k.js} +2 -2
- package/dist/assets/{RunDataSearch-BIoMsNXa.js.map → RunDataSearch-CtzUEG0k.js.map} +1 -1
- package/dist/assets/{RunDataTable-DRwDl7l_.js → RunDataTable-Bwwqtg2e.js} +2 -2
- package/dist/assets/{RunDataTable-DRwDl7l_.js.map → RunDataTable-Bwwqtg2e.js.map} +1 -1
- package/dist/assets/{SamlOnboarding-B7CMPcIO.js → SamlOnboarding-C8J1wO2_.js} +2 -2
- package/dist/assets/{SamlOnboarding-B7CMPcIO.js.map → SamlOnboarding-C8J1wO2_.js.map} +1 -1
- package/dist/assets/{SettingsApiView-2o3tSk6F.js → SettingsApiView-CFZYL9SM.js} +2 -2
- package/dist/assets/{SettingsApiView-2o3tSk6F.js.map → SettingsApiView-CFZYL9SM.js.map} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-DtFVlTax.js → SettingsCommunityNodesView-BJygUgC4.js} +2 -2
- package/dist/assets/{SettingsCommunityNodesView-DtFVlTax.js.map → SettingsCommunityNodesView-BJygUgC4.js.map} +1 -1
- package/dist/assets/{SettingsExternalSecrets-b3iC5CUl.js → SettingsExternalSecrets-Dvrb_hHi.js} +2 -2
- package/dist/assets/{SettingsExternalSecrets-b3iC5CUl.js.map → SettingsExternalSecrets-Dvrb_hHi.js.map} +1 -1
- package/dist/assets/{SettingsFakeDoorView-BDqufqIU.js → SettingsFakeDoorView-BAi6oJnj.js} +2 -2
- package/dist/assets/{SettingsFakeDoorView-BDqufqIU.js.map → SettingsFakeDoorView-BAi6oJnj.js.map} +1 -1
- package/dist/assets/{SettingsLdapView-KAZZv8gN.js → SettingsLdapView-BMSWqnQ9.js} +2 -2
- package/dist/assets/{SettingsLdapView-KAZZv8gN.js.map → SettingsLdapView-BMSWqnQ9.js.map} +1 -1
- package/dist/assets/{SettingsLogStreamingView-BQB24Jd7.js → SettingsLogStreamingView-HusCnCf9.js} +2 -2
- package/dist/assets/{SettingsLogStreamingView-BQB24Jd7.js.map → SettingsLogStreamingView-HusCnCf9.js.map} +1 -1
- package/dist/assets/{SettingsPersonalView-BucAs1ZA.js → SettingsPersonalView-CJLyPtEQ.js} +2 -2
- package/dist/assets/{SettingsPersonalView-BucAs1ZA.js.map → SettingsPersonalView-CJLyPtEQ.js.map} +1 -1
- package/dist/assets/{SettingsSourceControl-iph73y14.js → SettingsSourceControl-DEfa_Jc9.js} +2 -2
- package/dist/assets/{SettingsSourceControl-iph73y14.js.map → SettingsSourceControl-DEfa_Jc9.js.map} +1 -1
- package/dist/assets/{SettingsSso-dhn_J94r.js → SettingsSso-QPRaZWWj.js} +2 -2
- package/dist/assets/{SettingsSso-dhn_J94r.js.map → SettingsSso-QPRaZWWj.js.map} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-UVZXvMB0.js → SettingsUsageAndPlan-CRnR3ZSO.js} +2 -2
- package/dist/assets/{SettingsUsageAndPlan-UVZXvMB0.js.map → SettingsUsageAndPlan-CRnR3ZSO.js.map} +1 -1
- package/dist/assets/{SettingsUsersView-D7RGgFQd.js → SettingsUsersView-DZFKtn1k.js} +2 -2
- package/dist/assets/{SettingsUsersView-D7RGgFQd.js.map → SettingsUsersView-DZFKtn1k.js.map} +1 -1
- package/dist/assets/{SettingsView-B162yoGp.js → SettingsView-DNVOn5WZ.js} +2 -2
- package/dist/assets/{SettingsView-B162yoGp.js.map → SettingsView-DNVOn5WZ.js.map} +1 -1
- package/dist/assets/{SetupView-njSOn-8-.js → SetupView-DotzeMGc.js} +2 -2
- package/dist/assets/{SetupView-njSOn-8-.js.map → SetupView-DotzeMGc.js.map} +1 -1
- package/dist/assets/{SetupWorkflowCredentialsButton-D6kdzcAr.js → SetupWorkflowCredentialsButton-B5QDECym.js} +2 -2
- package/dist/assets/{SetupWorkflowCredentialsButton-D6kdzcAr.js.map → SetupWorkflowCredentialsButton-B5QDECym.js.map} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-BG4CefMq.js → SetupWorkflowFromTemplateView-Cret3KQc.js} +2 -2
- package/dist/assets/{SetupWorkflowFromTemplateView-BG4CefMq.js.map → SetupWorkflowFromTemplateView-Cret3KQc.js.map} +1 -1
- package/dist/assets/{SigninView-CDnvthma.js → SigninView-C-e__nLi.js} +2 -2
- package/dist/assets/{SigninView-CDnvthma.js.map → SigninView-C-e__nLi.js.map} +1 -1
- package/dist/assets/{SignoutView-CGC8CP2R.js → SignoutView-BnQGk2l9.js} +2 -2
- package/dist/assets/{SignoutView-CGC8CP2R.js.map → SignoutView-BnQGk2l9.js.map} +1 -1
- package/dist/assets/{SignupView-DzjytZkS.js → SignupView-CXd-UXXE.js} +2 -2
- package/dist/assets/{SignupView-DzjytZkS.js.map → SignupView-CXd-UXXE.js.map} +1 -1
- package/dist/assets/{TemplateDetails-1Y3PVQer.js → TemplateDetails-d7bjG-lc.js} +2 -2
- package/dist/assets/{TemplateDetails-1Y3PVQer.js.map → TemplateDetails-d7bjG-lc.js.map} +1 -1
- package/dist/assets/{TemplateList-BAk7Min6.js → TemplateList-B-UGoryh.js} +2 -2
- package/dist/assets/{TemplateList-BAk7Min6.js.map → TemplateList-B-UGoryh.js.map} +1 -1
- package/dist/assets/{TemplatesCollectionView-B7-6TTfO.js → TemplatesCollectionView-C3NLN4r4.js} +2 -2
- package/dist/assets/{TemplatesCollectionView-B7-6TTfO.js.map → TemplatesCollectionView-C3NLN4r4.js.map} +1 -1
- package/dist/assets/{TemplatesSearchView-DbRpG5Mr.js → TemplatesSearchView-d6JOZHQV.js} +2 -2
- package/dist/assets/{TemplatesSearchView-DbRpG5Mr.js.map → TemplatesSearchView-d6JOZHQV.js.map} +1 -1
- package/dist/assets/{TemplatesView-COyKdRm2.js → TemplatesView-CWeiRxEd.js} +2 -2
- package/dist/assets/{TemplatesView-COyKdRm2.js.map → TemplatesView-CWeiRxEd.js.map} +1 -1
- package/dist/assets/{TemplatesWorkflowView-CIeAGGeu.js → TemplatesWorkflowView-BnHhke9R.js} +2 -2
- package/dist/assets/{TemplatesWorkflowView-CIeAGGeu.js.map → TemplatesWorkflowView-BnHhke9R.js.map} +1 -1
- package/dist/assets/{VariablesView-BWE4aH2w.js → VariablesView-HRSOjl6h.js} +2 -2
- package/dist/assets/{VariablesView-BWE4aH2w.js.map → VariablesView-HRSOjl6h.js.map} +1 -1
- package/dist/assets/{WorkerView-9f3_1jpS.js → WorkerView-BoBwGroS.js} +2 -2
- package/dist/assets/{WorkerView-9f3_1jpS.js.map → WorkerView-BoBwGroS.js.map} +1 -1
- package/dist/assets/{WorkflowActivator-B6RfdJ_9.js → WorkflowActivator-b_Aa-Z_t.js} +2 -2
- package/dist/assets/{WorkflowActivator-B6RfdJ_9.js.map → WorkflowActivator-b_Aa-Z_t.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsInfoAccordion-BluokbL6.js → WorkflowExecutionsInfoAccordion-B5WHuoYD.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-BluokbL6.js.map → WorkflowExecutionsInfoAccordion-B5WHuoYD.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-DNfzEsWQ.js → WorkflowExecutionsLandingPage-D5D2gCKQ.js} +2 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-DNfzEsWQ.js.map → WorkflowExecutionsLandingPage-D5D2gCKQ.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsPreview-DAmDAF-W.js → WorkflowExecutionsPreview-CQgNc11q.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-DAmDAF-W.js.map → WorkflowExecutionsPreview-CQgNc11q.js.map} +1 -1
- package/dist/assets/{WorkflowExecutionsView-pwPLba8F.js → WorkflowExecutionsView-CR-bru7r.js} +2 -2
- package/dist/assets/{WorkflowExecutionsView-pwPLba8F.js.map → WorkflowExecutionsView-CR-bru7r.js.map} +1 -1
- package/dist/assets/{WorkflowHistory-Dxo17Hrn.js → WorkflowHistory-DZ-HRVUW.js} +2 -2
- package/dist/assets/{WorkflowHistory-Dxo17Hrn.js.map → WorkflowHistory-DZ-HRVUW.js.map} +1 -1
- package/dist/assets/{WorkflowOnboardingView-BBidrsf7.js → WorkflowOnboardingView-DOIdULx-.js} +2 -2
- package/dist/assets/{WorkflowOnboardingView-BBidrsf7.js.map → WorkflowOnboardingView-DOIdULx-.js.map} +1 -1
- package/dist/assets/{WorkflowPreview-OBQIslyy.js → WorkflowPreview-3iPlzE4s.js} +2 -2
- package/dist/assets/{WorkflowPreview-OBQIslyy.js.map → WorkflowPreview-3iPlzE4s.js.map} +1 -1
- package/dist/assets/{WorkflowsView-CODAAPom.js → WorkflowsView-Ch9-zyDd.js} +2 -2
- package/dist/assets/{WorkflowsView-CODAAPom.js.map → WorkflowsView-Ch9-zyDd.js.map} +1 -1
- package/dist/assets/{cloud-b1t6vFlo.js → cloud-PFRUu9iS.js} +2 -2
- package/dist/assets/{cloud-b1t6vFlo.js.map → cloud-PFRUu9iS.js.map} +1 -1
- package/dist/assets/{collaboration.store-C5F_y2IO.js → collaboration.store-CV20HjQm.js} +2 -2
- package/dist/assets/{collaboration.store-C5F_y2IO.js.map → collaboration.store-CV20HjQm.js.map} +1 -1
- package/dist/assets/{index-DATiCTBk.js → index-BjbCeTcj.js} +105 -105
- package/dist/assets/index-BjbCeTcj.js.map +1 -0
- package/dist/assets/{nodeCreator.store-BHeYrLWf.js → nodeCreator.store-LPbO-Os0.js} +2 -2
- package/dist/assets/{nodeCreator.store-BHeYrLWf.js.map → nodeCreator.store-LPbO-Os0.js.map} +1 -1
- package/dist/assets/{templateActions-C33KdEJM.js → templateActions-BZ9bA7ql.js} +2 -2
- package/dist/assets/{templateActions-C33KdEJM.js.map → templateActions-BZ9bA7ql.js.map} +1 -1
- package/dist/assets/{useExecutionDebugging-DejsFiYr.js → useExecutionDebugging-L_wm2gVK.js} +2 -2
- package/dist/assets/{useExecutionDebugging-DejsFiYr.js.map → useExecutionDebugging-L_wm2gVK.js.map} +1 -1
- package/dist/assets/{useExecutionHelpers-DrZ09ZbE.js → useExecutionHelpers-th1spplL.js} +2 -2
- package/dist/assets/{useExecutionHelpers-DrZ09ZbE.js.map → useExecutionHelpers-th1spplL.js.map} +1 -1
- package/dist/assets/{usePushConnection-qF8q4o13.js → usePushConnection-DsZw7iUE.js} +2 -2
- package/dist/assets/{usePushConnection-qF8q4o13.js.map → usePushConnection-DsZw7iUE.js.map} +1 -1
- package/dist/assets/{useUserHelpers-Dn-199Fi.js → useUserHelpers-lyQUjtql.js} +2 -2
- package/dist/assets/{useUserHelpers-Dn-199Fi.js.map → useUserHelpers-lyQUjtql.js.map} +1 -1
- package/dist/assets/{useWorkflowActivate-MNrM98NZ.js → useWorkflowActivate-DTmbKEGl.js} +2 -2
- package/dist/assets/{useWorkflowActivate-MNrM98NZ.js.map → useWorkflowActivate-DTmbKEGl.js.map} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-BKwsDV7i.js.map +0 -1
- package/dist/assets/NodeDetailsView-j5ZU-3Ol.js +0 -4
- package/dist/assets/NodeDetailsView-j5ZU-3Ol.js.map +0 -1
- package/dist/assets/NodeView-DHiWHy1x.js.map +0 -1
- package/dist/assets/NodeView.v2-Ces_FOmN.js +0 -3
- package/dist/assets/index-DATiCTBk.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsApiView-2o3tSk6F.js","sources":["../../src/views/SettingsApiView.vue"],"sourcesContent":["<template>\n\t<div :class=\"$style.container\">\n\t\t<div :class=\"$style.header\">\n\t\t\t<n8n-heading size=\"2xlarge\">\n\t\t\t\t{{ $locale.baseText('settings.api') }}\n\t\t\t\t<span :style=\"{ fontSize: 'var(--font-size-s)', color: 'var(--color-text-light)' }\">\n\t\t\t\t\t({{ $locale.baseText('generic.beta') }})\n\t\t\t\t</span>\n\t\t\t</n8n-heading>\n\t\t</div>\n\n\t\t<div v-if=\"apiKey\">\n\t\t\t<p class=\"mb-s\">\n\t\t\t\t<n8n-info-tip :bold=\"false\">\n\t\t\t\t\t<i18n-t keypath=\"settings.api.view.info\" tag=\"span\">\n\t\t\t\t\t\t<template #apiAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/api\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.api')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #webhookAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/integrations/core-nodes/n8n-nodes-base.webhook/\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.webhook')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</i18n-t>\n\t\t\t\t</n8n-info-tip>\n\t\t\t</p>\n\t\t\t<n8n-card class=\"mb-4xs\" :class=\"$style.card\">\n\t\t\t\t<span :class=\"$style.delete\">\n\t\t\t\t\t<n8n-link :bold=\"true\" @click=\"showDeleteModal\">\n\t\t\t\t\t\t{{ $locale.baseText('generic.delete') }}\n\t\t\t\t\t</n8n-link>\n\t\t\t\t</span>\n\t\t\t\t<div>\n\t\t\t\t\t<CopyInput\n\t\t\t\t\t\t:label=\"$locale.baseText('settings.api.view.myKey')\"\n\t\t\t\t\t\t:value=\"apiKey\"\n\t\t\t\t\t\t:copy-button-text=\"$locale.baseText('generic.clickToCopy')\"\n\t\t\t\t\t\t:toast-title=\"$locale.baseText('settings.api.view.copy.toast')\"\n\t\t\t\t\t\t:redact-value=\"true\"\n\t\t\t\t\t\t@copy=\"onCopy\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</n8n-card>\n\t\t\t<div :class=\"$style.hint\">\n\t\t\t\t<n8n-text size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(`settings.api.view.${swaggerUIEnabled ? 'tryapi' : 'more-details'}`)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-text>\n\t\t\t\t{{ ' ' }}\n\t\t\t\t<n8n-link :to=\"apiDocsURL\" :new-window=\"true\" size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(\n\t\t\t\t\t\t\t`settings.api.view.${swaggerUIEnabled ? 'apiPlayground' : 'external-docs'}`,\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-link>\n\t\t\t</div>\n\t\t</div>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"!isPublicApiEnabled && isTrialing\"\n\t\t\tdata-test-id=\"public-api-upgrade-cta\"\n\t\t\t:heading=\"$locale.baseText('settings.api.trial.upgradePlan.title')\"\n\t\t\t:description=\"$locale.baseText('settings.api.trial.upgradePlan.description')\"\n\t\t\t:button-text=\"$locale.baseText('settings.api.trial.upgradePlan.cta')\"\n\t\t\t@click:button=\"onUpgrade\"\n\t\t/>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"mounted && !isLoadingCloudPlans\"\n\t\t\t:button-text=\"\n\t\t\t\t$locale.baseText(\n\t\t\t\t\tloading ? 'settings.api.create.button.loading' : 'settings.api.create.button',\n\t\t\t\t)\n\t\t\t\"\n\t\t\t:description=\"$locale.baseText('settings.api.create.description')\"\n\t\t\t@click:button=\"createApiKey\"\n\t\t/>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport type { IUser } from '@/Interface';\nimport { useToast } from '@/composables/useToast';\nimport { useMessage } from '@/composables/useMessage';\n\nimport CopyInput from '@/components/CopyInput.vue';\nimport { mapStores } from 'pinia';\nimport { useSettingsStore } from '@/stores/settings.store';\nimport { useRootStore } from '@/stores/root.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { useUsersStore } from '@/stores/users.store';\nimport { useCloudPlanStore } from '@/stores/cloudPlan.store';\nimport { DOCS_DOMAIN, MODAL_CONFIRM } from '@/constants';\n\nexport default defineComponent({\n\tname: 'SettingsApiView',\n\tcomponents: {\n\t\tCopyInput,\n\t},\n\tsetup() {\n\t\treturn {\n\t\t\t...useToast(),\n\t\t\t...useMessage(),\n\t\t\t...useUIStore(),\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tmounted: false,\n\t\t\tapiKey: '',\n\t\t\tswaggerUIEnabled: false,\n\t\t\tapiDocsURL: '',\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.isPublicApiEnabled) return;\n\n\t\tvoid this.getApiKey();\n\t\tconst baseUrl = this.rootStore.baseUrl;\n\t\tconst apiPath = this.settingsStore.publicApiPath;\n\t\tconst latestVersion = this.settingsStore.publicApiLatestVersion;\n\t\tthis.swaggerUIEnabled = this.settingsStore.isSwaggerUIEnabled;\n\t\tthis.apiDocsURL = this.swaggerUIEnabled\n\t\t\t? `${baseUrl}${apiPath}/v${latestVersion}/docs`\n\t\t\t: `https://${DOCS_DOMAIN}/api/api-reference/`;\n\t},\n\tcomputed: {\n\t\t...mapStores(useRootStore, useSettingsStore, useUsersStore, useCloudPlanStore, useUIStore),\n\t\tcurrentUser(): IUser | null {\n\t\t\treturn this.usersStore.currentUser;\n\t\t},\n\t\tisTrialing(): boolean {\n\t\t\treturn this.cloudPlanStore.userIsTrialing;\n\t\t},\n\t\tisLoadingCloudPlans(): boolean {\n\t\t\treturn this.cloudPlanStore.state.loadingPlan;\n\t\t},\n\t\tisPublicApiEnabled(): boolean {\n\t\t\treturn this.settingsStore.isPublicApiEnabled;\n\t\t},\n\t},\n\tmethods: {\n\t\tonUpgrade() {\n\t\t\tvoid this.uiStore.goToUpgrade('settings-n8n-api', 'upgrade-api', 'redirect');\n\t\t},\n\t\tasync showDeleteModal() {\n\t\t\tconst confirmed = await this.confirm(\n\t\t\t\tthis.$locale.baseText('settings.api.delete.description'),\n\t\t\t\tthis.$locale.baseText('settings.api.delete.title'),\n\t\t\t\t{\n\t\t\t\t\tconfirmButtonText: this.$locale.baseText('settings.api.delete.button'),\n\t\t\t\t\tcancelButtonText: this.$locale.baseText('generic.cancel'),\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (confirmed === MODAL_CONFIRM) {\n\t\t\t\tawait this.deleteApiKey();\n\t\t\t}\n\t\t},\n\t\tasync getApiKey() {\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.getApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.view.error'));\n\t\t\t} finally {\n\t\t\t\tthis.mounted = true;\n\t\t\t}\n\t\t},\n\t\tasync createApiKey() {\n\t\t\tthis.loading = true;\n\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.createApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.create.error'));\n\t\t\t} finally {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.$telemetry.track('User clicked create API key button');\n\t\t\t}\n\t\t},\n\t\tasync deleteApiKey() {\n\t\t\ttry {\n\t\t\t\tawait this.settingsStore.deleteApiKey();\n\t\t\t\tthis.showMessage({\n\t\t\t\t\ttitle: this.$locale.baseText('settings.api.delete.toast'),\n\t\t\t\t\ttype: 'success',\n\t\t\t\t});\n\t\t\t\tthis.apiKey = '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.delete.error'));\n\t\t\t} finally {\n\t\t\t\tthis.$telemetry.track('User clicked delete API key button');\n\t\t\t}\n\t\t},\n\t\tonCopy() {\n\t\t\tthis.$telemetry.track('User clicked copy API key button');\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.container {\n\t> * {\n\t\tmargin-bottom: var(--spacing-2xl);\n\t}\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\twhite-space: nowrap;\n\n\t*:first-child {\n\t\tflex-grow: 1;\n\t}\n}\n\n.card {\n\tposition: relative;\n}\n\n.delete {\n\tposition: absolute;\n\tdisplay: inline-block;\n\ttop: var(--spacing-s);\n\tright: var(--spacing-s);\n}\n\n.hint {\n\tcolor: var(--color-text-light);\n}\n</style>\n"],"names":["_sfc_main","defineComponent","CopyInput","useToast","useMessage","useUIStore","baseUrl","apiPath","latestVersion","DOCS_DOMAIN","mapStores","useRootStore","useSettingsStore","useUsersStore","useCloudPlanStore","MODAL_CONFIRM","error","_hoisted_1","_hoisted_2","_resolveComponent","_normalizeClass","_ctx","_createVNode","_component_n8n_heading","$locale","_withCtx","_createTextVNode","_toDisplayString","_createElementVNode","apiKey","_openBlock","_component_n8n_info_tip","_component_i18n_t","_hoisted_3","_hoisted_4","showDeleteModal","onCopy","_component_n8n_text","apiDocsURL","_component_n8n_link","swaggerUIEnabled","isPublicApiEnabled","_component_n8n_action_box","onUpgrade","mounted","isLoadingCloudPlans","_createBlock","loading","_createCommentVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SettingsApiView-CFZYL9SM.js","sources":["../../src/views/SettingsApiView.vue"],"sourcesContent":["<template>\n\t<div :class=\"$style.container\">\n\t\t<div :class=\"$style.header\">\n\t\t\t<n8n-heading size=\"2xlarge\">\n\t\t\t\t{{ $locale.baseText('settings.api') }}\n\t\t\t\t<span :style=\"{ fontSize: 'var(--font-size-s)', color: 'var(--color-text-light)' }\">\n\t\t\t\t\t({{ $locale.baseText('generic.beta') }})\n\t\t\t\t</span>\n\t\t\t</n8n-heading>\n\t\t</div>\n\n\t\t<div v-if=\"apiKey\">\n\t\t\t<p class=\"mb-s\">\n\t\t\t\t<n8n-info-tip :bold=\"false\">\n\t\t\t\t\t<i18n-t keypath=\"settings.api.view.info\" tag=\"span\">\n\t\t\t\t\t\t<template #apiAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/api\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.api')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #webhookAction>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https://docs.n8n.io/integrations/core-nodes/n8n-nodes-base.webhook/\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tv-text=\"$locale.baseText('settings.api.view.info.webhook')\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</i18n-t>\n\t\t\t\t</n8n-info-tip>\n\t\t\t</p>\n\t\t\t<n8n-card class=\"mb-4xs\" :class=\"$style.card\">\n\t\t\t\t<span :class=\"$style.delete\">\n\t\t\t\t\t<n8n-link :bold=\"true\" @click=\"showDeleteModal\">\n\t\t\t\t\t\t{{ $locale.baseText('generic.delete') }}\n\t\t\t\t\t</n8n-link>\n\t\t\t\t</span>\n\t\t\t\t<div>\n\t\t\t\t\t<CopyInput\n\t\t\t\t\t\t:label=\"$locale.baseText('settings.api.view.myKey')\"\n\t\t\t\t\t\t:value=\"apiKey\"\n\t\t\t\t\t\t:copy-button-text=\"$locale.baseText('generic.clickToCopy')\"\n\t\t\t\t\t\t:toast-title=\"$locale.baseText('settings.api.view.copy.toast')\"\n\t\t\t\t\t\t:redact-value=\"true\"\n\t\t\t\t\t\t@copy=\"onCopy\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</n8n-card>\n\t\t\t<div :class=\"$style.hint\">\n\t\t\t\t<n8n-text size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(`settings.api.view.${swaggerUIEnabled ? 'tryapi' : 'more-details'}`)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-text>\n\t\t\t\t{{ ' ' }}\n\t\t\t\t<n8n-link :to=\"apiDocsURL\" :new-window=\"true\" size=\"small\">\n\t\t\t\t\t{{\n\t\t\t\t\t\t$locale.baseText(\n\t\t\t\t\t\t\t`settings.api.view.${swaggerUIEnabled ? 'apiPlayground' : 'external-docs'}`,\n\t\t\t\t\t\t)\n\t\t\t\t\t}}\n\t\t\t\t</n8n-link>\n\t\t\t</div>\n\t\t</div>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"!isPublicApiEnabled && isTrialing\"\n\t\t\tdata-test-id=\"public-api-upgrade-cta\"\n\t\t\t:heading=\"$locale.baseText('settings.api.trial.upgradePlan.title')\"\n\t\t\t:description=\"$locale.baseText('settings.api.trial.upgradePlan.description')\"\n\t\t\t:button-text=\"$locale.baseText('settings.api.trial.upgradePlan.cta')\"\n\t\t\t@click:button=\"onUpgrade\"\n\t\t/>\n\t\t<n8n-action-box\n\t\t\tv-else-if=\"mounted && !isLoadingCloudPlans\"\n\t\t\t:button-text=\"\n\t\t\t\t$locale.baseText(\n\t\t\t\t\tloading ? 'settings.api.create.button.loading' : 'settings.api.create.button',\n\t\t\t\t)\n\t\t\t\"\n\t\t\t:description=\"$locale.baseText('settings.api.create.description')\"\n\t\t\t@click:button=\"createApiKey\"\n\t\t/>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\nimport type { IUser } from '@/Interface';\nimport { useToast } from '@/composables/useToast';\nimport { useMessage } from '@/composables/useMessage';\n\nimport CopyInput from '@/components/CopyInput.vue';\nimport { mapStores } from 'pinia';\nimport { useSettingsStore } from '@/stores/settings.store';\nimport { useRootStore } from '@/stores/root.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { useUsersStore } from '@/stores/users.store';\nimport { useCloudPlanStore } from '@/stores/cloudPlan.store';\nimport { DOCS_DOMAIN, MODAL_CONFIRM } from '@/constants';\n\nexport default defineComponent({\n\tname: 'SettingsApiView',\n\tcomponents: {\n\t\tCopyInput,\n\t},\n\tsetup() {\n\t\treturn {\n\t\t\t...useToast(),\n\t\t\t...useMessage(),\n\t\t\t...useUIStore(),\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tmounted: false,\n\t\t\tapiKey: '',\n\t\t\tswaggerUIEnabled: false,\n\t\t\tapiDocsURL: '',\n\t\t};\n\t},\n\tmounted() {\n\t\tif (!this.isPublicApiEnabled) return;\n\n\t\tvoid this.getApiKey();\n\t\tconst baseUrl = this.rootStore.baseUrl;\n\t\tconst apiPath = this.settingsStore.publicApiPath;\n\t\tconst latestVersion = this.settingsStore.publicApiLatestVersion;\n\t\tthis.swaggerUIEnabled = this.settingsStore.isSwaggerUIEnabled;\n\t\tthis.apiDocsURL = this.swaggerUIEnabled\n\t\t\t? `${baseUrl}${apiPath}/v${latestVersion}/docs`\n\t\t\t: `https://${DOCS_DOMAIN}/api/api-reference/`;\n\t},\n\tcomputed: {\n\t\t...mapStores(useRootStore, useSettingsStore, useUsersStore, useCloudPlanStore, useUIStore),\n\t\tcurrentUser(): IUser | null {\n\t\t\treturn this.usersStore.currentUser;\n\t\t},\n\t\tisTrialing(): boolean {\n\t\t\treturn this.cloudPlanStore.userIsTrialing;\n\t\t},\n\t\tisLoadingCloudPlans(): boolean {\n\t\t\treturn this.cloudPlanStore.state.loadingPlan;\n\t\t},\n\t\tisPublicApiEnabled(): boolean {\n\t\t\treturn this.settingsStore.isPublicApiEnabled;\n\t\t},\n\t},\n\tmethods: {\n\t\tonUpgrade() {\n\t\t\tvoid this.uiStore.goToUpgrade('settings-n8n-api', 'upgrade-api', 'redirect');\n\t\t},\n\t\tasync showDeleteModal() {\n\t\t\tconst confirmed = await this.confirm(\n\t\t\t\tthis.$locale.baseText('settings.api.delete.description'),\n\t\t\t\tthis.$locale.baseText('settings.api.delete.title'),\n\t\t\t\t{\n\t\t\t\t\tconfirmButtonText: this.$locale.baseText('settings.api.delete.button'),\n\t\t\t\t\tcancelButtonText: this.$locale.baseText('generic.cancel'),\n\t\t\t\t},\n\t\t\t);\n\t\t\tif (confirmed === MODAL_CONFIRM) {\n\t\t\t\tawait this.deleteApiKey();\n\t\t\t}\n\t\t},\n\t\tasync getApiKey() {\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.getApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.view.error'));\n\t\t\t} finally {\n\t\t\t\tthis.mounted = true;\n\t\t\t}\n\t\t},\n\t\tasync createApiKey() {\n\t\t\tthis.loading = true;\n\n\t\t\ttry {\n\t\t\t\tthis.apiKey = (await this.settingsStore.createApiKey()) || '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.create.error'));\n\t\t\t} finally {\n\t\t\t\tthis.loading = false;\n\t\t\t\tthis.$telemetry.track('User clicked create API key button');\n\t\t\t}\n\t\t},\n\t\tasync deleteApiKey() {\n\t\t\ttry {\n\t\t\t\tawait this.settingsStore.deleteApiKey();\n\t\t\t\tthis.showMessage({\n\t\t\t\t\ttitle: this.$locale.baseText('settings.api.delete.toast'),\n\t\t\t\t\ttype: 'success',\n\t\t\t\t});\n\t\t\t\tthis.apiKey = '';\n\t\t\t} catch (error) {\n\t\t\t\tthis.showError(error, this.$locale.baseText('settings.api.delete.error'));\n\t\t\t} finally {\n\t\t\t\tthis.$telemetry.track('User clicked delete API key button');\n\t\t\t}\n\t\t},\n\t\tonCopy() {\n\t\t\tthis.$telemetry.track('User clicked copy API key button');\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.container {\n\t> * {\n\t\tmargin-bottom: var(--spacing-2xl);\n\t}\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\twhite-space: nowrap;\n\n\t*:first-child {\n\t\tflex-grow: 1;\n\t}\n}\n\n.card {\n\tposition: relative;\n}\n\n.delete {\n\tposition: absolute;\n\tdisplay: inline-block;\n\ttop: var(--spacing-s);\n\tright: var(--spacing-s);\n}\n\n.hint {\n\tcolor: var(--color-text-light);\n}\n</style>\n"],"names":["_sfc_main","defineComponent","CopyInput","useToast","useMessage","useUIStore","baseUrl","apiPath","latestVersion","DOCS_DOMAIN","mapStores","useRootStore","useSettingsStore","useUsersStore","useCloudPlanStore","MODAL_CONFIRM","error","_hoisted_1","_hoisted_2","_resolveComponent","_normalizeClass","_ctx","_createVNode","_component_n8n_heading","$locale","_withCtx","_createTextVNode","_toDisplayString","_createElementVNode","apiKey","_openBlock","_component_n8n_info_tip","_component_i18n_t","_hoisted_3","_hoisted_4","showDeleteModal","onCopy","_component_n8n_text","apiDocsURL","_component_n8n_link","swaggerUIEnabled","isPublicApiEnabled","_component_n8n_action_box","onUpgrade","mounted","isLoadingCloudPlans","_createBlock","loading","_createCommentVNode"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cV as C,e as $,cW as B,u as L,b as D,cX as O,cY as T,cZ as w,c_ as x,c$ as V,a2 as z}from"./index-DATiCTBk.js";import{m as v}from"./pinia-DJNDmPLG.js";import{G as A,ag as l,l as t,m as s,I as o,U as a,p as c,O as i,S as y,T as r,F as b,a7 as N,M as k,R as S,aH as R}from"./vendor-Dv5OeN6t.js";import{_ as P}from"./n8n-CX_-_IN5.js";import{u as H}from"./usePushConnection-qF8q4o13.js";import{a as Y}from"./collaboration.store-C5F_y2IO.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CZXI82nZ.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-CqoWQPIV.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const G=A({name:"CommunityPackageCard",props:{communityPackage:{type:Object,required:!1,default:null},loading:{type:Boolean,default:!1}},data(){return{packageActions:[{label:this.$locale.baseText("settings.communityNodes.viewDocsAction.label"),value:C.VIEW_DOCS,type:"external-link"},{label:this.$locale.baseText("settings.communityNodes.uninstallAction.label"),value:C.UNINSTALL}]}},computed:{...v($)},methods:{async onAction(e){if(this.communityPackage)switch(e){case C.VIEW_DOCS:this.$telemetry.track("user clicked to browse the cnr package documentation",{package_name:this.communityPackage.packageName,package_version:this.communityPackage.installedVersion}),window.open(`${B}${this.communityPackage.packageName}`,"_blank");break;case C.UNINSTALL:this.uiStore.openCommunityPackageUninstallConfirmModal(this.communityPackage.packageName);break}},onUpdateClick(){this.communityPackage&&this.uiStore.openCommunityPackageUpdateConfirmModal(this.communityPackage.packageName)}}}),K="_cardContainer_1cg0i_1",Q="_packageCard_1cg0i_9",W="_cardSkeleton_1cg0i_10",j="_loader_1cg0i_24",q="_cardInfoContainer_1cg0i_35",F="_cardTitle_1cg0i_40",X="_cardSubtitle_1cg0i_47",Z="_cardControlsContainer_1cg0i_52",J="_cardActions_1cg0i_58",ee={cardContainer:K,packageCard:Q,cardSkeleton:W,loader:j,cardInfoContainer:q,cardTitle:F,cardSubtitle:X,cardControlsContainer:Z,cardActions:J},te={key:0};function oe(e,m,n,h,I,M){const _=l("n8n-loading"),d=l("n8n-text"),g=l("n8n-icon"),u=l("n8n-tooltip"),p=l("n8n-button"),U=l("n8n-action-toggle");return t(),s("div",{class:o(e.$style.cardContainer)},[e.loading?(t(),s("div",{key:0,class:o(e.$style.cardSkeleton)},[a(_,{class:o(e.$style.loader),variant:"p",rows:1},null,8,["class"]),a(_,{class:o(e.$style.loader),variant:"p",rows:1},null,8,["class"])],2)):e.communityPackage?(t(),s("div",{key:1,class:o(e.$style.packageCard)},[c("div",{class:o(e.$style.cardInfoContainer)},[c("div",{class:o(e.$style.cardTitle)},[a(d,{bold:!0,size:"large"},{default:i(()=>[y(r(e.communityPackage.packageName),1)]),_:1})],2),c("div",{class:o(e.$style.cardSubtitle)},[a(d,{bold:!0,size:"small",color:"text-light"},{default:i(()=>[y(r(e.$locale.baseText("settings.communityNodes.packageNodes.label",{adjustToNumber:e.communityPackage.installedNodes.length}))+": ",1)]),_:1}),a(d,{size:"small",color:"text-light"},{default:i(()=>[(t(!0),s(b,null,N(e.communityPackage.installedNodes,(f,E)=>(t(),s("span",{key:f.name},[y(r(f.name),1),E!=e.communityPackage.installedNodes.length-1?(t(),s("span",te,",")):S("",!0)]))),128))]),_:1})],2)],2),c("div",{class:o(e.$style.cardControlsContainer)},[a(d,{bold:!0,size:"large",color:"text-light"},{default:i(()=>[y(" v"+r(e.communityPackage.installedVersion),1)]),_:1}),e.communityPackage.failedLoading===!0?(t(),k(u,{key:0,placement:"top"},{content:i(()=>[c("div",null,r(e.$locale.baseText("settings.communityNodes.failedToLoad.tooltip")),1)]),default:i(()=>[a(g,{icon:"exclamation-triangle",color:"danger",size:"large"})]),_:1})):e.communityPackage.updateAvailable?(t(),k(u,{key:1,placement:"top"},{content:i(()=>[c("div",null,r(e.$locale.baseText("settings.communityNodes.updateAvailable.tooltip")),1)]),default:i(()=>[a(p,{outline:"",label:"Update",onClick:e.onUpdateClick},null,8,["onClick"])]),_:1})):(t(),k(u,{key:2,placement:"top"},{content:i(()=>[c("div",null,r(e.$locale.baseText("settings.communityNodes.upToDate.tooltip")),1)]),default:i(()=>[a(g,{icon:"check-circle",color:"text-light",size:"large"})]),_:1})),c("div",{class:o(e.$style.cardActions)},[a(U,{actions:e.packageActions,onAction:e.onAction},null,8,["actions","onAction"])],2)],2)],2)):S("",!0)],2)}const ae={$style:ee},ne=P(G,[["render",oe],["__cssModules",ae]]),se=31,ie=A({name:"SettingsCommunityNodesView",components:{CommunityPackageCard:ne},setup(){const e=R(),m=H({router:e});return{externalHooks:z(),...L(),pushConnection:m}},data(){return{loading:!1}},computed:{...v(O,D,$,Y),getEmptyStateDescription(){const e=this.communityNodesStore.availablePackageCount;return this.settingsStore.isDesktopDeployment?this.$locale.baseText("contextual.communityNodes.unavailable.description.desktop"):e<se?this.$locale.baseText("settings.communityNodes.empty.description.no-packages",{interpolate:{docURL:T}}):this.$locale.baseText("settings.communityNodes.empty.description",{interpolate:{docURL:T,count:(Math.floor(e/10)*10).toString()}})},getEmptyStateButtonText(){return this.settingsStore.isDesktopDeployment?this.$locale.baseText("contextual.communityNodes.unavailable.button.desktop"):this.shouldShowInstallButton?this.$locale.baseText("settings.communityNodes.empty.installPackageLabel"):""},shouldShowInstallButton(){return this.settingsStore.isDesktopDeployment||this.settingsStore.isNpmAvailable},actionBoxConfig(){return this.settingsStore.isNpmAvailable?this.settingsStore.isQueueModeEnabled?{calloutText:this.$locale.baseText("settings.communityNodes.queueMode.warning",{interpolate:{docURL:x}}),calloutTheme:"warning",hideButton:!0}:{calloutText:"",calloutTheme:"",hideButton:!1}:{calloutText:this.$locale.baseText("settings.communityNodes.npmUnavailable.warning",{interpolate:{npmUrl:w}}),calloutTheme:"warning",hideButton:!0}}},beforeMount(){this.pushConnection.initialize(),this.pushStore.pushConnect()},async mounted(){try{this.loading=!0,await this.communityNodesStore.fetchInstalledPackages();const e=this.communityNodesStore.getInstalledPackages,m=e.filter(n=>n.updateAvailable);this.$telemetry.track("user viewed cnr settings page",{num_of_packages_installed:e.length,installed_packages:e.map(n=>({package_name:n.packageName,package_version:n.installedVersion,package_nodes:n.installedNodes.map(h=>`${h.name}-v${h.latestVersion}`),is_update_available:n.updateAvailable!==void 0})),packages_to_update:m.map(n=>({package_name:n.packageName,package_version_current:n.installedVersion,package_version_available:n.updateAvailable})),number_of_updates_available:m.length})}catch(e){this.showError(e,this.$locale.baseText("settings.communityNodes.fetchError.title"),this.$locale.baseText("settings.communityNodes.fetchError.message"))}finally{this.loading=!1}try{await this.communityNodesStore.fetchAvailableCommunityPackageCount()}finally{this.loading=!1}},beforeUnmount(){this.pushStore.pushDisconnect(),this.pushConnection.terminate()},methods:{onClickEmptyStateButton(){if(this.settingsStore.isDesktopDeployment)return this.goToUpgrade();this.openInstallModal()},goToUpgrade(){this.uiStore.goToUpgrade("community-nodes","upgrade-community-nodes")},openInstallModal(){const e={is_empty_state:this.communityNodesStore.getInstalledPackages.length===0};this.$telemetry.track("user clicked cnr install button",e),this.externalHooks.run("settingsCommunityNodesView.openInstallModal",e),this.uiStore.openModal(V)}}}),le="_container_18kse_1",ce="_headingContainer_18kse_9",re="_loadingContainer_18kse_14",me="_actionBoxContainer_18kse_19",de="_cardsContainer_18kse_23",ue={container:le,headingContainer:ce,loadingContainer:re,actionBoxContainer:me,cardsContainer:de};function pe(e,m,n,h,I,M){const _=l("n8n-heading"),d=l("n8n-button"),g=l("n8n-action-box"),u=l("CommunityPackageCard");return t(),s("div",{class:o(e.$style.container)},[c("div",{class:o(e.$style.headingContainer)},[a(_,{size:"2xlarge"},{default:i(()=>[y(r(e.$locale.baseText("settings.communityNodes")),1)]),_:1}),!e.settingsStore.isQueueModeEnabled&&e.communityNodesStore.getInstalledPackages.length>0&&!e.loading?(t(),k(d,{key:0,label:e.$locale.baseText("settings.communityNodes.installModal.installButton.label"),size:"large",onClick:e.openInstallModal},null,8,["label","onClick"])):S("",!0)],2),e.settingsStore.isQueueModeEnabled?(t(),s("div",{key:0,class:o(e.$style.actionBoxContainer)},[a(g,{heading:e.$locale.baseText("settings.communityNodes.empty.title"),description:e.getEmptyStateDescription,"callout-text":e.actionBoxConfig.calloutText,"callout-theme":e.actionBoxConfig.calloutTheme},null,8,["heading","description","callout-text","callout-theme"])],2)):e.loading?(t(),s("div",{key:1,class:o(e.$style.cardsContainer)},[(t(),s(b,null,N(2,p=>a(u,{key:"index-"+p,loading:!0})),64))],2)):e.communityNodesStore.getInstalledPackages.length===0?(t(),s("div",{key:2,class:o(e.$style.actionBoxContainer)},[a(g,{heading:e.$locale.baseText("settings.communityNodes.empty.title"),description:e.getEmptyStateDescription,"button-text":e.getEmptyStateButtonText,"callout-text":e.actionBoxConfig.calloutText,"callout-theme":e.actionBoxConfig.calloutTheme,"onClick:button":e.onClickEmptyStateButton},null,8,["heading","description","button-text","callout-text","callout-theme","onClick:button"])],2)):(t(),s("div",{key:3,class:o(e.$style.cardsContainer)},[(t(!0),s(b,null,N(e.communityNodesStore.getInstalledPackages,p=>(t(),k(u,{key:p.packageName,"community-package":p},null,8,["community-package"]))),128))],2))],2)}const ge={$style:ue},Qe=P(ie,[["render",pe],["__cssModules",ge]]);export{Qe as default};
|
|
2
|
-
//# sourceMappingURL=SettingsCommunityNodesView-
|
|
1
|
+
import{cV as C,e as $,cW as B,u as L,b as D,cX as O,cY as T,cZ as w,c_ as x,c$ as V,a2 as z}from"./index-BjbCeTcj.js";import{m as v}from"./pinia-DJNDmPLG.js";import{G as A,ag as l,l as t,m as s,I as o,U as a,p as c,O as i,S as y,T as r,F as b,a7 as N,M as k,R as S,aH as R}from"./vendor-Dv5OeN6t.js";import{_ as P}from"./n8n-CX_-_IN5.js";import{u as H}from"./usePushConnection-DsZw7iUE.js";import{a as Y}from"./collaboration.store-CV20HjQm.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CZXI82nZ.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-CqoWQPIV.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const G=A({name:"CommunityPackageCard",props:{communityPackage:{type:Object,required:!1,default:null},loading:{type:Boolean,default:!1}},data(){return{packageActions:[{label:this.$locale.baseText("settings.communityNodes.viewDocsAction.label"),value:C.VIEW_DOCS,type:"external-link"},{label:this.$locale.baseText("settings.communityNodes.uninstallAction.label"),value:C.UNINSTALL}]}},computed:{...v($)},methods:{async onAction(e){if(this.communityPackage)switch(e){case C.VIEW_DOCS:this.$telemetry.track("user clicked to browse the cnr package documentation",{package_name:this.communityPackage.packageName,package_version:this.communityPackage.installedVersion}),window.open(`${B}${this.communityPackage.packageName}`,"_blank");break;case C.UNINSTALL:this.uiStore.openCommunityPackageUninstallConfirmModal(this.communityPackage.packageName);break}},onUpdateClick(){this.communityPackage&&this.uiStore.openCommunityPackageUpdateConfirmModal(this.communityPackage.packageName)}}}),K="_cardContainer_1cg0i_1",Q="_packageCard_1cg0i_9",W="_cardSkeleton_1cg0i_10",j="_loader_1cg0i_24",q="_cardInfoContainer_1cg0i_35",F="_cardTitle_1cg0i_40",X="_cardSubtitle_1cg0i_47",Z="_cardControlsContainer_1cg0i_52",J="_cardActions_1cg0i_58",ee={cardContainer:K,packageCard:Q,cardSkeleton:W,loader:j,cardInfoContainer:q,cardTitle:F,cardSubtitle:X,cardControlsContainer:Z,cardActions:J},te={key:0};function oe(e,m,n,h,I,M){const _=l("n8n-loading"),d=l("n8n-text"),g=l("n8n-icon"),u=l("n8n-tooltip"),p=l("n8n-button"),U=l("n8n-action-toggle");return t(),s("div",{class:o(e.$style.cardContainer)},[e.loading?(t(),s("div",{key:0,class:o(e.$style.cardSkeleton)},[a(_,{class:o(e.$style.loader),variant:"p",rows:1},null,8,["class"]),a(_,{class:o(e.$style.loader),variant:"p",rows:1},null,8,["class"])],2)):e.communityPackage?(t(),s("div",{key:1,class:o(e.$style.packageCard)},[c("div",{class:o(e.$style.cardInfoContainer)},[c("div",{class:o(e.$style.cardTitle)},[a(d,{bold:!0,size:"large"},{default:i(()=>[y(r(e.communityPackage.packageName),1)]),_:1})],2),c("div",{class:o(e.$style.cardSubtitle)},[a(d,{bold:!0,size:"small",color:"text-light"},{default:i(()=>[y(r(e.$locale.baseText("settings.communityNodes.packageNodes.label",{adjustToNumber:e.communityPackage.installedNodes.length}))+": ",1)]),_:1}),a(d,{size:"small",color:"text-light"},{default:i(()=>[(t(!0),s(b,null,N(e.communityPackage.installedNodes,(f,E)=>(t(),s("span",{key:f.name},[y(r(f.name),1),E!=e.communityPackage.installedNodes.length-1?(t(),s("span",te,",")):S("",!0)]))),128))]),_:1})],2)],2),c("div",{class:o(e.$style.cardControlsContainer)},[a(d,{bold:!0,size:"large",color:"text-light"},{default:i(()=>[y(" v"+r(e.communityPackage.installedVersion),1)]),_:1}),e.communityPackage.failedLoading===!0?(t(),k(u,{key:0,placement:"top"},{content:i(()=>[c("div",null,r(e.$locale.baseText("settings.communityNodes.failedToLoad.tooltip")),1)]),default:i(()=>[a(g,{icon:"exclamation-triangle",color:"danger",size:"large"})]),_:1})):e.communityPackage.updateAvailable?(t(),k(u,{key:1,placement:"top"},{content:i(()=>[c("div",null,r(e.$locale.baseText("settings.communityNodes.updateAvailable.tooltip")),1)]),default:i(()=>[a(p,{outline:"",label:"Update",onClick:e.onUpdateClick},null,8,["onClick"])]),_:1})):(t(),k(u,{key:2,placement:"top"},{content:i(()=>[c("div",null,r(e.$locale.baseText("settings.communityNodes.upToDate.tooltip")),1)]),default:i(()=>[a(g,{icon:"check-circle",color:"text-light",size:"large"})]),_:1})),c("div",{class:o(e.$style.cardActions)},[a(U,{actions:e.packageActions,onAction:e.onAction},null,8,["actions","onAction"])],2)],2)],2)):S("",!0)],2)}const ae={$style:ee},ne=P(G,[["render",oe],["__cssModules",ae]]),se=31,ie=A({name:"SettingsCommunityNodesView",components:{CommunityPackageCard:ne},setup(){const e=R(),m=H({router:e});return{externalHooks:z(),...L(),pushConnection:m}},data(){return{loading:!1}},computed:{...v(O,D,$,Y),getEmptyStateDescription(){const e=this.communityNodesStore.availablePackageCount;return this.settingsStore.isDesktopDeployment?this.$locale.baseText("contextual.communityNodes.unavailable.description.desktop"):e<se?this.$locale.baseText("settings.communityNodes.empty.description.no-packages",{interpolate:{docURL:T}}):this.$locale.baseText("settings.communityNodes.empty.description",{interpolate:{docURL:T,count:(Math.floor(e/10)*10).toString()}})},getEmptyStateButtonText(){return this.settingsStore.isDesktopDeployment?this.$locale.baseText("contextual.communityNodes.unavailable.button.desktop"):this.shouldShowInstallButton?this.$locale.baseText("settings.communityNodes.empty.installPackageLabel"):""},shouldShowInstallButton(){return this.settingsStore.isDesktopDeployment||this.settingsStore.isNpmAvailable},actionBoxConfig(){return this.settingsStore.isNpmAvailable?this.settingsStore.isQueueModeEnabled?{calloutText:this.$locale.baseText("settings.communityNodes.queueMode.warning",{interpolate:{docURL:x}}),calloutTheme:"warning",hideButton:!0}:{calloutText:"",calloutTheme:"",hideButton:!1}:{calloutText:this.$locale.baseText("settings.communityNodes.npmUnavailable.warning",{interpolate:{npmUrl:w}}),calloutTheme:"warning",hideButton:!0}}},beforeMount(){this.pushConnection.initialize(),this.pushStore.pushConnect()},async mounted(){try{this.loading=!0,await this.communityNodesStore.fetchInstalledPackages();const e=this.communityNodesStore.getInstalledPackages,m=e.filter(n=>n.updateAvailable);this.$telemetry.track("user viewed cnr settings page",{num_of_packages_installed:e.length,installed_packages:e.map(n=>({package_name:n.packageName,package_version:n.installedVersion,package_nodes:n.installedNodes.map(h=>`${h.name}-v${h.latestVersion}`),is_update_available:n.updateAvailable!==void 0})),packages_to_update:m.map(n=>({package_name:n.packageName,package_version_current:n.installedVersion,package_version_available:n.updateAvailable})),number_of_updates_available:m.length})}catch(e){this.showError(e,this.$locale.baseText("settings.communityNodes.fetchError.title"),this.$locale.baseText("settings.communityNodes.fetchError.message"))}finally{this.loading=!1}try{await this.communityNodesStore.fetchAvailableCommunityPackageCount()}finally{this.loading=!1}},beforeUnmount(){this.pushStore.pushDisconnect(),this.pushConnection.terminate()},methods:{onClickEmptyStateButton(){if(this.settingsStore.isDesktopDeployment)return this.goToUpgrade();this.openInstallModal()},goToUpgrade(){this.uiStore.goToUpgrade("community-nodes","upgrade-community-nodes")},openInstallModal(){const e={is_empty_state:this.communityNodesStore.getInstalledPackages.length===0};this.$telemetry.track("user clicked cnr install button",e),this.externalHooks.run("settingsCommunityNodesView.openInstallModal",e),this.uiStore.openModal(V)}}}),le="_container_18kse_1",ce="_headingContainer_18kse_9",re="_loadingContainer_18kse_14",me="_actionBoxContainer_18kse_19",de="_cardsContainer_18kse_23",ue={container:le,headingContainer:ce,loadingContainer:re,actionBoxContainer:me,cardsContainer:de};function pe(e,m,n,h,I,M){const _=l("n8n-heading"),d=l("n8n-button"),g=l("n8n-action-box"),u=l("CommunityPackageCard");return t(),s("div",{class:o(e.$style.container)},[c("div",{class:o(e.$style.headingContainer)},[a(_,{size:"2xlarge"},{default:i(()=>[y(r(e.$locale.baseText("settings.communityNodes")),1)]),_:1}),!e.settingsStore.isQueueModeEnabled&&e.communityNodesStore.getInstalledPackages.length>0&&!e.loading?(t(),k(d,{key:0,label:e.$locale.baseText("settings.communityNodes.installModal.installButton.label"),size:"large",onClick:e.openInstallModal},null,8,["label","onClick"])):S("",!0)],2),e.settingsStore.isQueueModeEnabled?(t(),s("div",{key:0,class:o(e.$style.actionBoxContainer)},[a(g,{heading:e.$locale.baseText("settings.communityNodes.empty.title"),description:e.getEmptyStateDescription,"callout-text":e.actionBoxConfig.calloutText,"callout-theme":e.actionBoxConfig.calloutTheme},null,8,["heading","description","callout-text","callout-theme"])],2)):e.loading?(t(),s("div",{key:1,class:o(e.$style.cardsContainer)},[(t(),s(b,null,N(2,p=>a(u,{key:"index-"+p,loading:!0})),64))],2)):e.communityNodesStore.getInstalledPackages.length===0?(t(),s("div",{key:2,class:o(e.$style.actionBoxContainer)},[a(g,{heading:e.$locale.baseText("settings.communityNodes.empty.title"),description:e.getEmptyStateDescription,"button-text":e.getEmptyStateButtonText,"callout-text":e.actionBoxConfig.calloutText,"callout-theme":e.actionBoxConfig.calloutTheme,"onClick:button":e.onClickEmptyStateButton},null,8,["heading","description","button-text","callout-text","callout-theme","onClick:button"])],2)):(t(),s("div",{key:3,class:o(e.$style.cardsContainer)},[(t(!0),s(b,null,N(e.communityNodesStore.getInstalledPackages,p=>(t(),k(u,{key:p.packageName,"community-package":p},null,8,["community-package"]))),128))],2))],2)}const ge={$style:ue},Qe=P(ie,[["render",pe],["__cssModules",ge]]);export{Qe as default};
|
|
2
|
+
//# sourceMappingURL=SettingsCommunityNodesView-BJygUgC4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsCommunityNodesView-DtFVlTax.js","sources":["../../src/components/CommunityPackageCard.vue","../../src/views/SettingsCommunityNodesView.vue"],"sourcesContent":["<template>\n\t<div :class=\"$style.cardContainer\">\n\t\t<div v-if=\"loading\" :class=\"$style.cardSkeleton\">\n\t\t\t<n8n-loading :class=\"$style.loader\" variant=\"p\" :rows=\"1\" />\n\t\t\t<n8n-loading :class=\"$style.loader\" variant=\"p\" :rows=\"1\" />\n\t\t</div>\n\t\t<div v-else-if=\"communityPackage\" :class=\"$style.packageCard\">\n\t\t\t<div :class=\"$style.cardInfoContainer\">\n\t\t\t\t<div :class=\"$style.cardTitle\">\n\t\t\t\t\t<n8n-text :bold=\"true\" size=\"large\">{{ communityPackage.packageName }}</n8n-text>\n\t\t\t\t</div>\n\t\t\t\t<div :class=\"$style.cardSubtitle\">\n\t\t\t\t\t<n8n-text :bold=\"true\" size=\"small\" color=\"text-light\">\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t$locale.baseText('settings.communityNodes.packageNodes.label', {\n\t\t\t\t\t\t\t\tadjustToNumber: communityPackage.installedNodes.length,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}: \n\t\t\t\t\t</n8n-text>\n\t\t\t\t\t<n8n-text size=\"small\" color=\"text-light\">\n\t\t\t\t\t\t<span v-for=\"(node, index) in communityPackage.installedNodes\" :key=\"node.name\">\n\t\t\t\t\t\t\t{{ node.name\n\t\t\t\t\t\t\t}}<span v-if=\"index != communityPackage.installedNodes.length - 1\">,</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</n8n-text>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div :class=\"$style.cardControlsContainer\">\n\t\t\t\t<n8n-text :bold=\"true\" size=\"large\" color=\"text-light\">\n\t\t\t\t\tv{{ communityPackage.installedVersion }}\n\t\t\t\t</n8n-text>\n\t\t\t\t<n8n-tooltip v-if=\"communityPackage.failedLoading === true\" placement=\"top\">\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{{ $locale.baseText('settings.communityNodes.failedToLoad.tooltip') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n8n-icon icon=\"exclamation-triangle\" color=\"danger\" size=\"large\" />\n\t\t\t\t</n8n-tooltip>\n\t\t\t\t<n8n-tooltip v-else-if=\"communityPackage.updateAvailable\" placement=\"top\">\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{{ $locale.baseText('settings.communityNodes.updateAvailable.tooltip') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n8n-button outline label=\"Update\" @click=\"onUpdateClick\" />\n\t\t\t\t</n8n-tooltip>\n\t\t\t\t<n8n-tooltip v-else placement=\"top\">\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{{ $locale.baseText('settings.communityNodes.upToDate.tooltip') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n8n-icon icon=\"check-circle\" color=\"text-light\" size=\"large\" />\n\t\t\t\t</n8n-tooltip>\n\t\t\t\t<div :class=\"$style.cardActions\">\n\t\t\t\t\t<n8n-action-toggle :actions=\"packageActions\" @action=\"onAction\"></n8n-action-toggle>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { useUIStore } from '@/stores/ui.store';\nimport type { PublicInstalledPackage } from 'n8n-workflow';\nimport { mapStores } from 'pinia';\nimport { defineComponent } from 'vue';\nimport { NPM_PACKAGE_DOCS_BASE_URL, COMMUNITY_PACKAGE_MANAGE_ACTIONS } from '@/constants';\n\nexport default defineComponent({\n\tname: 'CommunityPackageCard',\n\tprops: {\n\t\tcommunityPackage: {\n\t\t\ttype: Object as () => PublicInstalledPackage | null,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tpackageActions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: this.$locale.baseText('settings.communityNodes.viewDocsAction.label'),\n\t\t\t\t\tvalue: COMMUNITY_PACKAGE_MANAGE_ACTIONS.VIEW_DOCS,\n\t\t\t\t\ttype: 'external-link',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: this.$locale.baseText('settings.communityNodes.uninstallAction.label'),\n\t\t\t\t\tvalue: COMMUNITY_PACKAGE_MANAGE_ACTIONS.UNINSTALL,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapStores(useUIStore),\n\t},\n\tmethods: {\n\t\tasync onAction(value: string) {\n\t\t\tif (!this.communityPackage) return;\n\t\t\tswitch (value) {\n\t\t\t\tcase COMMUNITY_PACKAGE_MANAGE_ACTIONS.VIEW_DOCS:\n\t\t\t\t\tthis.$telemetry.track('user clicked to browse the cnr package documentation', {\n\t\t\t\t\t\tpackage_name: this.communityPackage.packageName,\n\t\t\t\t\t\tpackage_version: this.communityPackage.installedVersion,\n\t\t\t\t\t});\n\t\t\t\t\twindow.open(`${NPM_PACKAGE_DOCS_BASE_URL}${this.communityPackage.packageName}`, '_blank');\n\t\t\t\t\tbreak;\n\t\t\t\tcase COMMUNITY_PACKAGE_MANAGE_ACTIONS.UNINSTALL:\n\t\t\t\t\tthis.uiStore.openCommunityPackageUninstallConfirmModal(this.communityPackage.packageName);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tonUpdateClick() {\n\t\t\tif (!this.communityPackage) return;\n\t\t\tthis.uiStore.openCommunityPackageUpdateConfirmModal(this.communityPackage.packageName);\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.cardContainer {\n\tdisplay: flex;\n\tpadding: var(--spacing-s);\n\tborder: var(--border-width-base) var(--border-style-base) var(--color-info-tint-1);\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-background-xlight);\n}\n\n.packageCard,\n.cardSkeleton {\n\tdisplay: flex;\n\tflex-basis: 100%;\n\tjustify-content: space-between;\n}\n\n.packageCard {\n\talign-items: center;\n}\n\n.cardSkeleton {\n\tflex-direction: column;\n}\n\n.loader {\n\twidth: 50%;\n\ttransform: scaleY(-1);\n\n\t&:last-child {\n\t\twidth: 70%;\n\n\t\tdiv {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n}\n\n.cardInfoContainer {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\n.cardTitle {\n\tflex-basis: 100%;\n\n\tspan {\n\t\tline-height: 1;\n\t}\n}\n\n.cardSubtitle {\n\tmargin-top: 2px;\n\tpadding-right: var(--spacing-m);\n}\n\n.cardControlsContainer {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--spacing-3xs);\n}\n\n.cardActions {\n\tpadding-left: var(--spacing-3xs);\n}\n</style>\n","<template>\n\t<div :class=\"$style.container\">\n\t\t<div :class=\"$style.headingContainer\">\n\t\t\t<n8n-heading size=\"2xlarge\">{{ $locale.baseText('settings.communityNodes') }}</n8n-heading>\n\t\t\t<n8n-button\n\t\t\t\tv-if=\"\n\t\t\t\t\t!settingsStore.isQueueModeEnabled &&\n\t\t\t\t\tcommunityNodesStore.getInstalledPackages.length > 0 &&\n\t\t\t\t\t!loading\n\t\t\t\t\"\n\t\t\t\t:label=\"$locale.baseText('settings.communityNodes.installModal.installButton.label')\"\n\t\t\t\tsize=\"large\"\n\t\t\t\t@click=\"openInstallModal\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-if=\"settingsStore.isQueueModeEnabled\" :class=\"$style.actionBoxContainer\">\n\t\t\t<n8n-action-box\n\t\t\t\t:heading=\"$locale.baseText('settings.communityNodes.empty.title')\"\n\t\t\t\t:description=\"getEmptyStateDescription\"\n\t\t\t\t:callout-text=\"actionBoxConfig.calloutText\"\n\t\t\t\t:callout-theme=\"actionBoxConfig.calloutTheme\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-else-if=\"loading\" :class=\"$style.cardsContainer\">\n\t\t\t<CommunityPackageCard\n\t\t\t\tv-for=\"n in 2\"\n\t\t\t\t:key=\"'index-' + n\"\n\t\t\t\t:loading=\"true\"\n\t\t\t></CommunityPackageCard>\n\t\t</div>\n\t\t<div\n\t\t\tv-else-if=\"communityNodesStore.getInstalledPackages.length === 0\"\n\t\t\t:class=\"$style.actionBoxContainer\"\n\t\t>\n\t\t\t<n8n-action-box\n\t\t\t\t:heading=\"$locale.baseText('settings.communityNodes.empty.title')\"\n\t\t\t\t:description=\"getEmptyStateDescription\"\n\t\t\t\t:button-text=\"getEmptyStateButtonText\"\n\t\t\t\t:callout-text=\"actionBoxConfig.calloutText\"\n\t\t\t\t:callout-theme=\"actionBoxConfig.calloutTheme\"\n\t\t\t\t@click:button=\"onClickEmptyStateButton\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-else :class=\"$style.cardsContainer\">\n\t\t\t<CommunityPackageCard\n\t\t\t\tv-for=\"communityPackage in communityNodesStore.getInstalledPackages\"\n\t\t\t\t:key=\"communityPackage.packageName\"\n\t\t\t\t:community-package=\"communityPackage\"\n\t\t\t></CommunityPackageCard>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport {\n\tCOMMUNITY_PACKAGE_INSTALL_MODAL_KEY,\n\tCOMMUNITY_NODES_INSTALLATION_DOCS_URL,\n\tCOMMUNITY_NODES_MANUAL_INSTALLATION_DOCS_URL,\n\tCOMMUNITY_NODES_NPM_INSTALLATION_URL,\n} from '@/constants';\nimport CommunityPackageCard from '@/components/CommunityPackageCard.vue';\nimport { useToast } from '@/composables/useToast';\nimport type { PublicInstalledPackage } from 'n8n-workflow';\n\nimport { useCommunityNodesStore } from '@/stores/communityNodes.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { mapStores } from 'pinia';\nimport { useSettingsStore } from '@/stores/settings.store';\nimport { defineComponent } from 'vue';\nimport { useExternalHooks } from '@/composables/useExternalHooks';\nimport { useRouter } from 'vue-router';\nimport { usePushConnection } from '@/composables/usePushConnection';\nimport { usePushConnectionStore } from '@/stores/pushConnection.store';\n\nconst PACKAGE_COUNT_THRESHOLD = 31;\n\nexport default defineComponent({\n\tname: 'SettingsCommunityNodesView',\n\tcomponents: {\n\t\tCommunityPackageCard,\n\t},\n\tsetup() {\n\t\tconst router = useRouter();\n\t\tconst pushConnection = usePushConnection({ router });\n\t\tconst externalHooks = useExternalHooks();\n\n\t\treturn {\n\t\t\texternalHooks,\n\t\t\t...useToast(),\n\t\t\tpushConnection,\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapStores(useCommunityNodesStore, useSettingsStore, useUIStore, usePushConnectionStore),\n\t\tgetEmptyStateDescription(): string {\n\t\t\tconst packageCount = this.communityNodesStore.availablePackageCount;\n\n\t\t\tif (this.settingsStore.isDesktopDeployment) {\n\t\t\t\treturn this.$locale.baseText('contextual.communityNodes.unavailable.description.desktop');\n\t\t\t}\n\n\t\t\treturn packageCount < PACKAGE_COUNT_THRESHOLD\n\t\t\t\t? this.$locale.baseText('settings.communityNodes.empty.description.no-packages', {\n\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\tdocURL: COMMUNITY_NODES_INSTALLATION_DOCS_URL,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t: this.$locale.baseText('settings.communityNodes.empty.description', {\n\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\tdocURL: COMMUNITY_NODES_INSTALLATION_DOCS_URL,\n\t\t\t\t\t\t\tcount: (Math.floor(packageCount / 10) * 10).toString(),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t},\n\t\tgetEmptyStateButtonText(): string {\n\t\t\tif (this.settingsStore.isDesktopDeployment) {\n\t\t\t\treturn this.$locale.baseText('contextual.communityNodes.unavailable.button.desktop');\n\t\t\t}\n\n\t\t\treturn this.shouldShowInstallButton\n\t\t\t\t? this.$locale.baseText('settings.communityNodes.empty.installPackageLabel')\n\t\t\t\t: '';\n\t\t},\n\t\tshouldShowInstallButton(): boolean {\n\t\t\treturn this.settingsStore.isDesktopDeployment || this.settingsStore.isNpmAvailable;\n\t\t},\n\t\tactionBoxConfig(): {\n\t\t\tcalloutText: string;\n\t\t\tcalloutTheme: 'warning' | string;\n\t\t\thideButton: boolean;\n\t\t} {\n\t\t\tif (!this.settingsStore.isNpmAvailable) {\n\t\t\t\treturn {\n\t\t\t\t\tcalloutText: this.$locale.baseText('settings.communityNodes.npmUnavailable.warning', {\n\t\t\t\t\t\tinterpolate: { npmUrl: COMMUNITY_NODES_NPM_INSTALLATION_URL },\n\t\t\t\t\t}),\n\t\t\t\t\tcalloutTheme: 'warning',\n\t\t\t\t\thideButton: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (this.settingsStore.isQueueModeEnabled) {\n\t\t\t\treturn {\n\t\t\t\t\tcalloutText: this.$locale.baseText('settings.communityNodes.queueMode.warning', {\n\t\t\t\t\t\tinterpolate: { docURL: COMMUNITY_NODES_MANUAL_INSTALLATION_DOCS_URL },\n\t\t\t\t\t}),\n\t\t\t\t\tcalloutTheme: 'warning',\n\t\t\t\t\thideButton: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcalloutText: '',\n\t\t\t\tcalloutTheme: '',\n\t\t\t\thideButton: false,\n\t\t\t};\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.pushConnection.initialize();\n\t\t// The push connection is needed here to receive `reloadNodeType` and `removeNodeType` events when community nodes are installed, updated, or removed.\n\t\tthis.pushStore.pushConnect();\n\t},\n\tasync mounted() {\n\t\ttry {\n\t\t\tthis.loading = true;\n\t\t\tawait this.communityNodesStore.fetchInstalledPackages();\n\n\t\t\tconst installedPackages: PublicInstalledPackage[] =\n\t\t\t\tthis.communityNodesStore.getInstalledPackages;\n\t\t\tconst packagesToUpdate: PublicInstalledPackage[] = installedPackages.filter(\n\t\t\t\t(p) => p.updateAvailable,\n\t\t\t);\n\t\t\tthis.$telemetry.track('user viewed cnr settings page', {\n\t\t\t\tnum_of_packages_installed: installedPackages.length,\n\t\t\t\tinstalled_packages: installedPackages.map((p) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpackage_name: p.packageName,\n\t\t\t\t\t\tpackage_version: p.installedVersion,\n\t\t\t\t\t\tpackage_nodes: p.installedNodes.map((node) => `${node.name}-v${node.latestVersion}`),\n\t\t\t\t\t\tis_update_available: p.updateAvailable !== undefined,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\tpackages_to_update: packagesToUpdate.map((p) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpackage_name: p.packageName,\n\t\t\t\t\t\tpackage_version_current: p.installedVersion,\n\t\t\t\t\t\tpackage_version_available: p.updateAvailable,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\tnumber_of_updates_available: packagesToUpdate.length,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tthis.showError(\n\t\t\t\terror,\n\t\t\t\tthis.$locale.baseText('settings.communityNodes.fetchError.title'),\n\t\t\t\tthis.$locale.baseText('settings.communityNodes.fetchError.message'),\n\t\t\t);\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t\ttry {\n\t\t\tawait this.communityNodesStore.fetchAvailableCommunityPackageCount();\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t},\n\tbeforeUnmount() {\n\t\tthis.pushStore.pushDisconnect();\n\t\tthis.pushConnection.terminate();\n\t},\n\tmethods: {\n\t\tonClickEmptyStateButton(): void {\n\t\t\tif (this.settingsStore.isDesktopDeployment) {\n\t\t\t\treturn this.goToUpgrade();\n\t\t\t}\n\n\t\t\tthis.openInstallModal();\n\t\t},\n\t\tgoToUpgrade(): void {\n\t\t\tvoid this.uiStore.goToUpgrade('community-nodes', 'upgrade-community-nodes');\n\t\t},\n\t\topenInstallModal(): void {\n\t\t\tconst telemetryPayload = {\n\t\t\t\tis_empty_state: this.communityNodesStore.getInstalledPackages.length === 0,\n\t\t\t};\n\t\t\tthis.$telemetry.track('user clicked cnr install button', telemetryPayload);\n\n\t\t\tvoid this.externalHooks.run('settingsCommunityNodesView.openInstallModal', telemetryPayload);\n\t\t\tthis.uiStore.openModal(COMMUNITY_PACKAGE_INSTALL_MODAL_KEY);\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.container {\n\theight: 100%;\n\tpadding-right: var(--spacing-2xs);\n\t> * {\n\t\tmargin-bottom: var(--spacing-2xl);\n\t}\n}\n\n.headingContainer {\n\tdisplay: flex;\n\tjustify-content: space-between;\n}\n\n.loadingContainer {\n\tdisplay: flex;\n\tgap: var(--spacing-xs);\n}\n\n.actionBoxContainer {\n\ttext-align: center;\n}\n\n.cardsContainer {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--spacing-2xs);\n}\n</style>\n"],"names":["_sfc_main$1","defineComponent","COMMUNITY_PACKAGE_MANAGE_ACTIONS","mapStores","useUIStore","value","NPM_PACKAGE_DOCS_BASE_URL","_resolveComponent","loading","_ctx","_openBlock","_createElementBlock","$style","_normalizeClass","_component_n8n_loading","_createVNode","_component_n8n_text","_createTextVNode","_toDisplayString","_createElementVNode","communityPackage","_Fragment","_renderList","node","index","_hoisted_1","_createCommentVNode","_createBlock","_component_n8n_tooltip","_withCtx","_component_n8n_icon","_component_n8n_button","onUpdateClick","onAction","PACKAGE_COUNT_THRESHOLD","_sfc_main","CommunityPackageCard","router","useRouter","pushConnection","usePushConnection","useExternalHooks","useToast","useCommunityNodesStore","useSettingsStore","usePushConnectionStore","packageCount","COMMUNITY_NODES_INSTALLATION_DOCS_URL","COMMUNITY_NODES_MANUAL_INSTALLATION_DOCS_URL","COMMUNITY_NODES_NPM_INSTALLATION_URL","installedPackages","packagesToUpdate","p","error","telemetryPayload","COMMUNITY_PACKAGE_INSTALL_MODAL_KEY","_component_n8n_heading","$locale","settingsStore","openInstallModal","_component_n8n_action_box","getEmptyStateDescription","actionBoxConfig","n","_component_CommunityPackageCard","communityNodesStore","getEmptyStateButtonText","onClickEmptyStateButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SettingsCommunityNodesView-BJygUgC4.js","sources":["../../src/components/CommunityPackageCard.vue","../../src/views/SettingsCommunityNodesView.vue"],"sourcesContent":["<template>\n\t<div :class=\"$style.cardContainer\">\n\t\t<div v-if=\"loading\" :class=\"$style.cardSkeleton\">\n\t\t\t<n8n-loading :class=\"$style.loader\" variant=\"p\" :rows=\"1\" />\n\t\t\t<n8n-loading :class=\"$style.loader\" variant=\"p\" :rows=\"1\" />\n\t\t</div>\n\t\t<div v-else-if=\"communityPackage\" :class=\"$style.packageCard\">\n\t\t\t<div :class=\"$style.cardInfoContainer\">\n\t\t\t\t<div :class=\"$style.cardTitle\">\n\t\t\t\t\t<n8n-text :bold=\"true\" size=\"large\">{{ communityPackage.packageName }}</n8n-text>\n\t\t\t\t</div>\n\t\t\t\t<div :class=\"$style.cardSubtitle\">\n\t\t\t\t\t<n8n-text :bold=\"true\" size=\"small\" color=\"text-light\">\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t$locale.baseText('settings.communityNodes.packageNodes.label', {\n\t\t\t\t\t\t\t\tadjustToNumber: communityPackage.installedNodes.length,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}: \n\t\t\t\t\t</n8n-text>\n\t\t\t\t\t<n8n-text size=\"small\" color=\"text-light\">\n\t\t\t\t\t\t<span v-for=\"(node, index) in communityPackage.installedNodes\" :key=\"node.name\">\n\t\t\t\t\t\t\t{{ node.name\n\t\t\t\t\t\t\t}}<span v-if=\"index != communityPackage.installedNodes.length - 1\">,</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</n8n-text>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div :class=\"$style.cardControlsContainer\">\n\t\t\t\t<n8n-text :bold=\"true\" size=\"large\" color=\"text-light\">\n\t\t\t\t\tv{{ communityPackage.installedVersion }}\n\t\t\t\t</n8n-text>\n\t\t\t\t<n8n-tooltip v-if=\"communityPackage.failedLoading === true\" placement=\"top\">\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{{ $locale.baseText('settings.communityNodes.failedToLoad.tooltip') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n8n-icon icon=\"exclamation-triangle\" color=\"danger\" size=\"large\" />\n\t\t\t\t</n8n-tooltip>\n\t\t\t\t<n8n-tooltip v-else-if=\"communityPackage.updateAvailable\" placement=\"top\">\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{{ $locale.baseText('settings.communityNodes.updateAvailable.tooltip') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n8n-button outline label=\"Update\" @click=\"onUpdateClick\" />\n\t\t\t\t</n8n-tooltip>\n\t\t\t\t<n8n-tooltip v-else placement=\"top\">\n\t\t\t\t\t<template #content>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{{ $locale.baseText('settings.communityNodes.upToDate.tooltip') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<n8n-icon icon=\"check-circle\" color=\"text-light\" size=\"large\" />\n\t\t\t\t</n8n-tooltip>\n\t\t\t\t<div :class=\"$style.cardActions\">\n\t\t\t\t\t<n8n-action-toggle :actions=\"packageActions\" @action=\"onAction\"></n8n-action-toggle>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport { useUIStore } from '@/stores/ui.store';\nimport type { PublicInstalledPackage } from 'n8n-workflow';\nimport { mapStores } from 'pinia';\nimport { defineComponent } from 'vue';\nimport { NPM_PACKAGE_DOCS_BASE_URL, COMMUNITY_PACKAGE_MANAGE_ACTIONS } from '@/constants';\n\nexport default defineComponent({\n\tname: 'CommunityPackageCard',\n\tprops: {\n\t\tcommunityPackage: {\n\t\t\ttype: Object as () => PublicInstalledPackage | null,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tpackageActions: [\n\t\t\t\t{\n\t\t\t\t\tlabel: this.$locale.baseText('settings.communityNodes.viewDocsAction.label'),\n\t\t\t\t\tvalue: COMMUNITY_PACKAGE_MANAGE_ACTIONS.VIEW_DOCS,\n\t\t\t\t\ttype: 'external-link',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: this.$locale.baseText('settings.communityNodes.uninstallAction.label'),\n\t\t\t\t\tvalue: COMMUNITY_PACKAGE_MANAGE_ACTIONS.UNINSTALL,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapStores(useUIStore),\n\t},\n\tmethods: {\n\t\tasync onAction(value: string) {\n\t\t\tif (!this.communityPackage) return;\n\t\t\tswitch (value) {\n\t\t\t\tcase COMMUNITY_PACKAGE_MANAGE_ACTIONS.VIEW_DOCS:\n\t\t\t\t\tthis.$telemetry.track('user clicked to browse the cnr package documentation', {\n\t\t\t\t\t\tpackage_name: this.communityPackage.packageName,\n\t\t\t\t\t\tpackage_version: this.communityPackage.installedVersion,\n\t\t\t\t\t});\n\t\t\t\t\twindow.open(`${NPM_PACKAGE_DOCS_BASE_URL}${this.communityPackage.packageName}`, '_blank');\n\t\t\t\t\tbreak;\n\t\t\t\tcase COMMUNITY_PACKAGE_MANAGE_ACTIONS.UNINSTALL:\n\t\t\t\t\tthis.uiStore.openCommunityPackageUninstallConfirmModal(this.communityPackage.packageName);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\tonUpdateClick() {\n\t\t\tif (!this.communityPackage) return;\n\t\t\tthis.uiStore.openCommunityPackageUpdateConfirmModal(this.communityPackage.packageName);\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.cardContainer {\n\tdisplay: flex;\n\tpadding: var(--spacing-s);\n\tborder: var(--border-width-base) var(--border-style-base) var(--color-info-tint-1);\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-background-xlight);\n}\n\n.packageCard,\n.cardSkeleton {\n\tdisplay: flex;\n\tflex-basis: 100%;\n\tjustify-content: space-between;\n}\n\n.packageCard {\n\talign-items: center;\n}\n\n.cardSkeleton {\n\tflex-direction: column;\n}\n\n.loader {\n\twidth: 50%;\n\ttransform: scaleY(-1);\n\n\t&:last-child {\n\t\twidth: 70%;\n\n\t\tdiv {\n\t\t\tmargin: 0;\n\t\t}\n\t}\n}\n\n.cardInfoContainer {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\n.cardTitle {\n\tflex-basis: 100%;\n\n\tspan {\n\t\tline-height: 1;\n\t}\n}\n\n.cardSubtitle {\n\tmargin-top: 2px;\n\tpadding-right: var(--spacing-m);\n}\n\n.cardControlsContainer {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--spacing-3xs);\n}\n\n.cardActions {\n\tpadding-left: var(--spacing-3xs);\n}\n</style>\n","<template>\n\t<div :class=\"$style.container\">\n\t\t<div :class=\"$style.headingContainer\">\n\t\t\t<n8n-heading size=\"2xlarge\">{{ $locale.baseText('settings.communityNodes') }}</n8n-heading>\n\t\t\t<n8n-button\n\t\t\t\tv-if=\"\n\t\t\t\t\t!settingsStore.isQueueModeEnabled &&\n\t\t\t\t\tcommunityNodesStore.getInstalledPackages.length > 0 &&\n\t\t\t\t\t!loading\n\t\t\t\t\"\n\t\t\t\t:label=\"$locale.baseText('settings.communityNodes.installModal.installButton.label')\"\n\t\t\t\tsize=\"large\"\n\t\t\t\t@click=\"openInstallModal\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-if=\"settingsStore.isQueueModeEnabled\" :class=\"$style.actionBoxContainer\">\n\t\t\t<n8n-action-box\n\t\t\t\t:heading=\"$locale.baseText('settings.communityNodes.empty.title')\"\n\t\t\t\t:description=\"getEmptyStateDescription\"\n\t\t\t\t:callout-text=\"actionBoxConfig.calloutText\"\n\t\t\t\t:callout-theme=\"actionBoxConfig.calloutTheme\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-else-if=\"loading\" :class=\"$style.cardsContainer\">\n\t\t\t<CommunityPackageCard\n\t\t\t\tv-for=\"n in 2\"\n\t\t\t\t:key=\"'index-' + n\"\n\t\t\t\t:loading=\"true\"\n\t\t\t></CommunityPackageCard>\n\t\t</div>\n\t\t<div\n\t\t\tv-else-if=\"communityNodesStore.getInstalledPackages.length === 0\"\n\t\t\t:class=\"$style.actionBoxContainer\"\n\t\t>\n\t\t\t<n8n-action-box\n\t\t\t\t:heading=\"$locale.baseText('settings.communityNodes.empty.title')\"\n\t\t\t\t:description=\"getEmptyStateDescription\"\n\t\t\t\t:button-text=\"getEmptyStateButtonText\"\n\t\t\t\t:callout-text=\"actionBoxConfig.calloutText\"\n\t\t\t\t:callout-theme=\"actionBoxConfig.calloutTheme\"\n\t\t\t\t@click:button=\"onClickEmptyStateButton\"\n\t\t\t/>\n\t\t</div>\n\t\t<div v-else :class=\"$style.cardsContainer\">\n\t\t\t<CommunityPackageCard\n\t\t\t\tv-for=\"communityPackage in communityNodesStore.getInstalledPackages\"\n\t\t\t\t:key=\"communityPackage.packageName\"\n\t\t\t\t:community-package=\"communityPackage\"\n\t\t\t></CommunityPackageCard>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\">\nimport {\n\tCOMMUNITY_PACKAGE_INSTALL_MODAL_KEY,\n\tCOMMUNITY_NODES_INSTALLATION_DOCS_URL,\n\tCOMMUNITY_NODES_MANUAL_INSTALLATION_DOCS_URL,\n\tCOMMUNITY_NODES_NPM_INSTALLATION_URL,\n} from '@/constants';\nimport CommunityPackageCard from '@/components/CommunityPackageCard.vue';\nimport { useToast } from '@/composables/useToast';\nimport type { PublicInstalledPackage } from 'n8n-workflow';\n\nimport { useCommunityNodesStore } from '@/stores/communityNodes.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { mapStores } from 'pinia';\nimport { useSettingsStore } from '@/stores/settings.store';\nimport { defineComponent } from 'vue';\nimport { useExternalHooks } from '@/composables/useExternalHooks';\nimport { useRouter } from 'vue-router';\nimport { usePushConnection } from '@/composables/usePushConnection';\nimport { usePushConnectionStore } from '@/stores/pushConnection.store';\n\nconst PACKAGE_COUNT_THRESHOLD = 31;\n\nexport default defineComponent({\n\tname: 'SettingsCommunityNodesView',\n\tcomponents: {\n\t\tCommunityPackageCard,\n\t},\n\tsetup() {\n\t\tconst router = useRouter();\n\t\tconst pushConnection = usePushConnection({ router });\n\t\tconst externalHooks = useExternalHooks();\n\n\t\treturn {\n\t\t\texternalHooks,\n\t\t\t...useToast(),\n\t\t\tpushConnection,\n\t\t};\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\t...mapStores(useCommunityNodesStore, useSettingsStore, useUIStore, usePushConnectionStore),\n\t\tgetEmptyStateDescription(): string {\n\t\t\tconst packageCount = this.communityNodesStore.availablePackageCount;\n\n\t\t\tif (this.settingsStore.isDesktopDeployment) {\n\t\t\t\treturn this.$locale.baseText('contextual.communityNodes.unavailable.description.desktop');\n\t\t\t}\n\n\t\t\treturn packageCount < PACKAGE_COUNT_THRESHOLD\n\t\t\t\t? this.$locale.baseText('settings.communityNodes.empty.description.no-packages', {\n\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\tdocURL: COMMUNITY_NODES_INSTALLATION_DOCS_URL,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t: this.$locale.baseText('settings.communityNodes.empty.description', {\n\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\tdocURL: COMMUNITY_NODES_INSTALLATION_DOCS_URL,\n\t\t\t\t\t\t\tcount: (Math.floor(packageCount / 10) * 10).toString(),\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t},\n\t\tgetEmptyStateButtonText(): string {\n\t\t\tif (this.settingsStore.isDesktopDeployment) {\n\t\t\t\treturn this.$locale.baseText('contextual.communityNodes.unavailable.button.desktop');\n\t\t\t}\n\n\t\t\treturn this.shouldShowInstallButton\n\t\t\t\t? this.$locale.baseText('settings.communityNodes.empty.installPackageLabel')\n\t\t\t\t: '';\n\t\t},\n\t\tshouldShowInstallButton(): boolean {\n\t\t\treturn this.settingsStore.isDesktopDeployment || this.settingsStore.isNpmAvailable;\n\t\t},\n\t\tactionBoxConfig(): {\n\t\t\tcalloutText: string;\n\t\t\tcalloutTheme: 'warning' | string;\n\t\t\thideButton: boolean;\n\t\t} {\n\t\t\tif (!this.settingsStore.isNpmAvailable) {\n\t\t\t\treturn {\n\t\t\t\t\tcalloutText: this.$locale.baseText('settings.communityNodes.npmUnavailable.warning', {\n\t\t\t\t\t\tinterpolate: { npmUrl: COMMUNITY_NODES_NPM_INSTALLATION_URL },\n\t\t\t\t\t}),\n\t\t\t\t\tcalloutTheme: 'warning',\n\t\t\t\t\thideButton: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (this.settingsStore.isQueueModeEnabled) {\n\t\t\t\treturn {\n\t\t\t\t\tcalloutText: this.$locale.baseText('settings.communityNodes.queueMode.warning', {\n\t\t\t\t\t\tinterpolate: { docURL: COMMUNITY_NODES_MANUAL_INSTALLATION_DOCS_URL },\n\t\t\t\t\t}),\n\t\t\t\t\tcalloutTheme: 'warning',\n\t\t\t\t\thideButton: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcalloutText: '',\n\t\t\t\tcalloutTheme: '',\n\t\t\t\thideButton: false,\n\t\t\t};\n\t\t},\n\t},\n\tbeforeMount() {\n\t\tthis.pushConnection.initialize();\n\t\t// The push connection is needed here to receive `reloadNodeType` and `removeNodeType` events when community nodes are installed, updated, or removed.\n\t\tthis.pushStore.pushConnect();\n\t},\n\tasync mounted() {\n\t\ttry {\n\t\t\tthis.loading = true;\n\t\t\tawait this.communityNodesStore.fetchInstalledPackages();\n\n\t\t\tconst installedPackages: PublicInstalledPackage[] =\n\t\t\t\tthis.communityNodesStore.getInstalledPackages;\n\t\t\tconst packagesToUpdate: PublicInstalledPackage[] = installedPackages.filter(\n\t\t\t\t(p) => p.updateAvailable,\n\t\t\t);\n\t\t\tthis.$telemetry.track('user viewed cnr settings page', {\n\t\t\t\tnum_of_packages_installed: installedPackages.length,\n\t\t\t\tinstalled_packages: installedPackages.map((p) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpackage_name: p.packageName,\n\t\t\t\t\t\tpackage_version: p.installedVersion,\n\t\t\t\t\t\tpackage_nodes: p.installedNodes.map((node) => `${node.name}-v${node.latestVersion}`),\n\t\t\t\t\t\tis_update_available: p.updateAvailable !== undefined,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\tpackages_to_update: packagesToUpdate.map((p) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpackage_name: p.packageName,\n\t\t\t\t\t\tpackage_version_current: p.installedVersion,\n\t\t\t\t\t\tpackage_version_available: p.updateAvailable,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\tnumber_of_updates_available: packagesToUpdate.length,\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tthis.showError(\n\t\t\t\terror,\n\t\t\t\tthis.$locale.baseText('settings.communityNodes.fetchError.title'),\n\t\t\t\tthis.$locale.baseText('settings.communityNodes.fetchError.message'),\n\t\t\t);\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t\ttry {\n\t\t\tawait this.communityNodesStore.fetchAvailableCommunityPackageCount();\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t},\n\tbeforeUnmount() {\n\t\tthis.pushStore.pushDisconnect();\n\t\tthis.pushConnection.terminate();\n\t},\n\tmethods: {\n\t\tonClickEmptyStateButton(): void {\n\t\t\tif (this.settingsStore.isDesktopDeployment) {\n\t\t\t\treturn this.goToUpgrade();\n\t\t\t}\n\n\t\t\tthis.openInstallModal();\n\t\t},\n\t\tgoToUpgrade(): void {\n\t\t\tvoid this.uiStore.goToUpgrade('community-nodes', 'upgrade-community-nodes');\n\t\t},\n\t\topenInstallModal(): void {\n\t\t\tconst telemetryPayload = {\n\t\t\t\tis_empty_state: this.communityNodesStore.getInstalledPackages.length === 0,\n\t\t\t};\n\t\t\tthis.$telemetry.track('user clicked cnr install button', telemetryPayload);\n\n\t\t\tvoid this.externalHooks.run('settingsCommunityNodesView.openInstallModal', telemetryPayload);\n\t\t\tthis.uiStore.openModal(COMMUNITY_PACKAGE_INSTALL_MODAL_KEY);\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.container {\n\theight: 100%;\n\tpadding-right: var(--spacing-2xs);\n\t> * {\n\t\tmargin-bottom: var(--spacing-2xl);\n\t}\n}\n\n.headingContainer {\n\tdisplay: flex;\n\tjustify-content: space-between;\n}\n\n.loadingContainer {\n\tdisplay: flex;\n\tgap: var(--spacing-xs);\n}\n\n.actionBoxContainer {\n\ttext-align: center;\n}\n\n.cardsContainer {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--spacing-2xs);\n}\n</style>\n"],"names":["_sfc_main$1","defineComponent","COMMUNITY_PACKAGE_MANAGE_ACTIONS","mapStores","useUIStore","value","NPM_PACKAGE_DOCS_BASE_URL","_resolveComponent","loading","_ctx","_openBlock","_createElementBlock","$style","_normalizeClass","_component_n8n_loading","_createVNode","_component_n8n_text","_createTextVNode","_toDisplayString","_createElementVNode","communityPackage","_Fragment","_renderList","node","index","_hoisted_1","_createCommentVNode","_createBlock","_component_n8n_tooltip","_withCtx","_component_n8n_icon","_component_n8n_button","onUpdateClick","onAction","PACKAGE_COUNT_THRESHOLD","_sfc_main","CommunityPackageCard","router","useRouter","pushConnection","usePushConnection","useExternalHooks","useToast","useCommunityNodesStore","useSettingsStore","usePushConnectionStore","packageCount","COMMUNITY_NODES_INSTALLATION_DOCS_URL","COMMUNITY_NODES_MANUAL_INSTALLATION_DOCS_URL","COMMUNITY_NODES_NPM_INSTALLATION_URL","installedPackages","packagesToUpdate","p","error","telemetryPayload","COMMUNITY_PACKAGE_INSTALL_MODAL_KEY","_component_n8n_heading","$locale","settingsStore","openInstallModal","_component_n8n_action_box","getEmptyStateDescription","actionBoxConfig","n","_component_CommunityPackageCard","communityNodesStore","getEmptyStateButtonText","onClickEmptyStateButton"],"mappings":"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"}
|
package/dist/assets/{SettingsExternalSecrets-b3iC5CUl.js → SettingsExternalSecrets-Dvrb_hHi.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aN as I,e as P,u as $,e1 as j,e2 as X,e3 as G,e4 as K,x as O,e5 as W}from"./index-
|
|
2
|
-
//# sourceMappingURL=SettingsExternalSecrets-
|
|
1
|
+
import{aN as I,e as P,u as $,e1 as j,e2 as X,e3 as G,e4 as K,x as O,e5 as W}from"./index-BjbCeTcj.js";import{D as Y}from"./luxon-CLwAIbs0.js";import{G as N,X as q,e as _,b as M,ag as i,l as s,M as x,O as a,p as d,I as m,U as p,S as v,T as c,u as n,R as H,m as f,n as J,F as Q,a7 as Z}from"./vendor-Dv5OeN6t.js";import{_ as ee}from"./n8n-CX_-_IN5.js";import"./pinia-DJNDmPLG.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CZXI82nZ.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-CqoWQPIV.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const te=N({__name:"ExternalSecretsProviderCard.ee",props:{provider:{}},setup(w){const e=w,u=I(),t=O(),y=P(),g=$(),r=q(e,"provider"),l=_(()=>r.value.data??{}),{connectionState:S,testConnection:h,setConnectionState:T}=j(r,l),k=_(()=>[{value:"setup",label:t.baseText("settings.externalSecrets.card.actionDropdown.setup")},...e.provider.connected?[{value:"reload",label:t.baseText("settings.externalSecrets.card.actionDropdown.reload")}]:[]]),C=_(()=>e.provider.connected||Object.keys(l.value).length>0),b=_(()=>Y.fromISO(X(r.value.connectedAt)?r.value.connectedAt.toISOString():r.value.connectedAt||new Date().toISOString()).toFormat("dd LLL yyyy"));M(()=>{T(e.provider.state)});async function L(){return e.provider.connected?!0:(await u.getProvider(e.provider.name),await J(),await h()!=="error")}function D(){y.openModalWithData({name:W,data:{name:e.provider.name}})}async function R(){try{await u.reloadProvider(e.provider.name),g.showMessage({title:t.baseText("settings.externalSecrets.card.reload.success.title"),message:t.baseText("settings.externalSecrets.card.reload.success.description",{interpolate:{provider:e.provider.displayName}}),type:"success"})}catch(o){g.showError(o,t.baseText("error"))}}async function U(o){switch(o){case"setup":D();break;case"reload":await R();break}}return(o,A)=>{const B=i("n8n-text"),V=i("n8n-action-toggle"),z=i("n8n-button"),F=i("n8n-card");return s(),x(F,{class:m(o.$style.card)},{default:a(()=>[d("div",{class:m(o.$style.cardBody)},[p(G,{class:m(o.$style.cardImage),provider:r.value},null,8,["class","provider"]),d("div",{class:m(o.$style.cardContent)},[p(B,{bold:""},{default:a(()=>[v(c(r.value.displayName),1)]),_:1}),r.value.connected?(s(),x(B,{key:0,color:"text-light",size:"small"},{default:a(()=>{var E;return[d("span",null,c(n(t).baseText("settings.externalSecrets.card.secretsCount",{interpolate:{count:`${(E=n(u).secrets[r.value.name])==null?void 0:E.length}`}})),1),v(" | "),d("span",null,c(n(t).baseText("settings.externalSecrets.card.connectedAt",{interpolate:{date:b.value}})),1)]}),_:1})):H("",!0)],2),C.value?(s(),f("div",{key:0,class:m(o.$style.cardActions)},[p(K,{provider:r.value,"before-update":L,disabled:n(S)==="error"&&!r.value.connected},null,8,["provider","disabled"]),p(V,{class:"ml-s",theme:"dark",actions:k.value,onAction:U},null,8,["actions"])],2)):(s(),x(z,{key:1,type:"tertiary",onClick:A[0]||(A[0]=E=>D())},{default:a(()=>[v(c(n(t).baseText("settings.externalSecrets.card.setUp")),1)]),_:1}))],2)]),_:1},8,["class"])}}}),ne="_card_1v5vt_1",re="_cardImage_1v5vt_6",oe="_cardBody_1v5vt_11",se="_cardContent_1v5vt_17",ae="_cardActions_1v5vt_24",ce={card:ne,cardImage:re,cardBody:oe,cardContent:se,cardActions:ae},ie={$style:ce},le=ee(te,[["__cssModules",ie]]),de={class:"pb-3xl"},pe={key:0,"data-test-id":"external-secrets-content-licensed"},ue=["href"],me=["href"],je=N({__name:"SettingsExternalSecrets",setup(w){const e=O(),u=P(),t=I(),y=$(),g=_(()=>[...t.providers].sort((l,S)=>S.name.localeCompare(l.name)));M(()=>{if(t.isEnterpriseExternalSecretsEnabled)try{t.fetchAllSecrets(),t.getProviders()}catch(l){y.showError(l,e.baseText("error"))}});function r(){u.goToUpgrade("external-secrets","upgrade-external-secrets")}return(l,S)=>{const h=i("n8n-heading"),T=i("n8n-callout"),k=i("i18n-t"),C=i("n8n-action-box");return s(),f("div",de,[p(h,{size:"2xlarge"},{default:a(()=>[v(c(n(e).baseText("settings.externalSecrets.title")),1)]),_:1}),n(t).isEnterpriseExternalSecretsEnabled?(s(),f("div",pe,[p(T,{theme:"secondary",class:"mt-2xl mb-l"},{default:a(()=>[v(c(n(e).baseText("settings.externalSecrets.info"))+" ",1),d("a",{href:n(e).baseText("settings.externalSecrets.docs"),target:"_blank"},c(n(e).baseText("settings.externalSecrets.info.link")),9,ue)]),_:1}),(s(!0),f(Q,null,Z(g.value,b=>(s(),x(le,{key:b.name,provider:b},null,8,["provider"]))),128))])):(s(),x(C,{key:1,class:"mt-2xl mb-l","data-test-id":"external-secrets-content-unlicensed","button-text":n(e).baseText("settings.externalSecrets.actionBox.buttonText"),onClick:r},{heading:a(()=>[d("span",null,c(n(e).baseText("settings.externalSecrets.actionBox.title")),1)]),description:a(()=>[p(k,{keypath:"settings.externalSecrets.actionBox.description"},{link:a(()=>[d("a",{href:n(e).baseText("settings.externalSecrets.docs"),target:"_blank"},c(n(e).baseText("settings.externalSecrets.actionBox.description.link")),9,me)]),_:1})]),_:1},8,["button-text"]))])}}});export{je as default};
|
|
2
|
+
//# sourceMappingURL=SettingsExternalSecrets-Dvrb_hHi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsExternalSecrets-b3iC5CUl.js","sources":["../../src/components/ExternalSecretsProviderCard.ee.vue","../../src/views/SettingsExternalSecrets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ExternalSecretsProvider } from '@/Interface';\nimport ExternalSecretsProviderImage from '@/components/ExternalSecretsProviderImage.ee.vue';\nimport ExternalSecretsProviderConnectionSwitch from '@/components/ExternalSecretsProviderConnectionSwitch.ee.vue';\nimport { useExternalSecretsStore } from '@/stores/externalSecrets.ee.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { useToast } from '@/composables/useToast';\nimport { useI18n } from '@/composables/useI18n';\nimport { useExternalSecretsProvider } from '@/composables/useExternalSecretsProvider';\nimport { EXTERNAL_SECRETS_PROVIDER_MODAL_KEY } from '@/constants';\nimport { DateTime } from 'luxon';\nimport { computed, nextTick, onMounted, toRef } from 'vue';\nimport { isDateObject } from '@/utils/typeGuards';\n\nconst props = defineProps<{\n\tprovider: ExternalSecretsProvider;\n}>();\n\nconst externalSecretsStore = useExternalSecretsStore();\nconst i18n = useI18n();\nconst uiStore = useUIStore();\nconst toast = useToast();\n\nconst provider = toRef(props, 'provider');\nconst providerData = computed(() => provider.value.data ?? {});\nconst { connectionState, testConnection, setConnectionState } = useExternalSecretsProvider(\n\tprovider,\n\tproviderData,\n);\n\nconst actionDropdownOptions = computed(() => [\n\t{\n\t\tvalue: 'setup',\n\t\tlabel: i18n.baseText('settings.externalSecrets.card.actionDropdown.setup'),\n\t},\n\t...(props.provider.connected\n\t\t? [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'reload',\n\t\t\t\t\tlabel: i18n.baseText('settings.externalSecrets.card.actionDropdown.reload'),\n\t\t\t\t},\n\t\t\t]\n\t\t: []),\n]);\n\nconst canConnect = computed(() => {\n\treturn props.provider.connected || Object.keys(providerData.value).length > 0;\n});\n\nconst formattedDate = computed(() => {\n\treturn DateTime.fromISO(\n\t\tisDateObject(provider.value.connectedAt)\n\t\t\t? provider.value.connectedAt.toISOString()\n\t\t\t: provider.value.connectedAt || new Date().toISOString(),\n\t).toFormat('dd LLL yyyy');\n});\n\nonMounted(() => {\n\tsetConnectionState(props.provider.state);\n});\n\nasync function onBeforeConnectionUpdate() {\n\tif (props.provider.connected) {\n\t\treturn true;\n\t}\n\n\tawait externalSecretsStore.getProvider(props.provider.name);\n\tawait nextTick();\n\tconst status = await testConnection();\n\n\treturn status !== 'error';\n}\n\nfunction openExternalSecretProvider() {\n\tuiStore.openModalWithData({\n\t\tname: EXTERNAL_SECRETS_PROVIDER_MODAL_KEY,\n\t\tdata: { name: props.provider.name },\n\t});\n}\n\nasync function reloadProvider() {\n\ttry {\n\t\tawait externalSecretsStore.reloadProvider(props.provider.name);\n\t\ttoast.showMessage({\n\t\t\ttitle: i18n.baseText('settings.externalSecrets.card.reload.success.title'),\n\t\t\tmessage: i18n.baseText('settings.externalSecrets.card.reload.success.description', {\n\t\t\t\tinterpolate: { provider: props.provider.displayName },\n\t\t\t}),\n\t\t\ttype: 'success',\n\t\t});\n\t} catch (error) {\n\t\ttoast.showError(error, i18n.baseText('error'));\n\t}\n}\n\nasync function onActionDropdownClick(id: string) {\n\tswitch (id) {\n\t\tcase 'setup':\n\t\t\topenExternalSecretProvider();\n\t\t\tbreak;\n\t\tcase 'reload':\n\t\t\tawait reloadProvider();\n\t\t\tbreak;\n\t}\n}\n</script>\n\n<template>\n\t<n8n-card :class=\"$style.card\">\n\t\t<div :class=\"$style.cardBody\">\n\t\t\t<ExternalSecretsProviderImage :class=\"$style.cardImage\" :provider=\"provider\" />\n\t\t\t<div :class=\"$style.cardContent\">\n\t\t\t\t<n8n-text bold>{{ provider.displayName }}</n8n-text>\n\t\t\t\t<n8n-text v-if=\"provider.connected\" color=\"text-light\" size=\"small\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\ti18n.baseText('settings.externalSecrets.card.secretsCount', {\n\t\t\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\t\t\tcount: `${externalSecretsStore.secrets[provider.name]?.length}`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}\n\t\t\t\t\t</span>\n\t\t\t\t\t|\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\ti18n.baseText('settings.externalSecrets.card.connectedAt', {\n\t\t\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\t\t\tdate: formattedDate,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}\n\t\t\t\t\t</span>\n\t\t\t\t</n8n-text>\n\t\t\t</div>\n\t\t\t<div v-if=\"canConnect\" :class=\"$style.cardActions\">\n\t\t\t\t<ExternalSecretsProviderConnectionSwitch\n\t\t\t\t\t:provider=\"provider\"\n\t\t\t\t\t:before-update=\"onBeforeConnectionUpdate\"\n\t\t\t\t\t:disabled=\"connectionState === 'error' && !provider.connected\"\n\t\t\t\t/>\n\t\t\t\t<n8n-action-toggle\n\t\t\t\t\tclass=\"ml-s\"\n\t\t\t\t\ttheme=\"dark\"\n\t\t\t\t\t:actions=\"actionDropdownOptions\"\n\t\t\t\t\t@action=\"onActionDropdownClick\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<n8n-button v-else type=\"tertiary\" @click=\"openExternalSecretProvider()\">\n\t\t\t\t{{ i18n.baseText('settings.externalSecrets.card.setUp') }}\n\t\t\t</n8n-button>\n\t\t</div>\n\t</n8n-card>\n</template>\n\n<style lang=\"scss\" module>\n.card {\n\tposition: relative;\n\tmargin-bottom: var(--spacing-2xs);\n}\n\n.cardImage {\n\twidth: 28px;\n\theight: 28px;\n}\n\n.cardBody {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.cardContent {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tmargin-left: var(--spacing-s);\n}\n\n.cardActions {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tmargin-left: var(--spacing-s);\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { useUIStore } from '@/stores/ui.store';\nimport { useI18n } from '@/composables/useI18n';\nimport { useToast } from '@/composables/useToast';\nimport { useExternalSecretsStore } from '@/stores/externalSecrets.ee.store';\nimport { computed, onMounted } from 'vue';\nimport ExternalSecretsProviderCard from '@/components/ExternalSecretsProviderCard.ee.vue';\nimport type { ExternalSecretsProvider } from '@/Interface';\n\nconst i18n = useI18n();\nconst uiStore = useUIStore();\nconst externalSecretsStore = useExternalSecretsStore();\nconst toast = useToast();\n\nconst sortedProviders = computed(() => {\n\treturn ([...externalSecretsStore.providers] as ExternalSecretsProvider[]).sort((a, b) => {\n\t\treturn b.name.localeCompare(a.name);\n\t});\n});\n\nonMounted(() => {\n\tif (!externalSecretsStore.isEnterpriseExternalSecretsEnabled) return;\n\ttry {\n\t\tvoid externalSecretsStore.fetchAllSecrets();\n\t\tvoid externalSecretsStore.getProviders();\n\t} catch (error) {\n\t\ttoast.showError(error, i18n.baseText('error'));\n\t}\n});\n\nfunction goToUpgrade() {\n\tvoid uiStore.goToUpgrade('external-secrets', 'upgrade-external-secrets');\n}\n</script>\n\n<template>\n\t<div class=\"pb-3xl\">\n\t\t<n8n-heading size=\"2xlarge\">{{ i18n.baseText('settings.externalSecrets.title') }}</n8n-heading>\n\t\t<div\n\t\t\tv-if=\"externalSecretsStore.isEnterpriseExternalSecretsEnabled\"\n\t\t\tdata-test-id=\"external-secrets-content-licensed\"\n\t\t>\n\t\t\t<n8n-callout theme=\"secondary\" class=\"mt-2xl mb-l\">\n\t\t\t\t{{ i18n.baseText('settings.externalSecrets.info') }}\n\t\t\t\t<a :href=\"i18n.baseText('settings.externalSecrets.docs')\" target=\"_blank\">\n\t\t\t\t\t{{ i18n.baseText('settings.externalSecrets.info.link') }}\n\t\t\t\t</a>\n\t\t\t</n8n-callout>\n\t\t\t<ExternalSecretsProviderCard\n\t\t\t\tv-for=\"provider in sortedProviders\"\n\t\t\t\t:key=\"provider.name\"\n\t\t\t\t:provider=\"provider\"\n\t\t\t/>\n\t\t</div>\n\t\t<n8n-action-box\n\t\t\tv-else\n\t\t\tclass=\"mt-2xl mb-l\"\n\t\t\tdata-test-id=\"external-secrets-content-unlicensed\"\n\t\t\t:button-text=\"i18n.baseText('settings.externalSecrets.actionBox.buttonText')\"\n\t\t\t@click=\"goToUpgrade\"\n\t\t>\n\t\t\t<template #heading>\n\t\t\t\t<span>{{ i18n.baseText('settings.externalSecrets.actionBox.title') }}</span>\n\t\t\t</template>\n\t\t\t<template #description>\n\t\t\t\t<i18n-t keypath=\"settings.externalSecrets.actionBox.description\">\n\t\t\t\t\t<template #link>\n\t\t\t\t\t\t<a :href=\"i18n.baseText('settings.externalSecrets.docs')\" target=\"_blank\">\n\t\t\t\t\t\t\t{{ i18n.baseText('settings.externalSecrets.actionBox.description.link') }}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</template>\n\t\t\t\t</i18n-t>\n\t\t\t</template>\n\t\t</n8n-action-box>\n\t</div>\n</template>\n"],"names":["props","__props","externalSecretsStore","useExternalSecretsStore","i18n","useI18n","uiStore","useUIStore","toast","useToast","provider","toRef","providerData","computed","connectionState","testConnection","setConnectionState","useExternalSecretsProvider","actionDropdownOptions","canConnect","formattedDate","DateTime","isDateObject","onMounted","onBeforeConnectionUpdate","nextTick","openExternalSecretProvider","EXTERNAL_SECRETS_PROVIDER_MODAL_KEY","reloadProvider","error","onActionDropdownClick","id","sortedProviders","a","b","goToUpgrade"],"mappings":"2zCAcA,MAAMA,EAAQC,EAIRC,EAAuBC,IACvBC,EAAOC,IACPC,EAAUC,IACVC,EAAQC,IAERC,EAAWC,EAAMX,EAAO,UAAU,EAClCY,EAAeC,EAAS,IAAMH,EAAS,MAAM,MAAQ,CAAA,CAAE,EACvD,CAAE,gBAAAI,EAAiB,eAAAC,EAAgB,mBAAAC,CAAuB,EAAAC,EAC/DP,EACAE,CAAA,EAGKM,EAAwBL,EAAS,IAAM,CAC5C,CACC,MAAO,QACP,MAAOT,EAAK,SAAS,oDAAoD,CAC1E,EACA,GAAIJ,EAAM,SAAS,UAChB,CACA,CACC,MAAO,SACP,MAAOI,EAAK,SAAS,qDAAqD,CAC3E,CAAA,EAEA,CAAC,CAAA,CACJ,EAEKe,EAAaN,EAAS,IACpBb,EAAM,SAAS,WAAa,OAAO,KAAKY,EAAa,KAAK,EAAE,OAAS,CAC5E,EAEKQ,EAAgBP,EAAS,IACvBQ,EAAS,QACfC,EAAaZ,EAAS,MAAM,WAAW,EACpCA,EAAS,MAAM,YAAY,YAAY,EACvCA,EAAS,MAAM,aAAmB,IAAA,OAAO,YAAY,CAAA,EACvD,SAAS,aAAa,CACxB,EAEDa,EAAU,IAAM,CACIP,EAAAhB,EAAM,SAAS,KAAK,CAAA,CACvC,EAED,eAAewB,GAA2B,CACrC,OAAAxB,EAAM,SAAS,UACX,IAGR,MAAME,EAAqB,YAAYF,EAAM,SAAS,IAAI,EAC1D,MAAMyB,EAAS,EACA,MAAMV,MAEH,QACnB,CAEA,SAASW,GAA6B,CACrCpB,EAAQ,kBAAkB,CACzB,KAAMqB,EACN,KAAM,CAAE,KAAM3B,EAAM,SAAS,IAAK,CAAA,CAClC,CACF,CAEA,eAAe4B,GAAiB,CAC3B,GAAA,CACH,MAAM1B,EAAqB,eAAeF,EAAM,SAAS,IAAI,EAC7DQ,EAAM,YAAY,CACjB,MAAOJ,EAAK,SAAS,oDAAoD,EACzE,QAASA,EAAK,SAAS,2DAA4D,CAClF,YAAa,CAAE,SAAUJ,EAAM,SAAS,WAAY,CAAA,CACpD,EACD,KAAM,SAAA,CACN,QACO6B,EAAO,CACfrB,EAAM,UAAUqB,EAAOzB,EAAK,SAAS,OAAO,CAAC,CAC9C,CACD,CAEA,eAAe0B,EAAsBC,EAAY,CAChD,OAAQA,EAAI,CACX,IAAK,QACuBL,IAC3B,MACD,IAAK,SACJ,MAAME,EAAe,EACrB,KACF,CACD,+jDC/FA,MAAMxB,EAAOC,IACPC,EAAUC,IACVL,EAAuBC,IACvBK,EAAQC,IAERuB,EAAkBnB,EAAS,IACxB,CAAC,GAAGX,EAAqB,SAAS,EAAgC,KAAK,CAAC+B,EAAGC,IAC3EA,EAAE,KAAK,cAAcD,EAAE,IAAI,CAClC,CACD,EAEDV,EAAU,IAAM,CACf,GAAKrB,EAAqB,mCACtB,GAAA,CACEA,EAAqB,kBACrBA,EAAqB,qBAClB2B,EAAO,CACfrB,EAAM,UAAUqB,EAAOzB,EAAK,SAAS,OAAO,CAAC,CAC9C,CAAA,CACA,EAED,SAAS+B,GAAc,CACjB7B,EAAQ,YAAY,mBAAoB,0BAA0B,CACxE"}
|
|
1
|
+
{"version":3,"file":"SettingsExternalSecrets-Dvrb_hHi.js","sources":["../../src/components/ExternalSecretsProviderCard.ee.vue","../../src/views/SettingsExternalSecrets.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ExternalSecretsProvider } from '@/Interface';\nimport ExternalSecretsProviderImage from '@/components/ExternalSecretsProviderImage.ee.vue';\nimport ExternalSecretsProviderConnectionSwitch from '@/components/ExternalSecretsProviderConnectionSwitch.ee.vue';\nimport { useExternalSecretsStore } from '@/stores/externalSecrets.ee.store';\nimport { useUIStore } from '@/stores/ui.store';\nimport { useToast } from '@/composables/useToast';\nimport { useI18n } from '@/composables/useI18n';\nimport { useExternalSecretsProvider } from '@/composables/useExternalSecretsProvider';\nimport { EXTERNAL_SECRETS_PROVIDER_MODAL_KEY } from '@/constants';\nimport { DateTime } from 'luxon';\nimport { computed, nextTick, onMounted, toRef } from 'vue';\nimport { isDateObject } from '@/utils/typeGuards';\n\nconst props = defineProps<{\n\tprovider: ExternalSecretsProvider;\n}>();\n\nconst externalSecretsStore = useExternalSecretsStore();\nconst i18n = useI18n();\nconst uiStore = useUIStore();\nconst toast = useToast();\n\nconst provider = toRef(props, 'provider');\nconst providerData = computed(() => provider.value.data ?? {});\nconst { connectionState, testConnection, setConnectionState } = useExternalSecretsProvider(\n\tprovider,\n\tproviderData,\n);\n\nconst actionDropdownOptions = computed(() => [\n\t{\n\t\tvalue: 'setup',\n\t\tlabel: i18n.baseText('settings.externalSecrets.card.actionDropdown.setup'),\n\t},\n\t...(props.provider.connected\n\t\t? [\n\t\t\t\t{\n\t\t\t\t\tvalue: 'reload',\n\t\t\t\t\tlabel: i18n.baseText('settings.externalSecrets.card.actionDropdown.reload'),\n\t\t\t\t},\n\t\t\t]\n\t\t: []),\n]);\n\nconst canConnect = computed(() => {\n\treturn props.provider.connected || Object.keys(providerData.value).length > 0;\n});\n\nconst formattedDate = computed(() => {\n\treturn DateTime.fromISO(\n\t\tisDateObject(provider.value.connectedAt)\n\t\t\t? provider.value.connectedAt.toISOString()\n\t\t\t: provider.value.connectedAt || new Date().toISOString(),\n\t).toFormat('dd LLL yyyy');\n});\n\nonMounted(() => {\n\tsetConnectionState(props.provider.state);\n});\n\nasync function onBeforeConnectionUpdate() {\n\tif (props.provider.connected) {\n\t\treturn true;\n\t}\n\n\tawait externalSecretsStore.getProvider(props.provider.name);\n\tawait nextTick();\n\tconst status = await testConnection();\n\n\treturn status !== 'error';\n}\n\nfunction openExternalSecretProvider() {\n\tuiStore.openModalWithData({\n\t\tname: EXTERNAL_SECRETS_PROVIDER_MODAL_KEY,\n\t\tdata: { name: props.provider.name },\n\t});\n}\n\nasync function reloadProvider() {\n\ttry {\n\t\tawait externalSecretsStore.reloadProvider(props.provider.name);\n\t\ttoast.showMessage({\n\t\t\ttitle: i18n.baseText('settings.externalSecrets.card.reload.success.title'),\n\t\t\tmessage: i18n.baseText('settings.externalSecrets.card.reload.success.description', {\n\t\t\t\tinterpolate: { provider: props.provider.displayName },\n\t\t\t}),\n\t\t\ttype: 'success',\n\t\t});\n\t} catch (error) {\n\t\ttoast.showError(error, i18n.baseText('error'));\n\t}\n}\n\nasync function onActionDropdownClick(id: string) {\n\tswitch (id) {\n\t\tcase 'setup':\n\t\t\topenExternalSecretProvider();\n\t\t\tbreak;\n\t\tcase 'reload':\n\t\t\tawait reloadProvider();\n\t\t\tbreak;\n\t}\n}\n</script>\n\n<template>\n\t<n8n-card :class=\"$style.card\">\n\t\t<div :class=\"$style.cardBody\">\n\t\t\t<ExternalSecretsProviderImage :class=\"$style.cardImage\" :provider=\"provider\" />\n\t\t\t<div :class=\"$style.cardContent\">\n\t\t\t\t<n8n-text bold>{{ provider.displayName }}</n8n-text>\n\t\t\t\t<n8n-text v-if=\"provider.connected\" color=\"text-light\" size=\"small\">\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\ti18n.baseText('settings.externalSecrets.card.secretsCount', {\n\t\t\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\t\t\tcount: `${externalSecretsStore.secrets[provider.name]?.length}`,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}\n\t\t\t\t\t</span>\n\t\t\t\t\t|\n\t\t\t\t\t<span>\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\ti18n.baseText('settings.externalSecrets.card.connectedAt', {\n\t\t\t\t\t\t\t\tinterpolate: {\n\t\t\t\t\t\t\t\t\tdate: formattedDate,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}}\n\t\t\t\t\t</span>\n\t\t\t\t</n8n-text>\n\t\t\t</div>\n\t\t\t<div v-if=\"canConnect\" :class=\"$style.cardActions\">\n\t\t\t\t<ExternalSecretsProviderConnectionSwitch\n\t\t\t\t\t:provider=\"provider\"\n\t\t\t\t\t:before-update=\"onBeforeConnectionUpdate\"\n\t\t\t\t\t:disabled=\"connectionState === 'error' && !provider.connected\"\n\t\t\t\t/>\n\t\t\t\t<n8n-action-toggle\n\t\t\t\t\tclass=\"ml-s\"\n\t\t\t\t\ttheme=\"dark\"\n\t\t\t\t\t:actions=\"actionDropdownOptions\"\n\t\t\t\t\t@action=\"onActionDropdownClick\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<n8n-button v-else type=\"tertiary\" @click=\"openExternalSecretProvider()\">\n\t\t\t\t{{ i18n.baseText('settings.externalSecrets.card.setUp') }}\n\t\t\t</n8n-button>\n\t\t</div>\n\t</n8n-card>\n</template>\n\n<style lang=\"scss\" module>\n.card {\n\tposition: relative;\n\tmargin-bottom: var(--spacing-2xs);\n}\n\n.cardImage {\n\twidth: 28px;\n\theight: 28px;\n}\n\n.cardBody {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n.cardContent {\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex-grow: 1;\n\tmargin-left: var(--spacing-s);\n}\n\n.cardActions {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tmargin-left: var(--spacing-s);\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { useUIStore } from '@/stores/ui.store';\nimport { useI18n } from '@/composables/useI18n';\nimport { useToast } from '@/composables/useToast';\nimport { useExternalSecretsStore } from '@/stores/externalSecrets.ee.store';\nimport { computed, onMounted } from 'vue';\nimport ExternalSecretsProviderCard from '@/components/ExternalSecretsProviderCard.ee.vue';\nimport type { ExternalSecretsProvider } from '@/Interface';\n\nconst i18n = useI18n();\nconst uiStore = useUIStore();\nconst externalSecretsStore = useExternalSecretsStore();\nconst toast = useToast();\n\nconst sortedProviders = computed(() => {\n\treturn ([...externalSecretsStore.providers] as ExternalSecretsProvider[]).sort((a, b) => {\n\t\treturn b.name.localeCompare(a.name);\n\t});\n});\n\nonMounted(() => {\n\tif (!externalSecretsStore.isEnterpriseExternalSecretsEnabled) return;\n\ttry {\n\t\tvoid externalSecretsStore.fetchAllSecrets();\n\t\tvoid externalSecretsStore.getProviders();\n\t} catch (error) {\n\t\ttoast.showError(error, i18n.baseText('error'));\n\t}\n});\n\nfunction goToUpgrade() {\n\tvoid uiStore.goToUpgrade('external-secrets', 'upgrade-external-secrets');\n}\n</script>\n\n<template>\n\t<div class=\"pb-3xl\">\n\t\t<n8n-heading size=\"2xlarge\">{{ i18n.baseText('settings.externalSecrets.title') }}</n8n-heading>\n\t\t<div\n\t\t\tv-if=\"externalSecretsStore.isEnterpriseExternalSecretsEnabled\"\n\t\t\tdata-test-id=\"external-secrets-content-licensed\"\n\t\t>\n\t\t\t<n8n-callout theme=\"secondary\" class=\"mt-2xl mb-l\">\n\t\t\t\t{{ i18n.baseText('settings.externalSecrets.info') }}\n\t\t\t\t<a :href=\"i18n.baseText('settings.externalSecrets.docs')\" target=\"_blank\">\n\t\t\t\t\t{{ i18n.baseText('settings.externalSecrets.info.link') }}\n\t\t\t\t</a>\n\t\t\t</n8n-callout>\n\t\t\t<ExternalSecretsProviderCard\n\t\t\t\tv-for=\"provider in sortedProviders\"\n\t\t\t\t:key=\"provider.name\"\n\t\t\t\t:provider=\"provider\"\n\t\t\t/>\n\t\t</div>\n\t\t<n8n-action-box\n\t\t\tv-else\n\t\t\tclass=\"mt-2xl mb-l\"\n\t\t\tdata-test-id=\"external-secrets-content-unlicensed\"\n\t\t\t:button-text=\"i18n.baseText('settings.externalSecrets.actionBox.buttonText')\"\n\t\t\t@click=\"goToUpgrade\"\n\t\t>\n\t\t\t<template #heading>\n\t\t\t\t<span>{{ i18n.baseText('settings.externalSecrets.actionBox.title') }}</span>\n\t\t\t</template>\n\t\t\t<template #description>\n\t\t\t\t<i18n-t keypath=\"settings.externalSecrets.actionBox.description\">\n\t\t\t\t\t<template #link>\n\t\t\t\t\t\t<a :href=\"i18n.baseText('settings.externalSecrets.docs')\" target=\"_blank\">\n\t\t\t\t\t\t\t{{ i18n.baseText('settings.externalSecrets.actionBox.description.link') }}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</template>\n\t\t\t\t</i18n-t>\n\t\t\t</template>\n\t\t</n8n-action-box>\n\t</div>\n</template>\n"],"names":["props","__props","externalSecretsStore","useExternalSecretsStore","i18n","useI18n","uiStore","useUIStore","toast","useToast","provider","toRef","providerData","computed","connectionState","testConnection","setConnectionState","useExternalSecretsProvider","actionDropdownOptions","canConnect","formattedDate","DateTime","isDateObject","onMounted","onBeforeConnectionUpdate","nextTick","openExternalSecretProvider","EXTERNAL_SECRETS_PROVIDER_MODAL_KEY","reloadProvider","error","onActionDropdownClick","id","sortedProviders","a","b","goToUpgrade"],"mappings":"2zCAcA,MAAMA,EAAQC,EAIRC,EAAuBC,IACvBC,EAAOC,IACPC,EAAUC,IACVC,EAAQC,IAERC,EAAWC,EAAMX,EAAO,UAAU,EAClCY,EAAeC,EAAS,IAAMH,EAAS,MAAM,MAAQ,CAAA,CAAE,EACvD,CAAE,gBAAAI,EAAiB,eAAAC,EAAgB,mBAAAC,CAAuB,EAAAC,EAC/DP,EACAE,CAAA,EAGKM,EAAwBL,EAAS,IAAM,CAC5C,CACC,MAAO,QACP,MAAOT,EAAK,SAAS,oDAAoD,CAC1E,EACA,GAAIJ,EAAM,SAAS,UAChB,CACA,CACC,MAAO,SACP,MAAOI,EAAK,SAAS,qDAAqD,CAC3E,CAAA,EAEA,CAAC,CAAA,CACJ,EAEKe,EAAaN,EAAS,IACpBb,EAAM,SAAS,WAAa,OAAO,KAAKY,EAAa,KAAK,EAAE,OAAS,CAC5E,EAEKQ,EAAgBP,EAAS,IACvBQ,EAAS,QACfC,EAAaZ,EAAS,MAAM,WAAW,EACpCA,EAAS,MAAM,YAAY,YAAY,EACvCA,EAAS,MAAM,aAAmB,IAAA,OAAO,YAAY,CAAA,EACvD,SAAS,aAAa,CACxB,EAEDa,EAAU,IAAM,CACIP,EAAAhB,EAAM,SAAS,KAAK,CAAA,CACvC,EAED,eAAewB,GAA2B,CACrC,OAAAxB,EAAM,SAAS,UACX,IAGR,MAAME,EAAqB,YAAYF,EAAM,SAAS,IAAI,EAC1D,MAAMyB,EAAS,EACA,MAAMV,MAEH,QACnB,CAEA,SAASW,GAA6B,CACrCpB,EAAQ,kBAAkB,CACzB,KAAMqB,EACN,KAAM,CAAE,KAAM3B,EAAM,SAAS,IAAK,CAAA,CAClC,CACF,CAEA,eAAe4B,GAAiB,CAC3B,GAAA,CACH,MAAM1B,EAAqB,eAAeF,EAAM,SAAS,IAAI,EAC7DQ,EAAM,YAAY,CACjB,MAAOJ,EAAK,SAAS,oDAAoD,EACzE,QAASA,EAAK,SAAS,2DAA4D,CAClF,YAAa,CAAE,SAAUJ,EAAM,SAAS,WAAY,CAAA,CACpD,EACD,KAAM,SAAA,CACN,QACO6B,EAAO,CACfrB,EAAM,UAAUqB,EAAOzB,EAAK,SAAS,OAAO,CAAC,CAC9C,CACD,CAEA,eAAe0B,EAAsBC,EAAY,CAChD,OAAQA,EAAI,CACX,IAAK,QACuBL,IAC3B,MACD,IAAK,SACJ,MAAME,EAAe,EACrB,KACF,CACD,+jDC/FA,MAAMxB,EAAOC,IACPC,EAAUC,IACVL,EAAuBC,IACvBK,EAAQC,IAERuB,EAAkBnB,EAAS,IACxB,CAAC,GAAGX,EAAqB,SAAS,EAAgC,KAAK,CAAC+B,EAAGC,IAC3EA,EAAE,KAAK,cAAcD,EAAE,IAAI,CAClC,CACD,EAEDV,EAAU,IAAM,CACf,GAAKrB,EAAqB,mCACtB,GAAA,CACEA,EAAqB,kBACrBA,EAAqB,qBAClB2B,EAAO,CACfrB,EAAM,UAAUqB,EAAOzB,EAAK,SAAS,OAAO,CAAC,CAC9C,CAAA,CACA,EAED,SAAS+B,GAAc,CACjB7B,EAAQ,YAAY,mBAAoB,0BAA0B,CACxE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d4 as e,e as r}from"./index-
|
|
2
|
-
//# sourceMappingURL=SettingsFakeDoorView-
|
|
1
|
+
import{d4 as e,e as r}from"./index-BjbCeTcj.js";import{m as i}from"./pinia-DJNDmPLG.js";import{G as p,ag as m,l as n,M as s}from"./vendor-Dv5OeN6t.js";import{_ as a}from"./n8n-CX_-_IN5.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CZXI82nZ.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-CqoWQPIV.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const u=p({name:"SettingsFakeDoorView",components:{FeatureComingSoon:e},props:{featureId:{type:String,required:!0}},computed:{...i(r),featureInfo(){return this.uiStore.getFakeDoorById(this.featureId)}},methods:{openLinkPage(){this.featureInfo&&window.open(this.featureInfo.linkURL,"_blank")}}}),f="_header_fa9t3_1",d={header:f};function c(o,l,h,g,S,k){const t=m("FeatureComingSoon");return n(),s(t,{"feature-id":o.featureId,"show-title":""},null,8,["feature-id"])}const _={$style:d},T=a(u,[["render",c],["__cssModules",_]]);export{T as default};
|
|
2
|
+
//# sourceMappingURL=SettingsFakeDoorView-BAi6oJnj.js.map
|
package/dist/assets/{SettingsFakeDoorView-BDqufqIU.js.map → SettingsFakeDoorView-BAi6oJnj.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsFakeDoorView-
|
|
1
|
+
{"version":3,"file":"SettingsFakeDoorView-BAi6oJnj.js","sources":["../../src/views/SettingsFakeDoorView.vue"],"sourcesContent":["<template>\n\t<FeatureComingSoon :feature-id=\"featureId\" show-title />\n</template>\n\n<script lang=\"ts\">\nimport type { IFakeDoor } from '@/Interface';\nimport { defineComponent } from 'vue';\nimport FeatureComingSoon from '@/components/FeatureComingSoon.vue';\nimport { mapStores } from 'pinia';\nimport { useUIStore } from '@/stores/ui.store';\n\nexport default defineComponent({\n\tname: 'SettingsFakeDoorView',\n\tcomponents: {\n\t\tFeatureComingSoon,\n\t},\n\tprops: {\n\t\tfeatureId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapStores(useUIStore),\n\t\tfeatureInfo(): IFakeDoor | undefined {\n\t\t\treturn this.uiStore.getFakeDoorById(this.featureId);\n\t\t},\n\t},\n\tmethods: {\n\t\topenLinkPage() {\n\t\t\tif (this.featureInfo) {\n\t\t\t\twindow.open(this.featureInfo.linkURL, '_blank');\n\t\t\t}\n\t\t},\n\t},\n});\n</script>\n\n<style lang=\"scss\" module>\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\twhite-space: nowrap;\n\n\t*:first-child {\n\t\tflex-grow: 1;\n\t}\n}\n</style>\n"],"names":["_sfc_main","defineComponent","FeatureComingSoon","mapStores","useUIStore","_component_FeatureComingSoon","_resolveComponent","_openBlock","_createBlock","_ctx"],"mappings":"ykCAWA,MAAAA,EAAeC,EAAgB,CAC9B,KAAM,uBACN,WAAY,CACX,kBAAAC,CACD,EACA,MAAO,CACN,UAAW,CACV,KAAM,OACN,SAAU,EACX,CACD,EACA,SAAU,CACT,GAAGC,EAAUC,CAAU,EACvB,aAAqC,CACpC,OAAO,KAAK,QAAQ,gBAAgB,KAAK,SAAS,CACnD,CACD,EACA,QAAS,CACR,cAAe,CACV,KAAK,aACR,OAAO,KAAK,KAAK,YAAY,QAAS,QAAQ,CAEhD,CACD,CACD,CAAC,2DAlCwD,MAAAC,EAAAC,EAAA,mBAAA,SAAbC,EAAU,EAAAC,EAAAH,EAAA,CAAA,aAAAI,EAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{u as z,H as E,e as D,b as A,a as w,cM as y,cN as L,A as I}from"./index-DATiCTBk.js";import{h as k}from"./humanize-duration-BAMTqB-C.js";import{K as F}from"./v3-infinite-loading-X6A7v07E.js";import{m as V}from"./pinia-DJNDmPLG.js";import{aq as M,ar as N,b as _,_ as R}from"./n8n-CX_-_IN5.js";import{G as U,ag as o,aq as q,l as r,m as g,p as l,U as s,O as n,S as u,T as d,I as p,M as m,R as f,P}from"./vendor-Dv5OeN6t.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CZXI82nZ.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-CqoWQPIV.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const B=U({name:"SettingsLdapView",components:{InfiniteLoading:F,ElTable:M,ElTableColumn:N},setup(){return{...z(),...E()}},data(){return{dataTable:[],tableKey:0,adConfig:{},loadingTestConnection:!1,loadingDryRun:!1,loadingLiveRun:!1,loadingTable:!1,hasAnyChanges:!1,formInputs:null,formBus:_(),readyToSubmit:!1,page:0,loginEnabled:!1,syncEnabled:!1}},computed:{...V(w,A,D),currentUser(){return this.usersStore.currentUser},isLDAPFeatureEnabled(){return this.settingsStore.settings.enterprise.ldap}},async mounted(){this.isLDAPFeatureEnabled&&await this.getLdapConfig()},methods:{goToUpgrade(){this.uiStore.goToUpgrade("ldap","upgrade-ldap")},cellClassStyle({data:e}){const{row:t,column:i}=e;if(i.property==="status"){if(t.status==="Success")return{color:"green"};if(t.status==="Error")return{color:"red"}}if(i.property==="runMode"){if(t.runMode==="Dry")return{color:"orange"};if(t.runMode==="Live")return{color:"blue"}}return{}},onInput(e){e.name==="loginEnabled"&&typeof e.value=="boolean"&&(this.loginEnabled=e.value),e.name==="synchronizationEnabled"&&typeof e.value=="boolean"&&(this.syncEnabled=e.value),this.hasAnyChanges=!0},onReadyToSubmit(e){this.readyToSubmit=e},syncDataMapper(e){const t=new Date(e.startedAt),i=new Date(e.endedAt),a=i.getTime()-t.getTime();return{runTime:k(a),runMode:y(e.runMode),status:y(e.status),endedAt:L(i.getTime()),details:this.$locale.baseText("settings.ldap.usersScanned",{interpolate:{scanned:e.scanned.toString()}})}},async onSubmit(){const e=this.$refs.ldapConfigForm;if(!this.hasAnyChanges||!e)return;const t={loginEnabled:e.values.loginEnabled,loginLabel:e.values.loginLabel,connectionUrl:e.values.serverAddress,allowUnauthorizedCerts:e.values.allowUnauthorizedCerts,connectionPort:+e.values.port,connectionSecurity:e.values.connectionSecurity,baseDn:e.values.baseDn,bindingAdminDn:e.values.bindingType==="admin"?e.values.adminDn:"",bindingAdminPassword:e.values.bindingType==="admin"?e.values.adminPassword:"",emailAttribute:e.values.email,firstNameAttribute:e.values.firstName,lastNameAttribute:e.values.lastName,loginIdAttribute:e.values.loginId,ldapIdAttribute:e.values.ldapId,userFilter:e.values.userFilter,synchronizationEnabled:e.values.synchronizationEnabled,synchronizationInterval:+e.values.synchronizationInterval,searchPageSize:+e.values.pageSize,searchTimeout:+e.values.searchTimeout};let i=!0;try{this.adConfig.loginEnabled&&!t.loginEnabled&&(i=await this.confirm(this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.message"),this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.headline"),{cancelButtonText:this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.cancelButtonText"),confirmButtonText:this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.confirmButtonText")})===I),i||(this.hasAnyChanges=!0),this.adConfig=await this.settingsStore.updateLdapConfig(t),this.showToast({title:this.$locale.baseText("settings.ldap.updateConfiguration"),message:"",type:"success"})}catch(a){this.showError(a,this.$locale.baseText("settings.ldap.configurationError"))}finally{i&&(this.hasAnyChanges=!1)}},onSaveClick(){this.formBus.emit("submit")},async onTestConnectionClick(){this.loadingTestConnection=!0;try{await this.settingsStore.testLdapConnection(),this.showToast({title:this.$locale.baseText("settings.ldap.connectionTest"),message:this.$locale.baseText("settings.ldap.toast.connection.success"),type:"success"})}catch(e){this.showToast({title:this.$locale.baseText("settings.ldap.connectionTestError"),message:e.message,type:"error"})}finally{this.loadingTestConnection=!1}},async onDryRunClick(){this.loadingDryRun=!0;try{await this.settingsStore.runLdapSync({type:"dry"}),this.showToast({title:this.$locale.baseText("settings.ldap.runSync.title"),message:this.$locale.baseText("settings.ldap.toast.sync.success"),type:"success"})}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.synchronizationError"))}finally{this.loadingDryRun=!1,await this.reloadLdapSynchronizations()}},async onLiveRunClick(){this.loadingLiveRun=!0;try{await this.settingsStore.runLdapSync({type:"live"}),this.showToast({title:this.$locale.baseText("settings.ldap.runSync.title"),message:this.$locale.baseText("settings.ldap.toast.sync.success"),type:"success"})}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.synchronizationError"))}finally{this.loadingLiveRun=!1,await this.reloadLdapSynchronizations()}},async getLdapConfig(){try{this.adConfig=await this.settingsStore.getLdapConfig(),this.loginEnabled=this.adConfig.loginEnabled,this.syncEnabled=this.adConfig.synchronizationEnabled;const e=a=>a.loginEnabled===!0,t=a=>a.synchronizationEnabled===!0&&a.loginEnabled===!0,i=a=>a.bindingType==="admin"&&a.loginEnabled===!0;this.formInputs=[{name:"loginEnabled",initialValue:this.adConfig.loginEnabled,properties:{type:"toggle",label:this.$locale.baseText("settings.ldap.form.loginEnabled.label"),tooltipText:this.$locale.baseText("settings.ldap.form.loginEnabled.tooltip"),required:!0}},{name:"loginLabel",initialValue:this.adConfig.loginLabel,properties:{label:this.$locale.baseText("settings.ldap.form.loginLabel.label"),required:!0,placeholder:this.$locale.baseText("settings.ldap.form.loginLabel.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.loginLabel.infoText")},shouldDisplay:e},{name:"serverAddress",initialValue:this.adConfig.connectionUrl,properties:{label:this.$locale.baseText("settings.ldap.form.serverAddress.label"),required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.serverAddress.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.serverAddress.infoText")},shouldDisplay:e},{name:"port",initialValue:this.adConfig.connectionPort,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.port.label"),capitalize:!0,infoText:this.$locale.baseText("settings.ldap.form.port.infoText")},shouldDisplay:e},{name:"connectionSecurity",initialValue:this.adConfig.connectionSecurity,properties:{type:"select",label:this.$locale.baseText("settings.ldap.form.connectionSecurity.label"),infoText:this.$locale.baseText("settings.ldap.form.connectionSecurity.infoText"),options:[{label:"None",value:"none"},{label:"TLS",value:"tls"},{label:"STARTTLS",value:"startTls"}],required:!0,capitalize:!0},shouldDisplay:e},{name:"allowUnauthorizedCerts",initialValue:this.adConfig.allowUnauthorizedCerts,properties:{type:"toggle",label:this.$locale.baseText("settings.ldap.form.allowUnauthorizedCerts.label"),required:!1},shouldDisplay(a){return a.connectionSecurity!=="none"&&a.loginEnabled===!0}},{name:"baseDn",initialValue:this.adConfig.baseDn,properties:{label:this.$locale.baseText("settings.ldap.form.baseDn.label"),required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.baseDn.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.baseDn.infoText")},shouldDisplay:e},{name:"bindingType",initialValue:"admin",properties:{type:"select",label:this.$locale.baseText("settings.ldap.form.bindingType.label"),infoText:this.$locale.baseText("settings.ldap.form.bindingType.infoText"),options:[{value:"admin",label:"Admin"},{value:"anonymous",label:"Anonymous"}]},shouldDisplay:e},{name:"adminDn",initialValue:this.adConfig.bindingAdminDn,properties:{label:this.$locale.baseText("settings.ldap.form.adminDn.label"),placeholder:this.$locale.baseText("settings.ldap.form.adminDn.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.adminDn.infoText"),capitalize:!0},shouldDisplay:i},{name:"adminPassword",initialValue:this.adConfig.bindingAdminPassword,properties:{label:this.$locale.baseText("settings.ldap.form.adminPassword.label"),type:"password",capitalize:!0,infoText:this.$locale.baseText("settings.ldap.form.adminPassword.infoText")},shouldDisplay:i},{name:"userFilter",initialValue:this.adConfig.userFilter,properties:{label:this.$locale.baseText("settings.ldap.form.userFilter.label"),type:"text",required:!1,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.userFilter.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.userFilter.infoText")},shouldDisplay:e},{name:"attributeMappingInfo",properties:{label:this.$locale.baseText("settings.ldap.form.attributeMappingInfo.label"),type:"info",labelSize:"large",labelAlignment:"left"},shouldDisplay:e},{name:"ldapId",initialValue:this.adConfig.ldapIdAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.ldapId.label"),type:"text",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.ldapId.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.ldapId.infoText")},shouldDisplay:e},{name:"loginId",initialValue:this.adConfig.loginIdAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.loginId.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.loginId.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.loginId.infoText")},shouldDisplay:e},{name:"email",initialValue:this.adConfig.emailAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.email.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.email.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.email.infoText")},shouldDisplay:e},{name:"firstName",initialValue:this.adConfig.firstNameAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.firstName.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.firstName.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.firstName.infoText")},shouldDisplay:e},{name:"lastName",initialValue:this.adConfig.lastNameAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.lastName.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.lastName.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.lastName.infoText")},shouldDisplay:e},{name:"synchronizationEnabled",initialValue:this.adConfig.synchronizationEnabled,properties:{type:"toggle",label:this.$locale.baseText("settings.ldap.form.synchronizationEnabled.label"),tooltipText:this.$locale.baseText("settings.ldap.form.synchronizationEnabled.tooltip"),required:!0},shouldDisplay:e},{name:"synchronizationInterval",initialValue:this.adConfig.synchronizationInterval,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.synchronizationInterval.label"),infoText:this.$locale.baseText("settings.ldap.form.synchronizationInterval.infoText")},shouldDisplay:t},{name:"pageSize",initialValue:this.adConfig.searchPageSize,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.pageSize.label"),infoText:this.$locale.baseText("settings.ldap.form.pageSize.infoText")},shouldDisplay:t},{name:"searchTimeout",initialValue:this.adConfig.searchTimeout,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.searchTimeout.label"),infoText:this.$locale.baseText("settings.ldap.form.searchTimeout.infoText")},shouldDisplay:t}]}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.configurationError"))}},async getLdapSynchronizations(e){try{this.loadingTable=!0;const t=await this.settingsStore.getLdapSynchronizations({page:this.page});t.length!==0?(this.dataTable.push(...t.map(this.syncDataMapper)),this.page+=1,e.loaded()):e.complete(),this.loadingTable=!1}catch(t){this.showError(t,this.$locale.baseText("settings.ldap.synchronizationError"))}},async reloadLdapSynchronizations(){try{this.page=0,this.tableKey+=1,this.dataTable=[]}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.synchronizationError"))}}}}),H="_container_17k3n_1",K="_syncTable_17k3n_5",O="_header_17k3n_9",G="_enableFeatureContainer_17k3n_18",j="_sectionHeader_17k3n_32",J="_settingsForm_17k3n_36",Q="_docsInfoTip_17k3n_40",W={container:H,syncTable:K,header:O,enableFeatureContainer:G,sectionHeader:j,settingsForm:J,docsInfoTip:Q},X={key:0},Y={key:1},Z=["innerHTML"],ee={key:0},te={class:"pb-3xl"};function ae(e,t,i,a,ie,le){const h=o("n8n-heading"),T=o("n8n-info-tip"),$=o("n8n-action-box"),x=o("n8n-form-inputs"),b=o("n8n-button"),c=o("ElTableColumn"),C=o("InfiniteLoading"),v=o("ElTable"),S=q("loading");return e.isLDAPFeatureEnabled?(r(),g("div",Y,[l("div",{class:p(e.$style.container)},[l("div",{class:p(e.$style.header)},[s(h,{size:"2xlarge"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap")),1)]),_:1})],2),l("div",{class:p(e.$style.docsInfoTip)},[s(T,{theme:"info",type:"note"},{default:n(()=>[l("span",{innerHTML:e.$locale.baseText("settings.ldap.infoTip")},null,8,Z)]),_:1})],2),l("div",{class:p(e.$style.settingsForm)},[e.formInputs?(r(),m(x,{key:0,ref:"ldapConfigForm",inputs:e.formInputs,"event-bus":e.formBus,"column-view":!0,"vertical-spacing":"l",onUpdate:e.onInput,onReady:e.onReadyToSubmit,onSubmit:e.onSubmit},null,8,["inputs","event-bus","onUpdate","onReady","onSubmit"])):f("",!0)],2),l("div",null,[e.loginEnabled?(r(),m(b,{key:0,label:e.loadingTestConnection?e.$locale.baseText("settings.ldap.testingConnection"):e.$locale.baseText("settings.ldap.testConnection"),size:"large",class:"mr-s",disabled:e.hasAnyChanges||!e.readyToSubmit,loading:e.loadingTestConnection,onClick:e.onTestConnectionClick},null,8,["label","disabled","loading","onClick"])):f("",!0),s(b,{label:e.$locale.baseText("settings.ldap.save"),size:"large",disabled:!e.hasAnyChanges||!e.readyToSubmit,onClick:e.onSaveClick},null,8,["label","disabled","onClick"])])],2),e.loginEnabled?(r(),g("div",ee,[s(h,{tag:"h1",class:"mb-xl mt-3xl",size:"medium"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap.section.synchronization.title")),1)]),_:1}),l("div",{class:p(e.$style.syncTable)},[P((r(),m(v,{key:e.tableKey,border:!0,stripe:!0,data:e.dataTable,"cell-style":e.cellClassStyle,style:{width:"100%"},"max-height":"250"},{empty:n(()=>[u(d(e.$locale.baseText("settings.ldap.synchronizationTable.empty.message")),1)]),append:n(()=>[s(C,{target:".el-table__body-wrapper",onInfinite:e.getLdapSynchronizations},null,8,["onInfinite"])]),default:n(()=>[s(c,{prop:"status",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.status")},null,8,["label"]),s(c,{prop:"endedAt",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.endedAt")},null,8,["label"]),s(c,{prop:"runMode",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.runMode")},null,8,["label"]),s(c,{prop:"runTime",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.runTime")},null,8,["label"]),s(c,{prop:"details",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.details")},null,8,["label"])]),_:1},8,["data","cell-style"])),[[S,e.loadingTable]])],2),l("div",te,[s(b,{label:e.$locale.baseText("settings.ldap.dryRun"),type:"secondary",size:"large",class:"mr-s",disabled:e.hasAnyChanges||!e.readyToSubmit,loading:e.loadingDryRun,onClick:e.onDryRunClick},null,8,["label","disabled","loading","onClick"]),s(b,{label:e.$locale.baseText("settings.ldap.synchronizeNow"),size:"large",disabled:e.hasAnyChanges||!e.readyToSubmit,loading:e.loadingLiveRun,onClick:e.onLiveRunClick},null,8,["label","disabled","loading","onClick"])])])):f("",!0)])):(r(),g("div",X,[l("div",{class:p([e.$style.header,"mb-2xl"])},[s(h,{size:"2xlarge"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap")),1)]),_:1})],2),s(T,{type:"note",theme:"info","tooltip-placement":"right",class:"mb-l"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap.note")),1)]),_:1}),s($,{description:e.$locale.baseText("settings.ldap.disabled.description"),"button-text":e.$locale.baseText("settings.ldap.disabled.buttonText"),"onClick:button":e.goToUpgrade},{heading:n(()=>[l("span",null,d(e.$locale.baseText("settings.ldap.disabled.title")),1)]),_:1},8,["description","button-text","onClick:button"])]))}const se={$style:W},_e=R(B,[["render",ae],["__cssModules",se]]);export{_e as default};
|
|
2
|
-
//# sourceMappingURL=SettingsLdapView-
|
|
1
|
+
import{u as z,H as E,e as D,b as A,a as w,cM as y,cN as L,A as I}from"./index-BjbCeTcj.js";import{h as k}from"./humanize-duration-BAMTqB-C.js";import{K as F}from"./v3-infinite-loading-X6A7v07E.js";import{m as V}from"./pinia-DJNDmPLG.js";import{aq as M,ar as N,b as _,_ as R}from"./n8n-CX_-_IN5.js";import{G as U,ag as o,aq as q,l as r,m as g,p as l,U as s,O as n,S as u,T as d,I as p,M as m,R as f,P}from"./vendor-Dv5OeN6t.js";import"./axios-Mm4CS0gO.js";import"./flatted-DN8lQ2XG.js";import"./@vueuse/core-BBHtM40w.js";import"./lodash-es-CZ1inz46.js";import"./@n8n/permissions-BxxteU-C.js";import"./dateformat-CZXI82nZ.js";import"./vue-i18n-Delvyc9x.js";import"./uuid-SoommWqA.js";import"./luxon-CLwAIbs0.js";import"./@n8n/codemirror-lang-sql-DBO6T13I.js";import"./@lezer/common-B6ct0j_v.js";import"./prettier-bS6l4Vb1.js";import"./@jsplumb/util-DS-9vq_E.js";import"./@jsplumb/core-CVBraiyY.js";import"./@jsplumb/common-CF-b-6-M.js";import"./@jsplumb/connector-bezier-BGU0Ovbw.js";import"./@jsplumb/browser-ui-BVF2KoJK.js";import"./codemirror-lang-html-n8n-CWDO6_kP.js";import"./@n8n/codemirror-lang-Dl0FW_KM.js";import"./esprima-next-nhoSXAeq.js";import"./fast-json-stable-stringify-CqoWQPIV.js";import"./timeago.js-CiyKClrF.js";import"./qrcode.vue-BGkPba5A.js";import"./vue3-touch-events-mV0oX_Sl.js";import"./chart.js-343vZi4M.js";const B=U({name:"SettingsLdapView",components:{InfiniteLoading:F,ElTable:M,ElTableColumn:N},setup(){return{...z(),...E()}},data(){return{dataTable:[],tableKey:0,adConfig:{},loadingTestConnection:!1,loadingDryRun:!1,loadingLiveRun:!1,loadingTable:!1,hasAnyChanges:!1,formInputs:null,formBus:_(),readyToSubmit:!1,page:0,loginEnabled:!1,syncEnabled:!1}},computed:{...V(w,A,D),currentUser(){return this.usersStore.currentUser},isLDAPFeatureEnabled(){return this.settingsStore.settings.enterprise.ldap}},async mounted(){this.isLDAPFeatureEnabled&&await this.getLdapConfig()},methods:{goToUpgrade(){this.uiStore.goToUpgrade("ldap","upgrade-ldap")},cellClassStyle({data:e}){const{row:t,column:i}=e;if(i.property==="status"){if(t.status==="Success")return{color:"green"};if(t.status==="Error")return{color:"red"}}if(i.property==="runMode"){if(t.runMode==="Dry")return{color:"orange"};if(t.runMode==="Live")return{color:"blue"}}return{}},onInput(e){e.name==="loginEnabled"&&typeof e.value=="boolean"&&(this.loginEnabled=e.value),e.name==="synchronizationEnabled"&&typeof e.value=="boolean"&&(this.syncEnabled=e.value),this.hasAnyChanges=!0},onReadyToSubmit(e){this.readyToSubmit=e},syncDataMapper(e){const t=new Date(e.startedAt),i=new Date(e.endedAt),a=i.getTime()-t.getTime();return{runTime:k(a),runMode:y(e.runMode),status:y(e.status),endedAt:L(i.getTime()),details:this.$locale.baseText("settings.ldap.usersScanned",{interpolate:{scanned:e.scanned.toString()}})}},async onSubmit(){const e=this.$refs.ldapConfigForm;if(!this.hasAnyChanges||!e)return;const t={loginEnabled:e.values.loginEnabled,loginLabel:e.values.loginLabel,connectionUrl:e.values.serverAddress,allowUnauthorizedCerts:e.values.allowUnauthorizedCerts,connectionPort:+e.values.port,connectionSecurity:e.values.connectionSecurity,baseDn:e.values.baseDn,bindingAdminDn:e.values.bindingType==="admin"?e.values.adminDn:"",bindingAdminPassword:e.values.bindingType==="admin"?e.values.adminPassword:"",emailAttribute:e.values.email,firstNameAttribute:e.values.firstName,lastNameAttribute:e.values.lastName,loginIdAttribute:e.values.loginId,ldapIdAttribute:e.values.ldapId,userFilter:e.values.userFilter,synchronizationEnabled:e.values.synchronizationEnabled,synchronizationInterval:+e.values.synchronizationInterval,searchPageSize:+e.values.pageSize,searchTimeout:+e.values.searchTimeout};let i=!0;try{this.adConfig.loginEnabled&&!t.loginEnabled&&(i=await this.confirm(this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.message"),this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.headline"),{cancelButtonText:this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.cancelButtonText"),confirmButtonText:this.$locale.baseText("settings.ldap.confirmMessage.beforeSaveForm.confirmButtonText")})===I),i||(this.hasAnyChanges=!0),this.adConfig=await this.settingsStore.updateLdapConfig(t),this.showToast({title:this.$locale.baseText("settings.ldap.updateConfiguration"),message:"",type:"success"})}catch(a){this.showError(a,this.$locale.baseText("settings.ldap.configurationError"))}finally{i&&(this.hasAnyChanges=!1)}},onSaveClick(){this.formBus.emit("submit")},async onTestConnectionClick(){this.loadingTestConnection=!0;try{await this.settingsStore.testLdapConnection(),this.showToast({title:this.$locale.baseText("settings.ldap.connectionTest"),message:this.$locale.baseText("settings.ldap.toast.connection.success"),type:"success"})}catch(e){this.showToast({title:this.$locale.baseText("settings.ldap.connectionTestError"),message:e.message,type:"error"})}finally{this.loadingTestConnection=!1}},async onDryRunClick(){this.loadingDryRun=!0;try{await this.settingsStore.runLdapSync({type:"dry"}),this.showToast({title:this.$locale.baseText("settings.ldap.runSync.title"),message:this.$locale.baseText("settings.ldap.toast.sync.success"),type:"success"})}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.synchronizationError"))}finally{this.loadingDryRun=!1,await this.reloadLdapSynchronizations()}},async onLiveRunClick(){this.loadingLiveRun=!0;try{await this.settingsStore.runLdapSync({type:"live"}),this.showToast({title:this.$locale.baseText("settings.ldap.runSync.title"),message:this.$locale.baseText("settings.ldap.toast.sync.success"),type:"success"})}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.synchronizationError"))}finally{this.loadingLiveRun=!1,await this.reloadLdapSynchronizations()}},async getLdapConfig(){try{this.adConfig=await this.settingsStore.getLdapConfig(),this.loginEnabled=this.adConfig.loginEnabled,this.syncEnabled=this.adConfig.synchronizationEnabled;const e=a=>a.loginEnabled===!0,t=a=>a.synchronizationEnabled===!0&&a.loginEnabled===!0,i=a=>a.bindingType==="admin"&&a.loginEnabled===!0;this.formInputs=[{name:"loginEnabled",initialValue:this.adConfig.loginEnabled,properties:{type:"toggle",label:this.$locale.baseText("settings.ldap.form.loginEnabled.label"),tooltipText:this.$locale.baseText("settings.ldap.form.loginEnabled.tooltip"),required:!0}},{name:"loginLabel",initialValue:this.adConfig.loginLabel,properties:{label:this.$locale.baseText("settings.ldap.form.loginLabel.label"),required:!0,placeholder:this.$locale.baseText("settings.ldap.form.loginLabel.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.loginLabel.infoText")},shouldDisplay:e},{name:"serverAddress",initialValue:this.adConfig.connectionUrl,properties:{label:this.$locale.baseText("settings.ldap.form.serverAddress.label"),required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.serverAddress.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.serverAddress.infoText")},shouldDisplay:e},{name:"port",initialValue:this.adConfig.connectionPort,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.port.label"),capitalize:!0,infoText:this.$locale.baseText("settings.ldap.form.port.infoText")},shouldDisplay:e},{name:"connectionSecurity",initialValue:this.adConfig.connectionSecurity,properties:{type:"select",label:this.$locale.baseText("settings.ldap.form.connectionSecurity.label"),infoText:this.$locale.baseText("settings.ldap.form.connectionSecurity.infoText"),options:[{label:"None",value:"none"},{label:"TLS",value:"tls"},{label:"STARTTLS",value:"startTls"}],required:!0,capitalize:!0},shouldDisplay:e},{name:"allowUnauthorizedCerts",initialValue:this.adConfig.allowUnauthorizedCerts,properties:{type:"toggle",label:this.$locale.baseText("settings.ldap.form.allowUnauthorizedCerts.label"),required:!1},shouldDisplay(a){return a.connectionSecurity!=="none"&&a.loginEnabled===!0}},{name:"baseDn",initialValue:this.adConfig.baseDn,properties:{label:this.$locale.baseText("settings.ldap.form.baseDn.label"),required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.baseDn.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.baseDn.infoText")},shouldDisplay:e},{name:"bindingType",initialValue:"admin",properties:{type:"select",label:this.$locale.baseText("settings.ldap.form.bindingType.label"),infoText:this.$locale.baseText("settings.ldap.form.bindingType.infoText"),options:[{value:"admin",label:"Admin"},{value:"anonymous",label:"Anonymous"}]},shouldDisplay:e},{name:"adminDn",initialValue:this.adConfig.bindingAdminDn,properties:{label:this.$locale.baseText("settings.ldap.form.adminDn.label"),placeholder:this.$locale.baseText("settings.ldap.form.adminDn.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.adminDn.infoText"),capitalize:!0},shouldDisplay:i},{name:"adminPassword",initialValue:this.adConfig.bindingAdminPassword,properties:{label:this.$locale.baseText("settings.ldap.form.adminPassword.label"),type:"password",capitalize:!0,infoText:this.$locale.baseText("settings.ldap.form.adminPassword.infoText")},shouldDisplay:i},{name:"userFilter",initialValue:this.adConfig.userFilter,properties:{label:this.$locale.baseText("settings.ldap.form.userFilter.label"),type:"text",required:!1,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.userFilter.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.userFilter.infoText")},shouldDisplay:e},{name:"attributeMappingInfo",properties:{label:this.$locale.baseText("settings.ldap.form.attributeMappingInfo.label"),type:"info",labelSize:"large",labelAlignment:"left"},shouldDisplay:e},{name:"ldapId",initialValue:this.adConfig.ldapIdAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.ldapId.label"),type:"text",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.ldapId.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.ldapId.infoText")},shouldDisplay:e},{name:"loginId",initialValue:this.adConfig.loginIdAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.loginId.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.loginId.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.loginId.infoText")},shouldDisplay:e},{name:"email",initialValue:this.adConfig.emailAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.email.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.email.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.email.infoText")},shouldDisplay:e},{name:"firstName",initialValue:this.adConfig.firstNameAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.firstName.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.firstName.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.firstName.infoText")},shouldDisplay:e},{name:"lastName",initialValue:this.adConfig.lastNameAttribute,properties:{label:this.$locale.baseText("settings.ldap.form.lastName.label"),type:"text",autocomplete:"email",required:!0,capitalize:!0,placeholder:this.$locale.baseText("settings.ldap.form.lastName.placeholder"),infoText:this.$locale.baseText("settings.ldap.form.lastName.infoText")},shouldDisplay:e},{name:"synchronizationEnabled",initialValue:this.adConfig.synchronizationEnabled,properties:{type:"toggle",label:this.$locale.baseText("settings.ldap.form.synchronizationEnabled.label"),tooltipText:this.$locale.baseText("settings.ldap.form.synchronizationEnabled.tooltip"),required:!0},shouldDisplay:e},{name:"synchronizationInterval",initialValue:this.adConfig.synchronizationInterval,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.synchronizationInterval.label"),infoText:this.$locale.baseText("settings.ldap.form.synchronizationInterval.infoText")},shouldDisplay:t},{name:"pageSize",initialValue:this.adConfig.searchPageSize,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.pageSize.label"),infoText:this.$locale.baseText("settings.ldap.form.pageSize.infoText")},shouldDisplay:t},{name:"searchTimeout",initialValue:this.adConfig.searchTimeout,properties:{type:"number",label:this.$locale.baseText("settings.ldap.form.searchTimeout.label"),infoText:this.$locale.baseText("settings.ldap.form.searchTimeout.infoText")},shouldDisplay:t}]}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.configurationError"))}},async getLdapSynchronizations(e){try{this.loadingTable=!0;const t=await this.settingsStore.getLdapSynchronizations({page:this.page});t.length!==0?(this.dataTable.push(...t.map(this.syncDataMapper)),this.page+=1,e.loaded()):e.complete(),this.loadingTable=!1}catch(t){this.showError(t,this.$locale.baseText("settings.ldap.synchronizationError"))}},async reloadLdapSynchronizations(){try{this.page=0,this.tableKey+=1,this.dataTable=[]}catch(e){this.showError(e,this.$locale.baseText("settings.ldap.synchronizationError"))}}}}),H="_container_17k3n_1",K="_syncTable_17k3n_5",O="_header_17k3n_9",G="_enableFeatureContainer_17k3n_18",j="_sectionHeader_17k3n_32",J="_settingsForm_17k3n_36",Q="_docsInfoTip_17k3n_40",W={container:H,syncTable:K,header:O,enableFeatureContainer:G,sectionHeader:j,settingsForm:J,docsInfoTip:Q},X={key:0},Y={key:1},Z=["innerHTML"],ee={key:0},te={class:"pb-3xl"};function ae(e,t,i,a,ie,le){const h=o("n8n-heading"),T=o("n8n-info-tip"),$=o("n8n-action-box"),x=o("n8n-form-inputs"),b=o("n8n-button"),c=o("ElTableColumn"),C=o("InfiniteLoading"),v=o("ElTable"),S=q("loading");return e.isLDAPFeatureEnabled?(r(),g("div",Y,[l("div",{class:p(e.$style.container)},[l("div",{class:p(e.$style.header)},[s(h,{size:"2xlarge"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap")),1)]),_:1})],2),l("div",{class:p(e.$style.docsInfoTip)},[s(T,{theme:"info",type:"note"},{default:n(()=>[l("span",{innerHTML:e.$locale.baseText("settings.ldap.infoTip")},null,8,Z)]),_:1})],2),l("div",{class:p(e.$style.settingsForm)},[e.formInputs?(r(),m(x,{key:0,ref:"ldapConfigForm",inputs:e.formInputs,"event-bus":e.formBus,"column-view":!0,"vertical-spacing":"l",onUpdate:e.onInput,onReady:e.onReadyToSubmit,onSubmit:e.onSubmit},null,8,["inputs","event-bus","onUpdate","onReady","onSubmit"])):f("",!0)],2),l("div",null,[e.loginEnabled?(r(),m(b,{key:0,label:e.loadingTestConnection?e.$locale.baseText("settings.ldap.testingConnection"):e.$locale.baseText("settings.ldap.testConnection"),size:"large",class:"mr-s",disabled:e.hasAnyChanges||!e.readyToSubmit,loading:e.loadingTestConnection,onClick:e.onTestConnectionClick},null,8,["label","disabled","loading","onClick"])):f("",!0),s(b,{label:e.$locale.baseText("settings.ldap.save"),size:"large",disabled:!e.hasAnyChanges||!e.readyToSubmit,onClick:e.onSaveClick},null,8,["label","disabled","onClick"])])],2),e.loginEnabled?(r(),g("div",ee,[s(h,{tag:"h1",class:"mb-xl mt-3xl",size:"medium"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap.section.synchronization.title")),1)]),_:1}),l("div",{class:p(e.$style.syncTable)},[P((r(),m(v,{key:e.tableKey,border:!0,stripe:!0,data:e.dataTable,"cell-style":e.cellClassStyle,style:{width:"100%"},"max-height":"250"},{empty:n(()=>[u(d(e.$locale.baseText("settings.ldap.synchronizationTable.empty.message")),1)]),append:n(()=>[s(C,{target:".el-table__body-wrapper",onInfinite:e.getLdapSynchronizations},null,8,["onInfinite"])]),default:n(()=>[s(c,{prop:"status",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.status")},null,8,["label"]),s(c,{prop:"endedAt",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.endedAt")},null,8,["label"]),s(c,{prop:"runMode",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.runMode")},null,8,["label"]),s(c,{prop:"runTime",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.runTime")},null,8,["label"]),s(c,{prop:"details",label:e.$locale.baseText("settings.ldap.synchronizationTable.column.details")},null,8,["label"])]),_:1},8,["data","cell-style"])),[[S,e.loadingTable]])],2),l("div",te,[s(b,{label:e.$locale.baseText("settings.ldap.dryRun"),type:"secondary",size:"large",class:"mr-s",disabled:e.hasAnyChanges||!e.readyToSubmit,loading:e.loadingDryRun,onClick:e.onDryRunClick},null,8,["label","disabled","loading","onClick"]),s(b,{label:e.$locale.baseText("settings.ldap.synchronizeNow"),size:"large",disabled:e.hasAnyChanges||!e.readyToSubmit,loading:e.loadingLiveRun,onClick:e.onLiveRunClick},null,8,["label","disabled","loading","onClick"])])])):f("",!0)])):(r(),g("div",X,[l("div",{class:p([e.$style.header,"mb-2xl"])},[s(h,{size:"2xlarge"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap")),1)]),_:1})],2),s(T,{type:"note",theme:"info","tooltip-placement":"right",class:"mb-l"},{default:n(()=>[u(d(e.$locale.baseText("settings.ldap.note")),1)]),_:1}),s($,{description:e.$locale.baseText("settings.ldap.disabled.description"),"button-text":e.$locale.baseText("settings.ldap.disabled.buttonText"),"onClick:button":e.goToUpgrade},{heading:n(()=>[l("span",null,d(e.$locale.baseText("settings.ldap.disabled.title")),1)]),_:1},8,["description","button-text","onClick:button"])]))}const se={$style:W},_e=R(B,[["render",ae],["__cssModules",se]]);export{_e as default};
|
|
2
|
+
//# sourceMappingURL=SettingsLdapView-BMSWqnQ9.js.map
|