n8n-editor-ui 1.74.2 → 1.75.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BGMvcLGD.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BhRv3Xk0.js} +1 -1
- package/dist/assets/{AuthView-Ith__0eD.js → AuthView-vL9vjCvD.js} +2 -2
- package/dist/assets/{CanvasChat-Cw5o-PL2.js → CanvasChat-B69VJDcA.js} +4 -4
- package/dist/assets/{CanvasControls-Dheiiatx.js → CanvasControls-DhhKk7yf.js} +1 -1
- package/dist/assets/{ChangePasswordView-C9X9utGh.js → ChangePasswordView-D8y2rYLl.js} +3 -3
- package/dist/assets/CollectionParameter-djLQ8MUO.js +4 -0
- package/dist/assets/{ConcurrentExecutionsHeader-wCeutH_v.js → ConcurrentExecutionsHeader-Dv0s5rxY.js} +19 -14
- package/dist/assets/{CredentialsView-DRWQyccW.css → CredentialsView-BAqjGrNq.css} +8 -11
- package/dist/assets/{CredentialsView-Dpr3-OkZ.js → CredentialsView-Dp0fVbpZ.js} +67 -21
- package/dist/assets/{ErrorView-B1TH07lB.js → ErrorView-a6qq4rkt.js} +1 -1
- package/dist/assets/{ExecutionsView-C0P3HAAt.css → ExecutionsView-CB1tvZfo.css} +2 -2
- package/dist/assets/{ExecutionsView-C_UlKyFu.js → ExecutionsView-CpILe_1o.js} +9 -7
- package/dist/assets/{FileSaver.min-88clUB_D.js → FileSaver.min-C1QTiJmy.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-DTYEPKy4.js → FixedCollectionParameter-kphzKyyy.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-DnIE_RiG.js → ForgotMyPasswordView-DzUekqel.js} +3 -3
- package/dist/assets/{Logo-btkcAM5k.js → Logo-B-pFOUGc.js} +1 -1
- package/dist/assets/{MainHeader-DJNxnDOh.js → MainHeader-C6S60KwG.js} +9 -9
- package/dist/assets/{MainSidebar-CGrrReO5.js → MainSidebar-CJ-OKhK-.js} +85 -44
- package/dist/assets/{NodeCreation-BUVYJ4XY.js → NodeCreation-CNcty5fl.js} +4 -4
- package/dist/assets/{NodeCreator-DqEE-h1z.js → NodeCreator-DAW2sX8p.js} +5 -5
- package/dist/assets/{NodeViewSwitcher-UPCWvuIo.css → NodeViewSwitcher-CB1zkjni.css} +2 -2
- package/dist/assets/{NodeViewSwitcher-uwFaqmg2.js → NodeViewSwitcher-mtWBt9cw.js} +70 -42
- package/dist/assets/{ProjectCardBadge-C_VCQBSB.js → ProjectCardBadge-DcWhzEr6.js} +15 -2
- package/dist/assets/{ProjectHeader-Zo2p1bQj.js → ProjectHeader-D2FCquSr.js} +1 -1
- package/dist/assets/{ProjectSettings-BKn7INyl.js → ProjectSettings-CDg4IQw7.js} +3 -4
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-5btRGEDZ.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-BPBen7Li.js} +1 -1
- package/dist/assets/{ResourcesListLayout-Dw1dU1aW.css → ResourcesListLayout-CJC-YvjD.css} +6 -6
- package/dist/assets/{ResourcesListLayout-CBkeotXe.js → ResourcesListLayout-DWASP6Vp.js} +21 -6
- package/dist/assets/{RunDataJson-B0B3UZhX.js → RunDataJson-CFNeORgR.js} +15 -15
- package/dist/assets/{RunDataJsonActions-lokoSwWv.js → RunDataJsonActions-COFXneND.js} +2 -2
- package/dist/assets/{RunDataSearch-DeaEJ_PR.js → RunDataSearch-D9UDSGjR.js} +1 -1
- package/dist/assets/{RunDataTable-CubJ5XeK.js → RunDataTable-C3flt0dy.js} +2 -2
- package/dist/assets/{SamlOnboarding-BmYDL6AZ.js → SamlOnboarding-CWM-8qu7.js} +3 -3
- package/dist/assets/{SettingsApiView-wOuH6MPH.js → SettingsApiView-Bl6jvpWQ.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-DeHEHNMb.js → SettingsCommunityNodesView-5Dl4EOzd.js} +4 -4
- package/dist/assets/{SettingsExternalSecrets-BAly7jkM.js → SettingsExternalSecrets-DljwCjwW.js} +1 -1
- package/dist/assets/{SettingsLdapView-_XJkZbx0.js → SettingsLdapView-5kgLPxB7.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-CFPWPH8k.js → SettingsLogStreamingView-CsB-E4Kv.js} +1 -1
- package/dist/assets/{SettingsPersonalView-BgfrFrxF.js → SettingsPersonalView-B0vJNuPt.js} +1 -1
- package/dist/assets/{SettingsSourceControl-CMQpBZVJ.js → SettingsSourceControl-B7SGpzBu.js} +1 -1
- package/dist/assets/{SettingsSso-CFjQzvfi.js → SettingsSso-pDsu2lsS.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-hPndd_qg.js → SettingsUsageAndPlan-B83lunzH.js} +1 -1
- package/dist/assets/{SettingsUsersView-BE7PAhME.js → SettingsUsersView-DPM5R_9p.js} +1 -1
- package/dist/assets/{SettingsView-lVVHauXb.js → SettingsView-NF_8zzqr.js} +1 -1
- package/dist/assets/{SetupView-BpI2wx9t.js → SetupView-Dzehb2sC.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-CthxlUc6.js → SetupWorkflowCredentialsButton-Bhx7c9Lu.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-DuD0OWrG.js → SetupWorkflowFromTemplateView-DaP6_l4S.js} +3 -3
- package/dist/assets/{SigninView-Dw3STYQp.js → SigninView-BLyXzN0c.js} +3 -3
- package/dist/assets/{SignoutView-CcjDrZVV.js → SignoutView-BsaJctbQ.js} +1 -1
- package/dist/assets/{SignupView-DypBR2Ul.js → SignupView-m53hHk3y.js} +3 -3
- package/dist/assets/{TemplateDetails-826pCBOD.js → TemplateDetails-CWR4kXyf.js} +1 -1
- package/dist/assets/{TemplateList-C6e_TGqt.js → TemplateList-DLQxEmgt.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-Bq_1oupE.js → TemplatesCollectionView-CobxDh9v.js} +5 -5
- package/dist/assets/{TemplatesSearchView-DQTo0xcT.js → TemplatesSearchView-CDW7EH1p.js} +3 -3
- package/dist/assets/{TemplatesView--VCUy56k.js → TemplatesView-DJCodjB-.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-BN3UH513.js → TemplatesWorkflowView-DOlLEzEa.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-DMspOHKm.js → TestDefinitionEditView-Cuphh86f.js} +271 -225
- package/dist/assets/{TestDefinitionEditView-DM4tV2LS.css → TestDefinitionEditView-FI1GVbhl.css} +123 -93
- package/dist/assets/{TestDefinitionListView-BwTh8Q7I.js → TestDefinitionListView-Dgq9dXJL.js} +65 -17
- package/dist/assets/{TestDefinitionListView-BD5_O4Fx.css → TestDefinitionListView-GsFM1AF9.css} +15 -9
- package/dist/assets/TestDefinitionRootView-DU-JMBSH.js +36 -0
- package/dist/assets/TestDefinitionRootView-K8b6hMi2.css +128 -0
- package/dist/assets/{VariablesView-BGpmEtzx.js → VariablesView-CaGkZXjl.js} +2 -2
- package/dist/assets/{WorkerView-DY2IWbT1.js → WorkerView-CbqToUTB.js} +5 -5
- package/dist/assets/{WorkflowActivator-A59hqJh4.js → WorkflowActivator-BaM6Tydw.js} +35 -3
- package/dist/assets/{WorkflowActivator-DQhm5t0U.css → WorkflowActivator-brtYjIty.css} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-tL2lYb8k.js → WorkflowExecutionsInfoAccordion-6kKOPXK7.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-xKhvNdu7.js → WorkflowExecutionsLandingPage-Cqq5FeZE.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-D9TgCSGx.js → WorkflowExecutionsPreview-D1cSllVi.js} +5 -5
- package/dist/assets/{WorkflowExecutionsView-DEqJNNDZ.css → WorkflowExecutionsView-BUHtKz5M.css} +2 -2
- package/dist/assets/{WorkflowExecutionsView-BdUlHXeH.js → WorkflowExecutionsView-qTFEWbeC.js} +9 -7
- package/dist/assets/{WorkflowHistory-KjDPphBi.js → WorkflowHistory-De54-QkN.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-Dew3hR7B.js → WorkflowOnboardingView-p6cAElRZ.js} +1 -1
- package/dist/assets/{WorkflowPreview-4IdAGoz-.js → WorkflowPreview-CKK96lnJ.js} +1 -1
- package/dist/assets/{WorkflowsView-DgeULUYw.js → WorkflowsView-D5G530AX.js} +7 -19
- package/dist/assets/{easyAiWorkflowUtils-BmP_7cYe.js → easyAiWorkflowUtils-eykvtlKm.js} +1 -1
- package/dist/assets/{index-h-73ZEd2.js → index-CWcTt6jd.js} +6493 -1873
- package/dist/assets/{index-CW4BqETs.css → index-DXFsvbJ_.css} +266 -96
- package/dist/assets/{pushConnection.store-C98bYxrQ.js → pushConnection.store-CTrZ_kO6.js} +1 -1
- package/dist/assets/{templateActions-YPCMxdFp.js → templateActions-B712CNo3.js} +1 -1
- package/dist/assets/{useBugReporting-DVwqBWOX.js → useBugReporting-BxDqzvRW.js} +1 -1
- package/dist/assets/{useCanvasOperations-Byu1Z5ea.css → useCanvasOperations-BSKKylIT.css} +4 -4
- package/dist/assets/{useCanvasOperations-D_Wo5FDT.js → useCanvasOperations-DTx4vbp_.js} +68 -42
- package/dist/assets/{useExecutionDebugging-CmJjm9QX.js → useExecutionDebugging-DjYGtT4w.js} +1 -1
- package/dist/assets/{useExecutionHelpers-DHiZGyNZ.js → useExecutionHelpers-DcyS3__o.js} +1 -1
- package/dist/assets/{useNodeViewVersionSwitcher-B-eORoKK.js → useNodeViewVersionSwitcher-CXU1PYlK.js} +1 -1
- package/dist/assets/{usePinnedData-BtLR7SnZ.js → usePinnedData-C5NRkSpx.js} +1 -1
- package/dist/assets/{usePushConnection-D4gL8NOB.js → usePushConnection-CGv57TM5.js} +40 -12
- package/dist/assets/{useRunWorkflow-DQ7CDbn4.js → useRunWorkflow-C_vazd74.js} +4 -8
- package/dist/assets/{useWorkflowActivate-sPEqe3p1.js → useWorkflowActivate-Dxi5zSSs.js} +1 -1
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-Fn_BuiDh.js +0 -4
package/dist/assets/{TestDefinitionEditView-DMspOHKm.js → TestDefinitionEditView-Cuphh86f.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { f as useCanvasOperations, d as useVueFlow, e as useCanvasMapping, _ as __unplugin_components_0
|
|
2
|
-
import { d as defineComponent, T as useWorkflowsStore,
|
|
3
|
-
import "./useBugReporting-
|
|
4
|
-
import "./usePinnedData-
|
|
1
|
+
import { f as useCanvasOperations, d as useVueFlow, e as useCanvasMapping, _ as __unplugin_components_0 } from "./useCanvasOperations-DTx4vbp_.js";
|
|
2
|
+
import { d as defineComponent, T as useWorkflowsStore, bp as useNodeTypesStore, U as useRoute, b as useRouter, r as ref, q as computed, o as onMounted, c as openBlock, h as createElementBlock, e as createBlock, n as normalizeClass, f as createCommentVNode, i as createVNode, w as withCtx, j as createBaseVNode, k as createTextVNode, t as toDisplayString, l as unref, aQ as N8nTooltip, g as useI18n, C as createEventBus, aa as useCssModule, m as resolveComponent, _ as _export_sfc, hM as useTestDefinitionStore, F as Fragment, s as renderSlot, ay as withDirectives, az as vShow, hN as ElCollapseTransition, y as nextTick, A as renderList, hG as _sfc_main$9, hO as __unplugin_components_0$1, J as useDebounce, a as useToast, hE as useAnnotationTagsStore, K as useUIStore, V as VIEWS, H as watch, hP as TestRunsTable, hQ as NODE_PINNING_MODAL_KEY, hR as Modal, hS as __unplugin_components_0$2 } from "./index-CWcTt6jd.js";
|
|
3
|
+
import "./useBugReporting-BxDqzvRW.js";
|
|
4
|
+
import "./usePinnedData-C5NRkSpx.js";
|
|
5
5
|
const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
6
6
|
__name: "NodesPinning",
|
|
7
7
|
props: {
|
|
@@ -23,14 +23,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
23
23
|
const isLoading = ref(true);
|
|
24
24
|
const workflowId = computed(() => route.params.name);
|
|
25
25
|
const testId = computed(() => route.params.testId);
|
|
26
|
-
const
|
|
26
|
+
const workflow = computed(() => workflowsStore.getWorkflowById(workflowId.value));
|
|
27
27
|
const workflowObject = computed(() => workflowsStore.getCurrentWorkflow(true));
|
|
28
28
|
const canvasId = computed(() => `${uuid}-${testId.value}`);
|
|
29
29
|
const { onNodesInitialized, fitView, zoomTo } = useVueFlow({ id: canvasId.value });
|
|
30
30
|
const nodes = computed(() => {
|
|
31
|
-
return
|
|
31
|
+
return workflow.value.nodes ?? [];
|
|
32
32
|
});
|
|
33
|
-
const connections = computed(() =>
|
|
33
|
+
const connections = computed(() => workflow.value.connections);
|
|
34
34
|
const { nodes: mappedNodes, connections: mappedConnections } = useCanvasMapping({
|
|
35
35
|
nodes,
|
|
36
36
|
connections,
|
|
@@ -44,7 +44,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
44
44
|
workflowsStore.fetchWorkflow(workflowId.value)
|
|
45
45
|
]);
|
|
46
46
|
await loadingPromise;
|
|
47
|
-
initializeWorkspace(
|
|
47
|
+
initializeWorkspace(workflow.value);
|
|
48
48
|
disableAllNodes();
|
|
49
49
|
}
|
|
50
50
|
function getNodeNameById(id) {
|
|
@@ -71,12 +71,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
71
71
|
function disableAllNodes() {
|
|
72
72
|
const ids = mappedNodes.value.map((node) => node.id);
|
|
73
73
|
updateNodeClasses(ids, false);
|
|
74
|
-
const pinnedNodes = props.modelValue.map((node) =>
|
|
75
|
-
const matchedNode = mappedNodes.value.find(
|
|
76
|
-
(mappedNode) => mappedNode?.data?.name === node.name
|
|
77
|
-
);
|
|
78
|
-
return matchedNode?.id ?? null;
|
|
79
|
-
}).filter((n) => n !== null);
|
|
74
|
+
const pinnedNodes = props.modelValue.map((node) => node.id).filter((id) => id !== null);
|
|
80
75
|
if (pinnedNodes.length > 0) {
|
|
81
76
|
updateNodeClasses(pinnedNodes, true);
|
|
82
77
|
}
|
|
@@ -84,8 +79,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
84
79
|
function onPinButtonClick(data) {
|
|
85
80
|
const nodeName = getNodeNameById(data.id);
|
|
86
81
|
if (!nodeName) return;
|
|
87
|
-
const isPinned = props.modelValue.some((node) => node.
|
|
88
|
-
const updatedNodes = isPinned ? props.modelValue.filter((node) => node.
|
|
82
|
+
const isPinned = props.modelValue.some((node) => node.id === data.id);
|
|
83
|
+
const updatedNodes = isPinned ? props.modelValue.filter((node) => node.id !== data.id) : [...props.modelValue, { name: nodeName, id: data.id }];
|
|
89
84
|
emit("update:modelValue", updatedNodes);
|
|
90
85
|
updateNodeClasses([data.id], !isPinned);
|
|
91
86
|
}
|
|
@@ -101,7 +96,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
101
96
|
return (_ctx, _cache) => {
|
|
102
97
|
const _component_N8nSpinner = resolveComponent("N8nSpinner");
|
|
103
98
|
const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
|
|
104
|
-
const _component_Canvas = __unplugin_components_0
|
|
99
|
+
const _component_Canvas = __unplugin_components_0;
|
|
105
100
|
return openBlock(), createElementBlock("div", {
|
|
106
101
|
class: normalizeClass(_ctx.$style.container)
|
|
107
102
|
}, [
|
|
@@ -138,6 +133,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
138
133
|
size: "large",
|
|
139
134
|
icon: "thumbtack",
|
|
140
135
|
class: normalizeClass(_ctx.$style.pinButton),
|
|
136
|
+
"data-test-id": "node-pin-button",
|
|
141
137
|
onClick: ($event) => onPinButtonClick(data)
|
|
142
138
|
}, null, 8, ["class", "onClick"])
|
|
143
139
|
]),
|
|
@@ -168,7 +164,7 @@ const style0$7 = {
|
|
|
168
164
|
const cssModules$7 = {
|
|
169
165
|
"$style": style0$7
|
|
170
166
|
};
|
|
171
|
-
const
|
|
167
|
+
const __unplugin_components_2 = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__cssModules", cssModules$7]]);
|
|
172
168
|
const arrowConnector = "_arrowConnector_1mi41_123";
|
|
173
169
|
const style0$6 = {
|
|
174
170
|
arrowConnector
|
|
@@ -182,7 +178,7 @@ function _sfc_render(_ctx, _cache) {
|
|
|
182
178
|
const cssModules$6 = {
|
|
183
179
|
"$style": style0$6
|
|
184
180
|
};
|
|
185
|
-
const
|
|
181
|
+
const __unplugin_components_1 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render], ["__cssModules", cssModules$6]]);
|
|
186
182
|
function useTestDefinitionForm() {
|
|
187
183
|
const evaluationsStore = useTestDefinitionStore();
|
|
188
184
|
const state = ref({
|
|
@@ -196,7 +192,11 @@ function useTestDefinitionForm() {
|
|
|
196
192
|
tempValue: [],
|
|
197
193
|
isEditing: false
|
|
198
194
|
},
|
|
199
|
-
description:
|
|
195
|
+
description: {
|
|
196
|
+
value: "",
|
|
197
|
+
tempValue: "",
|
|
198
|
+
isEditing: false
|
|
199
|
+
},
|
|
200
200
|
evaluationWorkflow: {
|
|
201
201
|
mode: "list",
|
|
202
202
|
value: "",
|
|
@@ -210,7 +210,8 @@ function useTestDefinitionForm() {
|
|
|
210
210
|
const fields = ref({});
|
|
211
211
|
const editableFields = computed(() => ({
|
|
212
212
|
name: state.value.name,
|
|
213
|
-
tags: state.value.tags
|
|
213
|
+
tags: state.value.tags,
|
|
214
|
+
description: state.value.description
|
|
214
215
|
}));
|
|
215
216
|
const loadTestData = async (testId) => {
|
|
216
217
|
try {
|
|
@@ -218,7 +219,11 @@ function useTestDefinitionForm() {
|
|
|
218
219
|
const testDefinition = evaluationsStore.testDefinitionsById[testId];
|
|
219
220
|
if (testDefinition) {
|
|
220
221
|
const metrics = await evaluationsStore.fetchMetrics(testId);
|
|
221
|
-
state.value.description =
|
|
222
|
+
state.value.description = {
|
|
223
|
+
value: testDefinition.description ?? "",
|
|
224
|
+
isEditing: false,
|
|
225
|
+
tempValue: ""
|
|
226
|
+
};
|
|
222
227
|
state.value.name = {
|
|
223
228
|
value: testDefinition.name ?? "",
|
|
224
229
|
isEditing: false,
|
|
@@ -249,7 +254,7 @@ function useTestDefinitionForm() {
|
|
|
249
254
|
const params = {
|
|
250
255
|
name: state.value.name.value,
|
|
251
256
|
workflowId,
|
|
252
|
-
description: state.value.description
|
|
257
|
+
description: state.value.description.value
|
|
253
258
|
};
|
|
254
259
|
return await evaluationsStore.create(params);
|
|
255
260
|
} finally {
|
|
@@ -277,7 +282,9 @@ function useTestDefinitionForm() {
|
|
|
277
282
|
});
|
|
278
283
|
}
|
|
279
284
|
});
|
|
285
|
+
isSaving.value = true;
|
|
280
286
|
await Promise.all(promises);
|
|
287
|
+
isSaving.value = false;
|
|
281
288
|
};
|
|
282
289
|
const updateTest = async (testId) => {
|
|
283
290
|
if (isSaving.value) return;
|
|
@@ -289,7 +296,7 @@ function useTestDefinitionForm() {
|
|
|
289
296
|
}
|
|
290
297
|
const params = {
|
|
291
298
|
name: state.value.name.value,
|
|
292
|
-
description: state.value.description
|
|
299
|
+
description: state.value.description.value
|
|
293
300
|
};
|
|
294
301
|
if (state.value.evaluationWorkflow.value) {
|
|
295
302
|
params.evaluationWorkflowId = state.value.evaluationWorkflow.value.toString();
|
|
@@ -301,13 +308,14 @@ function useTestDefinitionForm() {
|
|
|
301
308
|
if (state.value.mockedNodes.length > 0) {
|
|
302
309
|
params.mockedNodes = state.value.mockedNodes;
|
|
303
310
|
}
|
|
304
|
-
|
|
311
|
+
const response = await evaluationsStore.update({ ...params, id: testId });
|
|
312
|
+
return response;
|
|
305
313
|
} finally {
|
|
306
314
|
isSaving.value = false;
|
|
307
315
|
}
|
|
308
316
|
};
|
|
309
|
-
function startEditing(
|
|
310
|
-
const fieldObj = editableFields.value[
|
|
317
|
+
function startEditing(field) {
|
|
318
|
+
const fieldObj = editableFields.value[field];
|
|
311
319
|
if (fieldObj.isEditing) {
|
|
312
320
|
return;
|
|
313
321
|
}
|
|
@@ -318,13 +326,13 @@ function useTestDefinitionForm() {
|
|
|
318
326
|
}
|
|
319
327
|
fieldObj.isEditing = true;
|
|
320
328
|
}
|
|
321
|
-
function saveChanges(
|
|
322
|
-
const fieldObj = editableFields.value[
|
|
329
|
+
function saveChanges(field) {
|
|
330
|
+
const fieldObj = editableFields.value[field];
|
|
323
331
|
fieldObj.value = Array.isArray(fieldObj.tempValue) ? [...fieldObj.tempValue] : fieldObj.tempValue;
|
|
324
332
|
fieldObj.isEditing = false;
|
|
325
333
|
}
|
|
326
|
-
function cancelEditing(
|
|
327
|
-
const fieldObj = editableFields.value[
|
|
334
|
+
function cancelEditing(field) {
|
|
335
|
+
const fieldObj = editableFields.value[field];
|
|
328
336
|
if (Array.isArray(fieldObj.value)) {
|
|
329
337
|
fieldObj.tempValue = [...fieldObj.value];
|
|
330
338
|
} else {
|
|
@@ -332,12 +340,12 @@ function useTestDefinitionForm() {
|
|
|
332
340
|
}
|
|
333
341
|
fieldObj.isEditing = false;
|
|
334
342
|
}
|
|
335
|
-
function handleKeydown(event,
|
|
343
|
+
function handleKeydown(event, field) {
|
|
336
344
|
if (event.key === "Escape") {
|
|
337
|
-
cancelEditing(
|
|
345
|
+
cancelEditing(field);
|
|
338
346
|
} else if (event.key === "Enter" && !event.shiftKey) {
|
|
339
347
|
event.preventDefault();
|
|
340
|
-
saveChanges(
|
|
348
|
+
saveChanges(field);
|
|
341
349
|
}
|
|
342
350
|
}
|
|
343
351
|
return {
|
|
@@ -374,8 +382,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
374
382
|
class: normalizeClass(_ctx.$style.header)
|
|
375
383
|
}, [
|
|
376
384
|
createVNode(_component_n8n_icon_button, {
|
|
377
|
-
icon: "arrow-left",
|
|
378
385
|
class: normalizeClass(_ctx.$style.backButton),
|
|
386
|
+
icon: "arrow-left",
|
|
379
387
|
type: "tertiary",
|
|
380
388
|
title: unref(locale).baseText("testDefinition.edit.backButtonTitle"),
|
|
381
389
|
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$router.back())
|
|
@@ -409,14 +417,14 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
409
417
|
};
|
|
410
418
|
}
|
|
411
419
|
});
|
|
412
|
-
const header$1 = "
|
|
413
|
-
const editInputButton$
|
|
414
|
-
const title$1 = "
|
|
415
|
-
const titleText = "
|
|
416
|
-
const backButton = "
|
|
420
|
+
const header$1 = "_header_qmfly_123";
|
|
421
|
+
const editInputButton$2 = "_editInputButton_qmfly_127";
|
|
422
|
+
const title$1 = "_title_qmfly_131";
|
|
423
|
+
const titleText = "_titleText_qmfly_142";
|
|
424
|
+
const backButton = "_backButton_qmfly_155";
|
|
417
425
|
const style0$5 = {
|
|
418
426
|
header: header$1,
|
|
419
|
-
editInputButton: editInputButton$
|
|
427
|
+
editInputButton: editInputButton$2,
|
|
420
428
|
title: title$1,
|
|
421
429
|
titleText,
|
|
422
430
|
backButton
|
|
@@ -428,40 +436,71 @@ const EvaluationHeader = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModule
|
|
|
428
436
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
429
437
|
__name: "DescriptionInput",
|
|
430
438
|
props: {
|
|
431
|
-
modelValue: {
|
|
439
|
+
modelValue: {},
|
|
440
|
+
startEditing: { type: Function },
|
|
441
|
+
saveChanges: { type: Function },
|
|
442
|
+
handleKeydown: { type: Function }
|
|
432
443
|
},
|
|
433
444
|
emits: ["update:modelValue"],
|
|
434
445
|
setup(__props) {
|
|
435
446
|
const locale = useI18n();
|
|
436
447
|
return (_ctx, _cache) => {
|
|
448
|
+
const _component_n8n_icon = resolveComponent("n8n-icon");
|
|
449
|
+
const _component_N8nText = resolveComponent("N8nText");
|
|
450
|
+
const _component_n8n_icon_button = resolveComponent("n8n-icon-button");
|
|
437
451
|
const _component_N8nInput = resolveComponent("N8nInput");
|
|
438
|
-
const _component_n8n_input_label = resolveComponent("n8n-input-label");
|
|
439
452
|
return openBlock(), createElementBlock("div", {
|
|
440
|
-
class: normalizeClass(
|
|
453
|
+
class: normalizeClass(_ctx.$style.description)
|
|
441
454
|
}, [
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
"
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
455
|
+
!_ctx.modelValue.isEditing ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
456
|
+
createBaseVNode("span", {
|
|
457
|
+
class: normalizeClass(_ctx.$style.descriptionText),
|
|
458
|
+
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.startEditing("description"))
|
|
459
|
+
}, [
|
|
460
|
+
_ctx.modelValue.value.length === 0 ? (openBlock(), createBlock(_component_n8n_icon, {
|
|
461
|
+
key: 0,
|
|
462
|
+
class: normalizeClass(_ctx.$style.icon),
|
|
463
|
+
icon: "plus",
|
|
464
|
+
color: "text-light",
|
|
465
|
+
size: "medium"
|
|
466
|
+
}, null, 8, ["class"])) : createCommentVNode("", true),
|
|
467
|
+
createVNode(_component_N8nText, { size: "medium" }, {
|
|
468
|
+
default: withCtx(() => [
|
|
469
|
+
createTextVNode(toDisplayString(_ctx.modelValue.value.length > 0 ? _ctx.modelValue.value : "Add a description"), 1)
|
|
470
|
+
]),
|
|
471
|
+
_: 1
|
|
472
|
+
})
|
|
473
|
+
], 2),
|
|
474
|
+
createVNode(_component_n8n_icon_button, {
|
|
475
|
+
class: normalizeClass(_ctx.$style.editInputButton),
|
|
476
|
+
icon: "pen",
|
|
477
|
+
type: "tertiary",
|
|
478
|
+
onClick: _cache[1] || (_cache[1] = ($event) => _ctx.startEditing("description"))
|
|
479
|
+
}, null, 8, ["class"])
|
|
480
|
+
], 64)) : (openBlock(), createBlock(_component_N8nInput, {
|
|
481
|
+
key: 1,
|
|
482
|
+
ref: "descriptionInput",
|
|
483
|
+
"data-test-id": "evaluation-description-input",
|
|
484
|
+
"model-value": _ctx.modelValue.tempValue,
|
|
485
|
+
type: "textarea",
|
|
486
|
+
placeholder: unref(locale).baseText("testDefinition.edit.descriptionPlaceholder"),
|
|
487
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:modelValue", { ..._ctx.modelValue, tempValue: $event })),
|
|
488
|
+
onBlur: _cache[3] || (_cache[3] = () => _ctx.saveChanges("description")),
|
|
489
|
+
onKeydown: _cache[4] || (_cache[4] = (e) => _ctx.handleKeydown(e, "description"))
|
|
490
|
+
}, null, 8, ["model-value", "placeholder"]))
|
|
458
491
|
], 2);
|
|
459
492
|
};
|
|
460
493
|
}
|
|
461
494
|
});
|
|
462
|
-
const
|
|
495
|
+
const description$1 = "_description_f14k1_123";
|
|
496
|
+
const editInputButton$1 = "_editInputButton_f14k1_129";
|
|
497
|
+
const descriptionText = "_descriptionText_f14k1_133";
|
|
498
|
+
const icon$1 = "_icon_f14k1_139";
|
|
463
499
|
const style0$4 = {
|
|
464
|
-
|
|
500
|
+
description: description$1,
|
|
501
|
+
editInputButton: editInputButton$1,
|
|
502
|
+
descriptionText,
|
|
503
|
+
icon: icon$1
|
|
465
504
|
};
|
|
466
505
|
const cssModules$4 = {
|
|
467
506
|
"$style": style0$4
|
|
@@ -475,7 +514,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
475
514
|
warning: { type: Boolean, default: false },
|
|
476
515
|
small: { type: Boolean, default: false },
|
|
477
516
|
expanded: { type: Boolean, default: true },
|
|
478
|
-
|
|
517
|
+
description: { default: "" }
|
|
479
518
|
},
|
|
480
519
|
setup(__props) {
|
|
481
520
|
const props = __props;
|
|
@@ -483,7 +522,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
483
522
|
const isExpanded = ref(props.expanded);
|
|
484
523
|
const contentRef = ref(null);
|
|
485
524
|
const containerRef = ref(null);
|
|
486
|
-
const isTooltipVisible = ref(false);
|
|
487
525
|
const toggleExpand = async () => {
|
|
488
526
|
isExpanded.value = !isExpanded.value;
|
|
489
527
|
if (isExpanded.value) {
|
|
@@ -493,12 +531,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
493
531
|
}
|
|
494
532
|
}
|
|
495
533
|
};
|
|
496
|
-
const showTooltip = () => {
|
|
497
|
-
isTooltipVisible.value = true;
|
|
498
|
-
};
|
|
499
|
-
const hideTooltip = () => {
|
|
500
|
-
isTooltipVisible.value = false;
|
|
501
|
-
};
|
|
502
534
|
return (_ctx, _cache) => {
|
|
503
535
|
const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
|
|
504
536
|
return openBlock(), createElementBlock("div", {
|
|
@@ -507,26 +539,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
507
539
|
class: normalizeClass([_ctx.$style.evaluationStep, _ctx.small && _ctx.$style.small]),
|
|
508
540
|
"data-test-id": "evaluation-step"
|
|
509
541
|
}, [
|
|
510
|
-
createVNode(unref(N8nTooltip), {
|
|
511
|
-
disabled: !_ctx.tooltip,
|
|
512
|
-
placement: "right",
|
|
513
|
-
offset: 25,
|
|
514
|
-
visible: isTooltipVisible.value
|
|
515
|
-
}, {
|
|
516
|
-
content: withCtx(() => [
|
|
517
|
-
createTextVNode(toDisplayString(_ctx.tooltip), 1)
|
|
518
|
-
]),
|
|
519
|
-
default: withCtx(() => [
|
|
520
|
-
createBaseVNode("div", {
|
|
521
|
-
class: normalizeClass(_ctx.$style.contentPlaceholder)
|
|
522
|
-
}, null, 2)
|
|
523
|
-
]),
|
|
524
|
-
_: 1
|
|
525
|
-
}, 8, ["disabled", "visible"]),
|
|
526
542
|
createBaseVNode("div", {
|
|
527
|
-
class: normalizeClass(_ctx.$style.content)
|
|
528
|
-
onMouseenter: showTooltip,
|
|
529
|
-
onMouseleave: hideTooltip
|
|
543
|
+
class: normalizeClass(_ctx.$style.content)
|
|
530
544
|
}, [
|
|
531
545
|
createBaseVNode("div", {
|
|
532
546
|
class: normalizeClass(_ctx.$style.header)
|
|
@@ -558,7 +572,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
558
572
|
}, null, 8, ["icon"])
|
|
559
573
|
], 10, _hoisted_1$1)) : createCommentVNode("", true)
|
|
560
574
|
], 2),
|
|
561
|
-
_ctx
|
|
575
|
+
_ctx.description ? (openBlock(), createElementBlock("div", {
|
|
576
|
+
key: 0,
|
|
577
|
+
class: normalizeClass(_ctx.$style.description)
|
|
578
|
+
}, toDisplayString(_ctx.description), 3)) : createCommentVNode("", true),
|
|
579
|
+
_ctx.$slots.cardContent ? (openBlock(), createBlock(unref(ElCollapseTransition), { key: 1 }, {
|
|
562
580
|
default: withCtx(() => [
|
|
563
581
|
withDirectives(createBaseVNode("div", {
|
|
564
582
|
class: normalizeClass(_ctx.$style.cardContentWrapper)
|
|
@@ -577,36 +595,36 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
577
595
|
]),
|
|
578
596
|
_: 3
|
|
579
597
|
})) : createCommentVNode("", true)
|
|
580
|
-
],
|
|
598
|
+
], 2)
|
|
581
599
|
], 2);
|
|
582
600
|
};
|
|
583
601
|
}
|
|
584
602
|
});
|
|
585
|
-
const evaluationStep = "
|
|
586
|
-
const small = "
|
|
587
|
-
const
|
|
588
|
-
const
|
|
589
|
-
const
|
|
590
|
-
const
|
|
591
|
-
const
|
|
592
|
-
const
|
|
593
|
-
const
|
|
594
|
-
const
|
|
595
|
-
const
|
|
596
|
-
const
|
|
603
|
+
const evaluationStep = "_evaluationStep_65xdl_123";
|
|
604
|
+
const small = "_small_65xdl_135";
|
|
605
|
+
const icon = "_icon_65xdl_140";
|
|
606
|
+
const warning = "_warning_65xdl_149";
|
|
607
|
+
const content$1 = "_content_65xdl_153";
|
|
608
|
+
const header = "_header_65xdl_158";
|
|
609
|
+
const title = "_title_65xdl_164";
|
|
610
|
+
const warningIcon = "_warningIcon_65xdl_170";
|
|
611
|
+
const cardContent = "_cardContent_65xdl_174";
|
|
612
|
+
const collapseButton = "_collapseButton_65xdl_179";
|
|
613
|
+
const cardContentWrapper = "_cardContentWrapper_65xdl_192";
|
|
614
|
+
const description = "_description_65xdl_196";
|
|
597
615
|
const style0$3 = {
|
|
598
616
|
evaluationStep,
|
|
599
617
|
small,
|
|
600
|
-
contentPlaceholder,
|
|
601
618
|
icon,
|
|
602
619
|
warning,
|
|
603
|
-
content,
|
|
620
|
+
content: content$1,
|
|
604
621
|
header,
|
|
605
622
|
title,
|
|
606
623
|
warningIcon,
|
|
607
624
|
cardContent,
|
|
608
625
|
collapseButton,
|
|
609
|
-
cardContentWrapper
|
|
626
|
+
cardContentWrapper,
|
|
627
|
+
description
|
|
610
628
|
};
|
|
611
629
|
const cssModules$3 = {
|
|
612
630
|
"$style": style0$3
|
|
@@ -732,7 +750,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
732
750
|
setup(__props) {
|
|
733
751
|
const locale = useI18n();
|
|
734
752
|
return (_ctx, _cache) => {
|
|
735
|
-
const _component_WorkflowSelectorParameterInput = __unplugin_components_0$
|
|
753
|
+
const _component_WorkflowSelectorParameterInput = __unplugin_components_0$1;
|
|
736
754
|
const _component_n8n_input_label = resolveComponent("n8n-input-label");
|
|
737
755
|
return openBlock(), createElementBlock("div", null, [
|
|
738
756
|
createVNode(_component_n8n_input_label, {
|
|
@@ -776,9 +794,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
776
794
|
function addNewMetric() {
|
|
777
795
|
emit("update:modelValue", [...props.modelValue, { name: "" }]);
|
|
778
796
|
}
|
|
779
|
-
function updateMetric(index,
|
|
797
|
+
function updateMetric(index, name2) {
|
|
780
798
|
const newMetrics = [...props.modelValue];
|
|
781
|
-
newMetrics[index].name =
|
|
799
|
+
newMetrics[index].name = name2;
|
|
782
800
|
emit("update:modelValue", newMetrics);
|
|
783
801
|
}
|
|
784
802
|
function onDeleteMetric(metric) {
|
|
@@ -869,6 +887,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
869
887
|
const {
|
|
870
888
|
state,
|
|
871
889
|
fieldsIssues,
|
|
890
|
+
isSaving,
|
|
872
891
|
cancelEditing,
|
|
873
892
|
loadTestData,
|
|
874
893
|
createTest,
|
|
@@ -884,11 +903,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
884
903
|
const tagsById = computed(() => tagsStore.tagsById);
|
|
885
904
|
const testId = computed(() => props.testId ?? route.params.testId);
|
|
886
905
|
const currentWorkflowId = computed(() => route.params.name);
|
|
906
|
+
const appliedTheme = computed(() => uiStore.appliedTheme);
|
|
887
907
|
const tagUsageCount = computed(
|
|
888
908
|
() => tagsStore.tagsById[state.value.tags.value[0]]?.usageCount ?? 0
|
|
889
909
|
);
|
|
910
|
+
const hasRuns = computed(() => runs2.value.length > 0);
|
|
890
911
|
const nodePinningModal = ref(null);
|
|
891
912
|
const modalContentWidth = ref(0);
|
|
913
|
+
const showConfig = ref(true);
|
|
914
|
+
const selectedMetric = ref("");
|
|
892
915
|
onMounted(async () => {
|
|
893
916
|
if (!testDefinitionStore.isFeatureEnabled) {
|
|
894
917
|
toast.showMessage({
|
|
@@ -950,18 +973,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
950
973
|
await testDefinitionStore.startTestRun(testId.value);
|
|
951
974
|
await testDefinitionStore.fetchTestRuns(testId.value);
|
|
952
975
|
}
|
|
953
|
-
const
|
|
976
|
+
const runs2 = computed(
|
|
954
977
|
() => Object.values(testDefinitionStore.testRunsById ?? {}).filter(
|
|
955
978
|
(run) => run.testDefinitionId === testId.value
|
|
956
979
|
)
|
|
957
980
|
);
|
|
958
|
-
async function onDeleteRuns(
|
|
981
|
+
async function onDeleteRuns(toDelete) {
|
|
959
982
|
await Promise.all(
|
|
960
|
-
|
|
983
|
+
toDelete.map(async (run) => {
|
|
961
984
|
await testDefinitionStore.deleteTestRun({ testDefinitionId: testId.value, runId: run.id });
|
|
962
985
|
})
|
|
963
986
|
);
|
|
964
987
|
}
|
|
988
|
+
function toggleConfig() {
|
|
989
|
+
showConfig.value = !showConfig.value;
|
|
990
|
+
}
|
|
965
991
|
watch(
|
|
966
992
|
() => state.value.metrics,
|
|
967
993
|
debounce(async () => await updateMetrics(testId.value), { debounceTime: 400 }),
|
|
@@ -979,48 +1005,106 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
979
1005
|
{ deep: true }
|
|
980
1006
|
);
|
|
981
1007
|
return (_ctx, _cache) => {
|
|
982
|
-
const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
|
|
983
|
-
const _component_BlockArrow = __unplugin_components_0;
|
|
984
1008
|
const _component_n8n_button = resolveComponent("n8n-button");
|
|
1009
|
+
const _component_MetricsChart = __unplugin_components_0$2;
|
|
1010
|
+
const _component_BlockArrow = __unplugin_components_1;
|
|
1011
|
+
const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
|
|
985
1012
|
const _component_N8nHeading = resolveComponent("N8nHeading");
|
|
986
|
-
const _component_NodesPinning =
|
|
1013
|
+
const _component_NodesPinning = __unplugin_components_2;
|
|
987
1014
|
return openBlock(), createElementBlock("div", {
|
|
988
|
-
class: normalizeClass(_ctx.$style.container)
|
|
1015
|
+
class: normalizeClass([_ctx.$style.container, { [_ctx.$style.noRuns]: !hasRuns.value }])
|
|
989
1016
|
}, [
|
|
990
1017
|
createBaseVNode("div", {
|
|
991
|
-
class: normalizeClass(_ctx.$style.
|
|
1018
|
+
class: normalizeClass(_ctx.$style.headerSection)
|
|
992
1019
|
}, [
|
|
993
|
-
createVNode(EvaluationHeader, {
|
|
994
|
-
modelValue: unref(state).name,
|
|
995
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(state).name = $event),
|
|
996
|
-
class: normalizeClass({ "has-issues": hasIssues("name") }),
|
|
997
|
-
"start-editing": unref(startEditing),
|
|
998
|
-
"save-changes": unref(saveChanges),
|
|
999
|
-
"handle-keydown": unref(handleKeydown)
|
|
1000
|
-
}, null, 8, ["modelValue", "class", "start-editing", "save-changes", "handle-keydown"]),
|
|
1001
1020
|
createBaseVNode("div", {
|
|
1002
|
-
class: normalizeClass(_ctx.$style.
|
|
1021
|
+
class: normalizeClass(_ctx.$style.headerMeta)
|
|
1022
|
+
}, [
|
|
1023
|
+
createBaseVNode("div", {
|
|
1024
|
+
class: normalizeClass(_ctx.$style.name)
|
|
1025
|
+
}, [
|
|
1026
|
+
createVNode(EvaluationHeader, {
|
|
1027
|
+
modelValue: unref(state).name,
|
|
1028
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(state).name = $event),
|
|
1029
|
+
class: normalizeClass({ "has-issues": hasIssues("name") }),
|
|
1030
|
+
"start-editing": unref(startEditing),
|
|
1031
|
+
"save-changes": unref(saveChanges),
|
|
1032
|
+
"handle-keydown": unref(handleKeydown)
|
|
1033
|
+
}, null, 8, ["modelValue", "class", "start-editing", "save-changes", "handle-keydown"]),
|
|
1034
|
+
createBaseVNode("div", {
|
|
1035
|
+
class: normalizeClass(_ctx.$style.lastSaved)
|
|
1036
|
+
}, [
|
|
1037
|
+
unref(isSaving) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
1038
|
+
createTextVNode(toDisplayString(unref(locale).baseText("testDefinition.edit.saving")), 1)
|
|
1039
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1040
|
+
createTextVNode(toDisplayString(unref(locale).baseText("testDefinition.edit.saved")), 1)
|
|
1041
|
+
], 64))
|
|
1042
|
+
], 2)
|
|
1043
|
+
], 2),
|
|
1044
|
+
createVNode(DescriptionInput, {
|
|
1045
|
+
modelValue: unref(state).description,
|
|
1046
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(state).description = $event),
|
|
1047
|
+
"start-editing": unref(startEditing),
|
|
1048
|
+
"save-changes": unref(saveChanges),
|
|
1049
|
+
"handle-keydown": unref(handleKeydown),
|
|
1050
|
+
class: normalizeClass(_ctx.$style.descriptionInput)
|
|
1051
|
+
}, null, 8, ["modelValue", "start-editing", "save-changes", "handle-keydown", "class"])
|
|
1052
|
+
], 2),
|
|
1053
|
+
createBaseVNode("div", {
|
|
1054
|
+
class: normalizeClass(_ctx.$style.controls)
|
|
1055
|
+
}, [
|
|
1056
|
+
runs2.value.length > 0 ? (openBlock(), createBlock(_component_n8n_button, {
|
|
1057
|
+
key: 0,
|
|
1058
|
+
size: "small",
|
|
1059
|
+
icon: showConfig.value ? "eye-slash" : "eye",
|
|
1060
|
+
"data-test-id": "toggle-config-button",
|
|
1061
|
+
label: showConfig.value ? unref(locale).baseText("testDefinition.edit.hideConfig") : unref(locale).baseText("testDefinition.edit.showConfig"),
|
|
1062
|
+
type: "tertiary",
|
|
1063
|
+
onClick: toggleConfig
|
|
1064
|
+
}, null, 8, ["icon", "label"])) : createCommentVNode("", true),
|
|
1065
|
+
unref(state).evaluationWorkflow.value && unref(state).tags.value.length > 0 ? (openBlock(), createBlock(_component_n8n_button, {
|
|
1066
|
+
key: 1,
|
|
1067
|
+
class: normalizeClass(_ctx.$style.runTestButton),
|
|
1068
|
+
size: "small",
|
|
1069
|
+
"data-test-id": "run-test-button",
|
|
1070
|
+
label: unref(locale).baseText("testDefinition.runTest"),
|
|
1071
|
+
type: "primary",
|
|
1072
|
+
onClick: runTest
|
|
1073
|
+
}, null, 8, ["class", "label"])) : (openBlock(), createBlock(_component_n8n_button, {
|
|
1074
|
+
key: 2,
|
|
1075
|
+
class: normalizeClass(_ctx.$style.runTestButton),
|
|
1076
|
+
size: "small",
|
|
1077
|
+
"data-test-id": "run-test-button",
|
|
1078
|
+
label: unref(locale).baseText("testDefinition.edit.saveTest"),
|
|
1079
|
+
type: "primary",
|
|
1080
|
+
onClick: onSaveTest
|
|
1081
|
+
}, null, 8, ["class", "label"]))
|
|
1082
|
+
], 2)
|
|
1083
|
+
], 2),
|
|
1084
|
+
createBaseVNode("div", {
|
|
1085
|
+
class: normalizeClass(_ctx.$style.content)
|
|
1086
|
+
}, [
|
|
1087
|
+
runs2.value.length > 0 ? (openBlock(), createElementBlock("div", {
|
|
1088
|
+
key: 0,
|
|
1089
|
+
class: normalizeClass(_ctx.$style.runs)
|
|
1090
|
+
}, [
|
|
1091
|
+
createVNode(_component_MetricsChart, {
|
|
1092
|
+
selectedMetric: selectedMetric.value,
|
|
1093
|
+
"onUpdate:selectedMetric": _cache[2] || (_cache[2] = ($event) => selectedMetric.value = $event),
|
|
1094
|
+
runs: runs2.value,
|
|
1095
|
+
theme: appliedTheme.value
|
|
1096
|
+
}, null, 8, ["selectedMetric", "runs", "theme"]),
|
|
1097
|
+
createVNode(TestRunsTable, {
|
|
1098
|
+
class: normalizeClass(_ctx.$style.runsTable),
|
|
1099
|
+
runs: runs2.value,
|
|
1100
|
+
selectable: true,
|
|
1101
|
+
"data-test-id": "past-runs-table",
|
|
1102
|
+
onDeleteRuns
|
|
1103
|
+
}, null, 8, ["class", "runs"])
|
|
1104
|
+
], 2)) : createCommentVNode("", true),
|
|
1105
|
+
createBaseVNode("div", {
|
|
1106
|
+
class: normalizeClass([_ctx.$style.panelBlock, { [_ctx.$style.hidden]: !showConfig.value }])
|
|
1003
1107
|
}, [
|
|
1004
|
-
createVNode(EvaluationStep, {
|
|
1005
|
-
class: normalizeClass(_ctx.$style.step),
|
|
1006
|
-
title: unref(locale).baseText("testDefinition.edit.description"),
|
|
1007
|
-
expanded: false,
|
|
1008
|
-
tooltip: unref(locale).baseText("testDefinition.edit.description.tooltip")
|
|
1009
|
-
}, {
|
|
1010
|
-
icon: withCtx(() => [
|
|
1011
|
-
createVNode(_component_font_awesome_icon, {
|
|
1012
|
-
icon: "thumbtack",
|
|
1013
|
-
size: "lg"
|
|
1014
|
-
})
|
|
1015
|
-
]),
|
|
1016
|
-
cardContent: withCtx(() => [
|
|
1017
|
-
createVNode(DescriptionInput, {
|
|
1018
|
-
modelValue: unref(state).description,
|
|
1019
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(state).description = $event)
|
|
1020
|
-
}, null, 8, ["modelValue"])
|
|
1021
|
-
]),
|
|
1022
|
-
_: 1
|
|
1023
|
-
}, 8, ["class", "title", "tooltip"]),
|
|
1024
1108
|
createBaseVNode("div", {
|
|
1025
1109
|
class: normalizeClass(_ctx.$style.panelIntro)
|
|
1026
1110
|
}, toDisplayString(unref(locale).baseText("testDefinition.edit.step.intro")), 3),
|
|
@@ -1032,7 +1116,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1032
1116
|
title: unref(locale).baseText("testDefinition.edit.step.executions", {
|
|
1033
1117
|
adjustToNumber: tagUsageCount.value
|
|
1034
1118
|
}),
|
|
1035
|
-
|
|
1119
|
+
description: unref(locale).baseText("testDefinition.edit.step.executions.description")
|
|
1036
1120
|
}, {
|
|
1037
1121
|
icon: withCtx(() => [
|
|
1038
1122
|
createVNode(_component_font_awesome_icon, {
|
|
@@ -1043,7 +1127,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1043
1127
|
cardContent: withCtx(() => [
|
|
1044
1128
|
createVNode(TagsInput, {
|
|
1045
1129
|
modelValue: unref(state).tags,
|
|
1046
|
-
"onUpdate:modelValue": _cache[
|
|
1130
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => unref(state).tags = $event),
|
|
1047
1131
|
class: normalizeClass({ "has-issues": hasIssues("tags") }),
|
|
1048
1132
|
"all-tags": allTags.value,
|
|
1049
1133
|
"tags-by-id": tagsById.value,
|
|
@@ -1055,7 +1139,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1055
1139
|
}, null, 8, ["modelValue", "class", "all-tags", "tags-by-id", "is-loading", "start-editing", "save-changes", "cancel-editing"])
|
|
1056
1140
|
]),
|
|
1057
1141
|
_: 1
|
|
1058
|
-
}, 8, ["class", "title", "
|
|
1142
|
+
}, 8, ["class", "title", "description"]),
|
|
1059
1143
|
createBaseVNode("div", {
|
|
1060
1144
|
class: normalizeClass(_ctx.$style.evaluationArrows)
|
|
1061
1145
|
}, [
|
|
@@ -1069,7 +1153,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1069
1153
|
}),
|
|
1070
1154
|
small: true,
|
|
1071
1155
|
expanded: true,
|
|
1072
|
-
|
|
1156
|
+
description: unref(locale).baseText("testDefinition.edit.step.nodes.description")
|
|
1073
1157
|
}, {
|
|
1074
1158
|
icon: withCtx(() => [
|
|
1075
1159
|
createVNode(_component_font_awesome_icon, {
|
|
@@ -1087,12 +1171,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1087
1171
|
}, null, 8, ["label"])
|
|
1088
1172
|
]),
|
|
1089
1173
|
_: 1
|
|
1090
|
-
}, 8, ["class", "title", "
|
|
1174
|
+
}, 8, ["class", "title", "description"]),
|
|
1091
1175
|
createVNode(EvaluationStep, {
|
|
1092
1176
|
class: normalizeClass(_ctx.$style.step),
|
|
1093
1177
|
title: unref(locale).baseText("testDefinition.edit.step.reRunExecutions"),
|
|
1094
1178
|
small: true,
|
|
1095
|
-
|
|
1179
|
+
description: unref(locale).baseText("testDefinition.edit.step.reRunExecutions.description")
|
|
1096
1180
|
}, {
|
|
1097
1181
|
icon: withCtx(() => [
|
|
1098
1182
|
createVNode(_component_font_awesome_icon, {
|
|
@@ -1101,11 +1185,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1101
1185
|
})
|
|
1102
1186
|
]),
|
|
1103
1187
|
_: 1
|
|
1104
|
-
}, 8, ["class", "title", "
|
|
1188
|
+
}, 8, ["class", "title", "description"]),
|
|
1105
1189
|
createVNode(EvaluationStep, {
|
|
1106
1190
|
class: normalizeClass(_ctx.$style.step),
|
|
1107
1191
|
title: unref(locale).baseText("testDefinition.edit.step.compareExecutions"),
|
|
1108
|
-
|
|
1192
|
+
description: unref(locale).baseText("testDefinition.edit.step.compareExecutions.description")
|
|
1109
1193
|
}, {
|
|
1110
1194
|
icon: withCtx(() => [
|
|
1111
1195
|
createVNode(_component_font_awesome_icon, {
|
|
@@ -1116,16 +1200,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1116
1200
|
cardContent: withCtx(() => [
|
|
1117
1201
|
createVNode(_sfc_main$2, {
|
|
1118
1202
|
modelValue: unref(state).evaluationWorkflow,
|
|
1119
|
-
"onUpdate:modelValue": _cache[
|
|
1203
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(state).evaluationWorkflow = $event),
|
|
1120
1204
|
class: normalizeClass({ "has-issues": hasIssues("evaluationWorkflow") })
|
|
1121
1205
|
}, null, 8, ["modelValue", "class"])
|
|
1122
1206
|
]),
|
|
1123
1207
|
_: 1
|
|
1124
|
-
}, 8, ["class", "title", "
|
|
1208
|
+
}, 8, ["class", "title", "description"]),
|
|
1125
1209
|
createVNode(EvaluationStep, {
|
|
1126
1210
|
class: normalizeClass(_ctx.$style.step),
|
|
1127
1211
|
title: unref(locale).baseText("testDefinition.edit.step.metrics"),
|
|
1128
|
-
|
|
1212
|
+
description: unref(locale).baseText("testDefinition.edit.step.metrics.description")
|
|
1129
1213
|
}, {
|
|
1130
1214
|
icon: withCtx(() => [
|
|
1131
1215
|
createVNode(_component_font_awesome_icon, {
|
|
@@ -1136,53 +1220,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1136
1220
|
cardContent: withCtx(() => [
|
|
1137
1221
|
createVNode(MetricsInput, {
|
|
1138
1222
|
modelValue: unref(state).metrics,
|
|
1139
|
-
"onUpdate:modelValue": _cache[
|
|
1223
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => unref(state).metrics = $event),
|
|
1140
1224
|
class: normalizeClass({ "has-issues": hasIssues("metrics") }),
|
|
1141
1225
|
onDeleteMetric
|
|
1142
1226
|
}, null, 8, ["modelValue", "class"])
|
|
1143
1227
|
]),
|
|
1144
1228
|
_: 1
|
|
1145
|
-
}, 8, ["class", "title", "
|
|
1146
|
-
], 2)
|
|
1147
|
-
unref(state).evaluationWorkflow.value && unref(state).tags.value.length > 0 ? (openBlock(), createBlock(_component_n8n_button, {
|
|
1148
|
-
key: 0,
|
|
1149
|
-
class: normalizeClass(_ctx.$style.runTestButton),
|
|
1150
|
-
size: "small",
|
|
1151
|
-
"data-test-id": "run-test-button",
|
|
1152
|
-
label: unref(locale).baseText("testDefinition.runTest"),
|
|
1153
|
-
type: "primary",
|
|
1154
|
-
onClick: runTest
|
|
1155
|
-
}, null, 8, ["class", "label"])) : (openBlock(), createBlock(_component_n8n_button, {
|
|
1156
|
-
key: 1,
|
|
1157
|
-
class: normalizeClass(_ctx.$style.runTestButton),
|
|
1158
|
-
size: "small",
|
|
1159
|
-
"data-test-id": "run-test-button",
|
|
1160
|
-
label: "Save Test",
|
|
1161
|
-
type: "primary",
|
|
1162
|
-
onClick: onSaveTest
|
|
1163
|
-
}, null, 8, ["class"]))
|
|
1229
|
+
}, 8, ["class", "title", "description"])
|
|
1230
|
+
], 2)
|
|
1164
1231
|
], 2),
|
|
1165
|
-
runs.value.length > 0 ? (openBlock(), createElementBlock("div", {
|
|
1166
|
-
key: 0,
|
|
1167
|
-
class: normalizeClass(_ctx.$style.runsTable)
|
|
1168
|
-
}, [
|
|
1169
|
-
createVNode(_component_N8nHeading, {
|
|
1170
|
-
size: "large",
|
|
1171
|
-
bold: true,
|
|
1172
|
-
class: normalizeClass(_ctx.$style.runsTableHeading)
|
|
1173
|
-
}, {
|
|
1174
|
-
default: withCtx(() => [
|
|
1175
|
-
createTextVNode(toDisplayString(unref(locale).baseText("testDefinition.edit.pastRuns")), 1)
|
|
1176
|
-
]),
|
|
1177
|
-
_: 1
|
|
1178
|
-
}, 8, ["class"]),
|
|
1179
|
-
createVNode(TestRunsTable, {
|
|
1180
|
-
runs: runs.value,
|
|
1181
|
-
selectable: true,
|
|
1182
|
-
"data-test-id": "past-runs-table",
|
|
1183
|
-
onDeleteRuns
|
|
1184
|
-
}, null, 8, ["runs"])
|
|
1185
|
-
], 2)) : createCommentVNode("", true),
|
|
1186
1232
|
createVNode(Modal, {
|
|
1187
1233
|
ref_key: "nodePinningModal",
|
|
1188
1234
|
ref: nodePinningModal,
|
|
@@ -1205,7 +1251,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1205
1251
|
content: withCtx(() => [
|
|
1206
1252
|
createVNode(_component_NodesPinning, {
|
|
1207
1253
|
modelValue: unref(state).mockedNodes,
|
|
1208
|
-
"onUpdate:modelValue": _cache[
|
|
1254
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => unref(state).mockedNodes = $event),
|
|
1209
1255
|
width: modalContentWidth.value,
|
|
1210
1256
|
"data-test-id": "nodes-pinning-modal"
|
|
1211
1257
|
}, null, 8, ["modelValue", "width"])
|
|
@@ -1216,39 +1262,39 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1216
1262
|
};
|
|
1217
1263
|
}
|
|
1218
1264
|
});
|
|
1219
|
-
const container = "
|
|
1220
|
-
const
|
|
1221
|
-
const
|
|
1222
|
-
const
|
|
1223
|
-
const
|
|
1224
|
-
const
|
|
1225
|
-
const
|
|
1226
|
-
const
|
|
1227
|
-
const
|
|
1228
|
-
const
|
|
1229
|
-
const
|
|
1230
|
-
const
|
|
1231
|
-
const
|
|
1232
|
-
const
|
|
1233
|
-
const
|
|
1234
|
-
const
|
|
1265
|
+
const container = "_container_y9ejv_123";
|
|
1266
|
+
const content = "_content_y9ejv_141";
|
|
1267
|
+
const noRuns = "_noRuns_y9ejv_146";
|
|
1268
|
+
const headerSection = "_headerSection_y9ejv_151";
|
|
1269
|
+
const headerMeta = "_headerMeta_y9ejv_159";
|
|
1270
|
+
const name = "_name_y9ejv_163";
|
|
1271
|
+
const lastSaved = "_lastSaved_y9ejv_167";
|
|
1272
|
+
const descriptionInput = "_descriptionInput_y9ejv_172";
|
|
1273
|
+
const runs = "_runs_y9ejv_176";
|
|
1274
|
+
const panelBlock = "_panelBlock_y9ejv_190";
|
|
1275
|
+
const hidden = "_hidden_y9ejv_200";
|
|
1276
|
+
const panelIntro = "_panelIntro_y9ejv_210";
|
|
1277
|
+
const step = "_step_y9ejv_218";
|
|
1278
|
+
const introArrow = "_introArrow_y9ejv_225";
|
|
1279
|
+
const evaluationArrows = "_evaluationArrows_y9ejv_231";
|
|
1280
|
+
const controls = "_controls_y9ejv_242";
|
|
1235
1281
|
const style0 = {
|
|
1236
1282
|
container,
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1283
|
+
content,
|
|
1284
|
+
noRuns,
|
|
1285
|
+
headerSection,
|
|
1286
|
+
headerMeta,
|
|
1287
|
+
name,
|
|
1288
|
+
lastSaved,
|
|
1289
|
+
descriptionInput,
|
|
1290
|
+
runs,
|
|
1241
1291
|
panelBlock,
|
|
1292
|
+
hidden,
|
|
1242
1293
|
panelIntro,
|
|
1243
1294
|
step,
|
|
1244
1295
|
introArrow,
|
|
1245
1296
|
evaluationArrows,
|
|
1246
|
-
|
|
1247
|
-
workflow,
|
|
1248
|
-
workflowSteps,
|
|
1249
|
-
sideBySide,
|
|
1250
|
-
mockedNodesLabel,
|
|
1251
|
-
runTestButton
|
|
1297
|
+
controls
|
|
1252
1298
|
};
|
|
1253
1299
|
const cssModules = {
|
|
1254
1300
|
"$style": style0
|