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
@@ -0,0 +1,812 @@
1
+ import { d as defineComponent, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, j as createVNode, _ as _export_sfc, P as useWorkflowsStore, Q as useRoute, r as ref, q as computed, a7 as getResourcePermissions, bV as resolveDirective, e as createBlock, f as createCommentVNode, m as unref, el as ElDropdown, w as withCtx, c as useI18n, l as createTextVNode, t as toDisplayString, k as createBaseVNode, F as Fragment, C as renderList, aE as withDirectives, a as useToast, ax as useExecutionsStore, B as createEventBus, ai as useTelemetry, p as useSettingsStore, aa as EnterpriseEditionFeature, em as RouterLink, V as VIEWS, en as ElDropdownMenu, eo as ElDropdownItem, ak as useMessage, al as MODAL_CONFIRM } from "./index-Bpsc-Tmx.js";
2
+ import { _ as _sfc_main$4 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-B6tcMuMJ.js";
3
+ import { W as WorkflowPreview } from "./WorkflowPreview-BZm3MTEb.js";
4
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-CYIymPhg.js";
5
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-nG7T98Lv.js";
6
+ const _sfc_main$3 = /* @__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 = (vote) => {
15
+ emit("vote-click", vote);
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.icon, _ctx.vote === "up" && _ctx.$style.up]),
24
+ type: "tertiary",
25
+ text: "",
26
+ size: "small",
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.icon, _ctx.vote === "down" && _ctx.$style.down]),
32
+ type: "tertiary",
33
+ text: "",
34
+ size: "small",
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 = "_ratingIcon_1gp02_123";
43
+ const icon = "_icon_1gp02_127";
44
+ const up = "_up_1gp02_130";
45
+ const down = "_down_1gp02_130";
46
+ const style0$3 = {
47
+ ratingIcon,
48
+ icon,
49
+ up,
50
+ down
51
+ };
52
+ const cssModules$3 = {
53
+ "$style": style0$3
54
+ };
55
+ const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$3]]);
56
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
57
+ __name: "WorkflowExecutionAnnotationPanel.ee",
58
+ props: {
59
+ execution: {}
60
+ },
61
+ setup(__props) {
62
+ const props = __props;
63
+ const workflowsStore = useWorkflowsStore();
64
+ const route = useRoute();
65
+ const i18n = useI18n();
66
+ const annotationDropdownRef = ref(null);
67
+ const isDropdownVisible = ref(false);
68
+ const workflowId = computed(() => route.params.name);
69
+ const workflowPermissions = computed(
70
+ () => getResourcePermissions(workflowsStore.getWorkflowById(workflowId.value)?.scopes).workflow
71
+ );
72
+ const customDataLength = computed(() => {
73
+ return props.execution?.customData ? Object.keys(props.execution?.customData).length : 0;
74
+ });
75
+ function onEllipsisButtonBlur(event) {
76
+ if (annotationDropdownRef.value && event.relatedTarget === null) {
77
+ annotationDropdownRef.value.handleClose();
78
+ }
79
+ }
80
+ function onDropdownVisibleChange(visible) {
81
+ isDropdownVisible.value = visible;
82
+ }
83
+ return (_ctx, _cache) => {
84
+ const _component_n8n_badge = resolveComponent("n8n-badge");
85
+ const _component_N8nButton = resolveComponent("N8nButton");
86
+ const _component_n8n_heading = resolveComponent("n8n-heading");
87
+ const _component_n8n_text = resolveComponent("n8n-text");
88
+ const _directive_n8n_html = resolveDirective("n8n-html");
89
+ return _ctx.execution ? (openBlock(), createBlock(unref(ElDropdown), {
90
+ key: 0,
91
+ ref_key: "annotationDropdownRef",
92
+ ref: annotationDropdownRef,
93
+ trigger: "click",
94
+ onVisibleChange: onDropdownVisibleChange
95
+ }, {
96
+ dropdown: withCtx(() => [
97
+ createBaseVNode("div", {
98
+ ref: "container",
99
+ class: normalizeClass(["execution-annotation-panel", _ctx.$style.container]),
100
+ "data-test-id": "execution-annotation-panel"
101
+ }, [
102
+ createBaseVNode("div", {
103
+ class: normalizeClass(_ctx.$style.section)
104
+ }, [
105
+ createBaseVNode("div", {
106
+ class: normalizeClass(_ctx.$style.heading)
107
+ }, [
108
+ createVNode(_component_n8n_heading, {
109
+ tag: "h3",
110
+ size: "small",
111
+ color: "text-dark"
112
+ }, {
113
+ default: withCtx(() => [
114
+ createTextVNode(toDisplayString(unref(i18n).baseText("generic.annotationData")), 1)
115
+ ]),
116
+ _: 1
117
+ })
118
+ ], 2),
119
+ _ctx.execution?.customData && Object.keys(_ctx.execution?.customData).length > 0 ? (openBlock(), createElementBlock("div", {
120
+ key: 0,
121
+ class: normalizeClass(_ctx.$style.metadata)
122
+ }, [
123
+ (openBlock(true), createElementBlock(Fragment, null, renderList(Object.keys(_ctx.execution?.customData), (attr) => {
124
+ return openBlock(), createElementBlock("div", {
125
+ key: attr,
126
+ class: normalizeClass(_ctx.$style.customDataEntry)
127
+ }, [
128
+ createVNode(_component_n8n_text, {
129
+ class: normalizeClass(_ctx.$style.key),
130
+ size: "small",
131
+ color: "text-base"
132
+ }, {
133
+ default: withCtx(() => [
134
+ createTextVNode(toDisplayString(attr), 1)
135
+ ]),
136
+ _: 2
137
+ }, 1032, ["class"]),
138
+ createVNode(_component_n8n_text, {
139
+ class: normalizeClass(_ctx.$style.value),
140
+ size: "small",
141
+ color: "text-base"
142
+ }, {
143
+ default: withCtx(() => [
144
+ createTextVNode(toDisplayString(_ctx.execution?.customData[attr]), 1)
145
+ ]),
146
+ _: 2
147
+ }, 1032, ["class"])
148
+ ], 2);
149
+ }), 128))
150
+ ], 2)) : (openBlock(), createElementBlock("div", {
151
+ key: 1,
152
+ class: normalizeClass(_ctx.$style.noResultsContainer),
153
+ "data-test-id": "execution-annotation-data-empty"
154
+ }, [
155
+ createVNode(_component_n8n_text, {
156
+ color: "text-base",
157
+ size: "small",
158
+ align: "center"
159
+ }, {
160
+ default: withCtx(() => [
161
+ withDirectives(createBaseVNode("span", null, null, 512), [
162
+ [_directive_n8n_html, unref(i18n).baseText("executionAnnotationView.data.notFound")]
163
+ ])
164
+ ]),
165
+ _: 1
166
+ })
167
+ ], 2))
168
+ ], 2)
169
+ ], 2)
170
+ ]),
171
+ default: withCtx(() => [
172
+ createVNode(_component_N8nButton, {
173
+ title: unref(i18n).baseText("executionDetails.additionalActions"),
174
+ disabled: !workflowPermissions.value.update,
175
+ icon: "tasks",
176
+ class: normalizeClass({
177
+ [_ctx.$style.highlightDataButton]: true,
178
+ [_ctx.$style.highlightDataButtonActive]: customDataLength.value > 0,
179
+ [_ctx.$style.highlightDataButtonOpen]: isDropdownVisible.value
180
+ }),
181
+ size: "small",
182
+ type: "secondary",
183
+ "data-test-id": "execution-preview-ellipsis-button",
184
+ onBlur: onEllipsisButtonBlur
185
+ }, {
186
+ default: withCtx(() => [
187
+ customDataLength.value > 0 ? (openBlock(), createBlock(_component_n8n_badge, {
188
+ key: 0,
189
+ class: normalizeClass(_ctx.$style.badge),
190
+ theme: "primary"
191
+ }, {
192
+ default: withCtx(() => [
193
+ createTextVNode(toDisplayString(customDataLength.value.toString()), 1)
194
+ ]),
195
+ _: 1
196
+ }, 8, ["class"])) : createCommentVNode("", true)
197
+ ]),
198
+ _: 1
199
+ }, 8, ["title", "disabled", "class"])
200
+ ]),
201
+ _: 1
202
+ }, 512)) : createCommentVNode("", true);
203
+ };
204
+ }
205
+ });
206
+ const highlightDataButton$1 = "_highlightDataButton_snwak_123";
207
+ const highlightDataButtonActive$1 = "_highlightDataButtonActive_snwak_128";
208
+ const highlightDataButtonOpen$1 = "_highlightDataButtonOpen_snwak_132";
209
+ const badge$1 = "_badge_snwak_138";
210
+ const container = "_container_snwak_142";
211
+ const section = "_section_snwak_154";
212
+ const metadata = "_metadata_snwak_163";
213
+ const heading = "_heading_snwak_167";
214
+ const controls = "_controls_snwak_174";
215
+ const customDataEntry = "_customDataEntry_snwak_186";
216
+ const key = "_key_snwak_193";
217
+ const noResultsContainer = "_noResultsContainer_snwak_197";
218
+ const style0$2 = {
219
+ highlightDataButton: highlightDataButton$1,
220
+ highlightDataButtonActive: highlightDataButtonActive$1,
221
+ highlightDataButtonOpen: highlightDataButtonOpen$1,
222
+ badge: badge$1,
223
+ container,
224
+ section,
225
+ metadata,
226
+ heading,
227
+ controls,
228
+ customDataEntry,
229
+ key,
230
+ noResultsContainer,
231
+ "execution-annotation-panel": "_execution-annotation-panel_snwak_202",
232
+ "el-skeleton__item": "_el-skeleton__item_snwak_202"
233
+ };
234
+ const cssModules$2 = {
235
+ "$style": style0$2
236
+ };
237
+ const WorkflowExecutionAnnotationPanel = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
238
+ const _hoisted_1$1 = { key: 1 };
239
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
240
+ __name: "WorkflowExecutionAnnotationTags.ee",
241
+ props: {
242
+ execution: {}
243
+ },
244
+ setup(__props) {
245
+ const props = __props;
246
+ const locale = useI18n();
247
+ const telemetry = useTelemetry();
248
+ const { showError } = useToast();
249
+ const executionsStore = useExecutionsStore();
250
+ const tagIds = computed(() => props.execution.annotation?.tags.map((tag) => tag.id) ?? []);
251
+ const tags2 = computed(() => props.execution.annotation?.tags);
252
+ const tagsEventBus = createEventBus();
253
+ const isTagsEditEnabled = ref(false);
254
+ const appliedTagIds = ref([]);
255
+ const tagsSaving = ref(false);
256
+ const tagsHasChanged = (prev, curr) => {
257
+ if (prev.length !== curr.length) {
258
+ return true;
259
+ }
260
+ const set = new Set(prev);
261
+ return curr.reduce((acc, val) => acc || !set.has(val), false);
262
+ };
263
+ const onTagsEditEnable = () => {
264
+ appliedTagIds.value = tagIds.value;
265
+ isTagsEditEnabled.value = true;
266
+ tagsEventBus.emit("focus");
267
+ };
268
+ const onTagsBlur = async () => {
269
+ if (!props.execution) {
270
+ return;
271
+ }
272
+ const currentTagIds = tagIds.value ?? [];
273
+ const newTagIds = appliedTagIds.value;
274
+ if (!tagsHasChanged(currentTagIds, newTagIds)) {
275
+ isTagsEditEnabled.value = false;
276
+ return;
277
+ }
278
+ if (tagsSaving.value) {
279
+ return;
280
+ }
281
+ tagsSaving.value = true;
282
+ try {
283
+ await executionsStore.annotateExecution(props.execution.id, { tags: newTagIds });
284
+ if (newTagIds.length > 0) {
285
+ telemetry.track("User added execution annotation tag", {
286
+ tag_ids: newTagIds,
287
+ execution_id: props.execution.id
288
+ });
289
+ }
290
+ } catch (e) {
291
+ showError(e, "executionAnnotationView.tag.error");
292
+ }
293
+ tagsSaving.value = false;
294
+ isTagsEditEnabled.value = false;
295
+ };
296
+ const onTagsEditEsc = () => {
297
+ isTagsEditEnabled.value = false;
298
+ };
299
+ return (_ctx, _cache) => {
300
+ const _component_N8nButton = resolveComponent("N8nButton");
301
+ const _component_el_tag = resolveComponent("el-tag");
302
+ return openBlock(), createElementBlock("div", {
303
+ class: normalizeClass(_ctx.$style.executionDetailsTags)
304
+ }, [
305
+ createBaseVNode("span", {
306
+ class: normalizeClass(_ctx.$style.tags),
307
+ "data-test-id": "annotation-tags-container"
308
+ }, [
309
+ isTagsEditEnabled.value ? (openBlock(), createBlock(_sfc_main$4, {
310
+ key: 0,
311
+ ref: "dropdown",
312
+ modelValue: appliedTagIds.value,
313
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => appliedTagIds.value = $event),
314
+ "create-enabled": true,
315
+ "event-bus": unref(tagsEventBus),
316
+ placeholder: unref(locale).baseText("executionAnnotationView.chooseOrCreateATag"),
317
+ class: "tags-edit",
318
+ "data-test-id": "workflow-tags-dropdown",
319
+ onBlur: onTagsBlur,
320
+ onEsc: onTagsEditEsc
321
+ }, null, 8, ["modelValue", "event-bus", "placeholder"])) : tagIds.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_1$1, [
322
+ createVNode(_component_N8nButton, {
323
+ class: normalizeClass([_ctx.$style.addTagButton, "clickable"]),
324
+ label: unref(locale).baseText("executionAnnotationView.addTag"),
325
+ type: "secondary",
326
+ size: "mini",
327
+ outline: false,
328
+ text: true,
329
+ onClick: onTagsEditEnable,
330
+ "data-test-id": "new-tag-link",
331
+ icon: "plus"
332
+ }, null, 8, ["class", "label"])
333
+ ])) : (openBlock(), createElementBlock("span", {
334
+ key: 2,
335
+ class: normalizeClass([
336
+ "tags-container",
337
+ // FIXME: There are some global styles for tags relying on this classname
338
+ _ctx.$style.tagsContainer
339
+ ]),
340
+ "data-test-id": "execution-annotation-tags",
341
+ onClick: onTagsEditEnable
342
+ }, [
343
+ (openBlock(true), createElementBlock(Fragment, null, renderList(tags2.value, (tag) => {
344
+ return openBlock(), createElementBlock("span", {
345
+ key: tag.id,
346
+ class: "clickable"
347
+ }, [
348
+ createVNode(_component_el_tag, {
349
+ title: tag.name,
350
+ type: "info",
351
+ size: "small",
352
+ "disable-transitions": true
353
+ }, {
354
+ default: withCtx(() => [
355
+ createTextVNode(toDisplayString(tag.name), 1)
356
+ ]),
357
+ _: 2
358
+ }, 1032, ["title"])
359
+ ]);
360
+ }), 128)),
361
+ createBaseVNode("span", {
362
+ class: normalizeClass(_ctx.$style.addTagWrapper)
363
+ }, [
364
+ createVNode(_component_N8nButton, {
365
+ class: normalizeClass([_ctx.$style.addTagButton, _ctx.$style.addTagButtonIconOnly, "clickable"]),
366
+ type: "secondary",
367
+ size: "mini",
368
+ outline: false,
369
+ text: true,
370
+ onClick: onTagsEditEnable,
371
+ "data-test-id": "new-tag-link",
372
+ icon: "plus"
373
+ }, null, 8, ["class"])
374
+ ], 2)
375
+ ], 2))
376
+ ], 2)
377
+ ], 2);
378
+ };
379
+ }
380
+ });
381
+ const tags = "_tags_1brvd_123";
382
+ const addTagButton = "_addTagButton_1brvd_128";
383
+ const addTagButtonIconOnly = "_addTagButtonIconOnly_1brvd_149";
384
+ const tagsContainer = "_tagsContainer_1brvd_154";
385
+ const style0$1 = {
386
+ tags,
387
+ addTagButton,
388
+ addTagButtonIconOnly,
389
+ tagsContainer
390
+ };
391
+ const cssModules$1 = {
392
+ "$style": style0$1
393
+ };
394
+ const WorkflowExecutionAnnotationTags = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
395
+ const _hoisted_1 = ["data-test-id"];
396
+ const _hoisted_2 = { class: "retry-button" };
397
+ const _sfc_main = /* @__PURE__ */ defineComponent({
398
+ __name: "WorkflowExecutionsPreview",
399
+ props: {
400
+ execution: {}
401
+ },
402
+ emits: ["deleteCurrentExecution", "retryExecution", "stopExecution"],
403
+ setup(__props, { emit: __emit }) {
404
+ const props = __props;
405
+ const emit = __emit;
406
+ const route = useRoute();
407
+ const locale = useI18n();
408
+ const { showError } = useToast();
409
+ const executionHelpers = useExecutionHelpers();
410
+ const message = useMessage();
411
+ const executionDebugging = useExecutionDebugging();
412
+ const workflowsStore = useWorkflowsStore();
413
+ const settingsStore = useSettingsStore();
414
+ const retryDropdownRef = ref(null);
415
+ const workflowId = computed(() => route.params.name);
416
+ const workflowPermissions = computed(
417
+ () => getResourcePermissions(workflowsStore.getWorkflowById(workflowId.value)?.scopes).workflow
418
+ );
419
+ const executionId = computed(() => route.params.executionId);
420
+ const executionUIDetails = computed(
421
+ () => props.execution ? executionHelpers.getUIDetails(props.execution) : null
422
+ );
423
+ const debugButtonData = computed(
424
+ () => props.execution?.status === "success" ? {
425
+ text: locale.baseText("executionsList.debug.button.copyToEditor"),
426
+ type: "secondary"
427
+ } : {
428
+ text: locale.baseText("executionsList.debug.button.debugInEditor"),
429
+ type: "primary"
430
+ }
431
+ );
432
+ const isRetriable = computed(
433
+ () => !!props.execution && executionHelpers.isExecutionRetriable(props.execution)
434
+ );
435
+ const isAnnotationEnabled = computed(
436
+ () => settingsStore.isEnterpriseFeatureEnabled[EnterpriseEditionFeature.AdvancedExecutionFilters]
437
+ );
438
+ const hasAnnotation = computed(
439
+ () => !!props.execution?.annotation && (props.execution?.annotation.vote || props.execution?.annotation.tags.length > 0)
440
+ );
441
+ const executionsStore = useExecutionsStore();
442
+ const activeExecution = computed(() => {
443
+ return executionsStore.activeExecution;
444
+ });
445
+ const vote = computed(() => activeExecution.value?.annotation?.vote || null);
446
+ async function onDeleteExecution() {
447
+ const confirmationText = [
448
+ hasAnnotation.value && locale.baseText("executionDetails.confirmMessage.annotationsNote"),
449
+ locale.baseText("executionDetails.confirmMessage.message")
450
+ ].filter(Boolean).join(" ");
451
+ const deleteConfirmed = await message.confirm(
452
+ confirmationText,
453
+ locale.baseText("executionDetails.confirmMessage.headline"),
454
+ {
455
+ type: "warning",
456
+ confirmButtonText: locale.baseText("executionDetails.confirmMessage.confirmButtonText"),
457
+ cancelButtonText: ""
458
+ }
459
+ );
460
+ if (deleteConfirmed !== MODAL_CONFIRM) {
461
+ return;
462
+ }
463
+ emit("deleteCurrentExecution");
464
+ }
465
+ function handleRetryClick(command) {
466
+ emit("retryExecution", { execution: props.execution, command });
467
+ }
468
+ function handleStopClick() {
469
+ emit("stopExecution");
470
+ }
471
+ function onRetryButtonBlur(event) {
472
+ if (retryDropdownRef.value && event.relatedTarget === null) {
473
+ retryDropdownRef.value.handleClose();
474
+ }
475
+ }
476
+ const onVoteClick = async (voteValue) => {
477
+ if (!activeExecution.value) {
478
+ return;
479
+ }
480
+ const voteToSet = voteValue === vote.value ? null : voteValue;
481
+ try {
482
+ await executionsStore.annotateExecution(activeExecution.value.id, { vote: voteToSet });
483
+ } catch (e) {
484
+ showError(e, "executionAnnotationView.vote.error");
485
+ }
486
+ };
487
+ return (_ctx, _cache) => {
488
+ const _component_N8nText = resolveComponent("N8nText");
489
+ const _component_N8nButton = resolveComponent("N8nButton");
490
+ const _component_N8nSpinner = resolveComponent("N8nSpinner");
491
+ const _component_VoteButtons = __unplugin_components_0;
492
+ const _component_N8nIconButton = resolveComponent("N8nIconButton");
493
+ return executionUIDetails.value?.name === "new" ? (openBlock(), createElementBlock("div", {
494
+ key: 0,
495
+ class: normalizeClass(_ctx.$style.newInfo)
496
+ }, [
497
+ createVNode(_component_N8nText, {
498
+ class: normalizeClass(_ctx.$style.newMessage),
499
+ color: "text-light"
500
+ }, {
501
+ default: withCtx(() => [
502
+ createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.newMessage")), 1)
503
+ ]),
504
+ _: 1
505
+ }, 8, ["class"]),
506
+ createVNode(_component_N8nButton, {
507
+ class: "mt-l",
508
+ type: "tertiary",
509
+ onClick: handleStopClick
510
+ }, {
511
+ default: withCtx(() => [
512
+ createTextVNode(toDisplayString(unref(locale).baseText("executionsList.stopExecution")), 1)
513
+ ]),
514
+ _: 1
515
+ })
516
+ ], 2)) : executionUIDetails.value?.name === "running" ? (openBlock(), createElementBlock("div", {
517
+ key: 1,
518
+ class: normalizeClass(_ctx.$style.runningInfo)
519
+ }, [
520
+ createBaseVNode("div", {
521
+ class: normalizeClass(_ctx.$style.spinner)
522
+ }, [
523
+ createVNode(_component_N8nSpinner, { type: "ring" })
524
+ ], 2),
525
+ createVNode(_component_N8nText, {
526
+ class: normalizeClass(_ctx.$style.runningMessage),
527
+ color: "text-light"
528
+ }, {
529
+ default: withCtx(() => [
530
+ createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.runningMessage")), 1)
531
+ ]),
532
+ _: 1
533
+ }, 8, ["class"]),
534
+ createVNode(_component_N8nButton, {
535
+ "data-test-id": "stop-execution",
536
+ class: "mt-l",
537
+ type: "tertiary",
538
+ disabled: !workflowPermissions.value.execute,
539
+ onClick: handleStopClick
540
+ }, {
541
+ default: withCtx(() => [
542
+ createTextVNode(toDisplayString(unref(locale).baseText("executionsList.stopExecution")), 1)
543
+ ]),
544
+ _: 1
545
+ }, 8, ["disabled"])
546
+ ], 2)) : executionUIDetails.value ? (openBlock(), createElementBlock("div", {
547
+ key: 2,
548
+ class: normalizeClass(_ctx.$style.previewContainer)
549
+ }, [
550
+ _ctx.execution ? (openBlock(), createElementBlock("div", {
551
+ key: 0,
552
+ class: normalizeClass(_ctx.$style.executionDetails),
553
+ "data-test-id": `execution-preview-details-${executionId.value}`
554
+ }, [
555
+ createBaseVNode("div", {
556
+ class: normalizeClass(_ctx.$style.executionDetailsLeft)
557
+ }, [
558
+ createBaseVNode("div", {
559
+ class: normalizeClass(_ctx.$style.executionTitle)
560
+ }, [
561
+ createVNode(_component_N8nText, {
562
+ size: "large",
563
+ color: "text-dark",
564
+ bold: true,
565
+ "data-test-id": "execution-time"
566
+ }, {
567
+ default: withCtx(() => [
568
+ createTextVNode(toDisplayString(executionUIDetails.value?.startTime), 1)
569
+ ]),
570
+ _: 1
571
+ }),
572
+ isAnnotationEnabled.value && _ctx.execution ? (openBlock(), createBlock(_component_VoteButtons, {
573
+ key: 0,
574
+ "data-test-id": "execution-preview-vote-buttons",
575
+ vote: vote.value,
576
+ class: normalizeClass(_ctx.$style.voteButtons),
577
+ onVoteClick
578
+ }, null, 8, ["vote", "class"])) : createCommentVNode("", true)
579
+ ], 2),
580
+ createBaseVNode("div", {
581
+ class: normalizeClass(_ctx.$style.executionDetailsInfo)
582
+ }, [
583
+ executionUIDetails.value?.name === "running" ? (openBlock(), createBlock(_component_N8nSpinner, {
584
+ key: 0,
585
+ size: "small",
586
+ class: normalizeClass([_ctx.$style.spinner, "mr-4xs"])
587
+ }, null, 8, ["class"])) : createCommentVNode("", true),
588
+ createVNode(_component_N8nText, {
589
+ size: "medium",
590
+ class: normalizeClass([_ctx.$style.status, _ctx.$style[executionUIDetails.value.name]]),
591
+ "data-test-id": "execution-preview-label"
592
+ }, {
593
+ default: withCtx(() => [
594
+ createTextVNode(toDisplayString(executionUIDetails.value.label), 1)
595
+ ]),
596
+ _: 1
597
+ }, 8, ["class"]),
598
+ _cache[1] || (_cache[1] = createTextVNode(" " + toDisplayString(" ") + " ")),
599
+ executionUIDetails.value?.showTimestamp === false ? (openBlock(), createBlock(_component_N8nText, {
600
+ key: 1,
601
+ color: "text-base",
602
+ size: "medium"
603
+ }, {
604
+ default: withCtx(() => [
605
+ createTextVNode(" | ID#" + toDisplayString(_ctx.execution.id), 1)
606
+ ]),
607
+ _: 1
608
+ })) : executionUIDetails.value.name === "running" ? (openBlock(), createBlock(_component_N8nText, {
609
+ key: 2,
610
+ color: "text-base",
611
+ size: "medium"
612
+ }, {
613
+ default: withCtx(() => [
614
+ createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.runningTimeRunning", {
615
+ interpolate: { time: executionUIDetails.value?.runningTime }
616
+ })) + " | ID#" + toDisplayString(_ctx.execution.id), 1)
617
+ ]),
618
+ _: 1
619
+ })) : executionUIDetails.value.name !== "waiting" ? (openBlock(), createBlock(_component_N8nText, {
620
+ key: 3,
621
+ color: "text-base",
622
+ size: "medium",
623
+ "data-test-id": "execution-preview-id"
624
+ }, {
625
+ default: withCtx(() => [
626
+ createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.runningTimeFinished", {
627
+ interpolate: { time: executionUIDetails.value?.runningTime ?? "unknown" }
628
+ })) + " | ID#" + toDisplayString(_ctx.execution.id), 1)
629
+ ]),
630
+ _: 1
631
+ })) : createCommentVNode("", true)
632
+ ], 2),
633
+ _ctx.execution.mode === "retry" ? (openBlock(), createElementBlock("div", {
634
+ key: 0,
635
+ class: normalizeClass(_ctx.$style.executionDetailsRetry)
636
+ }, [
637
+ createVNode(_component_N8nText, {
638
+ color: "text-base",
639
+ size: "small"
640
+ }, {
641
+ default: withCtx(() => [
642
+ createTextVNode(toDisplayString(unref(locale).baseText("executionDetails.retry")) + " ", 1),
643
+ createVNode(unref(RouterLink), {
644
+ class: normalizeClass(_ctx.$style.executionLink),
645
+ to: {
646
+ name: unref(VIEWS).EXECUTION_PREVIEW,
647
+ params: {
648
+ workflowId: _ctx.execution.workflowId,
649
+ executionId: _ctx.execution.retryOf
650
+ }
651
+ }
652
+ }, {
653
+ default: withCtx(() => [
654
+ createTextVNode(" #" + toDisplayString(_ctx.execution.retryOf), 1)
655
+ ]),
656
+ _: 1
657
+ }, 8, ["class", "to"])
658
+ ]),
659
+ _: 1
660
+ })
661
+ ], 2)) : createCommentVNode("", true),
662
+ isAnnotationEnabled.value && _ctx.execution ? (openBlock(), createBlock(WorkflowExecutionAnnotationTags, {
663
+ key: 1,
664
+ execution: _ctx.execution
665
+ }, null, 8, ["execution"])) : createCommentVNode("", true)
666
+ ], 2),
667
+ createBaseVNode("div", {
668
+ class: normalizeClass(_ctx.$style.actions)
669
+ }, [
670
+ createVNode(unref(RouterLink), {
671
+ to: {
672
+ name: unref(VIEWS).EXECUTION_DEBUG,
673
+ params: {
674
+ name: _ctx.execution.workflowId,
675
+ executionId: _ctx.execution.id
676
+ }
677
+ }
678
+ }, {
679
+ default: withCtx(() => [
680
+ createVNode(_component_N8nButton, {
681
+ size: "medium",
682
+ type: debugButtonData.value.type,
683
+ class: normalizeClass(_ctx.$style.debugLink),
684
+ disabled: !workflowPermissions.value.update
685
+ }, {
686
+ default: withCtx(() => [
687
+ createBaseVNode("span", {
688
+ "data-test-id": "execution-debug-button",
689
+ onClick: _cache[0] || (_cache[0] = //@ts-ignore
690
+ (...args) => unref(executionDebugging).handleDebugLinkClick && unref(executionDebugging).handleDebugLinkClick(...args))
691
+ }, toDisplayString(debugButtonData.value.text), 1)
692
+ ]),
693
+ _: 1
694
+ }, 8, ["type", "class", "disabled"])
695
+ ]),
696
+ _: 1
697
+ }, 8, ["to"]),
698
+ isRetriable.value ? (openBlock(), createBlock(unref(ElDropdown), {
699
+ key: 0,
700
+ ref: "retryDropdown",
701
+ trigger: "click",
702
+ onCommand: handleRetryClick
703
+ }, {
704
+ dropdown: withCtx(() => [
705
+ createVNode(unref(ElDropdownMenu), null, {
706
+ default: withCtx(() => [
707
+ createVNode(unref(ElDropdownItem), { command: "current-workflow" }, {
708
+ default: withCtx(() => [
709
+ createTextVNode(toDisplayString(unref(locale).baseText("executionsList.retryWithCurrentlySavedWorkflow")), 1)
710
+ ]),
711
+ _: 1
712
+ }),
713
+ createVNode(unref(ElDropdownItem), { command: "original-workflow" }, {
714
+ default: withCtx(() => [
715
+ createTextVNode(toDisplayString(unref(locale).baseText("executionsList.retryWithOriginalWorkflow")), 1)
716
+ ]),
717
+ _: 1
718
+ })
719
+ ]),
720
+ _: 1
721
+ })
722
+ ]),
723
+ default: withCtx(() => [
724
+ createBaseVNode("span", _hoisted_2, [
725
+ createVNode(_component_N8nIconButton, {
726
+ size: "medium",
727
+ type: "tertiary",
728
+ title: unref(locale).baseText("executionsList.retryExecution"),
729
+ disabled: !workflowPermissions.value.update,
730
+ icon: "redo",
731
+ "data-test-id": "execution-preview-retry-button",
732
+ onBlur: onRetryButtonBlur
733
+ }, null, 8, ["title", "disabled"])
734
+ ])
735
+ ]),
736
+ _: 1
737
+ }, 512)) : createCommentVNode("", true),
738
+ isAnnotationEnabled.value && activeExecution.value ? (openBlock(), createBlock(WorkflowExecutionAnnotationPanel, {
739
+ key: 1,
740
+ execution: activeExecution.value
741
+ }, null, 8, ["execution"])) : createCommentVNode("", true),
742
+ createVNode(_component_N8nIconButton, {
743
+ title: unref(locale).baseText("executionDetails.deleteExecution"),
744
+ disabled: !workflowPermissions.value.update,
745
+ icon: "trash",
746
+ size: "medium",
747
+ type: "tertiary",
748
+ "data-test-id": "execution-preview-delete-button",
749
+ onClick: onDeleteExecution
750
+ }, null, 8, ["title", "disabled"])
751
+ ], 2)
752
+ ], 10, _hoisted_1)) : createCommentVNode("", true),
753
+ (openBlock(), createBlock(WorkflowPreview, {
754
+ key: executionId.value,
755
+ mode: "execution",
756
+ "loader-type": "spinner",
757
+ "execution-id": executionId.value,
758
+ "execution-mode": _ctx.execution?.mode || ""
759
+ }, null, 8, ["execution-id", "execution-mode"]))
760
+ ], 2)) : createCommentVNode("", true);
761
+ };
762
+ }
763
+ });
764
+ const previewContainer = "_previewContainer_1v3g2_123";
765
+ const executionDetails = "_executionDetails_1v3g2_129";
766
+ const executionDetailsLeft = "_executionDetailsLeft_1v3g2_147";
767
+ const executionTitle = "_executionTitle_1v3g2_153";
768
+ const voteButtons = "_voteButtons_1v3g2_159";
769
+ const spinner = "_spinner_1v3g2_163";
770
+ const running = "_running_1v3g2_169";
771
+ const waiting = "_waiting_1v3g2_174";
772
+ const success = "_success_1v3g2_178";
773
+ const error = "_error_1v3g2_182";
774
+ const newInfo = "_newInfo_1v3g2_186";
775
+ const runningInfo = "_runningInfo_1v3g2_187";
776
+ const newMessage = "_newMessage_1v3g2_194";
777
+ const runningMessage = "_runningMessage_1v3g2_195";
778
+ const debugLink = "_debugLink_1v3g2_201";
779
+ const actions = "_actions_1v3g2_206";
780
+ const highlightDataButton = "_highlightDataButton_1v3g2_211";
781
+ const highlightDataButtonActive = "_highlightDataButtonActive_1v3g2_216";
782
+ const highlightDataButtonOpen = "_highlightDataButtonOpen_1v3g2_220";
783
+ const badge = "_badge_1v3g2_226";
784
+ const style0 = {
785
+ previewContainer,
786
+ executionDetails,
787
+ executionDetailsLeft,
788
+ executionTitle,
789
+ voteButtons,
790
+ spinner,
791
+ running,
792
+ waiting,
793
+ success,
794
+ error,
795
+ newInfo,
796
+ runningInfo,
797
+ newMessage,
798
+ runningMessage,
799
+ debugLink,
800
+ actions,
801
+ highlightDataButton,
802
+ highlightDataButtonActive,
803
+ highlightDataButtonOpen,
804
+ badge
805
+ };
806
+ const cssModules = {
807
+ "$style": style0
808
+ };
809
+ const WorkflowExecutionsPreview = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
810
+ export {
811
+ WorkflowExecutionsPreview as default
812
+ };