n8n-editor-ui 1.97.1 → 1.98.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 (127) hide show
  1. package/dist/assets/{AnimatedSpinner-15ZZp0OO.js → AnimatedSpinner-CeafaU8r.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CrF4ktlo.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-B6tcMuMJ.js} +1 -1
  3. package/dist/assets/{AuthView-64US-Z-m.js → AuthView-DcxHdw3B.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-CaiSjHFG.css → AuthView-jgkkdJYL.css} +29 -90
  5. package/dist/assets/{ChangePasswordView-Y_vO8rQ4.js → ChangePasswordView-C-_Y-Wdn.js} +3 -3
  6. package/dist/assets/CollectionParameter-Dal7qnlG.js +4 -0
  7. package/dist/assets/{CredentialsView-B90NtMag.js → CredentialsView-B4AQUpNx.js} +7 -7
  8. package/dist/assets/DemoFooter-DV5GQmvM.js +22 -0
  9. package/dist/assets/{ErrorView-B5-OZKdh.js → ErrorView-OKh_lVSY.js} +1 -1
  10. package/dist/assets/{EvaluationsRootView-6cGJTYGC.js → EvaluationsRootView-D2dmekKB.js} +25 -18
  11. package/dist/assets/{EvaluationsView-DkIkcLrr.js → EvaluationsView-CKUqX-AI.js} +3 -3
  12. package/dist/assets/{ExecutionsTime--_6xBkkx.css → ExecutionsTime-BDLkVZem.css} +25 -17
  13. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-hCFNZKpq.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-C-Hx4KA-.js} +52 -15
  14. package/dist/assets/{ExecutionsView-cA-SzEOo.js → ExecutionsView-WztTT6H6.js} +8 -8
  15. package/dist/assets/{FileSaver.min-Bv-Q_h7m.js → FileSaver.min-sGd5mes-.js} +1 -1
  16. package/dist/assets/{FixedCollectionParameter-3cfdvUwK.js → FixedCollectionParameter-Cn2WDdQw.js} +2 -2
  17. package/dist/assets/{FixedCollectionParameter-CgLfAVkQ.css → FixedCollectionParameter-DjlaZyUQ.css} +18 -18
  18. package/dist/assets/{ForgotMyPasswordView-Cv7uhij6.js → ForgotMyPasswordView-DxQoCGIP.js} +3 -3
  19. package/dist/assets/{InsightsChartAverageRuntime-Cr7taDDn.js → InsightsChartAverageRuntime-CB5N_io5.js} +4 -4
  20. package/dist/assets/{InsightsChartFailed-Cm5FrmfQ.js → InsightsChartFailed-Y-mbC7CD.js} +4 -4
  21. package/dist/assets/{InsightsChartFailureRate-Ci-cBou0.js → InsightsChartFailureRate-6zPSfC-G.js} +4 -4
  22. package/dist/assets/{InsightsChartTimeSaved-CMBBA9I4.js → InsightsChartTimeSaved-Bih3Ry4R.js} +4 -4
  23. package/dist/assets/{InsightsChartTotal-Dxn2bjBB.js → InsightsChartTotal-N-9xWBIy.js} +4 -4
  24. package/dist/assets/{InsightsDashboard-BvqZMhnh.js → InsightsDashboard-DN5PbVTp.js} +10 -10
  25. package/dist/assets/{InsightsPaywall-4Vl-4bws.js → InsightsPaywall-CV34iKyQ.js} +1 -1
  26. package/dist/assets/{InsightsSummary-CTzqNpAf.js → InsightsSummary-b-sHA8wL.js} +1 -1
  27. package/dist/assets/{InsightsTableWorkflows-DgCECSSh.js → InsightsTableWorkflows-Cz3GFggF.js} +2 -2
  28. package/dist/assets/{Logo-B8GIjJ79.js → Logo-CTlaJzVH.js} +1 -1
  29. package/dist/assets/{LogsPanel-D7j-yJQx.css → LogsPanel-DVSP-ORT.css} +896 -896
  30. package/dist/assets/{LogsPanel-CsNXIuce.js → LogsPanel-Dfj2Ol1s.js} +4768 -4594
  31. package/dist/assets/{MainHeader-B2RGao3U.js → MainHeader-BHGtRsRJ.js} +84 -94
  32. package/dist/assets/{MainHeader-CGwvFs2B.css → MainHeader-BRl77CT3.css} +27 -26
  33. package/dist/assets/{MainSidebar-E0ePOcg-.js → MainSidebar-BGXtPjO-.js} +32 -20
  34. package/dist/assets/{NodeCreation-B6jElzI2.js → NodeCreation-DfKAwFJq.js} +3 -3
  35. package/dist/assets/{NodeCreator-Bd2BI_OU.js → NodeCreator-D1mNPRWq.js} +20 -5
  36. package/dist/assets/{NodeDetailsView-BLMLHNQw.js → NodeDetailsView-DIo1g1iE.js} +628 -2203
  37. package/dist/assets/{NodeDetailsView-6JHPI3t-.css → NodeDetailsView-DWA1ZgwG.css} +349 -1000
  38. package/dist/assets/{NodeView-C4qNUqxt.js → NodeView-CFUh-L67.js} +2817 -548
  39. package/dist/assets/{NodeView-BdvXMmMp.css → NodeView-Duifly4c.css} +1274 -32
  40. package/dist/assets/{ProjectCardBadge-be4FNX6y.js → ProjectCardBadge-CWPzWiZa.js} +1 -1
  41. package/dist/assets/{ProjectHeader-CsHp0dpi.js → ProjectHeader-Ddqs2fwN.js} +2 -2
  42. package/dist/assets/{ProjectSettings-BgunHp-2.css → ProjectSettings-8tvaQJye.css} +9 -10
  43. package/dist/assets/{ProjectSettings-t5UigWKy.js → ProjectSettings-DFwkW9xy.js} +9 -9
  44. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-Dpfsxn-o.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CTSX9GvK.js} +1 -1
  45. package/dist/assets/{ResourcesListLayout-DLThke_K.js → ResourcesListLayout-DZR7Zzzo.js} +2 -2
  46. package/dist/assets/{RunData-XsmLcFYS.css → RunData-B5_okvCv.css} +205 -205
  47. package/dist/assets/{RunData-u5uBr_cv.js → RunData-D_KDVdF4.js} +1085 -1632
  48. package/dist/assets/{RunDataJson-CeZYY8D_.js → RunDataJson-LDc1ImEr.js} +6 -6
  49. package/dist/assets/{RunDataJsonActions-BRAsiSnM.js → RunDataJsonActions-DH83rAfY.js} +1 -1
  50. package/dist/assets/{RunDataParsedAiContent-C1lte0Et.js → RunDataParsedAiContent-BU8uoK2N.js} +4 -4
  51. package/dist/assets/{RunDataSearch-BP_FSk35.js → RunDataSearch-DGVpnOkl.js} +1 -1
  52. package/dist/assets/{RunDataTable-CQghTfxP.js → RunDataTable-CSRGOCHh.js} +2 -2
  53. package/dist/assets/{SamlOnboarding-CWTnplHM.js → SamlOnboarding-CQ4b1hlf.js} +3 -3
  54. package/dist/assets/{SettingsApiView-BskWDsE-.js → SettingsApiView-DHQc2KYI.js} +1 -1
  55. package/dist/assets/{SettingsCommunityNodesView-JUjLtmC0.js → SettingsCommunityNodesView-C9utcS3k.js} +4 -4
  56. package/dist/assets/{SettingsExternalSecrets-BOJ40YuL.js → SettingsExternalSecrets-DcD2lv4W.js} +1 -1
  57. package/dist/assets/{SettingsLdapView-CT-V5pbv.js → SettingsLdapView-DiL_dbfx.js} +1 -1
  58. package/dist/assets/{SettingsLogStreamingView-_G1aTzAD.js → SettingsLogStreamingView-CN_D-m7S.js} +1 -1
  59. package/dist/assets/{SettingsPersonalView-CwV8ImYG.css → SettingsPersonalView-Bt8bL5tJ.css} +19 -15
  60. package/dist/assets/{SettingsPersonalView-BzzZLVh4.js → SettingsPersonalView-DutmrxU7.js} +58 -10
  61. package/dist/assets/{SettingsSourceControl-Bte_2m43.js → SettingsSourceControl-DeBjBqNW.js} +2 -2
  62. package/dist/assets/{SettingsSso-Di8rSq_x.js → SettingsSso-xIee31bc.js} +1 -1
  63. package/dist/assets/{SettingsUsageAndPlan-CwaYHjbQ.js → SettingsUsageAndPlan-Dv-wky39.js} +1 -1
  64. package/dist/assets/{SettingsUsersView-DQbemH_k.js → SettingsUsersView-JfPgtJEV.js} +1 -1
  65. package/dist/assets/{SettingsView-DhqdV7_S.js → SettingsView-CHu8eepA.js} +1 -1
  66. package/dist/assets/{SetupView-BOZr75Am.js → SetupView-UIS9B4wr.js} +3 -3
  67. package/dist/assets/{SetupWorkflowCredentialsButton-DFtZhM9C.js → SetupWorkflowCredentialsButton-Bs2dYq3b.js} +1 -1
  68. package/dist/assets/{SetupWorkflowFromTemplateView-CTMDcuGm.js → SetupWorkflowFromTemplateView-BTFARopX.js} +3 -3
  69. package/dist/assets/{SigninView-DY-vQ0LU.js → SigninView-B1eEz_t4.js} +12 -4
  70. package/dist/assets/{SignoutView-B8rfrg6C.js → SignoutView-CV1Qsb3z.js} +1 -1
  71. package/dist/assets/{SignupView-BxrYV76w.js → SignupView-C2cyiw-C.js} +3 -3
  72. package/dist/assets/{TemplateDetails-DVQ2nLZj.js → TemplateDetails-MawFSspH.js} +1 -1
  73. package/dist/assets/{TemplateList-DPouUB38.js → TemplateList-AnYGr5-6.js} +1 -1
  74. package/dist/assets/{TemplatesCollectionView-O7noND46.js → TemplatesCollectionView-xd0kx-UE.js} +5 -5
  75. package/dist/assets/{TemplatesSearchView-Bg5DxRv0.js → TemplatesSearchView-ngTSHAkQ.js} +30 -3
  76. package/dist/assets/{TemplatesView-BnzdRWmO.js → TemplatesView-BAX6LGxX.js} +1 -1
  77. package/dist/assets/{TemplatesWorkflowView-B_6tDGsp.js → TemplatesWorkflowView-DGd4xJ_J.js} +5 -5
  78. package/dist/assets/{VariablesView-BrzvF0ZW.css → VariablesView-2BSJPXRB.css} +5 -5
  79. package/dist/assets/{VariablesView-DzrhNxAe.js → VariablesView-CwEnfQxV.js} +5 -5
  80. package/dist/assets/{WorkerView-CC1X8IeJ.js → WorkerView-DtXiHaTA.js} +6 -6
  81. package/dist/assets/{WorkflowExecutionsPreview-D7jTJ8GL.css → WorkflowActivator-C0R6Yly0.css} +162 -160
  82. package/dist/assets/{WorkflowActivator-C30ojCUO.js → WorkflowActivator-CLLu_k_M.js} +14 -261
  83. package/dist/assets/{WorkflowExecutionsInfoAccordion-XaZEx8v7.js → WorkflowExecutionsInfoAccordion-vFGtC4-o.js} +3 -3
  84. package/dist/assets/{WorkflowExecutionsLandingPage-8aAYw87x.js → WorkflowExecutionsLandingPage-Dp7WJMF0.js} +2 -2
  85. package/dist/assets/WorkflowExecutionsPreview-BgpOEXPG.css +711 -0
  86. package/dist/assets/WorkflowExecutionsPreview-w7h7YCEJ.js +812 -0
  87. package/dist/assets/{WorkflowExecutionsView-DR67gC3V.js → WorkflowExecutionsView-BzKlwTMm.js} +8 -9
  88. package/dist/assets/{WorkflowExecutionsView-CZziPgtr.css → WorkflowExecutionsView-_l8AgWIb.css} +2 -2
  89. package/dist/assets/{WorkflowHistory-eAJEV9yu.js → WorkflowHistory-CT3kO5Sn.js} +18 -18
  90. package/dist/assets/{WorkflowOnboardingView-BjyAt8Oq.js → WorkflowOnboardingView-C3gpu3_i.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-BxWA_Uiv.js → WorkflowPreview-BZm3MTEb.js} +1 -1
  92. package/dist/assets/{WorkflowsView-iKkH1nVB.js → WorkflowsView-4eqdgz9H.js} +46 -50
  93. package/dist/assets/{WorkflowsView-CQvTAWQ0.css → WorkflowsView-meCWhW8Y.css} +21 -20
  94. package/dist/assets/canvas-C0_KeJmQ.js +5 -0
  95. package/dist/assets/{chartjs.utils-CC0SyVUG.js → chartjs.utils-Bv6lUve-.js} +2 -2
  96. package/dist/assets/{easyAiWorkflowUtils-H7-jyGZy.js → easyAiWorkflowUtils-DRIGIHJ7.js} +1 -1
  97. package/dist/assets/{en-D5Q1-BWp.js → en-BcWgUFsO.js} +17 -4
  98. package/dist/assets/{global-link-actions-zn0GER90.js → global-link-actions-BF0Tj_I9.js} +1 -1
  99. package/dist/assets/{import-curl-D7BhanPS.js → import-curl-DsHxi7kp.js} +1 -1
  100. package/dist/assets/{index-B4xpaMaK.css → index-B-xWz5mo.css} +418 -370
  101. package/dist/assets/{index-HDYArLT1.js → index-Bpsc-Tmx.js} +58887 -67576
  102. package/dist/assets/{index-CAyQE60i.js → index-DHKtGXZ1.js} +1 -1
  103. package/dist/assets/pickBy-DIPqytvl.js +27 -0
  104. package/dist/assets/{polyfills-J2x06Gdp.js → polyfills-deFGRMT9.js} +0 -44
  105. package/dist/assets/{templateActions-CxINaftd.js → templateActions-qdbZojQ1.js} +1 -1
  106. package/dist/assets/{useBeforeUnload-DkY263Ue.js → useBeforeUnload-B2awFcaP.js} +1 -1
  107. package/dist/assets/{useExecutionDebugging-BrUGp6HK.js → useExecutionDebugging-CYIymPhg.js} +1 -1
  108. package/dist/assets/{useExecutionHelpers-Dulw8xCc.js → useExecutionHelpers-nG7T98Lv.js} +1 -1
  109. package/dist/assets/{useImportCurlCommand-CjFFwjFi.js → useImportCurlCommand-DVjZNYjv.js} +2 -2
  110. package/dist/assets/{useProjectPages-DGU7KQ6y.js → useProjectPages-p-uBP4T5.js} +1 -1
  111. package/dist/assets/{usePushConnection-4FO744xJ.js → usePushConnection-B7DMiByn.js} +22 -23
  112. package/dist/assets/{useWorkflowActivate-CUShgia-.js → useWorkflowActivate-CNqz_pHl.js} +4 -3
  113. package/dist/index.html +3 -3
  114. package/package.json +1 -1
  115. package/tsconfig.json +9 -1
  116. package/vite.config.mts +10 -2
  117. package/dist/assets/AuthView-D4i2WDPk.css +0 -408
  118. package/dist/assets/CanvasChatSwitch-D1N7Xp_1.js +0 -275
  119. package/dist/assets/CollectionParameter-DOqrZmRA.js +0 -4
  120. package/dist/assets/DemoFooter-DpmRLCPd.js +0 -23
  121. package/dist/assets/RunDataAi-D9VLFXIf.css +0 -443
  122. package/dist/assets/RunDataAi-DZzXTVdi.js +0 -466
  123. package/dist/assets/WorkflowActivator-CL2wacc7.css +0 -1084
  124. package/dist/assets/WorkflowExecutionsPreview-CpAsFXP1.js +0 -683
  125. package/dist/assets/canvas-BzAUJmlt.js +0 -24
  126. package/dist/assets/pickBy-2p7dSPXv.js +0 -16
  127. package/dist/assets/useWorkflowSaving-oozcXWTy.js +0 -66
