n8n-editor-ui 1.66.0 → 1.68.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.
Files changed (110) hide show
  1. package/dist/assets/{AuthView-31vu0x_3.js → AuthView-C7b2xzS9.js} +17 -19
  2. package/dist/assets/CanvasChat-DKeWqqZz.css +730 -0
  3. package/dist/assets/CanvasChat-QctJb8ta.js +4166 -0
  4. package/dist/assets/{CanvasControls-DkT1iClJ.js → CanvasControls-raoYims4.js} +1 -1
  5. package/dist/assets/{ChangePasswordView-DkhZAh4j.js → ChangePasswordView-BBju88Nm.js} +2 -2
  6. package/dist/assets/CollectionParameter-DNJAimAt.js +4 -0
  7. package/dist/assets/{CredentialsView-Du-lMwPW.js → CredentialsView-BfYXjOVw.js} +11 -10
  8. package/dist/assets/{ErrorView-CROJIl1H.js → ErrorView-BhPrjw7c.js} +1 -1
  9. package/dist/assets/{ExecutionsFilter-BecTg03r.css → ExecutionsTime-DVxRt-Pz.css} +6 -6
  10. package/dist/assets/{ExecutionsFilter-132FKb5o.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-Ba-at9rw.js} +43 -43
  11. package/dist/assets/{ExecutionsView-B41cgHPD.js → ExecutionsView-Dcw07XZ-.js} +26 -31
  12. package/dist/assets/{ExecutionsView-Dfy6JMwb.css → ExecutionsView-DlxsqdiC.css} +44 -38
  13. package/dist/assets/{FileSaver.min-B3lWZPMp.js → FileSaver.min-CKlTVpWB.js} +1 -1
  14. package/dist/assets/FixedCollectionParameter-CkI6mCZG.js +334 -0
  15. package/dist/assets/{FixedCollectionParameter-fI2wTyfY.css → FixedCollectionParameter-DzOGMEdq.css} +10 -10
  16. package/dist/assets/{ForgotMyPasswordView-DKrE7dUn.js → ForgotMyPasswordView--eKPrTSW.js} +4 -3
  17. package/dist/assets/{MainHeader-CW31WCmm.js → MainHeader-Btek9DoL.js} +195 -118
  18. package/dist/assets/{MainHeader-Bc5G9_Uq.css → MainHeader-DJdd17Nh.css} +36 -11
  19. package/dist/assets/{MainSidebar-cNW0UJBC.css → MainSidebar-BRYJRpOA.css} +2 -2
  20. package/dist/assets/{MainSidebar-Dny90RtO.js → MainSidebar-CRjg4yDv.js} +7 -13
  21. package/dist/assets/{NodeCreation-BqSkxffS.js → NodeCreation-CDpNw3BL.js} +14 -11
  22. package/dist/assets/{NodeCreator-CoqcSKC-.js → NodeCreator-DPpQXLHf.js} +79 -65
  23. package/dist/assets/{NodeViewSwitcher-C1Gp-jKb.js → NodeViewSwitcher-CNfOOUof.js} +2891 -2905
  24. package/dist/assets/{NodeViewSwitcher-B8VPj4Rs.css → NodeViewSwitcher-DuVIKqpm.css} +185 -184
  25. package/dist/assets/{ProjectCardBadge-kHyKG50e.js → ProjectCardBadge-DzaTsr93.js} +1 -1
  26. package/dist/assets/{ResourceListHeader-DgE1VPUF.css → ProjectHeader-09VQWBZH.css} +5 -3
  27. package/dist/assets/ProjectHeader-wdvHJxbT.js +196 -0
  28. package/dist/assets/{ProjectSettings-BohhQ-z6.js → ProjectSettings-B6j0VJK5.js} +7 -36
  29. package/dist/assets/PushConnectionTracker.vue_vue_type_script_setup_true_lang-ByoMju5L.js +39 -0
  30. package/dist/assets/ResourcesListLayout-9Vpyt6Ec.js +662 -0
  31. package/dist/assets/{ResourcesListLayout-Bw99IFlO.css → ResourcesListLayout-CuA8O7do.css} +8 -8
  32. package/dist/assets/{RunDataJson-CUsbBWaI.js → RunDataJson-sPhT7c2h.js} +12 -12
  33. package/dist/assets/{RunDataJsonActions-Bnn0o9WH.js → RunDataJsonActions-DiMvLis_.js} +128 -159
  34. package/dist/assets/{RunDataSearch-BiygytJ8.js → RunDataSearch-CF_rpBKx.js} +2 -2
  35. package/dist/assets/RunDataTable-T52TXUHR.js +564 -0
  36. package/dist/assets/{SamlOnboarding-BXYS2fQg.js → SamlOnboarding-BCn53xtf.js} +2 -2
  37. package/dist/assets/SettingsApiView-DumvK072.js +227 -0
  38. package/dist/assets/{SettingsCommunityNodesView-BjakfOB1.js → SettingsCommunityNodesView-Db787Jar.js} +185 -195
  39. package/dist/assets/{SettingsExternalSecrets-BGIt9OQy.js → SettingsExternalSecrets-DKB2o2Dq.js} +3 -3
  40. package/dist/assets/{SettingsLdapView-DBY4YyYE.js → SettingsLdapView-BoKoCT5V.js} +3 -3
  41. package/dist/assets/SettingsLogStreamingView-BGX39Unz.js +500 -0
  42. package/dist/assets/{SettingsPersonalView-CgzznKXi.js → SettingsPersonalView-fTCeSJfu.js} +1 -1
  43. package/dist/assets/{SettingsSourceControl-DNWFyNrX.js → SettingsSourceControl-_G83P363.js} +3 -3
  44. package/dist/assets/{SettingsSso-B8oke872.js → SettingsSso-Bn48qAiX.js} +3 -3
  45. package/dist/assets/{SettingsUsageAndPlan-BUUYApK_.js → SettingsUsageAndPlan-DZkS0RP4.js} +4 -3
  46. package/dist/assets/{SettingsUsageAndPlan-P6SS2mWq.css → SettingsUsageAndPlan-vijI-va0.css} +3 -3
  47. package/dist/assets/{SettingsUsersView-DyuP8V6k.js → SettingsUsersView-BUh2iKEW.js} +4 -3
  48. package/dist/assets/{SettingsView-CD83Adan.js → SettingsView-D_S4x7XG.js} +2 -30
  49. package/dist/assets/{SetupView-C8XYMj2N.js → SetupView-BenKVU0l.js} +2 -2
  50. package/dist/assets/{SetupWorkflowCredentialsButton-u1qhjj5K.js → SetupWorkflowCredentialsButton-DKr9ZPLE.js} +1 -1
  51. package/dist/assets/{SetupWorkflowFromTemplateView-DdxqCGcl.js → SetupWorkflowFromTemplateView-Ce1R_CDh.js} +3 -3
  52. package/dist/assets/{SigninView-CGQ20O_c.js → SigninView-xl5aJqka.js} +4 -3
  53. package/dist/assets/{SignoutView-BZwBBglt.js → SignoutView-Bscz6u1Y.js} +1 -1
  54. package/dist/assets/{SignupView-BCT6dhhZ.js → SignupView-CZN8EhJV.js} +4 -3
  55. package/dist/assets/TemplateDetails-BAQ3vBNJ.js +179 -0
  56. package/dist/assets/TemplateList-DD7sqnpI.js +371 -0
  57. package/dist/assets/{TemplatesCollectionView-BxBSljqH.js → TemplatesCollectionView-CG3ZoY8i.js} +10 -10
  58. package/dist/assets/{TemplatesSearchView-kFcPH-ZH.js → TemplatesSearchView-22jrqI8X.js} +530 -577
  59. package/dist/assets/{TemplatesView-TPTpSdeD.js → TemplatesView-BZFc4hZ1.js} +32 -37
  60. package/dist/assets/{TemplatesWorkflowView-8NdGLWj7.js → TemplatesWorkflowView-DkXtdhUJ.js} +5 -5
  61. package/dist/assets/{VariablesView-CHXdt5-z.css → VariablesView-BPKo50HJ.css} +18 -18
  62. package/dist/assets/{VariablesView-C1NxBxBQ.js → VariablesView-DHu4ZoMN.js} +5 -5
  63. package/dist/assets/WorkerView-BfxdQiAc.js +148 -0
  64. package/dist/assets/WorkerView-Dm0b18Mh.css +22 -0
  65. package/dist/assets/{WorkflowActivator-CalsATsI.js → WorkflowActivator-CvdQVEtW.js} +2 -2
  66. package/dist/assets/{WorkflowExecutionsInfoAccordion-rUnvuY-5.js → WorkflowExecutionsInfoAccordion-D2GFnpq1.js} +1 -1
  67. package/dist/assets/{WorkflowExecutionsLandingPage-C4K7kfqv.js → WorkflowExecutionsLandingPage-D2bvAsxg.js} +2 -2
  68. package/dist/assets/{WorkflowExecutionsPreview-BO31AO7v.js → WorkflowExecutionsPreview-D6WBsbAG.js} +5 -5
  69. package/dist/assets/{WorkflowExecutionsView-B8x2-iOd.css → WorkflowExecutionsView-CZKkPKqJ.css} +9 -1
  70. package/dist/assets/{WorkflowExecutionsView-B-5zbx_n.js → WorkflowExecutionsView-DI6r5OvZ.js} +6 -6
  71. package/dist/assets/{WorkflowHistory-uvlFDwTJ.js → WorkflowHistory-Dc1f2Tsn.js} +5 -4
  72. package/dist/assets/{WorkflowOnboardingView-B869wGVb.js → WorkflowOnboardingView-DyxvWfZ7.js} +1 -1
  73. package/dist/assets/{WorkflowPreview-BlzWpiO1.js → WorkflowPreview-hC6wSe-Y.js} +1 -1
  74. package/dist/assets/{WorkflowsView-IdgMnIZY.js → WorkflowsView-SIDgO47b.js} +10 -10
  75. package/dist/assets/buttons.esm-BOkmSohe.js +477 -0
  76. package/dist/assets/{dateFormatter-BCrxaIdG.js → dateFormatter-BRi2wSZ-.js} +1 -1
  77. package/dist/assets/{index-QAq8Sa9R.js → index-40I5DMGP.js} +196843 -202970
  78. package/dist/assets/{index-DaeOVPzE.css → index-Dr3zFZlC.css} +136 -594
  79. package/dist/assets/{pushConnection.store-Cdssd0uJ.js → pushConnection.store-w_WxpOeH.js} +1 -1
  80. package/dist/assets/{templateActions-ClPy1BRa.js → templateActions-D4EHdA9n.js} +1 -1
  81. package/dist/assets/{useBugReporting-Bvr7bSQt.js → useBugReporting-CFOQlQpP.js} +1 -1
  82. package/dist/assets/{useExecutionDebugging-CwyVwJqO.js → useExecutionDebugging-LQQWXhPj.js} +3 -2
  83. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CYMqjryg.js → useExecutionHelpers-CXGl_HIp.js} +55 -55
  84. package/dist/assets/{useNodeViewVersionSwitcher-BPNKvsXw.js → useNodeViewVersionSwitcher-BLo5Qp-N.js} +1 -1
  85. package/dist/assets/{usePushConnection-DDXmzoG8.js → usePushConnection-B5ija5f5.js} +9 -10
  86. package/dist/assets/{RunDataAi-x30tU8-0.css → useRunWorkflow-DH7ZzA8t.css} +97 -57
  87. package/dist/assets/useRunWorkflow-MrEKURG4.js +3710 -0
  88. package/dist/assets/{useWorkflowActivate-DKPQP7qy.js → useWorkflowActivate-CKedJlgZ.js} +1 -1
  89. package/dist/index.html +3 -2
  90. package/index.html +1 -0
  91. package/package.json +1 -1
  92. package/vite.config.mts +1 -17
  93. package/dist/assets/CollectionParameter-BDKfoIMJ.js +0 -4
  94. package/dist/assets/FixedCollectionParameter-DXh-j7zB.js +0 -355
  95. package/dist/assets/ProjectTabs-D-87NPFl.js +0 -88
  96. package/dist/assets/ProjectTabs-DjoIePoM.css +0 -3
  97. package/dist/assets/PushConnectionTracker-Bhnghrmf.js +0 -38
  98. package/dist/assets/ResourceListHeader-Bs6GLg32.js +0 -66
  99. package/dist/assets/ResourcesListLayout-ByBNP70B.js +0 -800
  100. package/dist/assets/RunDataAi-CYTNyRq_.js +0 -1539
  101. package/dist/assets/RunDataTable--RIqj8DU.js +0 -608
  102. package/dist/assets/SettingsApiView-DoibCiLo.js +0 -255
  103. package/dist/assets/SettingsFakeDoorView-DpKZ4qWG.css +0 -14
  104. package/dist/assets/SettingsFakeDoorView-DwXDXgon.js +0 -44
  105. package/dist/assets/SettingsLogStreamingView-DHQWns6I.js +0 -519
  106. package/dist/assets/TemplateDetails-BsLVCpdi.js +0 -199
  107. package/dist/assets/TemplateList-Bn7ePHhc.js +0 -433
  108. package/dist/assets/WorkerView-Bj1cvzLg.js +0 -825
  109. package/dist/assets/WorkerView-C_d54L0W.css +0 -181
  110. package/dist/assets/cloud-B6bxVT9F.js +0 -37
