n8n-editor-ui 1.50.0 → 1.51.0
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/dist/assets/@vue-flow/{background-D_Un7DUl.js → background-Dvxud2mg.js} +2 -2
- package/dist/assets/@vue-flow/{controls-BwRI_oge.js → controls-C3soidEc.js} +2 -2
- package/dist/assets/@vue-flow/{core-OODHovzO.js → core-CjwW6FwV.js} +10 -7
- package/dist/assets/@vue-flow/{minimap-BK2HcOSp.js → minimap-Bdd7TR2F.js} +2 -2
- package/dist/assets/@vue-flow/node-resizer-B3B5vubL.js +1398 -0
- package/dist/assets/@vueuse/{core-cLiG7CtG.js → core-DjbzQ1zB.js} +1 -1
- package/dist/assets/{AuthView-X1SFBaF1.js → AuthView-D4AY2lG5.js} +4 -4
- package/dist/assets/{CanvasControls-0ivxz7Ti.js → CanvasControls-CfTh2Ydp.js} +9 -9
- package/dist/assets/{ChangePasswordView-D1AyLiKV.js → ChangePasswordView-D6il8yDq.js} +10 -10
- package/dist/assets/{CredentialsView-BrEWpUA6.js → CredentialsView-aMWz0C3L.js} +12 -12
- package/dist/assets/{ErrorView-DPtWIG36.js → ErrorView-7hKlN5Su.js} +9 -9
- package/dist/assets/{ExecutionsFilter-Ci6gzM02.js → ExecutionsFilter-y_Gmk-5v.js} +35 -38
- package/dist/assets/{ExecutionsView-Bkwi-uXS.js → ExecutionsView-oios3cTt.js} +13 -13
- package/dist/assets/{FixedCollectionParameter-C5RRl4SC.js → FixedCollectionParameter-D8PZsjZ7.js} +3 -3
- package/dist/assets/{ForgotMyPasswordView-CIV9aURd.js → ForgotMyPasswordView-CS5TJm_8.js} +10 -10
- package/dist/assets/{MainHeader-D1eKSlie.js → MainHeader-B5fmiuFU.js} +40 -37
- package/dist/assets/{MainSidebar-Bdxgc_Q4.js → MainSidebar-DPoI02fO.js} +10 -10
- package/dist/assets/{NodeCreation-DhCMWAHz.js → NodeCreation-9z7kz5cV.js} +6 -6
- package/dist/assets/{NodeCreator-cioFSjj3.css → NodeCreator-Bz15fuWb.css} +4 -4
- package/dist/assets/{NodeCreator-9HUJtyAc.js → NodeCreator-E5ds8YA5.js} +26 -27
- package/dist/assets/{NodeViewSwitcher-2Mhemz_y.js → NodeViewSwitcher-DKnME7-U.js} +1333 -812
- package/dist/assets/{NodeViewSwitcher-BCjS1poa.css → NodeViewSwitcher-IiB9O97Y.css} +120 -60
- package/dist/assets/{ProjectCardBadge-DYzNsr-8.js → ProjectCardBadge-CyR5DZvm.js} +2 -2
- package/dist/assets/{ProjectSettings-DytTrufU.js → ProjectSettings-DHWMZyem.js} +10 -10
- package/dist/assets/{ProjectTabs-coPTq6VD.js → ProjectTabs-CACEEWLe.js} +3 -3
- package/dist/assets/{PushConnectionTracker-Brquv_T8.js → PushConnectionTracker-DqfHYTh2.js} +4 -4
- package/dist/assets/{ResourcesListLayout-CFdCGqhE.js → ResourcesListLayout-CTRUR5-L.js} +4 -4
- package/dist/assets/{RunDataAi-Bj3_C5yZ.js → RunDataAi-CujvnObq.js} +9 -9
- package/dist/assets/{RunDataJson-D2lW8ojA.js → RunDataJson-CIbPVd1F.js} +25 -24
- package/dist/assets/{RunDataJsonActions-B_wS0oJY.js → RunDataJsonActions-DgL-lMzr.js} +10 -10
- package/dist/assets/{RunDataSchema-CPXsu2BO.js → RunDataSchema-DMZuyqVF.js} +70 -53
- package/dist/assets/{RunDataSchema-DTbSxIk6.css → RunDataSchema-ECZtkGiE.css} +32 -32
- package/dist/assets/{RunDataSearch-qonVj6CG.js → RunDataSearch-D0zXe7Il.js} +9 -9
- package/dist/assets/{RunDataTable-CXm7q60S.js → RunDataTable-BDZKz7Ur.js} +23 -22
- package/dist/assets/{SamlOnboarding-BIoCWTNJ.js → SamlOnboarding-P3os3TUc.js} +10 -10
- package/dist/assets/{SettingsApiView-CTpFCYz5.js → SettingsApiView-BHHZACtD.js} +9 -9
- package/dist/assets/{SettingsCommunityNodesView-DVQFca5A.js → SettingsCommunityNodesView-kGfd429d.js} +11 -11
- package/dist/assets/{SettingsExternalSecrets-tKdU0Cyo.js → SettingsExternalSecrets-CxVm3gdj.js} +9 -9
- package/dist/assets/{SettingsFakeDoorView-DoqmsIyZ.js → SettingsFakeDoorView-sg4W02we.js} +9 -9
- package/dist/assets/{SettingsLdapView-BR3vnWbH.js → SettingsLdapView-DBjl2l35.js} +11 -11
- package/dist/assets/{SettingsLogStreamingView-Bp1WSJza.js → SettingsLogStreamingView-DC1Vt1xr.js} +9 -9
- package/dist/assets/SettingsPersonalView-DaiUtCj1.js +402 -0
- package/dist/assets/{SettingsSourceControl-Be3KrYm-.js → SettingsSourceControl-D1vzkxWU.js} +9 -9
- package/dist/assets/{SettingsSso-QGvdjT0O.js → SettingsSso-D149aJS_.js} +9 -9
- package/dist/assets/{SettingsUsageAndPlan-NYlFQ5oQ.js → SettingsUsageAndPlan-BZ6FL9zH.js} +9 -9
- package/dist/assets/SettingsUsersView-DpPldpCU.js +353 -0
- package/dist/assets/{SettingsView-doXMTt0d.js → SettingsView-7POFD9hj.js} +10 -10
- package/dist/assets/{SetupView-BMWHud_y.js → SetupView-BdzoKioo.js} +10 -10
- package/dist/assets/{SetupWorkflowCredentialsButton-DUoHmZtW.js → SetupWorkflowCredentialsButton-DT4ZQ6H3.js} +10 -10
- package/dist/assets/{SetupWorkflowFromTemplateView-V9BeQExr.js → SetupWorkflowFromTemplateView-5dhEbEa9.js} +11 -11
- package/dist/assets/{SigninView-ClRBq7kl.js → SigninView-D_x6a4uq.js} +10 -10
- package/dist/assets/{SignoutView-BlGE9lkX.js → SignoutView-XPcJ9Rfb.js} +9 -9
- package/dist/assets/{SignupView-wMWxfBDi.js → SignupView-CR5gvKxn.js} +10 -10
- package/dist/assets/{TemplateDetails-y4lukUpw.js → TemplateDetails-C9Ekw9lR.js} +36 -36
- package/dist/assets/{TemplateList-Bt5HGUf8.js → TemplateList-Cp9pj-6d.js} +3 -3
- package/dist/assets/{TemplatesCollectionView-CNZC3JKO.js → TemplatesCollectionView-DZAXCw6p.js} +13 -13
- package/dist/assets/{TemplatesSearchView-DgebNlAm.js → TemplatesSearchView-CxakoRrB.js} +54 -56
- package/dist/assets/{TemplatesView-mI_05KUq.js → TemplatesView-C-YJ-BC4.js} +27 -37
- package/dist/assets/{TemplatesWorkflowView-B75XVRs0.js → TemplatesWorkflowView-DETA5Cj8.js} +13 -13
- package/dist/assets/{TextWithHighlights-D4eF9kOt.js → TextWithHighlights-D2q_A9ZR.js} +2 -2
- package/dist/assets/{VariablesView-G_H7UQIQ.js → VariablesView-WJWXH8Ir.js} +10 -10
- package/dist/assets/{WorkerView-BsiJfLYo.js → WorkerView-wIvLi07W.js} +13 -13
- package/dist/assets/WorkflowActivator-DkN3MMKq.js +167 -0
- package/dist/assets/{WorkflowActivator-CXOAB341.css → WorkflowActivator-cE2ZZAM9.css} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-xoS58CZa.js → WorkflowExecutionsInfoAccordion-W2Fkf5gF.js} +4 -4
- package/dist/assets/{WorkflowExecutionsLandingPage-nivWYbjE.js → WorkflowExecutionsLandingPage-DAbf8PFh.js} +10 -10
- package/dist/assets/{WorkflowExecutionsPreview-DTxBSSPe.js → WorkflowExecutionsPreview-BXEnvDw4.js} +13 -13
- package/dist/assets/{WorkflowExecutionsView-BhMONfF7.js → WorkflowExecutionsView-LgtLU8Qx.js} +14 -14
- package/dist/assets/{WorkflowHistory-B6Z1TABJ.js → WorkflowHistory-BqlZGYdU.js} +11 -11
- package/dist/assets/{WorkflowOnboardingView-DNKsVWSn.js → WorkflowOnboardingView-D0_yq6ZI.js} +10 -10
- package/dist/assets/{WorkflowPreview-CoBAWZWQ.js → WorkflowPreview-B4znXiwm.js} +3 -3
- package/dist/assets/{WorkflowsView-aOaRbWeD.js → WorkflowsView-DKG0j1hb.js} +14 -14
- package/dist/assets/{cloud-Cee-Yplf.js → cloud-BvGcpbZS.js} +10 -10
- package/dist/assets/{dateFormatter-DqxIOphq.js → dateFormatter-Cz94F6Me.js} +1 -1
- package/dist/assets/{dateformat-B0XmVuvm.js → dateformat-BGxyBe2P.js} +1 -1
- package/dist/assets/email-providers-DbqVx1jr.js +1 -0
- package/dist/assets/{fast-json-stable-stringify-BkuDyKfx.js → fast-json-stable-stringify-Dwd4D7iT.js} +1 -1
- package/dist/assets/{file-saver-DmnSLJjs.js → file-saver-EX5V8lV4.js} +1 -1
- package/dist/assets/{humanize-duration-BATzEL0p.js → humanize-duration-DTXBersx.js} +1 -1
- package/dist/assets/{index-BGdiexS3.css → index-DQ-dNHi3.css} +134 -25
- package/dist/assets/{index-C-mVy0Gl.js → index-bKbgEkwQ.js} +1163 -1178
- package/dist/assets/{jsonpath-UEgivab5.js → jsonpath-vdx3Kmku.js} +1 -1
- package/dist/assets/{n8n-CwcFEeof.js → n8n-BZOg0o2s.js} +666 -593
- package/dist/assets/{pinia-BcU9Qewp.js → pinia-6fcdwe0b.js} +1 -1
- package/dist/assets/{pushConnection.store-DADRfGHk.js → pushConnection.store-2X3NZvi8.js} +3 -3
- package/dist/assets/{qrcode.vue-DI7-KOl3.js → qrcode.vue-DO5L5sO1.js} +1 -1
- package/dist/assets/{templateActions-DydpyEkH.js → templateActions-B_GseBMR.js} +1 -1
- package/dist/assets/{useExecutionDebugging-D1N49Q2-.js → useExecutionDebugging-Bey9JfcT.js} +2 -2
- package/dist/assets/{useExecutionHelpers-M9Md5Dgl.js → useExecutionHelpers-BYv3kLRF.js} +2 -2
- package/dist/assets/{usePushConnection-C205DbDr.js → usePushConnection-BKCthfxZ.js} +5 -5
- package/dist/assets/{useUserHelpers-CVCKidGW.js → useUserHelpers-CBFICkao.js} +1 -1
- package/dist/assets/{useWorkflowActivate-DwWkEDON.js → useWorkflowActivate-0fT4N7sc.js} +2 -2
- package/dist/assets/{v3-infinite-loading-DAn86T_B.js → v3-infinite-loading-C4Fo1u2C.js} +1 -1
- package/dist/assets/{vendor-CqkvC5oQ.js → vendor-CMkNOP5U.js} +18 -17
- package/dist/assets/{vue-agile-DiVtruag.js → vue-agile-RIE3GEnw.js} +2 -2
- package/dist/assets/{vue-chartjs-CEoYgQDg.js → vue-chartjs-Bdp9pkPO.js} +1 -1
- package/dist/assets/{vue-i18n-CakRshnZ.js → vue-i18n-ia8PeNLb.js} +1 -1
- package/dist/assets/{vue-json-pretty-DP0y-sh1.js → vue-json-pretty-Smey0Oxa.js} +2 -2
- package/dist/assets/xss-DbqVx1jr.js +1 -0
- package/dist/index.html +11 -11
- package/package.json +1 -1
- package/dist/assets/SettingsPersonalView-DGEm1cdP.js +0 -415
- package/dist/assets/SettingsUsersView-ByLVUbAF.js +0 -366
- package/dist/assets/WorkflowActivator-CiUncJ1V.js +0 -172
- package/dist/assets/email-providers-BXHlM8aX.js +0 -1
- package/dist/assets/xss-BXHlM8aX.js +0 -1
- /package/dist/{google-auth → static/google-auth}/disabled.dark.png +0 -0
- /package/dist/{google-auth → static/google-auth}/disabled.png +0 -0
- /package/dist/{google-auth → static/google-auth}/focus.dark.png +0 -0
- /package/dist/{google-auth → static/google-auth}/focus.png +0 -0
- /package/dist/{google-auth → static/google-auth}/normal.dark.png +0 -0
- /package/dist/{google-auth → static/google-auth}/normal.png +0 -0
- /package/dist/{google-auth → static/google-auth}/pressed.dark.png +0 -0
- /package/dist/{google-auth → static/google-auth}/pressed.png +0 -0
|
@@ -1,366 +0,0 @@
|
|
|
1
|
-
import { Z as defineComponent, ao as resolveComponent, J as openBlock, K as createElementBlock, $ as normalizeClass, I as createBaseVNode, a9 as createVNode, a4 as withCtx, a7 as createTextVNode, a8 as toDisplayString, U as createCommentVNode, V as createBlock, R as Fragment, ag as renderList } from "./vendor-CqkvC5oQ.js";
|
|
2
|
-
import { m as mapStores } from "./pinia-BcU9Qewp.js";
|
|
3
|
-
import { ac as useClipboard, u as useToast, dj as useSSOStore, dk as useUsageStore, a as useUsersStore, e as useUIStore, b as useSettingsStore, E as EnterpriseEditionFeature, r as hasPermission, dl as ROLE, V as VIEWS, dm as INVITE_USER_MODAL_KEY } from "./index-C-mVy0Gl.js";
|
|
4
|
-
import { _ as _export_sfc } from "./n8n-CwcFEeof.js";
|
|
5
|
-
import "./axios-Cp0EV6RZ.js";
|
|
6
|
-
import "./flatted-D70IerrI.js";
|
|
7
|
-
import "./@vueuse/core-cLiG7CtG.js";
|
|
8
|
-
import "./lodash-es-COViF6dG.js";
|
|
9
|
-
import "./@n8n/permissions-DSKt-Zl7.js";
|
|
10
|
-
import "./uuid-sKupIUZ4.js";
|
|
11
|
-
import "./dateformat-B0XmVuvm.js";
|
|
12
|
-
import "./vue-i18n-CakRshnZ.js";
|
|
13
|
-
import "./luxon-0uZhUj7B.js";
|
|
14
|
-
import "./@n8n/codemirror-lang-CIGGB1t0.js";
|
|
15
|
-
import "./@lezer/common-CnY9etib.js";
|
|
16
|
-
import "./@n8n/codemirror-lang-sql-C41WNa63.js";
|
|
17
|
-
import "./prettier-_aQB57xD.js";
|
|
18
|
-
import "./@jsplumb/util-BwtpiQ4c.js";
|
|
19
|
-
import "./@jsplumb/core-B__RSZHf.js";
|
|
20
|
-
import "./@jsplumb/common-s1StEx7B.js";
|
|
21
|
-
import "./@jsplumb/connector-bezier-D659hq4c.js";
|
|
22
|
-
import "./@jsplumb/browser-ui-BphmFVJY.js";
|
|
23
|
-
import "./codemirror-lang-html-n8n-CXTCIWzP.js";
|
|
24
|
-
import "./esprima-next-CPsTzYsC.js";
|
|
25
|
-
import "./fast-json-stable-stringify-BkuDyKfx.js";
|
|
26
|
-
import "./timeago.js-CgQus8nl.js";
|
|
27
|
-
import "./qrcode.vue-DI7-KOl3.js";
|
|
28
|
-
import "./vue3-touch-events-DVOgU3fI.js";
|
|
29
|
-
import "./chart.js-DiBOFLDH.js";
|
|
30
|
-
const _sfc_main = defineComponent({
|
|
31
|
-
name: "SettingsUsersView",
|
|
32
|
-
setup() {
|
|
33
|
-
const clipboard = useClipboard();
|
|
34
|
-
return {
|
|
35
|
-
clipboard,
|
|
36
|
-
...useToast()
|
|
37
|
-
};
|
|
38
|
-
},
|
|
39
|
-
computed: {
|
|
40
|
-
...mapStores(useSettingsStore, useUIStore, useUsersStore, useUsageStore, useSSOStore),
|
|
41
|
-
isSharingEnabled() {
|
|
42
|
-
return this.settingsStore.isEnterpriseFeatureEnabled(EnterpriseEditionFeature.Sharing);
|
|
43
|
-
},
|
|
44
|
-
showUMSetupWarning() {
|
|
45
|
-
return hasPermission(["defaultUser"]);
|
|
46
|
-
},
|
|
47
|
-
usersListActions() {
|
|
48
|
-
return [
|
|
49
|
-
{
|
|
50
|
-
label: this.$locale.baseText("settings.users.actions.copyInviteLink"),
|
|
51
|
-
value: "copyInviteLink",
|
|
52
|
-
guard: (user) => this.settingsStore.isBelowUserQuota && !user.firstName && !!user.inviteAcceptUrl
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
label: this.$locale.baseText("settings.users.actions.reinvite"),
|
|
56
|
-
value: "reinvite",
|
|
57
|
-
guard: (user) => this.settingsStore.isBelowUserQuota && !user.firstName && this.settingsStore.isSmtpSetup
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
label: this.$locale.baseText("settings.users.actions.delete"),
|
|
61
|
-
value: "delete",
|
|
62
|
-
guard: (user) => hasPermission(["rbac"], { rbac: { scope: "user:delete" } }) && user.id !== this.usersStore.currentUserId
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
label: this.$locale.baseText("settings.users.actions.copyPasswordResetLink"),
|
|
66
|
-
value: "copyPasswordResetLink",
|
|
67
|
-
guard: (user) => hasPermission(["rbac"], { rbac: { scope: "user:resetPassword" } }) && this.settingsStore.isBelowUserQuota && !user.isPendingUser && user.id !== this.usersStore.currentUserId
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
label: this.$locale.baseText("settings.users.actions.allowSSOManualLogin"),
|
|
71
|
-
value: "allowSSOManualLogin",
|
|
72
|
-
guard: (user) => {
|
|
73
|
-
var _a;
|
|
74
|
-
return this.settingsStore.isSamlLoginEnabled && !((_a = user.settings) == null ? void 0 : _a.allowSSOManualLogin);
|
|
75
|
-
}
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
label: this.$locale.baseText("settings.users.actions.disallowSSOManualLogin"),
|
|
79
|
-
value: "disallowSSOManualLogin",
|
|
80
|
-
guard: (user) => {
|
|
81
|
-
var _a;
|
|
82
|
-
return this.settingsStore.isSamlLoginEnabled && ((_a = user.settings) == null ? void 0 : _a.allowSSOManualLogin) === true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
];
|
|
86
|
-
},
|
|
87
|
-
isAdvancedPermissionsEnabled() {
|
|
88
|
-
return this.settingsStore.isEnterpriseFeatureEnabled(
|
|
89
|
-
EnterpriseEditionFeature.AdvancedPermissions
|
|
90
|
-
);
|
|
91
|
-
},
|
|
92
|
-
userRoles() {
|
|
93
|
-
return [
|
|
94
|
-
{
|
|
95
|
-
value: ROLE.Member,
|
|
96
|
-
label: this.$locale.baseText("auth.roles.member")
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
value: ROLE.Admin,
|
|
100
|
-
label: this.$locale.baseText("auth.roles.admin"),
|
|
101
|
-
disabled: !this.isAdvancedPermissionsEnabled
|
|
102
|
-
}
|
|
103
|
-
];
|
|
104
|
-
},
|
|
105
|
-
canUpdateRole() {
|
|
106
|
-
return hasPermission(["rbac"], { rbac: { scope: ["user:update", "user:changeRole"] } });
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
async mounted() {
|
|
110
|
-
if (!this.showUMSetupWarning) {
|
|
111
|
-
await this.usersStore.fetchUsers();
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
methods: {
|
|
115
|
-
async onUsersListAction({ action, userId }) {
|
|
116
|
-
switch (action) {
|
|
117
|
-
case "delete":
|
|
118
|
-
await this.onDelete(userId);
|
|
119
|
-
break;
|
|
120
|
-
case "reinvite":
|
|
121
|
-
await this.onReinvite(userId);
|
|
122
|
-
break;
|
|
123
|
-
case "copyInviteLink":
|
|
124
|
-
await this.onCopyInviteLink(userId);
|
|
125
|
-
break;
|
|
126
|
-
case "copyPasswordResetLink":
|
|
127
|
-
await this.onCopyPasswordResetLink(userId);
|
|
128
|
-
break;
|
|
129
|
-
case "allowSSOManualLogin":
|
|
130
|
-
await this.onAllowSSOManualLogin(userId);
|
|
131
|
-
break;
|
|
132
|
-
case "disallowSSOManualLogin":
|
|
133
|
-
await this.onDisallowSSOManualLogin(userId);
|
|
134
|
-
break;
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
redirectToSetup() {
|
|
138
|
-
void this.$router.push({ name: VIEWS.SETUP });
|
|
139
|
-
},
|
|
140
|
-
onInvite() {
|
|
141
|
-
this.uiStore.openModal(INVITE_USER_MODAL_KEY);
|
|
142
|
-
},
|
|
143
|
-
async onDelete(userId) {
|
|
144
|
-
const user = this.usersStore.usersById[userId];
|
|
145
|
-
if (user) {
|
|
146
|
-
this.uiStore.openDeleteUserModal(userId);
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
async onReinvite(userId) {
|
|
150
|
-
const user = this.usersStore.usersById[userId];
|
|
151
|
-
if ((user == null ? void 0 : user.email) && (user == null ? void 0 : user.role)) {
|
|
152
|
-
if (!["global:admin", "global:member"].includes(user.role)) {
|
|
153
|
-
throw new Error("Invalid role name on reinvite");
|
|
154
|
-
}
|
|
155
|
-
try {
|
|
156
|
-
await this.usersStore.reinviteUser({
|
|
157
|
-
email: user.email,
|
|
158
|
-
role: user.role
|
|
159
|
-
});
|
|
160
|
-
this.showToast({
|
|
161
|
-
type: "success",
|
|
162
|
-
title: this.$locale.baseText("settings.users.inviteResent"),
|
|
163
|
-
message: this.$locale.baseText("settings.users.emailSentTo", {
|
|
164
|
-
interpolate: { email: user.email ?? "" }
|
|
165
|
-
})
|
|
166
|
-
});
|
|
167
|
-
} catch (e) {
|
|
168
|
-
this.showError(e, this.$locale.baseText("settings.users.userReinviteError"));
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
async onCopyInviteLink(userId) {
|
|
173
|
-
const user = this.usersStore.usersById[userId];
|
|
174
|
-
if (user == null ? void 0 : user.inviteAcceptUrl) {
|
|
175
|
-
void this.clipboard.copy(user.inviteAcceptUrl);
|
|
176
|
-
this.showToast({
|
|
177
|
-
type: "success",
|
|
178
|
-
title: this.$locale.baseText("settings.users.inviteUrlCreated"),
|
|
179
|
-
message: this.$locale.baseText("settings.users.inviteUrlCreated.message")
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
async onCopyPasswordResetLink(userId) {
|
|
184
|
-
const user = this.usersStore.usersById[userId];
|
|
185
|
-
if (user) {
|
|
186
|
-
const url = await this.usersStore.getUserPasswordResetLink(user);
|
|
187
|
-
void this.clipboard.copy(url.link);
|
|
188
|
-
this.showToast({
|
|
189
|
-
type: "success",
|
|
190
|
-
title: this.$locale.baseText("settings.users.passwordResetUrlCreated"),
|
|
191
|
-
message: this.$locale.baseText("settings.users.passwordResetUrlCreated.message")
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
},
|
|
195
|
-
async onAllowSSOManualLogin(userId) {
|
|
196
|
-
const user = this.usersStore.usersById[userId];
|
|
197
|
-
if (user) {
|
|
198
|
-
if (!user.settings) {
|
|
199
|
-
user.settings = {};
|
|
200
|
-
}
|
|
201
|
-
user.settings.allowSSOManualLogin = true;
|
|
202
|
-
await this.usersStore.updateOtherUserSettings(userId, user.settings);
|
|
203
|
-
this.showToast({
|
|
204
|
-
type: "success",
|
|
205
|
-
title: this.$locale.baseText("settings.users.allowSSOManualLogin"),
|
|
206
|
-
message: this.$locale.baseText("settings.users.allowSSOManualLogin.message")
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
async onDisallowSSOManualLogin(userId) {
|
|
211
|
-
const user = this.usersStore.usersById[userId];
|
|
212
|
-
if (user == null ? void 0 : user.settings) {
|
|
213
|
-
user.settings.allowSSOManualLogin = false;
|
|
214
|
-
await this.usersStore.updateOtherUserSettings(userId, user.settings);
|
|
215
|
-
this.showToast({
|
|
216
|
-
type: "success",
|
|
217
|
-
title: this.$locale.baseText("settings.users.disallowSSOManualLogin"),
|
|
218
|
-
message: this.$locale.baseText("settings.users.disallowSSOManualLogin.message")
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
},
|
|
222
|
-
goToUpgrade() {
|
|
223
|
-
void this.uiStore.goToUpgrade("settings-users", "upgrade-users");
|
|
224
|
-
},
|
|
225
|
-
goToUpgradeAdvancedPermissions() {
|
|
226
|
-
void this.uiStore.goToUpgrade("settings-users", "upgrade-advanced-permissions");
|
|
227
|
-
},
|
|
228
|
-
async onRoleChange(user, newRoleName) {
|
|
229
|
-
await this.usersStore.updateGlobalRole({ id: user.id, newRoleName });
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
const container = "_container_1qzsb_1";
|
|
234
|
-
const usersContainer = "_usersContainer_1qzsb_9";
|
|
235
|
-
const buttonContainer = "_buttonContainer_1qzsb_13";
|
|
236
|
-
const setupInfoContainer = "_setupInfoContainer_1qzsb_19";
|
|
237
|
-
const alert = "_alert_1qzsb_23";
|
|
238
|
-
const style0 = {
|
|
239
|
-
container,
|
|
240
|
-
usersContainer,
|
|
241
|
-
buttonContainer,
|
|
242
|
-
setupInfoContainer,
|
|
243
|
-
alert
|
|
244
|
-
};
|
|
245
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
246
|
-
const _component_n8n_heading = resolveComponent("n8n-heading");
|
|
247
|
-
const _component_n8n_button = resolveComponent("n8n-button");
|
|
248
|
-
const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
|
|
249
|
-
const _component_n8n_action_box = resolveComponent("n8n-action-box");
|
|
250
|
-
const _component_n8n_link = resolveComponent("n8n-link");
|
|
251
|
-
const _component_i18n_t = resolveComponent("i18n-t");
|
|
252
|
-
const _component_n8n_notice = resolveComponent("n8n-notice");
|
|
253
|
-
const _component_n8n_option = resolveComponent("n8n-option");
|
|
254
|
-
const _component_n8n_select = resolveComponent("n8n-select");
|
|
255
|
-
const _component_n8n_users_list = resolveComponent("n8n-users-list");
|
|
256
|
-
return openBlock(), createElementBlock("div", {
|
|
257
|
-
class: normalizeClass(_ctx.$style.container)
|
|
258
|
-
}, [
|
|
259
|
-
createBaseVNode("div", null, [
|
|
260
|
-
createVNode(_component_n8n_heading, { size: "2xlarge" }, {
|
|
261
|
-
default: withCtx(() => [
|
|
262
|
-
createTextVNode(toDisplayString(_ctx.$locale.baseText("settings.users")), 1)
|
|
263
|
-
]),
|
|
264
|
-
_: 1
|
|
265
|
-
}),
|
|
266
|
-
!_ctx.showUMSetupWarning ? (openBlock(), createElementBlock("div", {
|
|
267
|
-
key: 0,
|
|
268
|
-
class: normalizeClass(_ctx.$style.buttonContainer)
|
|
269
|
-
}, [
|
|
270
|
-
createVNode(_component_n8n_tooltip, {
|
|
271
|
-
disabled: !_ctx.ssoStore.isSamlLoginEnabled
|
|
272
|
-
}, {
|
|
273
|
-
content: withCtx(() => [
|
|
274
|
-
createBaseVNode("span", null, toDisplayString(_ctx.$locale.baseText("settings.users.invite.tooltip")), 1)
|
|
275
|
-
]),
|
|
276
|
-
default: withCtx(() => [
|
|
277
|
-
createBaseVNode("div", null, [
|
|
278
|
-
createVNode(_component_n8n_button, {
|
|
279
|
-
disabled: _ctx.ssoStore.isSamlLoginEnabled || !_ctx.settingsStore.isBelowUserQuota,
|
|
280
|
-
label: _ctx.$locale.baseText("settings.users.invite"),
|
|
281
|
-
size: "large",
|
|
282
|
-
"data-test-id": "settings-users-invite-button",
|
|
283
|
-
onClick: _ctx.onInvite
|
|
284
|
-
}, null, 8, ["disabled", "label", "onClick"])
|
|
285
|
-
])
|
|
286
|
-
]),
|
|
287
|
-
_: 1
|
|
288
|
-
}, 8, ["disabled"])
|
|
289
|
-
], 2)) : createCommentVNode("", true)
|
|
290
|
-
]),
|
|
291
|
-
!_ctx.settingsStore.isBelowUserQuota ? (openBlock(), createElementBlock("div", {
|
|
292
|
-
key: 0,
|
|
293
|
-
class: normalizeClass(_ctx.$style.setupInfoContainer)
|
|
294
|
-
}, [
|
|
295
|
-
createVNode(_component_n8n_action_box, {
|
|
296
|
-
heading: _ctx.$locale.baseText(_ctx.uiStore.contextBasedTranslationKeys.users.settings.unavailable.title),
|
|
297
|
-
description: _ctx.$locale.baseText(
|
|
298
|
-
_ctx.uiStore.contextBasedTranslationKeys.users.settings.unavailable.description
|
|
299
|
-
),
|
|
300
|
-
"button-text": _ctx.$locale.baseText(_ctx.uiStore.contextBasedTranslationKeys.users.settings.unavailable.button),
|
|
301
|
-
"onClick:button": _ctx.goToUpgrade
|
|
302
|
-
}, null, 8, ["heading", "description", "button-text", "onClick:button"])
|
|
303
|
-
], 2)) : createCommentVNode("", true),
|
|
304
|
-
!_ctx.isAdvancedPermissionsEnabled ? (openBlock(), createBlock(_component_n8n_notice, { key: 1 }, {
|
|
305
|
-
default: withCtx(() => [
|
|
306
|
-
createVNode(_component_i18n_t, { keypath: "settings.users.advancedPermissions.warning" }, {
|
|
307
|
-
link: withCtx(() => [
|
|
308
|
-
createVNode(_component_n8n_link, {
|
|
309
|
-
size: "small",
|
|
310
|
-
onClick: _ctx.goToUpgradeAdvancedPermissions
|
|
311
|
-
}, {
|
|
312
|
-
default: withCtx(() => [
|
|
313
|
-
createTextVNode(toDisplayString(_ctx.$locale.baseText("settings.users.advancedPermissions.warning.link")), 1)
|
|
314
|
-
]),
|
|
315
|
-
_: 1
|
|
316
|
-
}, 8, ["onClick"])
|
|
317
|
-
]),
|
|
318
|
-
_: 1
|
|
319
|
-
})
|
|
320
|
-
]),
|
|
321
|
-
_: 1
|
|
322
|
-
})) : createCommentVNode("", true),
|
|
323
|
-
_ctx.settingsStore.isBelowUserQuota || _ctx.usersStore.allUsers.length > 1 ? (openBlock(), createElementBlock("div", {
|
|
324
|
-
key: 2,
|
|
325
|
-
class: normalizeClass(_ctx.$style.usersContainer)
|
|
326
|
-
}, [
|
|
327
|
-
createVNode(_component_n8n_users_list, {
|
|
328
|
-
actions: _ctx.usersListActions,
|
|
329
|
-
users: _ctx.usersStore.allUsers,
|
|
330
|
-
"current-user-id": _ctx.usersStore.currentUserId,
|
|
331
|
-
"is-saml-login-enabled": _ctx.ssoStore.isSamlLoginEnabled,
|
|
332
|
-
onAction: _ctx.onUsersListAction
|
|
333
|
-
}, {
|
|
334
|
-
actions: withCtx(({ user }) => [
|
|
335
|
-
user.id !== _ctx.usersStore.currentUserId ? (openBlock(), createBlock(_component_n8n_select, {
|
|
336
|
-
key: 0,
|
|
337
|
-
"model-value": (user == null ? void 0 : user.role) || "global:member",
|
|
338
|
-
disabled: !_ctx.canUpdateRole,
|
|
339
|
-
"data-test-id": "user-role-select",
|
|
340
|
-
"onUpdate:modelValue": ($event) => _ctx.onRoleChange(user, $event)
|
|
341
|
-
}, {
|
|
342
|
-
default: withCtx(() => [
|
|
343
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.userRoles, (role) => {
|
|
344
|
-
return openBlock(), createBlock(_component_n8n_option, {
|
|
345
|
-
key: role.value,
|
|
346
|
-
value: role.value,
|
|
347
|
-
label: role.label,
|
|
348
|
-
disabled: role.disabled
|
|
349
|
-
}, null, 8, ["value", "label", "disabled"]);
|
|
350
|
-
}), 128))
|
|
351
|
-
]),
|
|
352
|
-
_: 2
|
|
353
|
-
}, 1032, ["model-value", "disabled", "onUpdate:modelValue"])) : createCommentVNode("", true)
|
|
354
|
-
]),
|
|
355
|
-
_: 1
|
|
356
|
-
}, 8, ["actions", "users", "current-user-id", "is-saml-login-enabled", "onAction"])
|
|
357
|
-
], 2)) : createCommentVNode("", true)
|
|
358
|
-
], 2);
|
|
359
|
-
}
|
|
360
|
-
const cssModules = {
|
|
361
|
-
"$style": style0
|
|
362
|
-
};
|
|
363
|
-
const SettingsUsersView = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules]]);
|
|
364
|
-
export {
|
|
365
|
-
SettingsUsersView as default
|
|
366
|
-
};
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { u as useToast, m as useWorkflowsStore, e as useUIStore, dV as getActivatableTriggerNodes } from "./index-C-mVy0Gl.js";
|
|
2
|
-
import { u as useWorkflowActivate } from "./useWorkflowActivate-DwWkEDON.js";
|
|
3
|
-
import { m as mapStores } from "./pinia-BcU9Qewp.js";
|
|
4
|
-
import { Z as defineComponent, aB as pushScopeId, aC as popScopeId, ao as resolveComponent, av as resolveDirective, J as openBlock, K as createElementBlock, I as createBaseVNode, $ as normalizeClass, V as createBlock, a4 as withCtx, a7 as createTextVNode, a8 as toDisplayString, a9 as createVNode, a5 as withDirectives, U as createCommentVNode } from "./vendor-CqkvC5oQ.js";
|
|
5
|
-
import { _ as _export_sfc } from "./n8n-CwcFEeof.js";
|
|
6
|
-
const _sfc_main = defineComponent({
|
|
7
|
-
name: "WorkflowActivator",
|
|
8
|
-
props: ["workflowActive", "workflowId"],
|
|
9
|
-
setup() {
|
|
10
|
-
return {
|
|
11
|
-
...useToast(),
|
|
12
|
-
...useWorkflowActivate()
|
|
13
|
-
};
|
|
14
|
-
},
|
|
15
|
-
computed: {
|
|
16
|
-
...mapStores(useUIStore, useWorkflowsStore),
|
|
17
|
-
nodesIssuesExist() {
|
|
18
|
-
return this.workflowsStore.nodesIssuesExist;
|
|
19
|
-
},
|
|
20
|
-
isWorkflowActive() {
|
|
21
|
-
const activeWorkflows = this.workflowsStore.activeWorkflows;
|
|
22
|
-
return activeWorkflows.includes(this.workflowId);
|
|
23
|
-
},
|
|
24
|
-
couldNotBeStarted() {
|
|
25
|
-
return this.workflowActive === true && this.isWorkflowActive !== this.workflowActive;
|
|
26
|
-
},
|
|
27
|
-
getActiveColor() {
|
|
28
|
-
if (this.couldNotBeStarted) {
|
|
29
|
-
return "#ff4949";
|
|
30
|
-
}
|
|
31
|
-
return "#13ce66";
|
|
32
|
-
},
|
|
33
|
-
isCurrentWorkflow() {
|
|
34
|
-
return this.workflowsStore.workflowId === this.workflowId;
|
|
35
|
-
},
|
|
36
|
-
disabled() {
|
|
37
|
-
const isNewWorkflow = !this.workflowId;
|
|
38
|
-
if (isNewWorkflow || this.isCurrentWorkflow) {
|
|
39
|
-
return !this.workflowActive && !this.containsTrigger;
|
|
40
|
-
}
|
|
41
|
-
return false;
|
|
42
|
-
},
|
|
43
|
-
containsTrigger() {
|
|
44
|
-
const foundTriggers = getActivatableTriggerNodes(this.workflowsStore.workflowTriggerNodes);
|
|
45
|
-
return foundTriggers.length > 0;
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
methods: {
|
|
49
|
-
async activeChanged(newActiveState) {
|
|
50
|
-
return await this.updateWorkflowActivation(this.workflowId, newActiveState);
|
|
51
|
-
},
|
|
52
|
-
async displayActivationError() {
|
|
53
|
-
let errorMessage;
|
|
54
|
-
try {
|
|
55
|
-
const errorData = await this.workflowsStore.getActivationError(this.workflowId);
|
|
56
|
-
if (errorData === void 0) {
|
|
57
|
-
errorMessage = this.$locale.baseText(
|
|
58
|
-
"workflowActivator.showMessage.displayActivationError.message.errorDataUndefined"
|
|
59
|
-
);
|
|
60
|
-
} else {
|
|
61
|
-
errorMessage = this.$locale.baseText(
|
|
62
|
-
"workflowActivator.showMessage.displayActivationError.message.errorDataNotUndefined",
|
|
63
|
-
{ interpolate: { message: errorData } }
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
} catch (error) {
|
|
67
|
-
errorMessage = this.$locale.baseText(
|
|
68
|
-
"workflowActivator.showMessage.displayActivationError.message.catchBlock"
|
|
69
|
-
);
|
|
70
|
-
}
|
|
71
|
-
this.showMessage({
|
|
72
|
-
title: this.$locale.baseText("workflowActivator.showMessage.displayActivationError.title"),
|
|
73
|
-
message: errorMessage,
|
|
74
|
-
type: "warning",
|
|
75
|
-
duration: 0,
|
|
76
|
-
dangerouslyUseHTMLString: true
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
const activeStatusText = "_activeStatusText_nj9sv_1";
|
|
82
|
-
const style0 = {
|
|
83
|
-
activeStatusText
|
|
84
|
-
};
|
|
85
|
-
const _withScopeId = (n) => (pushScopeId("data-v-e3b4fb0e"), n = n(), popScopeId(), n);
|
|
86
|
-
const _hoisted_1 = { class: "workflow-activator" };
|
|
87
|
-
const _hoisted_2 = {
|
|
88
|
-
key: 0,
|
|
89
|
-
class: "could-not-be-started"
|
|
90
|
-
};
|
|
91
|
-
const _hoisted_3 = ["innerHTML"];
|
|
92
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
93
|
-
const _component_n8n_text = resolveComponent("n8n-text");
|
|
94
|
-
const _component_el_switch = resolveComponent("el-switch");
|
|
95
|
-
const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
|
|
96
|
-
const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
|
|
97
|
-
const _directive_loading = resolveDirective("loading");
|
|
98
|
-
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
99
|
-
createBaseVNode("div", {
|
|
100
|
-
class: normalizeClass(_ctx.$style.activeStatusText),
|
|
101
|
-
"data-test-id": "workflow-activator-status"
|
|
102
|
-
}, [
|
|
103
|
-
_ctx.workflowActive ? (openBlock(), createBlock(_component_n8n_text, {
|
|
104
|
-
key: 0,
|
|
105
|
-
color: _ctx.couldNotBeStarted ? "danger" : "success",
|
|
106
|
-
size: "small",
|
|
107
|
-
bold: ""
|
|
108
|
-
}, {
|
|
109
|
-
default: withCtx(() => [
|
|
110
|
-
createTextVNode(toDisplayString(_ctx.$locale.baseText("workflowActivator.active")), 1)
|
|
111
|
-
]),
|
|
112
|
-
_: 1
|
|
113
|
-
}, 8, ["color"])) : (openBlock(), createBlock(_component_n8n_text, {
|
|
114
|
-
key: 1,
|
|
115
|
-
color: "text-base",
|
|
116
|
-
size: "small",
|
|
117
|
-
bold: ""
|
|
118
|
-
}, {
|
|
119
|
-
default: withCtx(() => [
|
|
120
|
-
createTextVNode(toDisplayString(_ctx.$locale.baseText("workflowActivator.inactive")), 1)
|
|
121
|
-
]),
|
|
122
|
-
_: 1
|
|
123
|
-
}))
|
|
124
|
-
], 2),
|
|
125
|
-
createVNode(_component_n8n_tooltip, {
|
|
126
|
-
disabled: !_ctx.disabled,
|
|
127
|
-
placement: "bottom"
|
|
128
|
-
}, {
|
|
129
|
-
content: withCtx(() => [
|
|
130
|
-
createBaseVNode("div", null, toDisplayString(_ctx.$locale.baseText("workflowActivator.thisWorkflowHasNoTriggerNodes")), 1)
|
|
131
|
-
]),
|
|
132
|
-
default: withCtx(() => [
|
|
133
|
-
withDirectives(createVNode(_component_el_switch, {
|
|
134
|
-
"model-value": _ctx.workflowActive,
|
|
135
|
-
title: _ctx.workflowActive ? _ctx.$locale.baseText("workflowActivator.deactivateWorkflow") : _ctx.$locale.baseText("workflowActivator.activateWorkflow"),
|
|
136
|
-
disabled: _ctx.disabled || _ctx.updatingWorkflowActivation,
|
|
137
|
-
"active-color": _ctx.getActiveColor,
|
|
138
|
-
"inactive-color": "#8899AA",
|
|
139
|
-
"data-test-id": "workflow-activate-switch",
|
|
140
|
-
"onUpdate:modelValue": _ctx.activeChanged
|
|
141
|
-
}, null, 8, ["model-value", "title", "disabled", "active-color", "onUpdate:modelValue"]), [
|
|
142
|
-
[_directive_loading, _ctx.updatingWorkflowActivation]
|
|
143
|
-
])
|
|
144
|
-
]),
|
|
145
|
-
_: 1
|
|
146
|
-
}, 8, ["disabled"]),
|
|
147
|
-
_ctx.couldNotBeStarted ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
148
|
-
createVNode(_component_n8n_tooltip, { placement: "top" }, {
|
|
149
|
-
content: withCtx(() => [
|
|
150
|
-
createBaseVNode("div", {
|
|
151
|
-
onClick: _cache[0] || (_cache[0] = (...args) => _ctx.displayActivationError && _ctx.displayActivationError(...args)),
|
|
152
|
-
innerHTML: _ctx.$locale.baseText("workflowActivator.theWorkflowIsSetToBeActiveBut")
|
|
153
|
-
}, null, 8, _hoisted_3)
|
|
154
|
-
]),
|
|
155
|
-
default: withCtx(() => [
|
|
156
|
-
createVNode(_component_font_awesome_icon, {
|
|
157
|
-
icon: "exclamation-triangle",
|
|
158
|
-
onClick: _ctx.displayActivationError
|
|
159
|
-
}, null, 8, ["onClick"])
|
|
160
|
-
]),
|
|
161
|
-
_: 1
|
|
162
|
-
})
|
|
163
|
-
])) : createCommentVNode("", true)
|
|
164
|
-
]);
|
|
165
|
-
}
|
|
166
|
-
const cssModules = {
|
|
167
|
-
"$style": style0
|
|
168
|
-
};
|
|
169
|
-
const WorkflowActivator = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules], ["__scopeId", "data-v-e3b4fb0e"]]);
|
|
170
|
-
export {
|
|
171
|
-
WorkflowActivator as W
|
|
172
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./n8n-CwcFEeof.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./n8n-CwcFEeof.js";
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|