@@ -1,683 +0,0 @@
1
- import { d as defineComponent, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, j as createVNode, _ as _export_sfc, at as useExecutionsStore, a as useToast, r as ref, q as computed, bN as resolveDirective, k as createBaseVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, C as createEventBus, F as Fragment, D as renderList, w as withCtx, l as createTextVNode, aA as withDirectives, ag as useTelemetry, R as useRoute, Q as useWorkflowsStore, p as useSettingsStore, a7 as getResourcePermissions, aa as EnterpriseEditionFeature, f as createCommentVNode, bf as N8nText, bh as N8nButton, dB as RouterLink, V as VIEWS, aT as _sfc_main$4, dC as ElDropdownMenu, dD as ElDropdownItem, dE as ElDropdown, ai as useMessage, aj as MODAL_CONFIRM } from "./index-HDYArLT1.js";
2
- import { _ as _sfc_main$3 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CrF4ktlo.js";
3
- import { W as WorkflowPreview } from "./WorkflowPreview-BxWA_Uiv.js";
4
- import { u as useExecutionDebugging } from "./useExecutionDebugging-BrUGp6HK.js";
5
- import { u as useExecutionHelpers } from "./useExecutionHelpers-Dulw8xCc.js";
6
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
7
- __name: "VoteButtons",
8
- props: {
9
- vote: {}
10
- },
11
- emits: ["vote-click"],
12
- setup(__props, { emit: __emit }) {
13
- const emit = __emit;
14
- const onVoteClick = (vote2) => {
15
- emit("vote-click", vote2);
16
- };
17
- return (_ctx, _cache) => {
18
- const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
19
- return openBlock(), createElementBlock("div", {
20
- class: normalizeClass(_ctx.$style.ratingIcon)
21
- }, [
22
- createVNode(_component_n8n_icon_button, {
23
- class: normalizeClass({ [_ctx.$style.up]: _ctx.vote === "up" }),
24
- type: "tertiary",
25
- text: "",
26
- size: "medium",
27
- icon: "thumbs-up",
28
- onClick: _cache[0] || (_cache[0] = ($event) => onVoteClick("up"))
29
- }, null, 8, ["class"]),
30
- createVNode(_component_n8n_icon_button, {
31
- class: normalizeClass({ [_ctx.$style.down]: _ctx.vote === "down" }),
32
- type: "tertiary",
33
- text: "",
34
- size: "medium",
35
- icon: "thumbs-down",
36
- onClick: _cache[1] || (_cache[1] = ($event) => onVoteClick("down"))
37
- }, null, 8, ["class"])
38
- ], 2);
39
- };
40
- }
41
- });
42
- const ratingIcon$1 = "_ratingIcon_18ubu_123";
43
- const up = "_up_18ubu_127";
44
- const down = "_down_18ubu_130";
45
- const style0$2 = {
46
- ratingIcon: ratingIcon$1,
47
- up,
48
- down
49
- };
50
- const cssModules$2 = {
51
- "$style": style0$2
52
- };
53
- const VoteButtons = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
54
- const _hoisted_1$1 = { key: 1 };
55
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
56
- __name: "WorkflowExecutionAnnotationPanel.ee",
57
- setup(__props) {
58
- const executionsStore = useExecutionsStore();
59
- const { showError } = useToast();
60
- const i18n = useI18n();
61
- const telemetry = useTelemetry();
62
- const tagsEventBus = createEventBus();
63
- const isTagsEditEnabled = ref(false);
64
- const appliedTagIds = ref([]);
65
- const tagsSaving = ref(false);
66
- const activeExecution = computed(() => {
67
- return executionsStore.activeExecution;
68
- });
69
- const vote2 = computed(() => activeExecution.value?.annotation?.vote || null);
70
- const tagIds = computed(() => activeExecution.value?.annotation?.tags.map((tag) => tag.id) ?? []);
71
- const tags = computed(() => activeExecution.value?.annotation?.tags);
72
- const tagsHasChanged = (prev, curr) => {
73
- if (prev.length !== curr.length) {
74
- return true;
75
- }
76
- const set = new Set(prev);
77
- return curr.reduce((acc, val) => acc || !set.has(val), false);
78
- };
79
- const onVoteClick = async (voteValue) => {
80
- if (!activeExecution.value) {
81
- return;
82
- }
83
- const voteToSet = voteValue === vote2.value ? null : voteValue;
84
- try {
85
- await executionsStore.annotateExecution(activeExecution.value.id, { vote: voteToSet });
86
- } catch (e) {
87
- showError(e, "executionAnnotationView.vote.error");
88
- }
89
- };
90
- const onTagsEditEnable = () => {
91
- appliedTagIds.value = tagIds.value;
92
- isTagsEditEnabled.value = true;
93
- setTimeout(() => {
94
- tagsEventBus.emit("focus");
95
- }, 0);
96
- };
97
- const onTagsBlur = async () => {
98
- if (!activeExecution.value) {
99
- return;
100
- }
101
- const currentTagIds = tagIds.value ?? [];
102
- const newTagIds = appliedTagIds.value;
103
- if (!tagsHasChanged(currentTagIds, newTagIds)) {
104
- isTagsEditEnabled.value = false;
105
- return;
106
- }
107
- if (tagsSaving.value) {
108
- return;
109
- }
110
- tagsSaving.value = true;
111
- try {
112
- await executionsStore.annotateExecution(activeExecution.value.id, { tags: newTagIds });
113
- if (newTagIds.length > 0) {
114
- telemetry.track("User added execution annotation tag", {
115
- tag_ids: newTagIds,
116
- execution_id: activeExecution.value.id
117
- });
118
- }
119
- } catch (e) {
120
- showError(e, "executionAnnotationView.tag.error");
121
- }
122
- tagsSaving.value = false;
123
- isTagsEditEnabled.value = false;
124
- };
125
- const onTagsEditEsc = () => {
126
- isTagsEditEnabled.value = false;
127
- };
128
- return (_ctx, _cache) => {
129
- const _component_el_tag = resolveComponent("el-tag");
130
- const _component_n8n_button = resolveComponent("n8n-button");
131
- const _component_n8n_heading = resolveComponent("n8n-heading");
132
- const _component_n8n_text = resolveComponent("n8n-text");
133
- const _directive_n8n_html = resolveDirective("n8n-html");
134
- return openBlock(), createElementBlock("div", {
135
- ref: "container",
136
- class: normalizeClass(["execution-annotation-panel", _ctx.$style.container]),
137
- "data-test-id": "execution-annotation-panel"
138
- }, [
139
- createBaseVNode("div", {
140
- class: normalizeClass(_ctx.$style.section)
141
- }, [
142
- createBaseVNode("div", {
143
- class: normalizeClass(_ctx.$style.vote)
144
- }, [
145
- createBaseVNode("div", null, toDisplayString(unref(i18n).baseText("generic.rating")), 1),
146
- createVNode(VoteButtons, {
147
- vote: vote2.value,
148
- onVoteClick
149
- }, null, 8, ["vote"])
150
- ], 2),
151
- createBaseVNode("span", {
152
- class: normalizeClass(_ctx.$style.tags),
153
- "data-test-id": "annotation-tags-container"
154
- }, [
155
- isTagsEditEnabled.value ? (openBlock(), createBlock(_sfc_main$3, {
156
- key: 0,
157
- ref: "dropdown",
158
- modelValue: appliedTagIds.value,
159
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => appliedTagIds.value = $event),
160
- "create-enabled": true,
161
- "event-bus": unref(tagsEventBus),
162
- placeholder: unref(i18n).baseText("executionAnnotationView.chooseOrCreateATag"),
163
- class: "tags-edit",
164
- "data-test-id": "workflow-tags-dropdown",
165
- onBlur: onTagsBlur,
166
- onEsc: onTagsEditEsc
167
- }, null, 8, ["modelValue", "event-bus", "placeholder"])) : tagIds.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
168
- createBaseVNode("span", {
169
- class: normalizeClass([_ctx.$style.addTag, _ctx.$style.addTagStandalone, "clickable"]),
170
- "data-test-id": "new-tag-link",
171
- onClick: onTagsEditEnable
172
- }, " + " + toDisplayString(unref(i18n).baseText("executionAnnotationView.addTag")), 3)
173
- ])) : (openBlock(), createElementBlock("span", {
174
- key: 2,
175
- class: normalizeClass([
176
- "tags-container",
177
- // FIXME: There are some global styles for tags relying on this classname
178
- _ctx.$style.tagsContainer
179
- ]),
180
- "data-test-id": "execution-annotation-tags",
181
- onClick: onTagsEditEnable
182
- }, [
183
- (openBlock(true), createElementBlock(Fragment, null, renderList(tags.value, (tag) => {
184
- return openBlock(), createElementBlock("span", {
185
- key: tag.id,
186
- class: "clickable"
187
- }, [
188
- createVNode(_component_el_tag, {
189
- title: tag.name,
190
- type: "info",
191
- size: "small",
192
- "disable-transitions": true
193
- }, {
194
- default: withCtx(() => [
195
- createTextVNode(toDisplayString(tag.name), 1)
196
- ]),
197
- _: 2
198
- }, 1032, ["title"])
199
- ]);
200
- }), 128)),
201
- createBaseVNode("span", {
202
- class: normalizeClass(_ctx.$style.addTagWrapper)
203
- }, [
204
- createVNode(_component_n8n_button, {
205
- class: normalizeClass(_ctx.$style.addTag),
206
- label: `+ ` + unref(i18n).baseText("executionAnnotationView.addTag"),
207
- type: "secondary",
208
- size: "mini",
209
- outline: false,
210
- text: true,
211
- onClick: onTagsEditEnable
212
- }, null, 8, ["class", "label"])
213
- ], 2)
214
- ], 2))
215
- ], 2)
216
- ], 2),
217
- createBaseVNode("div", {
218
- class: normalizeClass(_ctx.$style.section)
219
- }, [
220
- createBaseVNode("div", {
221
- class: normalizeClass(_ctx.$style.heading)
222
- }, [
223
- createVNode(_component_n8n_heading, {
224
- tag: "h3",
225
- size: "small",
226
- color: "text-dark"
227
- }, {
228
- default: withCtx(() => [
229
- createTextVNode(toDisplayString(unref(i18n).baseText("generic.annotationData")), 1)
230
- ]),
231
- _: 1
232
- })
233
- ], 2),
234
- activeExecution.value?.customData && Object.keys(activeExecution.value?.customData).length > 0 ? (openBlock(), createElementBlock("div", {
235
- key: 0,
236
- class: normalizeClass(_ctx.$style.metadata)
237
- }, [
238
- (openBlock(true), createElementBlock(Fragment, null, renderList(Object.keys(activeExecution.value?.customData), (attr) => {
239
- return openBlock(), createElementBlock("div", {
240
- key: attr,
241
- class: normalizeClass(_ctx.$style.customDataEntry)
242
- }, [
243
- createVNode(_component_n8n_text, {
244
- class: normalizeClass(_ctx.$style.key),
245
- size: "small",
246
- color: "text-base"
247
- }, {
248
- default: withCtx(() => [
249
- createTextVNode(toDisplayString(attr), 1)
250
- ]),
251
- _: 2
252
- }, 1032, ["class"]),
253
- createVNode(_component_n8n_text, {
254
- class: normalizeClass(_ctx.$style.value),
255
- size: "small",
256
- color: "text-base"
257
- }, {
258
- default: withCtx(() => [
259
- createTextVNode(toDisplayString(activeExecution.value?.customData[attr]), 1)
260
- ]),
261
- _: 2
262
- }, 1032, ["class"])
263
- ], 2);
264
- }), 128))
265
- ], 2)) : (openBlock(), createElementBlock("div", {
266
- key: 1,
267
- class: normalizeClass(_ctx.$style.noResultsContainer),
268
- "data-test-id": "execution-annotation-data-empty"
269
- }, [
270
- createVNode(_component_n8n_text, {
271
- color: "text-base",
272
- size: "small",
273
- align: "center"
274
- }, {
275
- default: withCtx(() => [
276
- withDirectives(createBaseVNode("span", null, null, 512), [
277
- [_directive_n8n_html, unref(i18n).baseText("executionAnnotationView.data.notFound")]
278
- ])
279
- ]),
280
- _: 1
281
- })
282
- ], 2))
283
- ], 2)
284
- ], 2);
285
- };
286
- }
287
- });
288
- const container = "_container_1ld9i_123";
289
- const section = "_section_1ld9i_139";
290
- const metadata = "_metadata_1ld9i_148";
291
- const heading = "_heading_1ld9i_152";
292
- const controls = "_controls_1ld9i_159";
293
- const vote = "_vote_1ld9i_171";
294
- const ratingIcon = "_ratingIcon_1ld9i_180";
295
- const highlight = "_highlight_1ld9i_184";
296
- const customDataEntry = "_customDataEntry_1ld9i_188";
297
- const key = "_key_1ld9i_195";
298
- const noResultsContainer = "_noResultsContainer_1ld9i_199";
299
- const tagsContainer = "_tagsContainer_1ld9i_209";
300
- const addTag = "_addTag_1ld9i_219";
301
- const addTagStandalone = "_addTagStandalone_1ld9i_230";
302
- const addTagWrapper = "_addTagWrapper_1ld9i_234";
303
- const style0$1 = {
304
- container,
305
- section,
306
- metadata,
307
- heading,
308
- controls,
309
- vote,
310
- ratingIcon,
311
- highlight,
312
- customDataEntry,
313
- key,
314
- noResultsContainer,
315
- "execution-annotation-panel": "_execution-annotation-panel_1ld9i_204",
316
- "el-skeleton__item": "_el-skeleton__item_1ld9i_204",
317
- tagsContainer,
318
- addTag,
319
- addTagStandalone,
320
- addTagWrapper
321
- };
322
- const cssModules$1 = {
323
- "$style": style0$1
324
- };
325
- const WorkflowExecutionAnnotationPanel = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
326
- const _hoisted_1 = ["data-test-id"];
327
- const _hoisted_2 = { class: "retry-button" };
328
- const _sfc_main = /* @__PURE__ */ defineComponent({
329
- __name: "WorkflowExecutionsPreview",
330
- props: {
331
- execution: {}
332
- },
333
- emits: ["deleteCurrentExecution", "retryExecution", "stopExecution"],
334
- setup(__props, { emit: __emit }) {
335
- const props = __props;
336
- const emit = __emit;
337
- const route = useRoute();
338
- const locale = useI18n();
339
- const executionHelpers = useExecutionHelpers();
340
- const message = useMessage();
341
- const executionDebugging = useExecutionDebugging();
342
- const workflowsStore = useWorkflowsStore();
343
- const settingsStore = useSettingsStore();
344
- const retryDropdownRef = ref(null);
345
- const workflowId = computed(() => route.params.name);
346
- const workflowPermissions = computed(
347
- () => getResourcePermissions(workflowsStore.getWorkflowById(workflowId.value)?.scopes).workflow
348
- );
349
- const executionId = computed(() => route.params.executionId);
350
- const executionUIDetails = computed(
351
- () => props.execution ? executionHelpers.getUIDetails(props.execution) : null
352
- );
353
- const debugButtonData = computed(
354
- () => props.execution?.status === "success" ? {
355
- text: locale.baseText("executionsList.debug.button.copyToEditor"),
356
- type: "secondary"
357
- } : {
358
- text: locale.baseText("executionsList.debug.button.debugInEditor"),
359
- type: "primary"
360
- }
361
- );
362
- const isRetriable = computed(
363
- () => !!props.execution && executionHelpers.isExecutionRetriable(props.execution)
364
- );
365
- const isAnnotationEnabled = computed(
366
- () => settingsStore.isEnterpriseFeatureEnabled[EnterpriseEditionFeature.AdvancedExecutionFilters]
367
- );
368
- const hasAnnotation = computed(
369
- () => !!props.execution?.annotation && (props.execution?.annotation.vote || props.execution?.annotation.tags.length > 0)
370
- );
371
- async function onDeleteExecution() {
372
- const confirmationText = [
373
- hasAnnotation.value && locale.baseText("executionDetails.confirmMessage.annotationsNote"),
374
- locale.baseText("executionDetails.confirmMessage.message")
375
- ].filter(Boolean).join(" ");
376
- const deleteConfirmed = await message.confirm(
377
- confirmationText,
378
- locale.baseText("executionDetails.confirmMessage.headline"),
379
- {
380
- type: "warning",
381
- confirmButtonText: locale.baseText("executionDetails.confirmMessage.confirmButtonText"),
382
- cancelButtonText: ""
383
- }
384
- );
385
- if (deleteConfirmed !== MODAL_CONFIRM) {
386
- return;
387
- }
388
- emit("deleteCurrentExecution");
389
- }
390
- function handleRetryClick(command) {
391
- emit("retryExecution", { execution: props.execution, command });
392
- }
393
- function handleStopClick() {
394
- emit("stopExecution");
395
- }
396
- function onRetryButtonBlur(event) {
397
- if (retryDropdownRef.value && event.relatedTarget === null) {
398
- retryDropdownRef.value.handleClose();
399
- }
400
- }
401
- return (_ctx, _cache) => {
402
- const _component_N8nSpinner = resolveComponent("N8nSpinner");
403
- return executionUIDetails.value?.name === "new" ? (openBlock(), createElementBlock("div", {
404
- key: 0,
405
- class: normalizeClass(_ctx.$style.newInfo)
406
- }, [
407
- createVNode(unref(N8nText), {
408
- class: normalizeClass(_ctx.$style.newMessage),
409
- color: "text-light"
410
- }, {
411
- default: withCtx(() => [
412
- createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.newMessage")), 1)
413
- ]),
414
- _: 1
415
- }, 8, ["class"]),
416
- createVNode(unref(N8nButton), {
417
- class: "mt-l",
418
- type: "tertiary",
419
- onClick: handleStopClick
420
- }, {
421
- default: withCtx(() => [
422
- createTextVNode(toDisplayString(unref(locale).baseText("executionsList.stopExecution")), 1)
423
- ]),
424
- _: 1
425
- })
426
- ], 2)) : executionUIDetails.value?.name === "running" ? (openBlock(), createElementBlock("div", {
427
- key: 1,
428
- class: normalizeClass(_ctx.$style.runningInfo)
429
- }, [
430
- createBaseVNode("div", {
431
- class: normalizeClass(_ctx.$style.spinner)
432
- }, [
433
- createVNode(_component_N8nSpinner, { type: "ring" })
434
- ], 2),
435
- createVNode(unref(N8nText), {
436
- class: normalizeClass(_ctx.$style.runningMessage),
437
- color: "text-light"
438
- }, {
439
- default: withCtx(() => [
440
- createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.runningMessage")), 1)
441
- ]),
442
- _: 1
443
- }, 8, ["class"]),
444
- createVNode(unref(N8nButton), {
445
- "data-test-id": "stop-execution",
446
- class: "mt-l",
447
- type: "tertiary",
448
- disabled: !workflowPermissions.value.execute,
449
- onClick: handleStopClick
450
- }, {
451
- default: withCtx(() => [
452
- createTextVNode(toDisplayString(unref(locale).baseText("executionsList.stopExecution")), 1)
453
- ]),
454
- _: 1
455
- }, 8, ["disabled"])
456
- ], 2)) : executionUIDetails.value ? (openBlock(), createElementBlock("div", {
457
- key: 2,
458
- class: normalizeClass(_ctx.$style.previewContainer)
459
- }, [
460
- _ctx.execution ? (openBlock(), createElementBlock("div", {
461
- key: 0,
462
- class: normalizeClass(_ctx.$style.executionDetails),
463
- "data-test-id": `execution-preview-details-${executionId.value}`
464
- }, [
465
- isAnnotationEnabled.value && _ctx.execution ? (openBlock(), createBlock(WorkflowExecutionAnnotationPanel, { key: 0 })) : createCommentVNode("", true),
466
- createBaseVNode("div", null, [
467
- createVNode(unref(N8nText), {
468
- size: "large",
469
- color: "text-base",
470
- bold: true,
471
- "data-test-id": "execution-time"
472
- }, {
473
- default: withCtx(() => [
474
- createTextVNode(toDisplayString(executionUIDetails.value?.startTime), 1)
475
- ]),
476
- _: 1
477
- }),
478
- _cache[1] || (_cache[1] = createBaseVNode("br", null, null, -1)),
479
- executionUIDetails.value?.name === "running" ? (openBlock(), createBlock(_component_N8nSpinner, {
480
- key: 0,
481
- size: "small",
482
- class: normalizeClass([_ctx.$style.spinner, "mr-4xs"])
483
- }, null, 8, ["class"])) : createCommentVNode("", true),
484
- createVNode(unref(N8nText), {
485
- size: "medium",
486
- class: normalizeClass([_ctx.$style.status, _ctx.$style[executionUIDetails.value.name]]),
487
- "data-test-id": "execution-preview-label"
488
- }, {
489
- default: withCtx(() => [
490
- createTextVNode(toDisplayString(executionUIDetails.value.label), 1)
491
- ]),
492
- _: 1
493
- }, 8, ["class"]),
494
- _cache[2] || (_cache[2] = createTextVNode(" " + toDisplayString(" ") + " ")),
495
- executionUIDetails.value?.showTimestamp === false ? (openBlock(), createBlock(unref(N8nText), {
496
- key: 1,
497
- color: "text-base",
498
- size: "medium"
499
- }, {
500
- default: withCtx(() => [
501
- createTextVNode(" | ID#" + toDisplayString(_ctx.execution.id), 1)
502
- ]),
503
- _: 1
504
- })) : executionUIDetails.value.name === "running" ? (openBlock(), createBlock(unref(N8nText), {
505
- key: 2,
506
- color: "text-base",
507
- size: "medium"
508
- }, {
509
- default: withCtx(() => [
510
- createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.runningTimeRunning", {
511
- interpolate: { time: executionUIDetails.value?.runningTime }
512
- })) + " | ID#" + toDisplayString(_ctx.execution.id), 1)
513
- ]),
514
- _: 1
515
- })) : executionUIDetails.value.name !== "waiting" ? (openBlock(), createBlock(unref(N8nText), {
516
- key: 3,
517
- color: "text-base",
518
- size: "medium",
519
- "data-test-id": "execution-preview-id"
520
- }, {
521
- default: withCtx(() => [
522
- createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.runningTimeFinished", {
523
- interpolate: { time: executionUIDetails.value?.runningTime ?? "unknown" }
524
- })) + " | ID#" + toDisplayString(_ctx.execution.id), 1)
525
- ]),
526
- _: 1
527
- })) : createCommentVNode("", true),
528
- _cache[3] || (_cache[3] = createBaseVNode("br", null, null, -1)),
529
- _ctx.execution.mode === "retry" ? (openBlock(), createBlock(unref(N8nText), {
530
- key: 4,
531
- color: "text-base",
532
- size: "medium"
533
- }, {
534
- default: withCtx(() => [
535
- createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.retry")) + " ", 1),
536
- createVNode(unref(RouterLink), {
537
- class: normalizeClass(_ctx.$style.executionLink),
538
- to: {
539
- name: unref(VIEWS).EXECUTION_PREVIEW,
540
- params: {
541
- workflowId: _ctx.execution.workflowId,
542
- executionId: _ctx.execution.retryOf
543
- }
544
- }
545
- }, {
546
- default: withCtx(() => [
547
- createTextVNode(" #" + toDisplayString(_ctx.execution.retryOf), 1)
548
- ]),
549
- _: 1
550
- }, 8, ["class", "to"])
551
- ]),
552
- _: 1
553
- })) : createCommentVNode("", true)
554
- ]),
555
- createBaseVNode("div", {
556
- class: normalizeClass(_ctx.$style.actions)
557
- }, [
558
- createVNode(unref(RouterLink), {
559
- to: {
560
- name: unref(VIEWS).EXECUTION_DEBUG,
561
- params: {
562
- name: _ctx.execution.workflowId,
563
- executionId: _ctx.execution.id
564
- }
565
- }
566
- }, {
567
- default: withCtx(() => [
568
- createVNode(unref(N8nButton), {
569
- size: "medium",
570
- type: debugButtonData.value.type,
571
- class: normalizeClass(_ctx.$style.debugLink),
572
- disabled: !workflowPermissions.value.update
573
- }, {
574
- default: withCtx(() => [
575
- createBaseVNode("span", {
576
- "data-test-id": "execution-debug-button",
577
- onClick: _cache[0] || (_cache[0] = //@ts-ignore
578
- (...args) => unref(executionDebugging).handleDebugLinkClick && unref(executionDebugging).handleDebugLinkClick(...args))
579
- }, toDisplayString(debugButtonData.value.text), 1)
580
- ]),
581
- _: 1
582
- }, 8, ["type", "class", "disabled"])
583
- ]),
584
- _: 1
585
- }, 8, ["to"]),
586
- isRetriable.value ? (openBlock(), createBlock(unref(ElDropdown), {
587
- key: 0,
588
- ref: "retryDropdown",
589
- trigger: "click",
590
- class: "mr-xs",
591
- onCommand: handleRetryClick
592
- }, {
593
- dropdown: withCtx(() => [
594
- createVNode(unref(ElDropdownMenu), null, {
595
- default: withCtx(() => [
596
- createVNode(unref(ElDropdownItem), { command: "current-workflow" }, {
597
- default: withCtx(() => [
598
- createTextVNode(toDisplayString(unref(locale).baseText("executionsList.retryWithCurrentlySavedWorkflow")), 1)
599
- ]),
600
- _: 1
601
- }),
602
- createVNode(unref(ElDropdownItem), { command: "original-workflow" }, {
603
- default: withCtx(() => [
604
- createTextVNode(toDisplayString(unref(locale).baseText("executionsList.retryWithOriginalWorkflow")), 1)
605
- ]),
606
- _: 1
607
- })
608
- ]),
609
- _: 1
610
- })
611
- ]),
612
- default: withCtx(() => [
613
- createBaseVNode("span", _hoisted_2, [
614
- createVNode(unref(_sfc_main$4), {
615
- size: "medium",
616
- type: "tertiary",
617
- title: unref(locale).baseText("executionsList.retryExecution"),
618
- disabled: !workflowPermissions.value.update,
619
- icon: "redo",
620
- "data-test-id": "execution-preview-retry-button",
621
- onBlur: onRetryButtonBlur
622
- }, null, 8, ["title", "disabled"])
623
- ])
624
- ]),
625
- _: 1
626
- }, 512)) : createCommentVNode("", true),
627
- createVNode(unref(_sfc_main$4), {
628
- title: unref(locale).baseText("executionDetails.deleteExecution"),
629
- disabled: !workflowPermissions.value.update,
630
- icon: "trash",
631
- size: "medium",
632
- type: "tertiary",
633
- "data-test-id": "execution-preview-delete-button",
634
- onClick: onDeleteExecution
635
- }, null, 8, ["title", "disabled"])
636
- ], 2)
637
- ], 10, _hoisted_1)) : createCommentVNode("", true),
638
- (openBlock(), createBlock(WorkflowPreview, {
639
- key: executionId.value,
640
- mode: "execution",
641
- "loader-type": "spinner",
642
- "execution-id": executionId.value,
643
- "execution-mode": _ctx.execution?.mode || ""
644
- }, null, 8, ["execution-id", "execution-mode"]))
645
- ], 2)) : createCommentVNode("", true);
646
- };
647
- }
648
- });
649
- const previewContainer = "_previewContainer_1xkms_123";
650
- const executionDetails = "_executionDetails_1xkms_129";
651
- const spinner = "_spinner_1xkms_148";
652
- const running = "_running_1xkms_154";
653
- const waiting = "_waiting_1xkms_159";
654
- const success = "_success_1xkms_163";
655
- const error = "_error_1xkms_167";
656
- const newInfo = "_newInfo_1xkms_171";
657
- const runningInfo = "_runningInfo_1xkms_172";
658
- const newMessage = "_newMessage_1xkms_179";
659
- const runningMessage = "_runningMessage_1xkms_180";
660
- const debugLink = "_debugLink_1xkms_186";
661
- const actions = "_actions_1xkms_191";
662
- const style0 = {
663
- previewContainer,
664
- executionDetails,
665
- spinner,
666
- running,
667
- waiting,
668
- success,
669
- error,
670
- newInfo,
671
- runningInfo,
672
- newMessage,
673
- runningMessage,
674
- debugLink,
675
- actions
676
- };
677
- const cssModules = {
678
- "$style": style0
679
- };
680
- const WorkflowExecutionsPreview = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
681
- export {
682
- WorkflowExecutionsPreview as default
683
- };