@@ -1,4 +1,4 @@
1
- import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, aF as useExternalHooks, az as useStorage, is as LOCAL_STORAGE_ACTIVATION_FLAG, it as WORKFLOW_ACTIVE_MODAL_KEY, aj as useTelemetry, g as useI18n } from "./index-QAq8Sa9R.js";
1
+ import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, aK as useExternalHooks, aE as useStorage, j0 as LOCAL_STORAGE_ACTIVATION_FLAG, j1 as WORKFLOW_ACTIVE_MODAL_KEY, ak as useTelemetry, g as useI18n } from "./index-40I5DMGP.js";
2
2
  function useWorkflowActivate() {
3
3
  const updatingWorkflowActivation = ref(false);
4
4
  const router = useRouter();
package/dist/index.html CHANGED
@@ -5,6 +5,7 @@
5
5
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
6
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
7
  <link rel="icon" href="/{{BASE_PATH}}/favicon.ico" />
8
+ <style>@media (prefers-color-scheme: dark) { body { background-color: rgb(45, 46, 46) } }</style>
8
9
  <script type="text/javascript">
9
10
  window.BASE_PATH = '/{{BASE_PATH}}/';
10
11
  window.REST_ENDPOINT = '{{REST_ENDPOINT}}';
@@ -13,8 +14,8 @@
13
14
  <script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
14
15
 
15
16
  <title>n8n.io - Workflow Automation</title>
16
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-QAq8Sa9R.js"></script>
17
- <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-DaeOVPzE.css">
17
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-40I5DMGP.js"></script>
18
+ <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-Dr3zFZlC.css">
18
19
  </head>
19
20
  <body>
20
21
  <noscript>
package/index.html CHANGED
@@ -5,6 +5,7 @@
5
5
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
6
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
7
  <link rel="icon" href="/favicon.ico" />
8
+ <style>@media (prefers-color-scheme: dark) { body { background-color: rgb(45, 46, 46) } }</style>
8
9
  <script type="text/javascript">
9
10
  window.BASE_PATH = '/{{BASE_PATH}}/';
10
11
  window.REST_ENDPOINT = '{{REST_ENDPOINT}}';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.66.0",
3
+ "version": "1.68.0",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
package/vite.config.mts CHANGED
@@ -1,7 +1,6 @@
1
1
  import vue from '@vitejs/plugin-vue';
2
2
  import { resolve } from 'path';
3
3
  import { defineConfig, mergeConfig } from 'vite';
4
- import { sentryVitePlugin } from '@sentry/vite-plugin';
5
4
 
6
5
  import { vitestConfig } from '../design-system/vite.config.mts';
7
6
  import icons from 'unplugin-icons/vite';
@@ -57,22 +56,7 @@ const plugins = [
57
56
  vue(),
58
57
  ];
59
58
 
60
- const { SENTRY_AUTH_TOKEN: authToken, RELEASE: release } = process.env;
61
- if (release && authToken) {
62
- plugins.push(
63
- sentryVitePlugin({
64
- org: 'n8nio',
65
- project: 'instance-frontend',
66
- // Auth tokens can be obtained from https://sentry.io/settings/account/api/auth-tokens/
67
- // and needs the `project:releases` and `org:read` scopes
68
- authToken,
69
- telemetry: false,
70
- release: {
71
- name: release,
72
- },
73
- }),
74
- );
75
- }
59
+ const { RELEASE: release } = process.env;
76
60
 
77
61
  export default mergeConfig(
78
62
  defineConfig({
@@ -1,4 +0,0 @@
1
- import { j3 as _sfc_main } from "./index-QAq8Sa9R.js";
2
- export {
3
- _sfc_main as default
4
- };
@@ -1,355 +0,0 @@
1
- import { d as defineComponent, dK as isINodePropertyCollectionList, dF as deepCopy, dD as get, _ as _export_sfc, l as resolveComponent, c as openBlock, h as createElementBlock, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, f as createCommentVNode, F as Fragment, z as renderList, e as createBlock, j as createBaseVNode, aS as Suspense, n as normalizeClass, I as withModifiers, dz as _sfc_main$1 } from "./index-QAq8Sa9R.js";
2
- const _sfc_main = defineComponent({
3
- name: "FixedCollectionParameter",
4
- props: {
5
- nodeValues: {
6
- type: Object,
7
- required: true
8
- },
9
- parameter: {
10
- type: Object,
11
- required: true
12
- },
13
- path: {
14
- type: String,
15
- required: true
16
- },
17
- values: {
18
- type: Object,
19
- default: () => ({})
20
- },
21
- isReadOnly: {
22
- type: Boolean,
23
- default: false
24
- }
25
- },
26
- data() {
27
- return {
28
- selectedOption: void 0,
29
- mutableValues: {}
30
- };
31
- },
32
- computed: {
33
- getPlaceholderText() {
34
- const placeholder = this.$locale.nodeText().placeholder(this.parameter, this.path);
35
- return placeholder ? placeholder : this.$locale.baseText("fixedCollectionParameter.choose");
36
- },
37
- getProperties() {
38
- const returnProperties = [];
39
- let tempProperties;
40
- for (const name of this.propertyNames) {
41
- tempProperties = this.getOptionProperties(name);
42
- if (tempProperties !== void 0) {
43
- returnProperties.push(tempProperties);
44
- }
45
- }
46
- return returnProperties;
47
- },
48
- multipleValues() {
49
- var _a;
50
- return !!((_a = this.parameter.typeOptions) == null ? void 0 : _a.multipleValues);
51
- },
52
- parameterOptions() {
53
- if (this.multipleValues && isINodePropertyCollectionList(this.parameter.options)) {
54
- return this.parameter.options;
55
- }
56
- return this.parameter.options.filter((option) => {
57
- return !this.propertyNames.includes(option.name);
58
- });
59
- },
60
- propertyNames() {
61
- return Object.keys(this.mutableValues || {});
62
- },
63
- sortable() {
64
- var _a;
65
- return !!((_a = this.parameter.typeOptions) == null ? void 0 : _a.sortable);
66
- }
67
- },
68
- watch: {
69
- values: {
70
- handler(newValues) {
71
- this.mutableValues = deepCopy(newValues);
72
- },
73
- deep: true
74
- }
75
- },
76
- created() {
77
- this.mutableValues = deepCopy(this.values);
78
- },
79
- methods: {
80
- deleteOption(optionName, index) {
81
- const currentOptionsOfSameType = this.mutableValues[optionName];
82
- if (!currentOptionsOfSameType || currentOptionsOfSameType.length > 1) {
83
- this.$emit("valueChanged", {
84
- name: this.getPropertyPath(optionName, index),
85
- value: void 0
86
- });
87
- } else {
88
- this.$emit("valueChanged", {
89
- name: this.getPropertyPath(optionName),
90
- value: void 0
91
- });
92
- }
93
- },
94
- getPropertyPath(name, index) {
95
- return `${this.path}.${name}` + (index !== void 0 ? `[${index}]` : "");
96
- },
97
- getOptionProperties(optionName) {
98
- if (isINodePropertyCollectionList(this.parameter.options)) {
99
- for (const option of this.parameter.options) {
100
- if (option.name === optionName) {
101
- return option;
102
- }
103
- }
104
- }
105
- return void 0;
106
- },
107
- moveOptionDown(optionName, index) {
108
- if (Array.isArray(this.mutableValues[optionName])) {
109
- this.mutableValues[optionName].splice(
110
- index + 1,
111
- 0,
112
- this.mutableValues[optionName].splice(index, 1)[0]
113
- );
114
- }
115
- const parameterData = {
116
- name: this.getPropertyPath(optionName),
117
- value: this.mutableValues[optionName],
118
- type: "optionsOrderChanged"
119
- };
120
- this.$emit("valueChanged", parameterData);
121
- },
122
- moveOptionUp(optionName, index) {
123
- var _a;
124
- if (Array.isArray(this.mutableValues[optionName])) {
125
- (_a = this.mutableValues) == null ? void 0 : _a[optionName].splice(
126
- index - 1,
127
- 0,
128
- this.mutableValues[optionName].splice(index, 1)[0]
129
- );
130
- }
131
- const parameterData = {
132
- name: this.getPropertyPath(optionName),
133
- value: this.mutableValues[optionName],
134
- type: "optionsOrderChanged"
135
- };
136
- this.$emit("valueChanged", parameterData);
137
- },
138
- optionSelected(optionName) {
139
- const option = this.getOptionProperties(optionName);
140
- if (option === void 0) {
141
- return;
142
- }
143
- const name = `${this.path}.${option.name}`;
144
- const newParameterValue = {};
145
- for (const optionParameter of option.values) {
146
- if (optionParameter.type === "fixedCollection" && optionParameter.typeOptions !== void 0 && optionParameter.typeOptions.multipleValues === true) {
147
- newParameterValue[optionParameter.name] = {};
148
- } else if (optionParameter.typeOptions !== void 0 && optionParameter.typeOptions.multipleValues === true) {
149
- const multiValue = get(this.nodeValues, [this.path, optionParameter.name], []);
150
- if (Array.isArray(optionParameter.default)) {
151
- multiValue.push(...deepCopy(optionParameter.default));
152
- } else if (optionParameter.default !== "" && typeof optionParameter.default !== "object") {
153
- multiValue.push(deepCopy(optionParameter.default));
154
- }
155
- newParameterValue[optionParameter.name] = multiValue;
156
- } else {
157
- newParameterValue[optionParameter.name] = deepCopy(optionParameter.default);
158
- }
159
- }
160
- let newValue;
161
- if (this.multipleValues) {
162
- newValue = get(this.nodeValues, name, []);
163
- newValue.push(newParameterValue);
164
- } else {
165
- newValue = newParameterValue;
166
- }
167
- const parameterData = {
168
- name,
169
- value: newValue
170
- };
171
- this.$emit("valueChanged", parameterData);
172
- this.selectedOption = void 0;
173
- },
174
- valueChanged(parameterData) {
175
- this.$emit("valueChanged", parameterData);
176
- }
177
- }
178
- });
179
- const _hoisted_1 = ["data-test-id"];
180
- const _hoisted_2 = {
181
- key: 0,
182
- class: "no-items-exist"
183
- };
184
- const _hoisted_3 = { key: 1 };
185
- const _hoisted_4 = {
186
- key: 0,
187
- class: "delete-option"
188
- };
189
- const _hoisted_5 = {
190
- key: 2,
191
- class: "parameter-item"
192
- };
193
- const _hoisted_6 = { class: "parameter-item-wrapper" };
194
- const _hoisted_7 = {
195
- key: 0,
196
- class: "delete-option"
197
- };
198
- const _hoisted_8 = {
199
- key: 1,
200
- class: "controls"
201
- };
202
- const _hoisted_9 = {
203
- key: 1,
204
- class: "add-option"
205
- };
206
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
207
- const _component_n8n_text = resolveComponent("n8n-text");
208
- const _component_n8n_input_label = resolveComponent("n8n-input-label");
209
- const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
210
- const _component_ParameterInputList = _sfc_main$1;
211
- const _component_n8n_button = resolveComponent("n8n-button");
212
- const _component_n8n_option = resolveComponent("n8n-option");
213
- const _component_n8n_select = resolveComponent("n8n-select");
214
- return openBlock(), createElementBlock("div", {
215
- class: "fixed-collection-parameter",
216
- "data-test-id": `fixed-collection-${_ctx.parameter.name}`,
217
- onKeydown: _cache[2] || (_cache[2] = withModifiers(() => {
218
- }, ["stop"]))
219
- }, [
220
- _ctx.getProperties.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_2, [
221
- createVNode(_component_n8n_text, { size: "small" }, {
222
- default: withCtx(() => [
223
- createTextVNode(toDisplayString(_ctx.$locale.baseText("fixedCollectionParameter.currentlyNoItemsExist")), 1)
224
- ]),
225
- _: 1
226
- })
227
- ])) : createCommentVNode("", true),
228
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.getProperties, (property) => {
229
- return openBlock(), createElementBlock("div", {
230
- key: property.name,
231
- class: "fixed-collection-parameter-property"
232
- }, [
233
- property.displayName !== "" && _ctx.parameter.options && _ctx.parameter.options.length !== 1 ? (openBlock(), createBlock(_component_n8n_input_label, {
234
- key: 0,
235
- label: _ctx.$locale.nodeText().inputLabelDisplayName(property, _ctx.path),
236
- underline: true,
237
- size: "small",
238
- color: "text-dark"
239
- }, null, 8, ["label"])) : createCommentVNode("", true),
240
- _ctx.multipleValues ? (openBlock(), createElementBlock("div", _hoisted_3, [
241
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.mutableValues[property.name], (_, index) => {
242
- return openBlock(), createElementBlock("div", {
243
- key: property.name + index,
244
- class: "parameter-item"
245
- }, [
246
- createBaseVNode("div", {
247
- class: normalizeClass(index ? "border-top-dashed parameter-item-wrapper " : "parameter-item-wrapper")
248
- }, [
249
- !_ctx.isReadOnly ? (openBlock(), createElementBlock("div", _hoisted_4, [
250
- createVNode(_component_n8n_icon_button, {
251
- type: "tertiary",
252
- text: "",
253
- size: "mini",
254
- icon: "trash",
255
- title: _ctx.$locale.baseText("fixedCollectionParameter.deleteItem"),
256
- onClick: ($event) => _ctx.deleteOption(property.name, index)
257
- }, null, 8, ["title", "onClick"]),
258
- _ctx.sortable && index !== 0 ? (openBlock(), createBlock(_component_n8n_icon_button, {
259
- key: 0,
260
- type: "tertiary",
261
- text: "",
262
- size: "mini",
263
- icon: "angle-up",
264
- title: _ctx.$locale.baseText("fixedCollectionParameter.moveUp"),
265
- onClick: ($event) => _ctx.moveOptionUp(property.name, index)
266
- }, null, 8, ["title", "onClick"])) : createCommentVNode("", true),
267
- _ctx.sortable && index !== _ctx.mutableValues[property.name].length - 1 ? (openBlock(), createBlock(_component_n8n_icon_button, {
268
- key: 1,
269
- type: "tertiary",
270
- text: "",
271
- size: "mini",
272
- icon: "angle-down",
273
- title: _ctx.$locale.baseText("fixedCollectionParameter.moveDown"),
274
- onClick: ($event) => _ctx.moveOptionDown(property.name, index)
275
- }, null, 8, ["title", "onClick"])) : createCommentVNode("", true)
276
- ])) : createCommentVNode("", true),
277
- (openBlock(), createBlock(Suspense, null, {
278
- default: withCtx(() => [
279
- createVNode(_component_ParameterInputList, {
280
- parameters: property.values,
281
- "node-values": _ctx.nodeValues,
282
- path: _ctx.getPropertyPath(property.name, index),
283
- "hide-delete": true,
284
- "is-read-only": _ctx.isReadOnly,
285
- onValueChanged: _ctx.valueChanged
286
- }, null, 8, ["parameters", "node-values", "path", "is-read-only", "onValueChanged"])
287
- ]),
288
- _: 2
289
- }, 1024))
290
- ], 2)
291
- ]);
292
- }), 128))
293
- ])) : (openBlock(), createElementBlock("div", _hoisted_5, [
294
- createBaseVNode("div", _hoisted_6, [
295
- !_ctx.isReadOnly ? (openBlock(), createElementBlock("div", _hoisted_7, [
296
- createVNode(_component_n8n_icon_button, {
297
- type: "tertiary",
298
- text: "",
299
- size: "mini",
300
- icon: "trash",
301
- title: _ctx.$locale.baseText("fixedCollectionParameter.deleteItem"),
302
- onClick: ($event) => _ctx.deleteOption(property.name)
303
- }, null, 8, ["title", "onClick"])
304
- ])) : createCommentVNode("", true),
305
- createVNode(_component_ParameterInputList, {
306
- parameters: property.values,
307
- "node-values": _ctx.nodeValues,
308
- path: _ctx.getPropertyPath(property.name),
309
- "is-read-only": _ctx.isReadOnly,
310
- class: "parameter-item",
311
- "hide-delete": true,
312
- onValueChanged: _ctx.valueChanged
313
- }, null, 8, ["parameters", "node-values", "path", "is-read-only", "onValueChanged"])
314
- ])
315
- ]))
316
- ]);
317
- }), 128)),
318
- _ctx.parameterOptions.length > 0 && !_ctx.isReadOnly ? (openBlock(), createElementBlock("div", _hoisted_8, [
319
- _ctx.parameter.options && _ctx.parameter.options.length === 1 ? (openBlock(), createBlock(_component_n8n_button, {
320
- key: 0,
321
- type: "tertiary",
322
- block: "",
323
- "data-test-id": "fixed-collection-add",
324
- label: _ctx.getPlaceholderText,
325
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.optionSelected(_ctx.parameter.options[0].name))
326
- }, null, 8, ["label"])) : (openBlock(), createElementBlock("div", _hoisted_9, [
327
- createVNode(_component_n8n_select, {
328
- modelValue: _ctx.selectedOption,
329
- "onUpdate:modelValue": [
330
- _cache[1] || (_cache[1] = ($event) => _ctx.selectedOption = $event),
331
- _ctx.optionSelected
332
- ],
333
- placeholder: _ctx.getPlaceholderText,
334
- size: "small",
335
- filterable: ""
336
- }, {
337
- default: withCtx(() => [
338
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.parameterOptions, (item) => {
339
- return openBlock(), createBlock(_component_n8n_option, {
340
- key: item.name,
341
- label: _ctx.$locale.nodeText().collectionOptionDisplayName(_ctx.parameter, item, _ctx.path),
342
- value: item.name
343
- }, null, 8, ["label", "value"]);
344
- }), 128))
345
- ]),
346
- _: 1
347
- }, 8, ["modelValue", "placeholder", "onUpdate:modelValue"])
348
- ]))
349
- ])) : createCommentVNode("", true)
350
- ], 40, _hoisted_1);
351
- }
352
- const FixedCollectionParameter = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-f59887d3"]]);
353
- export {
354
- FixedCollectionParameter as default
355
- };
@@ -1,88 +0,0 @@
1
- import { d as defineComponent, U as useRoute, a1 as useProjectsStore, r as ref, p as computed, H as watch, c as openBlock, h as createElementBlock, i as createVNode, n as normalizeClass, l as resolveComponent, al as getResourcePermissions, V as VIEWS, dA as ProjectTypes, g as useI18n, _ as _export_sfc } from "./index-QAq8Sa9R.js";
2
- const _sfc_main = /* @__PURE__ */ defineComponent({
3
- __name: "ProjectTabs",
4
- setup(__props) {
5
- const locale = useI18n();
6
- const route = useRoute();
7
- const projectsStore = useProjectsStore();
8
- const selectedTab = ref("");
9
- const projectPermissions = computed(
10
- () => {
11
- var _a;
12
- return getResourcePermissions((_a = projectsStore.currentProject) == null ? void 0 : _a.scopes).project;
13
- }
14
- );
15
- const options = computed(() => {
16
- var _a, _b;
17
- const projectId = (_a = route == null ? void 0 : route.params) == null ? void 0 : _a.projectId;
18
- const to = projectId ? {
19
- workflows: {
20
- name: VIEWS.PROJECTS_WORKFLOWS,
21
- params: { projectId }
22
- },
23
- credentials: {
24
- name: VIEWS.PROJECTS_CREDENTIALS,
25
- params: { projectId }
26
- }
27
- } : {
28
- workflows: {
29
- name: VIEWS.WORKFLOWS
30
- },
31
- credentials: {
32
- name: VIEWS.CREDENTIALS
33
- }
34
- };
35
- const tabs = [
36
- {
37
- label: locale.baseText("mainSidebar.workflows"),
38
- value: to.workflows.name,
39
- to: to.workflows
40
- },
41
- {
42
- label: locale.baseText("mainSidebar.credentials"),
43
- value: to.credentials.name,
44
- to: to.credentials
45
- }
46
- ];
47
- if (projectId && projectPermissions.value.update && ((_b = projectsStore.currentProject) == null ? void 0 : _b.type) === ProjectTypes.Team) {
48
- tabs.push({
49
- label: locale.baseText("projects.settings"),
50
- value: VIEWS.PROJECT_SETTINGS,
51
- to: { name: VIEWS.PROJECT_SETTINGS, params: { projectId } }
52
- });
53
- }
54
- return tabs;
55
- });
56
- watch(
57
- () => route == null ? void 0 : route.name,
58
- () => {
59
- selectedTab.value = route == null ? void 0 : route.name;
60
- },
61
- { immediate: true }
62
- );
63
- return (_ctx, _cache) => {
64
- const _component_N8nTabs = resolveComponent("N8nTabs");
65
- return openBlock(), createElementBlock("div", {
66
- class: normalizeClass(_ctx.$style.projectTabs)
67
- }, [
68
- createVNode(_component_N8nTabs, {
69
- modelValue: selectedTab.value,
70
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedTab.value = $event),
71
- options: options.value,
72
- "data-test-id": "project-tabs"
73
- }, null, 8, ["modelValue", "options"])
74
- ], 2);
75
- };
76
- }
77
- });
78
- const projectTabs = "_projectTabs_1nw28_1";
79
- const style0 = {
80
- projectTabs
81
- };
82
- const cssModules = {
83
- "$style": style0
84
- };
85
- const ProjectTabs = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
86
- export {
87
- ProjectTabs as P
88
- };
@@ -1,3 +0,0 @@
1
- ._projectTabs_1nw28_1 {
2
- padding: var(--spacing-2xs) 0 var(--spacing-l);
3
- }
@@ -1,38 +0,0 @@
1
- import { d as defineComponent, e0 as mapStores, Z as useRootStore, _ as _export_sfc, c as openBlock, h as createElementBlock, i as createVNode, w as withCtx, ar as withDirectives, j as createBaseVNode, k as createTextVNode, t as toDisplayString, q as renderSlot, l as resolveComponent, c9 as resolveDirective } from "./index-QAq8Sa9R.js";
2
- const _sfc_main = defineComponent({
3
- name: "PushConnectionTracker",
4
- computed: {
5
- ...mapStores(useRootStore)
6
- }
7
- });
8
- const _hoisted_1 = {
9
- key: 0,
10
- class: "push-connection-lost primary-color"
11
- };
12
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
13
- const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
14
- const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
15
- const _directive_n8n_html = resolveDirective("n8n-html");
16
- return openBlock(), createElementBlock("span", null, [
17
- !_ctx.rootStore.pushConnectionActive ? (openBlock(), createElementBlock("div", _hoisted_1, [
18
- createVNode(_component_n8n_tooltip, { placement: "bottom-end" }, {
19
- content: withCtx(() => [
20
- withDirectives(createBaseVNode("div", null, null, 512), [
21
- [_directive_n8n_html, _ctx.$locale.baseText("pushConnectionTracker.cannotConnectToServer")]
22
- ])
23
- ]),
24
- default: withCtx(() => [
25
- createBaseVNode("span", null, [
26
- createVNode(_component_font_awesome_icon, { icon: "exclamation-triangle" }),
27
- createTextVNode("  " + toDisplayString(_ctx.$locale.baseText("pushConnectionTracker.connectionLost")), 1)
28
- ])
29
- ]),
30
- _: 1
31
- })
32
- ])) : renderSlot(_ctx.$slots, "default", { key: 1 })
33
- ]);
34
- }
35
- const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
36
- export {
37
- __unplugin_components_0 as _
38
- };
@@ -1,66 +0,0 @@
1
- import { d as defineComponent, c as openBlock, h as createElementBlock, j as createBaseVNode, i as createVNode, A as unref, iE as N8nIcon, n as normalizeClass, w as withCtx, q as renderSlot, i0 as N8nHeading, e as createBlock, iF as N8nText, f as createCommentVNode, _ as _export_sfc } from "./index-QAq8Sa9R.js";
2
- const _sfc_main = /* @__PURE__ */ defineComponent({
3
- __name: "ResourceListHeader",
4
- props: {
5
- icon: {}
6
- },
7
- setup(__props) {
8
- return (_ctx, _cache) => {
9
- return openBlock(), createElementBlock("div", {
10
- class: normalizeClass([_ctx.$style.workflowHeader])
11
- }, [
12
- createBaseVNode("div", {
13
- class: normalizeClass([_ctx.$style.icon])
14
- }, [
15
- createVNode(unref(N8nIcon), {
16
- icon: _ctx.icon,
17
- color: "text-light"
18
- }, null, 8, ["icon"])
19
- ], 2),
20
- createBaseVNode("div", null, [
21
- createVNode(unref(N8nHeading), {
22
- bold: "",
23
- tag: "h2",
24
- size: "xlarge"
25
- }, {
26
- default: withCtx(() => [
27
- renderSlot(_ctx.$slots, "title")
28
- ]),
29
- _: 3
30
- }),
31
- _ctx.$slots.subtitle ? (openBlock(), createBlock(unref(N8nText), {
32
- key: 0,
33
- size: "small",
34
- color: "text-light"
35
- }, {
36
- default: withCtx(() => [
37
- renderSlot(_ctx.$slots, "subtitle")
38
- ]),
39
- _: 3
40
- })) : createCommentVNode("", true)
41
- ]),
42
- _ctx.$slots.actions ? (openBlock(), createElementBlock("div", {
43
- key: 0,
44
- class: normalizeClass([_ctx.$style.actions])
45
- }, [
46
- renderSlot(_ctx.$slots, "actions")
47
- ], 2)) : createCommentVNode("", true)
48
- ], 2);
49
- };
50
- }
51
- });
52
- const workflowHeader = "_workflowHeader_3z0bo_1";
53
- const icon = "_icon_3z0bo_9";
54
- const actions = "_actions_3z0bo_15";
55
- const style0 = {
56
- workflowHeader,
57
- icon,
58
- actions
59
- };
60
- const cssModules = {
61
- "$style": style0
62
- };
63
- const ResourceListHeader = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
64
- export {
65
- ResourceListHeader as R
66
- };