n8n-editor-ui 1.102.2 → 1.104.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{ActionDropdown-CiegfqhB.js → ActionDropdown-Ct6XJ0cl.js} +1 -1
- package/dist/assets/{AnimatedSpinner-DZ7wHd_W.js → AnimatedSpinner-CIyQ3zKd.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BQoi5khn.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-xv6FYiyR.js} +1 -1
- package/dist/assets/{AuthView-K2y2JXyp.js → AuthView-dJdngoqx.js} +2 -2
- package/dist/assets/{ChangePasswordView-D_EsQtLD.js → ChangePasswordView-C74U84q5.js} +3 -3
- package/dist/assets/CollectionParameter-DCn5Jtcj.js +4 -0
- package/dist/assets/ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CkASni2S.js +44 -0
- package/dist/assets/{CredentialsView-DvE9GnD7.js → CredentialsView-jouDB3H1.js} +8 -8
- package/dist/assets/{DemoFooter-kRP32xy4.js → DemoFooter-CHlbEpB-.js} +9 -8
- package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-B6KKFEL7.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CbDihlsO.js} +1 -1
- package/dist/assets/{EntityNotFound-q_5k8QTh.js → EntityNotFound-Dtqj9thX.js} +1 -1
- package/dist/assets/{EntityUnAuthorised-DrFh2EVh.js → EntityUnAuthorised-BBsbc6du.js} +1 -1
- package/dist/assets/{ErrorView-CdyA4lBI.js → ErrorView-BN4Jm32q.js} +1 -1
- package/dist/assets/{EvaluationsRootView-DBi9hUxa.js → EvaluationsRootView-B70WfmnQ.js} +5 -3
- package/dist/assets/{EvaluationsView-6l_Invxt.css → EvaluationsView-BTyYfInB.css} +6 -6
- package/dist/assets/{EvaluationsView-VbCSsM2z.js → EvaluationsView-DQd7op3j.js} +53 -40
- package/dist/assets/{ExecutionsTime-DkME6I3E.css → ExecutionsTime-Bo7IOE5K.css} +6 -6
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-v5SEEKlZ.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-C_2brmCr.js} +16 -16
- package/dist/assets/{ExecutionsView-sSmNa_LK.js → ExecutionsView-CKPZTnZV.js} +21 -18
- package/dist/assets/{FileSaver.min-BemkeU_7.js → FileSaver.min-BvxTURBB.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-yzvCzSx6.js → FixedCollectionParameter-CA-CigeR.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-BKvBLqbr.js → ForgotMyPasswordView-YyVmo-nw.js} +3 -3
- package/dist/assets/{InfoAccordion--ZQQuSPX.js → InfoAccordion-BNmUe2V9.js} +1 -1
- package/dist/assets/{InsightsChartAverageRuntime-DGOGXDwW.js → InsightsChartAverageRuntime-C9sCNhzD.js} +5 -4
- package/dist/assets/{InsightsChartFailed-1vg5XpxV.js → InsightsChartFailed-DWA6YbZj.js} +5 -4
- package/dist/assets/{InsightsChartFailureRate-7nJvVi9O.js → InsightsChartFailureRate-CfknGtrr.js} +5 -4
- package/dist/assets/{InsightsChartTimeSaved-DKn1pZ2q.js → InsightsChartTimeSaved-DtLO9DJx.js} +5 -4
- package/dist/assets/{InsightsChartTotal-ByrPtNMJ.js → InsightsChartTotal-yX_QJ-44.js} +5 -4
- package/dist/assets/{InsightsDashboard-BwLnzxKC.js → InsightsDashboard-BlYvn96O.js} +19 -19
- package/dist/assets/{InsightsDashboard-CXbI-Jyg.css → InsightsDashboard-C27Avzrv.css} +2 -2
- package/dist/assets/{InsightsPaywall-8Xzv5tgi.js → InsightsPaywall-BCfIY_xn.js} +3 -3
- package/dist/assets/{InsightsSummary-CVMZ0AIR.js → InsightsSummary-OiO7efWD.js} +9 -4
- package/dist/assets/{InsightsTableWorkflows-DJhX6bQW.css → InsightsTableWorkflows-BTHSCwX8.css} +27 -3
- package/dist/assets/{InsightsTableWorkflows-KGsV_wLS.js → InsightsTableWorkflows-pTl3m7wx.js} +80 -27
- package/dist/assets/{Logo-DFdhGUpH.js → Logo-8g4P9vyv.js} +1 -1
- package/dist/assets/{LogsPanel-Bvy4ANV7.css → LogsPanel-D0xdq4fV.css} +21 -21
- package/dist/assets/{LogsPanel-DDzEUcu_.js → LogsPanel-so01MtIR.js} +23 -12
- package/dist/assets/{MainHeader-IUjqKc1i.js → MainHeader-CcUlKfHC.js} +20 -26
- package/dist/assets/{MainHeader-DYYEm7nF.css → MainHeader-qSHM1Rvp.css} +12 -12
- package/dist/assets/{MainSidebar-CaLHZgDB.css → MainSidebar-D74VZmM5.css} +7 -8
- package/dist/assets/{MainSidebar-BV-JzM27.js → MainSidebar-DOGhP_oY.js} +26 -25
- package/dist/assets/{N8nDataTableServer-Dq5Mwh9d.js → N8nDataTableServer-9HerjyzX.js} +39 -19
- package/dist/assets/{NodeCreation-DCV9QVeh.js → NodeCreation-CVbCKnet.js} +45 -21
- package/dist/assets/{NodeCreation-32nlvQSy.css → NodeCreation-CxN6JIS_.css} +9 -1
- package/dist/assets/{NodeCreator-C8jv1gta.js → NodeCreator-BOosPF8_.js} +114 -204
- package/dist/assets/{NodeCreator-DWE25utr.css → NodeCreator-CkvY2niF.css} +0 -128
- package/dist/assets/{NodeDetailsView-D7qedYA0.js → NodeDetailsView-KFidngJi.js} +21 -16
- package/dist/assets/{NodeDetailsViewV2-BAkPjDo5.js → NodeDetailsViewV2-BL4KKqW-.js} +21 -16
- package/dist/assets/{NodeView-DKlyR0_C.js → NodeView-BzC6ELga.js} +2271 -686
- package/dist/assets/{NodeView-BbQy7Are.css → NodeView-G2qfXaOy.css} +766 -95
- package/dist/assets/{ProjectHeader-Co0EPo6y.js → ProjectHeader-B9-GdGvC.js} +2 -2
- package/dist/assets/{ProjectSettings-CUwuhSyu.js → ProjectSettings-CE4_geFa.js} +7 -5
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DDVpVAyT.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-Bb8zUJvi.js} +1 -1
- package/dist/assets/{ResourcesListLayout-0KbQy3_m.js → ResourcesListLayout-ClTEnqVS.js} +3 -3
- package/dist/assets/{RunDataJson-T-LRvnsQ.js → RunDataJson-fXQKTIFD.js} +8 -9
- package/dist/assets/{RunDataJsonActions-C5tGgl2w.js → RunDataJsonActions-CMP1sUPZ.js} +1 -1
- package/dist/assets/RunDataParsedAiContent-CHK6Y4ET.js +298 -0
- package/dist/assets/{RunDataSearch-CsykTpQU.js → RunDataSearch-CAZGWZzz.js} +1 -1
- package/dist/assets/{RunDataTable-DS-hDrAF.js → RunDataTable-CeqmA-n3.js} +65 -56
- package/dist/assets/{RunDataTable-CTBtmQIs.css → RunDataTable-n918b-Qv.css} +55 -55
- package/dist/assets/{SamlOnboarding-Dr42BiUa.js → SamlOnboarding-BrdzPMSK.js} +3 -3
- package/dist/assets/{SettingsApiView-0TAqOns3.js → SettingsApiView-Cj2YYKAl.js} +5 -4
- package/dist/assets/{SettingsCommunityNodesView-BO5mZg81.js → SettingsCommunityNodesView-ChB--kZD.js} +4 -3
- package/dist/assets/{SettingsExternalSecrets-BmpYfnUN.js → SettingsExternalSecrets-BjghCvkE.js} +5 -3
- package/dist/assets/{SettingsLdapView-AdcIL_WB.js → SettingsLdapView-DIB1-nTk.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-DHAPBv4i.js → SettingsLogStreamingView-BOOGkcwK.js} +1 -1
- package/dist/assets/{SettingsPersonalView-D-sKTNF5.js → SettingsPersonalView-DaNZTNUy.js} +1 -1
- package/dist/assets/{SettingsSourceControl-D_jgIQPN.js → SettingsSourceControl-B5fQRT0V.js} +10 -8
- package/dist/assets/{SettingsSso-DpxORkrt.js → SettingsSso-CWX-T13W.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-DWu4RW1N.js → SettingsUsageAndPlan-Cnnf9k6X.js} +15 -10
- package/dist/assets/{SettingsUsageAndPlan-D6TiPwUx.css → SettingsUsageAndPlan-ZZQpCmyQ.css} +3 -3
- package/dist/assets/{SettingsUsersView-r6-ZO8CO.js → SettingsUsersView-BLDi4lpv.js} +107 -44
- package/dist/assets/{SettingsUsersView-BuZbf1jq.css → SettingsUsersView-RQTdLxyb.css} +13 -6
- package/dist/assets/{SettingsView-DoZ4920P.js → SettingsView-Dtc8MEv6.js} +1 -1
- package/dist/assets/{SetupView-Ca70rhsh.js → SetupView-C4C-2Idz.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-ujybntOa.js → SetupWorkflowCredentialsButton-Pzrxag-k.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-KE6NTkHC.js → SetupWorkflowFromTemplateView-CRsZDYct.js} +3 -3
- package/dist/assets/{SigninView-_rmKLSpx.js → SigninView-COyoSAUi.js} +3 -3
- package/dist/assets/{SignoutView-DYPGyBsZ.js → SignoutView-B0t9kc5s.js} +1 -1
- package/dist/assets/{SignupView-BDSpYIB0.js → SignupView-BN8MCOnb.js} +3 -3
- package/dist/assets/{TableBase-Bz6zRvAL.js → TableBase-BmhIwPwZ.js} +1 -1
- package/dist/assets/{Tags-Doq3WsWA.js → Tags-DeTgaVsD.js} +1 -1
- package/dist/assets/{TemplateDetails-BzDS-0Fd.js → TemplateDetails-Bh-WSvQ-.js} +2 -2
- package/dist/assets/{TemplateList-D_XBHKQu.js → TemplateList-DxvJMjPE.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-BvnC5QZ9.js → TemplatesCollectionView-BhilAS_8.js} +6 -6
- package/dist/assets/{TemplatesSearchView-CCsnhiD3.js → TemplatesSearchView-CWxnTQ8Z.js} +3 -3
- package/dist/assets/{TemplatesView-DbW9D41Q.js → TemplatesView-Co-FQLhr.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-CVFtBBcd.js → TemplatesWorkflowView-DAWgsT0T.js} +6 -6
- package/dist/assets/{TriggerPanel-DRpKKKun.css → TriggerPanel-DJv04feX.css} +1 -354
- package/dist/assets/{TriggerPanel-CP3_UsCW.js → TriggerPanel-JaXhe1VW.js} +133 -1089
- package/dist/assets/{VariablesView-DIZkSQZ3.js → VariablesView-JnfEn1f-.js} +5 -5
- package/dist/assets/VueMarkdown-DDKnTMgT.js +1570 -0
- package/dist/assets/{WorkerView-DgXLi4d9.js → WorkerView-DZG4C_Qp.js} +6 -5
- package/dist/assets/{WorkflowActivator-f0lJXePV.js → WorkflowActivator-C8hP37n7.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-BFSae6PE.js → WorkflowExecutionsInfoAccordion-DCNvkxhh.js} +2 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-Bb104kSO.js → WorkflowExecutionsLandingPage-DVp6SoPy.js} +3 -3
- package/dist/assets/{WorkflowExecutionsPreview-Do5Rp-8m.js → WorkflowExecutionsPreview-CKYWZWv1.js} +9 -7
- package/dist/assets/{WorkflowExecutionsView-BSv7OYhx.js → WorkflowExecutionsView-BIkweP3p.js} +8 -8
- package/dist/assets/{WorkflowHistory-CsEfwZK8.js → WorkflowHistory-C0LrWJW0.js} +6 -6
- package/dist/assets/{WorkflowOnboardingView-BOvx7CPi.js → WorkflowOnboardingView-CWMUgnLK.js} +1 -1
- package/dist/assets/{WorkflowPreview-BQ_GLS2J.js → WorkflowPreview-DmYMBSH3.js} +3 -1
- package/dist/assets/{WorkflowsView-DYxrTukw.js → WorkflowsView-jEphnf90.js} +125 -17
- package/dist/assets/aiTemplatesStarterCollection.store-oECEA5nR.js +794 -0
- package/dist/assets/{chartjs.utils-D8ESC4_p.js → chartjs.utils-CP28DnUQ.js} +2 -2
- package/dist/assets/{en-C2EOIYih.js → en-BX7CKkqE.js} +27 -6
- package/dist/assets/{global-link-actions-BIVeUMGo.js → global-link-actions-BjpAG7gt.js} +1 -1
- package/dist/assets/{import-curl-CjhdjoGU.js → import-curl-BD22LJ4z.js} +1 -1
- package/dist/assets/{index-COleXxZf.css → index-BWpYwmXd.css} +541 -1074
- package/dist/assets/{index-DAODXvFs.js → index-CjbtyS1n.js} +1 -1
- package/dist/assets/{index-B3p3789J.js → index-Cm5yBbby.js} +21381 -15752
- package/dist/assets/{pickBy-CaeaG_7P.js → pickBy-DA-1tKxT.js} +1 -1
- package/dist/assets/{templateActions-Ct4VGqHx.js → templateActions-D9IAsJ2m.js} +1 -1
- package/dist/assets/{typescript.worker-CUj0Nj-S.js → typescript.worker-KwUz68Jx.js} +2499 -157
- package/dist/assets/{useBeforeUnload-Yj83KQFp.js → useBeforeUnload-BR-V9Uaz.js} +1 -1
- package/dist/assets/{useExecutionDebugging-wUQ9K2sh.js → useExecutionDebugging-C8zR-uFJ.js} +1 -1
- package/dist/assets/{useExecutionHelpers-i07QEXws.js → useExecutionHelpers-DQcWcZ8o.js} +1 -1
- package/dist/assets/{useImportCurlCommand-Bs8VOC2z.js → useImportCurlCommand-B3-fEq8S.js} +9 -9
- package/dist/assets/{RunData-DuKNwYqe.css → useKeybindings-2A271Jke.css} +193 -62
- package/dist/assets/{RunData-CctCvWsu.js → useKeybindings-DetzdpXy.js} +288 -1696
- package/dist/assets/{useProjectPages-DHCwu3nX.js → useProjectPages-qXIMd_UF.js} +1 -1
- package/dist/assets/{usePushConnection-Iyy-883l.js → usePushConnection-Duvg6z8O.js} +10 -2
- package/dist/assets/{useWorkflowActivate-DpHXxGAq.js → useWorkflowActivate-BE4Ckf9k.js} +1 -1
- package/dist/index.html +3 -7
- package/eslint.config.mjs +1 -1
- package/index.html +1 -5
- package/package.json +1 -1
- package/vite.config.mts +23 -3
- package/dist/assets/CollectionParameter-DvyRKBx0.js +0 -4
- package/dist/assets/RunDataParsedAiContent-BILLIvVH.js +0 -148
- package/dist/assets/useKeybindings-BUK7Ngh6.css +0 -133
- package/dist/assets/useKeybindings-ul7syjnB.js +0 -118
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, J as renderSlot, _ as _export_sfc,
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import { d as defineComponent, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, J as renderSlot, _ as _export_sfc, a5 as useWorkflowsStore, bH as useNodeTypesStore, c_ as usePostHog, x as computed, d5 as NDV_UI_OVERHAUL_EXPERIMENT, bp as NodeConnectionTypes, o as onMounted, I as onBeforeUnmount, F as Fragment, y as renderList, e as createBlock, f as createCommentVNode, $ as N8nTooltip, w as withCtx, i as createVNode, bQ as _sfc_main$8, k as createTextVNode, t as toDisplayString, iH as convertToDisplayDateComponents, c4 as resolveDirective, l as unref, er as InfoTip, aT as withDirectives, c as useI18n, p as N8nText, bK as getDefaultExportFromCjs, iI as requireCapitalize, r as ref, fm as parseAiContent, N as N8nIcon, H as N8nRadioButtons, bJ as formatTokenUsageCount, ab as watch, iJ as ElTree, P as normalizeStyle, aN as useNDVStore, fg as storeToRefs, v as useSettingsStore, e6 as useNodeDirtiness, ff as useNodeType, bA as usePinnedData, cV as CanvasNodeDirtiness, bg as createSlots, c5 as waitingNodeTooltip, d6 as _sfc_main$b, a1 as I18nT, aU as vShow, az as useTelemetry, T as useUIStore, b as useRouter, al as useWorkflowHelpers, iK as isTriggerPanelObject, e9 as getTriggerNodeServiceName, by as CHAT_TRIGGER_NODE_TYPE, ip as WEBHOOK_NODE_TYPE, dl as FORM_TRIGGER_NODE_TYPE, gK as CopyInput, q as N8nButton, fx as _sfc_main$c, m as N8nHeading, a2 as N8nLink, Q as createEventBus, dK as Transition, V as VIEWS, aD as WORKFLOW_SETTINGS_MODAL_KEY } from "./index-Cm5yBbby.js";
|
|
2
|
+
import { u as useExecutionData, _ as __unplugin_components_2 } from "./NodeView-BzC6ELga.js";
|
|
3
|
+
import { _ as _sfc_main$9, b as ViewSubExecution, R as RunData } from "./useKeybindings-DetzdpXy.js";
|
|
4
|
+
import { R as RunDataAi$1, g as getConsumedTokens, c as createAiData, a as getTreeNodeData, b as getReferencedData } from "./RunDataParsedAiContent-CHK6Y4ET.js";
|
|
5
|
+
import { _ as _sfc_main$a } from "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CkASni2S.js";
|
|
6
|
+
import { N as N8nInfoAccordion } from "./InfoAccordion-BNmUe2V9.js";
|
|
7
|
+
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
6
8
|
...{ name: "N8nPulse" },
|
|
7
9
|
__name: "Pulse",
|
|
8
10
|
setup(__props) {
|
|
@@ -26,17 +28,17 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
26
28
|
const pulseContainer = "_pulseContainer_1w2uc_123";
|
|
27
29
|
const pulse = "_pulse_1w2uc_123";
|
|
28
30
|
const pulse2 = "_pulse2_1w2uc_139";
|
|
29
|
-
const style0$
|
|
31
|
+
const style0$7 = {
|
|
30
32
|
pulseContainer,
|
|
31
33
|
pulse,
|
|
32
34
|
pulse2
|
|
33
35
|
};
|
|
34
|
-
const cssModules$
|
|
35
|
-
"$style": style0$
|
|
36
|
+
const cssModules$7 = {
|
|
37
|
+
"$style": style0$7
|
|
36
38
|
};
|
|
37
|
-
const N8nPulse = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
38
|
-
const _hoisted_1$
|
|
39
|
-
const _sfc_main$
|
|
39
|
+
const N8nPulse = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$7]]);
|
|
40
|
+
const _hoisted_1$3 = ["data-node-name", "data-node-placement", "onClick"];
|
|
41
|
+
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
40
42
|
__name: "NDVFloatingNodes",
|
|
41
43
|
props: {
|
|
42
44
|
rootNode: {}
|
|
@@ -76,11 +78,11 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
76
78
|
}
|
|
77
79
|
function getINodesFromNames(names) {
|
|
78
80
|
return names.map((name) => {
|
|
79
|
-
const
|
|
80
|
-
if (
|
|
81
|
-
const nodeType = nodeTypesStore.getNodeType(
|
|
81
|
+
const node = workflowsStore.getNodeByName(name);
|
|
82
|
+
if (node) {
|
|
83
|
+
const nodeType = nodeTypesStore.getNodeType(node.type);
|
|
82
84
|
if (nodeType) {
|
|
83
|
-
return { node
|
|
85
|
+
return { node, nodeType };
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
return null;
|
|
@@ -150,33 +152,33 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
150
152
|
key: connectionGroup,
|
|
151
153
|
class: normalizeClass([_ctx.$style.nodesList, _ctx.$style[connectionGroup]])
|
|
152
154
|
}, [
|
|
153
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(connectedNodes.value[connectionGroup], ({ node
|
|
155
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(connectedNodes.value[connectionGroup], ({ node, nodeType }) => {
|
|
154
156
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
155
|
-
|
|
156
|
-
key:
|
|
157
|
+
node && nodeType ? (openBlock(), createBlock(_component_n8n_tooltip, {
|
|
158
|
+
key: node.name,
|
|
157
159
|
placement: tooltipPositionMapper[connectionGroup],
|
|
158
160
|
teleported: false,
|
|
159
161
|
offset: isNDVV2.value ? 16 : 60
|
|
160
162
|
}, {
|
|
161
163
|
content: withCtx(() => [
|
|
162
|
-
createTextVNode(toDisplayString(
|
|
164
|
+
createTextVNode(toDisplayString(node.name), 1)
|
|
163
165
|
]),
|
|
164
166
|
default: withCtx(() => [
|
|
165
167
|
createBaseVNode("li", {
|
|
166
168
|
class: normalizeClass(_ctx.$style.connectedNode),
|
|
167
169
|
"data-test-id": "floating-node",
|
|
168
|
-
"data-node-name":
|
|
170
|
+
"data-node-name": node.name,
|
|
169
171
|
"data-node-placement": connectionGroup,
|
|
170
|
-
onClick: ($event) => emit("switchSelectedNode",
|
|
172
|
+
onClick: ($event) => emit("switchSelectedNode", node.name)
|
|
171
173
|
}, [
|
|
172
|
-
createVNode(_sfc_main$
|
|
174
|
+
createVNode(_sfc_main$8, {
|
|
173
175
|
"node-type": nodeType,
|
|
174
|
-
"node-name":
|
|
176
|
+
"node-name": node.name,
|
|
175
177
|
"tooltip-position": tooltipPositionMapper[connectionGroup],
|
|
176
178
|
size: isNDVV2.value ? 24 : 35,
|
|
177
179
|
circle: ""
|
|
178
180
|
}, null, 8, ["node-type", "node-name", "tooltip-position", "size"])
|
|
179
|
-
], 10, _hoisted_1$
|
|
181
|
+
], 10, _hoisted_1$3)
|
|
180
182
|
]),
|
|
181
183
|
_: 2
|
|
182
184
|
}, 1032, ["placement", "offset"])) : createCommentVNode("", true)
|
|
@@ -196,7 +198,7 @@ const outputMain = "_outputMain_1o49e_162";
|
|
|
196
198
|
const inputMain = "_inputMain_1o49e_162";
|
|
197
199
|
const connectedNode = "_connectedNode_1o49e_185";
|
|
198
200
|
const v2 = "_v2_1o49e_233";
|
|
199
|
-
const style0$
|
|
201
|
+
const style0$6 = {
|
|
200
202
|
floatingNodes,
|
|
201
203
|
nodesList,
|
|
202
204
|
inputSub,
|
|
@@ -206,46 +208,11 @@ const style0$9 = {
|
|
|
206
208
|
connectedNode,
|
|
207
209
|
v2
|
|
208
210
|
};
|
|
209
|
-
const cssModules$
|
|
210
|
-
"$style": style0$
|
|
211
|
-
};
|
|
212
|
-
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$9]]);
|
|
213
|
-
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
214
|
-
__name: "NDVEmptyState",
|
|
215
|
-
props: {
|
|
216
|
-
title: {}
|
|
217
|
-
},
|
|
218
|
-
setup(__props) {
|
|
219
|
-
return (_ctx, _cache) => {
|
|
220
|
-
return openBlock(), createElementBlock("article", {
|
|
221
|
-
class: normalizeClass(_ctx.$style.empty)
|
|
222
|
-
}, [
|
|
223
|
-
renderSlot(_ctx.$slots, "icon"),
|
|
224
|
-
createBaseVNode("h1", {
|
|
225
|
-
class: normalizeClass(_ctx.$style.title)
|
|
226
|
-
}, toDisplayString(_ctx.title), 3),
|
|
227
|
-
createBaseVNode("p", {
|
|
228
|
-
class: normalizeClass(_ctx.$style.description)
|
|
229
|
-
}, [
|
|
230
|
-
renderSlot(_ctx.$slots, "description")
|
|
231
|
-
], 2)
|
|
232
|
-
], 2);
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
const empty$1 = "_empty_1x72k_2";
|
|
237
|
-
const title$5 = "_title_1x72k_13";
|
|
238
|
-
const description = "_description_1x72k_20";
|
|
239
|
-
const style0$8 = {
|
|
240
|
-
empty: empty$1,
|
|
241
|
-
title: title$5,
|
|
242
|
-
description
|
|
243
|
-
};
|
|
244
|
-
const cssModules$8 = {
|
|
245
|
-
"$style": style0$8
|
|
211
|
+
const cssModules$6 = {
|
|
212
|
+
"$style": style0$6
|
|
246
213
|
};
|
|
247
|
-
const
|
|
248
|
-
const _sfc_main$
|
|
214
|
+
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__cssModules", cssModules$6]]);
|
|
215
|
+
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
249
216
|
__name: "RunInfo",
|
|
250
217
|
props: {
|
|
251
218
|
taskData: {},
|
|
@@ -350,124 +317,16 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
350
317
|
}
|
|
351
318
|
});
|
|
352
319
|
const tooltipRow = "_tooltipRow_14r7d_123";
|
|
353
|
-
const style0$
|
|
320
|
+
const style0$5 = {
|
|
354
321
|
tooltipRow
|
|
355
322
|
};
|
|
356
|
-
const cssModules$
|
|
357
|
-
"$style": style0$
|
|
323
|
+
const cssModules$5 = {
|
|
324
|
+
"$style": style0$5
|
|
358
325
|
};
|
|
359
|
-
const RunInfo = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
360
|
-
function createNode(parent, nodeName, currentDepth, runIndex, r, children = []) {
|
|
361
|
-
return {
|
|
362
|
-
parent,
|
|
363
|
-
node: nodeName,
|
|
364
|
-
id: `${nodeName}:${runIndex}`,
|
|
365
|
-
depth: currentDepth,
|
|
366
|
-
startTime: r?.data?.metadata?.startTime ?? 0,
|
|
367
|
-
runIndex,
|
|
368
|
-
children,
|
|
369
|
-
consumedTokens: getConsumedTokens(r?.data)
|
|
370
|
-
};
|
|
371
|
-
}
|
|
372
|
-
function getTreeNodeData(nodeName, workflow, aiData, runIndex) {
|
|
373
|
-
return getTreeNodeDataRec(void 0, nodeName, 0, workflow, aiData, runIndex);
|
|
374
|
-
}
|
|
375
|
-
function getTreeNodeDataRec(parent, nodeName, currentDepth, workflow, aiData, runIndex) {
|
|
376
|
-
const connections = workflow.connectionsByDestinationNode[nodeName];
|
|
377
|
-
const resultData = aiData?.filter((data) => data.node === nodeName && runIndex === data.runIndex) ?? [];
|
|
378
|
-
if (!connections) {
|
|
379
|
-
return resultData.map((d) => createNode(parent, nodeName, currentDepth, d.runIndex, d));
|
|
380
|
-
}
|
|
381
|
-
const filteredAiData = aiData?.filter(({ data }) => {
|
|
382
|
-
if (!data?.source || data.source.every((source) => source === null)) {
|
|
383
|
-
return true;
|
|
384
|
-
}
|
|
385
|
-
return data.source.some(
|
|
386
|
-
(source) => source?.previousNode === nodeName && source.previousNodeRun === runIndex
|
|
387
|
-
);
|
|
388
|
-
});
|
|
389
|
-
const connectedSubNodes = workflow.getParentNodes(nodeName, "ALL_NON_MAIN", 1);
|
|
390
|
-
const treeNode2 = createNode(parent, nodeName, currentDepth, runIndex);
|
|
391
|
-
const children = (filteredAiData ?? []).flatMap(
|
|
392
|
-
(data) => connectedSubNodes.includes(data.node) ? getTreeNodeDataRec(treeNode2, data.node, currentDepth + 1, workflow, aiData, data.runIndex) : []
|
|
393
|
-
);
|
|
394
|
-
treeNode2.children = children;
|
|
395
|
-
if (resultData.length) {
|
|
396
|
-
return resultData.map(
|
|
397
|
-
(r) => createNode(parent, nodeName, currentDepth, r.runIndex, r, children)
|
|
398
|
-
);
|
|
399
|
-
}
|
|
400
|
-
return [treeNode2];
|
|
401
|
-
}
|
|
402
|
-
function createAiData(nodeName, workflow, getWorkflowResultDataByNodeName) {
|
|
403
|
-
return workflow.getParentNodes(nodeName, "ALL_NON_MAIN").flatMap(
|
|
404
|
-
(node2) => (getWorkflowResultDataByNodeName(node2) ?? []).map((task, index) => ({ node: node2, task, index }))
|
|
405
|
-
).sort((a, b) => {
|
|
406
|
-
if (a.task.executionIndex !== void 0 && b.task.executionIndex !== void 0) {
|
|
407
|
-
return a.task.executionIndex - b.task.executionIndex;
|
|
408
|
-
}
|
|
409
|
-
const aTime = a.task.startTime ?? 0;
|
|
410
|
-
const bTime = b.task.startTime ?? 0;
|
|
411
|
-
return aTime - bTime;
|
|
412
|
-
}).map(({ node: node2, task, index }) => ({
|
|
413
|
-
data: getReferencedData(task, false)[0],
|
|
414
|
-
node: node2,
|
|
415
|
-
runIndex: index
|
|
416
|
-
}));
|
|
417
|
-
}
|
|
418
|
-
function getReferencedData(taskData, withInput, withOutput) {
|
|
419
|
-
if (!taskData) {
|
|
420
|
-
return [];
|
|
421
|
-
}
|
|
422
|
-
const returnData = [];
|
|
423
|
-
function addFunction(data, inOut) {
|
|
424
|
-
if (!data) {
|
|
425
|
-
return;
|
|
426
|
-
}
|
|
427
|
-
Object.keys(data).map((type) => {
|
|
428
|
-
returnData.push({
|
|
429
|
-
data: data[type][0],
|
|
430
|
-
inOut,
|
|
431
|
-
type,
|
|
432
|
-
// Include source information in AI content to track which node triggered the execution
|
|
433
|
-
// This enables filtering in the UI to show only relevant executions
|
|
434
|
-
source: taskData.source,
|
|
435
|
-
metadata: {
|
|
436
|
-
executionTime: taskData.executionTime,
|
|
437
|
-
startTime: taskData.startTime,
|
|
438
|
-
subExecution: taskData.metadata?.subExecution
|
|
439
|
-
}
|
|
440
|
-
});
|
|
441
|
-
});
|
|
442
|
-
}
|
|
443
|
-
if (withInput) {
|
|
444
|
-
addFunction(taskData.inputOverride, "input");
|
|
445
|
-
}
|
|
446
|
-
{
|
|
447
|
-
addFunction(taskData.data, "output");
|
|
448
|
-
}
|
|
449
|
-
return returnData;
|
|
450
|
-
}
|
|
451
|
-
function getConsumedTokens(outputRun) {
|
|
452
|
-
if (!outputRun?.data) {
|
|
453
|
-
return emptyTokenUsageData;
|
|
454
|
-
}
|
|
455
|
-
const tokenUsage = outputRun.data.reduce(
|
|
456
|
-
(acc, curr) => {
|
|
457
|
-
const tokenUsageData = curr.json?.tokenUsage ?? curr.json?.tokenUsageEstimate;
|
|
458
|
-
if (!tokenUsageData) return acc;
|
|
459
|
-
return addTokenUsageData(acc, {
|
|
460
|
-
...tokenUsageData,
|
|
461
|
-
isEstimate: !!curr.json.tokenUsageEstimate
|
|
462
|
-
});
|
|
463
|
-
},
|
|
464
|
-
emptyTokenUsageData
|
|
465
|
-
);
|
|
466
|
-
return tokenUsage;
|
|
467
|
-
}
|
|
326
|
+
const RunInfo = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__cssModules", cssModules$5]]);
|
|
468
327
|
var capitalizeExports = requireCapitalize();
|
|
469
328
|
const capitalize = /* @__PURE__ */ getDefaultExportFromCjs(capitalizeExports);
|
|
470
|
-
const _sfc_main$
|
|
329
|
+
const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
471
330
|
__name: "AiRunContentBlock",
|
|
472
331
|
props: {
|
|
473
332
|
runData: {},
|
|
@@ -504,7 +363,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
504
363
|
}
|
|
505
364
|
return (_ctx, _cache) => {
|
|
506
365
|
const _component_N8nIcon = N8nIcon;
|
|
507
|
-
const _component_NodeErrorView = _sfc_main$
|
|
366
|
+
const _component_NodeErrorView = _sfc_main$9;
|
|
508
367
|
return openBlock(), createElementBlock("div", {
|
|
509
368
|
class: normalizeClass(_ctx.$style.block)
|
|
510
369
|
}, [
|
|
@@ -566,7 +425,7 @@ const blockHeader = "_blockHeader_wafm4_148";
|
|
|
566
425
|
const blockTitle = "_blockTitle_wafm4_161";
|
|
567
426
|
const blockToggle = "_blockToggle_wafm4_168";
|
|
568
427
|
const error = "_error_wafm4_176";
|
|
569
|
-
const style0$
|
|
428
|
+
const style0$4 = {
|
|
570
429
|
block,
|
|
571
430
|
blockContent,
|
|
572
431
|
blockContentExpanded,
|
|
@@ -576,14 +435,14 @@ const style0$6 = {
|
|
|
576
435
|
blockToggle,
|
|
577
436
|
error
|
|
578
437
|
};
|
|
579
|
-
const cssModules$
|
|
580
|
-
"$style": style0$
|
|
438
|
+
const cssModules$4 = {
|
|
439
|
+
"$style": style0$4
|
|
581
440
|
};
|
|
582
|
-
const AiRunContentBlock = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
583
|
-
const _hoisted_1$
|
|
441
|
+
const AiRunContentBlock = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__cssModules", cssModules$4]]);
|
|
442
|
+
const _hoisted_1$2 = { key: 0 };
|
|
584
443
|
const _hoisted_2$2 = { key: 1 };
|
|
585
444
|
const _hoisted_3$2 = { key: 2 };
|
|
586
|
-
const _sfc_main$
|
|
445
|
+
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
587
446
|
__name: "RunDataAiContent",
|
|
588
447
|
props: {
|
|
589
448
|
inputData: {},
|
|
@@ -634,7 +493,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
634
493
|
createBaseVNode("header", {
|
|
635
494
|
class: normalizeClass(_ctx.$style.header)
|
|
636
495
|
}, [
|
|
637
|
-
runMeta.value?.node ? (openBlock(), createBlock(_sfc_main$
|
|
496
|
+
runMeta.value?.node ? (openBlock(), createBlock(_sfc_main$8, {
|
|
638
497
|
key: 0,
|
|
639
498
|
class: normalizeClass(_ctx.$style.nodeIcon),
|
|
640
499
|
"node-type": runMeta.value.node,
|
|
@@ -649,7 +508,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
649
508
|
createBaseVNode("ul", {
|
|
650
509
|
class: normalizeClass(_ctx.$style.meta)
|
|
651
510
|
}, [
|
|
652
|
-
runMeta.value?.startTimeMs ? (openBlock(), createElementBlock("li", _hoisted_1$
|
|
511
|
+
runMeta.value?.startTimeMs ? (openBlock(), createElementBlock("li", _hoisted_1$2, toDisplayString(runMeta.value?.executionTimeMs) + "ms", 1)) : createCommentVNode("", true),
|
|
653
512
|
runMeta.value?.startTimeMs ? (openBlock(), createElementBlock("li", _hoisted_2$2, [
|
|
654
513
|
createVNode(_component_n8n_tooltip, null, {
|
|
655
514
|
content: withCtx(() => [
|
|
@@ -687,7 +546,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
687
546
|
"tooltip-placement": "right"
|
|
688
547
|
}, {
|
|
689
548
|
default: withCtx(() => [
|
|
690
|
-
createVNode(_sfc_main$
|
|
549
|
+
createVNode(_sfc_main$a, { "consumed-tokens": consumedTokensSum.value }, null, 8, ["consumed-tokens"])
|
|
691
550
|
]),
|
|
692
551
|
_: 1
|
|
693
552
|
})
|
|
@@ -714,26 +573,26 @@ const container$2 = "_container_dypaw_2";
|
|
|
714
573
|
const nodeIcon$1 = "_nodeIcon_dypaw_5";
|
|
715
574
|
const header$1 = "_header_dypaw_8";
|
|
716
575
|
const headerWrap = "_headerWrap_dypaw_14";
|
|
717
|
-
const title$
|
|
576
|
+
const title$2 = "_title_dypaw_18";
|
|
718
577
|
const meta = "_meta_dypaw_25";
|
|
719
578
|
const tokensUsage = "_tokensUsage_dypaw_41";
|
|
720
|
-
const style0$
|
|
579
|
+
const style0$3 = {
|
|
721
580
|
container: container$2,
|
|
722
581
|
nodeIcon: nodeIcon$1,
|
|
723
582
|
header: header$1,
|
|
724
583
|
headerWrap,
|
|
725
|
-
title: title$
|
|
584
|
+
title: title$2,
|
|
726
585
|
meta,
|
|
727
586
|
tokensUsage
|
|
728
587
|
};
|
|
729
|
-
const cssModules$
|
|
730
|
-
"$style": style0$
|
|
588
|
+
const cssModules$3 = {
|
|
589
|
+
"$style": style0$3
|
|
731
590
|
};
|
|
732
|
-
const RunDataAiContent = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
733
|
-
const _hoisted_1$
|
|
591
|
+
const RunDataAiContent = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$3]]);
|
|
592
|
+
const _hoisted_1$1 = ["data-tree-depth"];
|
|
734
593
|
const _hoisted_2$1 = ["onClick"];
|
|
735
594
|
const _hoisted_3$1 = ["textContent"];
|
|
736
|
-
const _sfc_main$
|
|
595
|
+
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
737
596
|
__name: "RunDataAi",
|
|
738
597
|
props: {
|
|
739
598
|
node: {},
|
|
@@ -753,11 +612,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
753
612
|
const executionTree = computed(
|
|
754
613
|
() => getTreeNodeData(props.node.name, props.workflow, aiData.value, props.runIndex)
|
|
755
614
|
);
|
|
756
|
-
function isTreeNodeSelected(
|
|
757
|
-
return selectedRun.value.some((run) => run.node ===
|
|
615
|
+
function isTreeNodeSelected(node) {
|
|
616
|
+
return selectedRun.value.some((run) => run.node === node.node && run.runIndex === node.runIndex);
|
|
758
617
|
}
|
|
759
|
-
function toggleTreeItem(
|
|
760
|
-
|
|
618
|
+
function toggleTreeItem(node) {
|
|
619
|
+
node.expanded = !node.expanded;
|
|
761
620
|
}
|
|
762
621
|
function onItemClick(data) {
|
|
763
622
|
const matchingRun = aiData.value?.find(
|
|
@@ -780,11 +639,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
780
639
|
];
|
|
781
640
|
}
|
|
782
641
|
function getNodeType(nodeName) {
|
|
783
|
-
const
|
|
784
|
-
if (!
|
|
642
|
+
const node = workflowsStore.getNodeByName(nodeName);
|
|
643
|
+
if (!node) {
|
|
785
644
|
return null;
|
|
786
645
|
}
|
|
787
|
-
const nodeType = nodeTypesStore.getNodeType(
|
|
646
|
+
const nodeType = nodeTypesStore.getNodeType(node?.type);
|
|
788
647
|
return nodeType;
|
|
789
648
|
}
|
|
790
649
|
function selectFirst() {
|
|
@@ -842,7 +701,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
842
701
|
createBaseVNode("span", {
|
|
843
702
|
class: normalizeClass(_ctx.$style.leafLabel)
|
|
844
703
|
}, [
|
|
845
|
-
createVNode(_sfc_main$
|
|
704
|
+
createVNode(_sfc_main$8, {
|
|
846
705
|
"node-type": getNodeType(data.node),
|
|
847
706
|
size: 17,
|
|
848
707
|
class: normalizeClass(_ctx.$style.nodeIcon)
|
|
@@ -855,7 +714,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
855
714
|
]),
|
|
856
715
|
_: 2
|
|
857
716
|
}, 1032, ["disabled"])
|
|
858
|
-
], 14, _hoisted_1$
|
|
717
|
+
], 14, _hoisted_1$1)
|
|
859
718
|
]),
|
|
860
719
|
_: 1
|
|
861
720
|
}, 8, ["data"])
|
|
@@ -902,33 +761,33 @@ const treeToggle = "_treeToggle_1qaq4_123";
|
|
|
902
761
|
const leafLabel = "_leafLabel_1qaq4_131";
|
|
903
762
|
const noData = "_noData_1qaq4_137";
|
|
904
763
|
const empty = "_empty_1qaq4_145";
|
|
905
|
-
const title$
|
|
764
|
+
const title$1 = "_title_1qaq4_149";
|
|
906
765
|
const tree = "_tree_1qaq4_123";
|
|
907
766
|
const slim = "_slim_1qaq4_161";
|
|
908
|
-
const runData$
|
|
767
|
+
const runData$1 = "_runData_1qaq4_165";
|
|
909
768
|
const container$1 = "_container_1qaq4_171";
|
|
910
769
|
const nodeIcon = "_nodeIcon_1qaq4_198";
|
|
911
770
|
const isSelected = "_isSelected_1qaq4_204";
|
|
912
771
|
const treeNode = "_treeNode_1qaq4_208";
|
|
913
|
-
const style0$
|
|
772
|
+
const style0$2 = {
|
|
914
773
|
treeToggle,
|
|
915
774
|
leafLabel,
|
|
916
775
|
noData,
|
|
917
776
|
empty,
|
|
918
|
-
title: title$
|
|
777
|
+
title: title$1,
|
|
919
778
|
tree,
|
|
920
779
|
slim,
|
|
921
|
-
runData: runData$
|
|
780
|
+
runData: runData$1,
|
|
922
781
|
container: container$1,
|
|
923
782
|
nodeIcon,
|
|
924
783
|
isSelected,
|
|
925
784
|
treeNode
|
|
926
785
|
};
|
|
927
|
-
const cssModules$
|
|
928
|
-
"$style": style0$
|
|
786
|
+
const cssModules$2 = {
|
|
787
|
+
"$style": style0$2
|
|
929
788
|
};
|
|
930
|
-
const RunDataAi = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
931
|
-
const _sfc_main$
|
|
789
|
+
const RunDataAi = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
|
|
790
|
+
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
932
791
|
__name: "OutputPanel",
|
|
933
792
|
props: {
|
|
934
793
|
workflow: {},
|
|
@@ -973,18 +832,19 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
973
832
|
]);
|
|
974
833
|
const runDataRef = ref();
|
|
975
834
|
const collapsingColumnName = ref(null);
|
|
976
|
-
const
|
|
835
|
+
const node = computed(() => {
|
|
977
836
|
return ndvStore.activeNode ?? void 0;
|
|
978
837
|
});
|
|
838
|
+
const { hasNodeRun, workflowExecution, workflowRunData } = useExecutionData({ node });
|
|
979
839
|
const isTriggerNode = computed(() => {
|
|
980
|
-
return !!
|
|
840
|
+
return !!node.value && nodeTypesStore.isTriggerNode(node.value.type);
|
|
981
841
|
});
|
|
982
842
|
const hasAiMetadata = computed(() => {
|
|
983
843
|
if (isNodeRunning.value || !workflowRunData.value) {
|
|
984
844
|
return false;
|
|
985
845
|
}
|
|
986
|
-
if (
|
|
987
|
-
const connectedSubNodes = props.workflow.getParentNodes(
|
|
846
|
+
if (node.value) {
|
|
847
|
+
const connectedSubNodes = props.workflow.getParentNodes(node.value.name, "ALL_NON_MAIN");
|
|
988
848
|
const resultData = connectedSubNodes.map(workflowsStore.getWorkflowResultDataByNodeName);
|
|
989
849
|
return resultData && Array.isArray(resultData) && resultData.length > 0;
|
|
990
850
|
}
|
|
@@ -992,69 +852,50 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
992
852
|
});
|
|
993
853
|
const hasError = computed(
|
|
994
854
|
() => Boolean(
|
|
995
|
-
workflowRunData.value &&
|
|
855
|
+
workflowRunData.value && node.value && workflowRunData.value[node.value.name]?.[props.runIndex]?.error
|
|
996
856
|
)
|
|
997
857
|
);
|
|
998
858
|
const defaultOutputMode = computed(() => {
|
|
999
859
|
return hasError.value && hasAiMetadata.value ? OUTPUT_TYPE.LOGS : OUTPUT_TYPE.REGULAR;
|
|
1000
860
|
});
|
|
1001
861
|
const isNodeRunning = computed(() => {
|
|
1002
|
-
return workflowRunning.value && !!
|
|
862
|
+
return workflowRunning.value && !!node.value && workflowsStore.isNodeExecuting(node.value.name);
|
|
1003
863
|
});
|
|
1004
864
|
const workflowRunning = computed(() => workflowsStore.isWorkflowRunning);
|
|
1005
|
-
const workflowExecution = computed(() => {
|
|
1006
|
-
return workflowsStore.getWorkflowExecution;
|
|
1007
|
-
});
|
|
1008
|
-
const workflowRunData = computed(() => {
|
|
1009
|
-
if (workflowExecution.value === null) {
|
|
1010
|
-
return null;
|
|
1011
|
-
}
|
|
1012
|
-
const executionData = workflowExecution.value.data;
|
|
1013
|
-
if (!executionData?.resultData?.runData) {
|
|
1014
|
-
return null;
|
|
1015
|
-
}
|
|
1016
|
-
return executionData.resultData.runData;
|
|
1017
|
-
});
|
|
1018
|
-
const hasNodeRun = computed(() => {
|
|
1019
|
-
if (workflowsStore.subWorkflowExecutionError) return true;
|
|
1020
|
-
return Boolean(
|
|
1021
|
-
node2.value && workflowRunData.value && workflowRunData.value.hasOwnProperty(node2.value.name)
|
|
1022
|
-
);
|
|
1023
|
-
});
|
|
1024
865
|
const runTaskData = computed(() => {
|
|
1025
|
-
if (!
|
|
866
|
+
if (!node.value || workflowExecution.value === null) {
|
|
1026
867
|
return null;
|
|
1027
868
|
}
|
|
1028
869
|
const runData2 = workflowRunData.value;
|
|
1029
|
-
if (!runData2?.hasOwnProperty(
|
|
870
|
+
if (!runData2?.hasOwnProperty(node.value.name)) {
|
|
1030
871
|
return null;
|
|
1031
872
|
}
|
|
1032
|
-
if (runData2[
|
|
873
|
+
if (runData2[node.value.name].length <= props.runIndex) {
|
|
1033
874
|
return null;
|
|
1034
875
|
}
|
|
1035
|
-
return runData2[
|
|
876
|
+
return runData2[node.value.name][props.runIndex];
|
|
1036
877
|
});
|
|
1037
878
|
const runsCount = computed(() => {
|
|
1038
|
-
if (
|
|
879
|
+
if (node.value === null) {
|
|
1039
880
|
return 0;
|
|
1040
881
|
}
|
|
1041
882
|
const runData2 = workflowRunData.value;
|
|
1042
|
-
if (runData2 === null ||
|
|
883
|
+
if (runData2 === null || node.value && !runData2.hasOwnProperty(node.value.name)) {
|
|
1043
884
|
return 0;
|
|
1044
885
|
}
|
|
1045
|
-
if (
|
|
1046
|
-
return runData2[
|
|
886
|
+
if (node.value && runData2[node.value.name].length) {
|
|
887
|
+
return runData2[node.value.name].length;
|
|
1047
888
|
}
|
|
1048
889
|
return 0;
|
|
1049
890
|
});
|
|
1050
891
|
const staleData = computed(() => {
|
|
1051
|
-
if (!
|
|
892
|
+
if (!node.value) {
|
|
1052
893
|
return false;
|
|
1053
894
|
}
|
|
1054
895
|
if (settings.partialExecutionVersion === 2) {
|
|
1055
|
-
return dirtinessByName.value[
|
|
896
|
+
return dirtinessByName.value[node.value.name] === CanvasNodeDirtiness.PARAMETERS_UPDATED;
|
|
1056
897
|
}
|
|
1057
|
-
const updatedAt = workflowsStore.getParametersLastUpdate(
|
|
898
|
+
const updatedAt = workflowsStore.getParametersLastUpdate(node.value.name);
|
|
1058
899
|
if (!updatedAt || !runTaskData.value) {
|
|
1059
900
|
return false;
|
|
1060
901
|
}
|
|
@@ -1068,10 +909,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1068
909
|
return pinnedData.isValidNodeType.value && !props.isReadOnly;
|
|
1069
910
|
});
|
|
1070
911
|
const allToolsWereUnusedNotice = computed(() => {
|
|
1071
|
-
if (!
|
|
912
|
+
if (!node.value || runsCount.value === 0 || hasError.value) return void 0;
|
|
1072
913
|
if (pinnedData.hasData.value) return void 0;
|
|
1073
914
|
const toolsAvailable = props.workflow.getParentNodes(
|
|
1074
|
-
|
|
915
|
+
node.value.name,
|
|
1075
916
|
NodeConnectionTypes.AiTool,
|
|
1076
917
|
1
|
|
1077
918
|
);
|
|
@@ -1098,7 +939,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1098
939
|
telemetry.track("User clicked ndv link", {
|
|
1099
940
|
workflow_id: workflowsStore.workflowId,
|
|
1100
941
|
push_ref: props.pushRef,
|
|
1101
|
-
node_type:
|
|
942
|
+
node_type: node.value?.type,
|
|
1102
943
|
pane: "output",
|
|
1103
944
|
type: "insert-test-data"
|
|
1104
945
|
});
|
|
@@ -1112,7 +953,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1112
953
|
const openSettings = () => {
|
|
1113
954
|
emit("openSettings");
|
|
1114
955
|
telemetry.track("User clicked ndv link", {
|
|
1115
|
-
node_type:
|
|
956
|
+
node_type: node.value?.type,
|
|
1116
957
|
workflow_id: workflowsStore.workflowId,
|
|
1117
958
|
push_ref: props.pushRef,
|
|
1118
959
|
pane: "output",
|
|
@@ -1138,15 +979,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1138
979
|
}
|
|
1139
980
|
return (_ctx, _cache) => {
|
|
1140
981
|
const _component_N8nIcon = N8nIcon;
|
|
1141
|
-
const _component_NodeExecuteButton = _sfc_main$
|
|
1142
|
-
const
|
|
1143
|
-
const _component_NDVEmptyState = NDVEmptyState;
|
|
982
|
+
const _component_NodeExecuteButton = _sfc_main$b;
|
|
983
|
+
const _component_NDVEmptyState = __unplugin_components_2;
|
|
1144
984
|
const _directive_n8n_html = resolveDirective("n8n-html");
|
|
1145
985
|
return openBlock(), createBlock(RunData, {
|
|
1146
986
|
ref_key: "runDataRef",
|
|
1147
987
|
ref: runDataRef,
|
|
1148
988
|
class: normalizeClass(_ctx.$style.runData),
|
|
1149
|
-
node:
|
|
989
|
+
node: node.value,
|
|
1150
990
|
workflow: _ctx.workflow,
|
|
1151
991
|
"run-index": _ctx.runIndex,
|
|
1152
992
|
"linked-runs": _ctx.linkedRuns,
|
|
@@ -1191,7 +1031,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1191
1031
|
key: 1,
|
|
1192
1032
|
class: normalizeClass([_ctx.$style.title, { [_ctx.$style.titleV2]: isNDVV2.value }])
|
|
1193
1033
|
}, toDisplayString(unref(i18n).baseText(outputPanelEditMode.value.enabled ? "ndv.output.edit" : "ndv.output")), 3)),
|
|
1194
|
-
hasNodeRun
|
|
1034
|
+
unref(hasNodeRun) && !unref(pinnedData).hasData.value && (runsCount.value === 1 || runsCount.value > 0 && staleData.value) ? withDirectives((openBlock(), createBlock(RunInfo, {
|
|
1195
1035
|
key: 2,
|
|
1196
1036
|
"task-data": runTaskData.value,
|
|
1197
1037
|
"has-stale-data": staleData.value,
|
|
@@ -1209,9 +1049,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1209
1049
|
)
|
|
1210
1050
|
}, createSlots({
|
|
1211
1051
|
description: withCtx(() => [
|
|
1212
|
-
createVNode(
|
|
1052
|
+
createVNode(unref(I18nT), {
|
|
1213
1053
|
tag: "span",
|
|
1214
|
-
keypath: unref(isSubNodeType) ? "ndv.output.runNodeHintSubNode" : "ndv.output.noOutputData.v2.description"
|
|
1054
|
+
keypath: unref(isSubNodeType) ? "ndv.output.runNodeHintSubNode" : "ndv.output.noOutputData.v2.description",
|
|
1055
|
+
scope: "global"
|
|
1215
1056
|
}, {
|
|
1216
1057
|
link: withCtx(() => [
|
|
1217
1058
|
createVNode(_component_NodeExecuteButton, {
|
|
@@ -1312,7 +1153,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1312
1153
|
_: 1
|
|
1313
1154
|
}),
|
|
1314
1155
|
withDirectives(createVNode(unref(N8nText), null, null, 512), [
|
|
1315
|
-
[_directive_n8n_html, unref(waitingNodeTooltip)(
|
|
1156
|
+
[_directive_n8n_html, unref(waitingNodeTooltip)(node.value)]
|
|
1316
1157
|
])
|
|
1317
1158
|
]),
|
|
1318
1159
|
"no-output-data": withCtx(() => [
|
|
@@ -1360,11 +1201,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1360
1201
|
]),
|
|
1361
1202
|
_: 2
|
|
1362
1203
|
}, [
|
|
1363
|
-
outputMode.value === "logs" &&
|
|
1204
|
+
outputMode.value === "logs" && node.value ? {
|
|
1364
1205
|
name: "content",
|
|
1365
1206
|
fn: withCtx(() => [
|
|
1366
1207
|
createVNode(RunDataAi, {
|
|
1367
|
-
node:
|
|
1208
|
+
node: node.value,
|
|
1368
1209
|
"run-index": _ctx.runIndex,
|
|
1369
1210
|
workflow: _ctx.workflow
|
|
1370
1211
|
}, null, 8, ["node", "run-index", "workflow"])
|
|
@@ -1382,826 +1223,30 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
1382
1223
|
};
|
|
1383
1224
|
}
|
|
1384
1225
|
});
|
|
1385
|
-
const runData
|
|
1226
|
+
const runData = "_runData_16mi2_128";
|
|
1386
1227
|
const outputTypeSelect = "_outputTypeSelect_16mi2_132";
|
|
1387
|
-
const titleSection
|
|
1388
|
-
const titleSectionV2
|
|
1389
|
-
const title
|
|
1390
|
-
const titleV2
|
|
1391
|
-
const noOutputData
|
|
1392
|
-
const recoveredOutputData
|
|
1228
|
+
const titleSection = "_titleSection_16mi2_137";
|
|
1229
|
+
const titleSectionV2 = "_titleSectionV2_16mi2_145";
|
|
1230
|
+
const title = "_title_16mi2_137";
|
|
1231
|
+
const titleV2 = "_titleV2_16mi2_157";
|
|
1232
|
+
const noOutputData = "_noOutputData_16mi2_162";
|
|
1233
|
+
const recoveredOutputData = "_recoveredOutputData_16mi2_172";
|
|
1393
1234
|
const link = "_link_16mi2_181";
|
|
1394
|
-
const style0$3 = {
|
|
1395
|
-
runData: runData$1,
|
|
1396
|
-
outputTypeSelect,
|
|
1397
|
-
titleSection: titleSection$1,
|
|
1398
|
-
titleSectionV2: titleSectionV2$1,
|
|
1399
|
-
title: title$2,
|
|
1400
|
-
titleV2: titleV2$1,
|
|
1401
|
-
noOutputData: noOutputData$1,
|
|
1402
|
-
recoveredOutputData: recoveredOutputData$1,
|
|
1403
|
-
link
|
|
1404
|
-
};
|
|
1405
|
-
const cssModules$3 = {
|
|
1406
|
-
"$style": style0$3
|
|
1407
|
-
};
|
|
1408
|
-
const OutputPanel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__cssModules", cssModules$3]]);
|
|
1409
|
-
const _hoisted_1$2 = { key: 0 };
|
|
1410
|
-
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
1411
|
-
__name: "InputNodeSelect",
|
|
1412
|
-
props: {
|
|
1413
|
-
nodes: {},
|
|
1414
|
-
workflow: {},
|
|
1415
|
-
modelValue: {}
|
|
1416
|
-
},
|
|
1417
|
-
emits: ["update:model-value"],
|
|
1418
|
-
setup(__props, { emit: __emit }) {
|
|
1419
|
-
const props = __props;
|
|
1420
|
-
const emit = __emit;
|
|
1421
|
-
const i18n = useI18n();
|
|
1422
|
-
const workflowsStore = useWorkflowsStore();
|
|
1423
|
-
const nodeTypesStore = useNodeTypesStore();
|
|
1424
|
-
const ndvStore = useNDVStore();
|
|
1425
|
-
const selectedInputNode = computed(() => workflowsStore.getNodeByName(props.modelValue ?? ""));
|
|
1426
|
-
const selectedInputNodeType = computed(() => {
|
|
1427
|
-
const node2 = selectedInputNode.value;
|
|
1428
|
-
if (!node2) return null;
|
|
1429
|
-
return nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
|
|
1430
|
-
});
|
|
1431
|
-
const inputNodes = computed(
|
|
1432
|
-
() => props.nodes?.map((node2) => {
|
|
1433
|
-
const fullNode = workflowsStore.getNodeByName(node2.name);
|
|
1434
|
-
if (!fullNode) return null;
|
|
1435
|
-
return {
|
|
1436
|
-
node: fullNode,
|
|
1437
|
-
type: nodeTypesStore.getNodeType(fullNode.type, fullNode.typeVersion),
|
|
1438
|
-
depth: node2.depth
|
|
1439
|
-
};
|
|
1440
|
-
}).filter(isPresent) ?? []
|
|
1441
|
-
);
|
|
1442
|
-
const activeNode = computed(() => ndvStore.activeNode);
|
|
1443
|
-
const activeNodeType = computed(() => {
|
|
1444
|
-
const node2 = activeNode.value;
|
|
1445
|
-
if (!node2) return null;
|
|
1446
|
-
return nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
|
|
1447
|
-
});
|
|
1448
|
-
const isMultiInputNode = computed(() => {
|
|
1449
|
-
const nodeType = activeNodeType.value;
|
|
1450
|
-
return nodeType !== null && nodeType.inputs.length > 1;
|
|
1451
|
-
});
|
|
1452
|
-
const connectedTo = (nodeName) => {
|
|
1453
|
-
const connections = ndvStore.ndvNodeInputNumber[nodeName];
|
|
1454
|
-
if (!connections) return "";
|
|
1455
|
-
if (connections.length === 1) {
|
|
1456
|
-
return `Input ${ndvStore.ndvNodeInputNumber[nodeName]}`;
|
|
1457
|
-
}
|
|
1458
|
-
return `Inputs ${ndvStore.ndvNodeInputNumber[nodeName].join(", ")}`;
|
|
1459
|
-
};
|
|
1460
|
-
function getMultipleNodesText(nodeName) {
|
|
1461
|
-
if (!nodeName || !isMultiInputNode.value || !activeNode.value || !activeNodeType.value?.inputNames)
|
|
1462
|
-
return "";
|
|
1463
|
-
const activeNodeConnections = props.workflow.connectionsByDestinationNode[activeNode.value.name].main || [];
|
|
1464
|
-
const connectedInputIndexes = activeNodeConnections.reduce((acc, node2, index) => {
|
|
1465
|
-
if (node2?.[0] && node2[0].node === nodeName) return [...acc, index];
|
|
1466
|
-
return acc;
|
|
1467
|
-
}, []);
|
|
1468
|
-
const connectedInputs = connectedInputIndexes.map(
|
|
1469
|
-
(inputIndex) => activeNodeType.value?.inputNames?.[inputIndex]
|
|
1470
|
-
);
|
|
1471
|
-
if (connectedInputs.length === 0) return "";
|
|
1472
|
-
return `(${connectedInputs.join(" & ")})`;
|
|
1473
|
-
}
|
|
1474
|
-
function title2(nodeName, length = 30) {
|
|
1475
|
-
return truncate(nodeName, length);
|
|
1476
|
-
}
|
|
1477
|
-
function subtitle2(nodeName, depth) {
|
|
1478
|
-
const multipleNodesText = getMultipleNodesText(nodeName);
|
|
1479
|
-
if (multipleNodesText) return multipleNodesText;
|
|
1480
|
-
return i18n.baseText("ndv.input.nodeDistance", { adjustToNumber: depth });
|
|
1481
|
-
}
|
|
1482
|
-
function onInputNodeChange(value) {
|
|
1483
|
-
emit("update:model-value", value);
|
|
1484
|
-
}
|
|
1485
|
-
return (_ctx, _cache) => {
|
|
1486
|
-
const _component_n8n_option = _sfc_main$g;
|
|
1487
|
-
const _component_n8n_select = N8nSelect;
|
|
1488
|
-
return openBlock(), createBlock(_component_n8n_select, {
|
|
1489
|
-
"model-value": _ctx.modelValue,
|
|
1490
|
-
"no-data-text": unref(i18n).baseText("ndv.input.noNodesFound"),
|
|
1491
|
-
placeholder: unref(i18n).baseText("ndv.input.parentNodes"),
|
|
1492
|
-
class: normalizeClass(_ctx.$style.select),
|
|
1493
|
-
teleported: "",
|
|
1494
|
-
size: "small",
|
|
1495
|
-
filterable: "",
|
|
1496
|
-
"data-test-id": "ndv-input-select",
|
|
1497
|
-
"onUpdate:modelValue": onInputNodeChange
|
|
1498
|
-
}, {
|
|
1499
|
-
prefix: withCtx(() => [
|
|
1500
|
-
createVNode(_sfc_main$c, {
|
|
1501
|
-
disabled: selectedInputNode.value?.disabled,
|
|
1502
|
-
"node-type": selectedInputNodeType.value,
|
|
1503
|
-
size: 14,
|
|
1504
|
-
shrink: false
|
|
1505
|
-
}, null, 8, ["disabled", "node-type"])
|
|
1506
|
-
]),
|
|
1507
|
-
default: withCtx(() => [
|
|
1508
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(inputNodes.value, ({ node: node2, type, depth }) => {
|
|
1509
|
-
return openBlock(), createBlock(_component_n8n_option, {
|
|
1510
|
-
key: node2.name,
|
|
1511
|
-
value: node2.name,
|
|
1512
|
-
class: normalizeClass([_ctx.$style.node, { [_ctx.$style.disabled]: node2.disabled }]),
|
|
1513
|
-
label: `${title2(node2.name)} ${getMultipleNodesText(node2.name)}`,
|
|
1514
|
-
"data-test-id": "ndv-input-option"
|
|
1515
|
-
}, {
|
|
1516
|
-
default: withCtx(() => [
|
|
1517
|
-
createVNode(_sfc_main$c, {
|
|
1518
|
-
disabled: node2.disabled,
|
|
1519
|
-
"node-type": type,
|
|
1520
|
-
size: 14,
|
|
1521
|
-
shrink: false,
|
|
1522
|
-
class: normalizeClass(_ctx.$style.icon)
|
|
1523
|
-
}, null, 8, ["disabled", "node-type", "class"]),
|
|
1524
|
-
createBaseVNode("span", {
|
|
1525
|
-
class: normalizeClass(_ctx.$style.title)
|
|
1526
|
-
}, [
|
|
1527
|
-
createTextVNode(toDisplayString(title2(node2.name)) + " ", 1),
|
|
1528
|
-
node2.disabled ? (openBlock(), createElementBlock("span", _hoisted_1$2, "(" + toDisplayString(unref(i18n).baseText("node.disabled")) + ")", 1)) : createCommentVNode("", true)
|
|
1529
|
-
], 2),
|
|
1530
|
-
createBaseVNode("span", {
|
|
1531
|
-
class: normalizeClass(_ctx.$style.subtitle)
|
|
1532
|
-
}, toDisplayString(connectedTo(node2.name) ? connectedTo(node2.name) : subtitle2(node2.name, depth)), 3)
|
|
1533
|
-
]),
|
|
1534
|
-
_: 2
|
|
1535
|
-
}, 1032, ["value", "class", "label"]);
|
|
1536
|
-
}), 128))
|
|
1537
|
-
]),
|
|
1538
|
-
_: 1
|
|
1539
|
-
}, 8, ["model-value", "no-data-text", "placeholder", "class"]);
|
|
1540
|
-
};
|
|
1541
|
-
}
|
|
1542
|
-
});
|
|
1543
|
-
const select = "_select_wv0ev_123";
|
|
1544
|
-
const node = "_node_wv0ev_132";
|
|
1545
|
-
const icon = "_icon_wv0ev_140";
|
|
1546
|
-
const title$1 = "_title_wv0ev_144";
|
|
1547
|
-
const disabled = "_disabled_wv0ev_153";
|
|
1548
|
-
const subtitle = "_subtitle_wv0ev_157";
|
|
1549
|
-
const style0$2 = {
|
|
1550
|
-
select,
|
|
1551
|
-
node,
|
|
1552
|
-
icon,
|
|
1553
|
-
title: title$1,
|
|
1554
|
-
disabled,
|
|
1555
|
-
subtitle
|
|
1556
|
-
};
|
|
1557
|
-
const cssModules$2 = {
|
|
1558
|
-
"$style": style0$2
|
|
1559
|
-
};
|
|
1560
|
-
const InputNodeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__cssModules", cssModules$2]]);
|
|
1561
|
-
const _sfc_main$2 = {};
|
|
1562
|
-
const _hoisted_1$1 = {
|
|
1563
|
-
width: "112",
|
|
1564
|
-
height: "80",
|
|
1565
|
-
viewBox: "0 0 112 80",
|
|
1566
|
-
fill: "none",
|
|
1567
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1568
|
-
"xmlns:xlink": "http://www.w3.org/1999/xlink"
|
|
1569
|
-
};
|
|
1570
|
-
function _sfc_render(_ctx, _cache) {
|
|
1571
|
-
return openBlock(), createElementBlock("svg", _hoisted_1$1, _cache[0] || (_cache[0] = [
|
|
1572
|
-
createStaticVNode('<mask id="mask0_489_46042" style="mask-type:alpha;" maskUnits="userSpaceOnUse" x="0" y="0" width="112" height="80"><rect width="112" height="80" fill="url(#paint0_linear_489_46042)"></rect></mask><g mask="url(#mask0_489_46042)"><rect x="-0.5" width="112" height="80" fill="url(#pattern0)" fill-opacity="0.6"></rect></g><defs><pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1"><use xlink:href="#image0_489_46042" transform="scale(0.00357143 0.005)"></use></pattern><linearGradient id="paint0_linear_489_46042" x1="90.5" y1="40.4494" x2="112.5" y2="40.4494" gradientUnits="userSpaceOnUse"><stop></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></linearGradient><image id="image0_489_46042" width="280" height="200" xlink:href="data:image/png;base64,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"></image></defs>', 3)
|
|
1573
|
-
]));
|
|
1574
|
-
}
|
|
1575
|
-
const WireMeUp = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["render", _sfc_render]]);
|
|
1576
|
-
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
1577
|
-
__name: "InputPanel",
|
|
1578
|
-
props: {
|
|
1579
|
-
runIndex: {},
|
|
1580
|
-
workflow: {},
|
|
1581
|
-
pushRef: {},
|
|
1582
|
-
currentNodeName: { default: "" },
|
|
1583
|
-
canLinkRuns: { type: Boolean, default: false },
|
|
1584
|
-
linkedRuns: { type: Boolean },
|
|
1585
|
-
readOnly: { type: Boolean, default: false },
|
|
1586
|
-
isProductionExecutionPreview: { type: Boolean, default: false },
|
|
1587
|
-
isPaneActive: { type: Boolean, default: false },
|
|
1588
|
-
displayMode: {}
|
|
1589
|
-
},
|
|
1590
|
-
emits: ["itemHover", "tableMounted", "linkRun", "unlinkRun", "runChange", "search", "changeInputNode", "execute", "activatePane", "displayModeChange"],
|
|
1591
|
-
setup(__props, { emit: __emit }) {
|
|
1592
|
-
const props = __props;
|
|
1593
|
-
const emit = __emit;
|
|
1594
|
-
const i18n = useI18n();
|
|
1595
|
-
const telemetry = useTelemetry();
|
|
1596
|
-
const showDraggableHintWithDelay = ref(false);
|
|
1597
|
-
const draggableHintShown = ref(false);
|
|
1598
|
-
const mappedNode2 = ref(null);
|
|
1599
|
-
const collapsingColumnName = ref(null);
|
|
1600
|
-
const inputModes = [
|
|
1601
|
-
{ value: "mapping", label: i18n.baseText("ndv.input.mapping") },
|
|
1602
|
-
{ value: "debugging", label: i18n.baseText("ndv.input.fromAI") }
|
|
1603
|
-
];
|
|
1604
|
-
const nodeTypesStore = useNodeTypesStore();
|
|
1605
|
-
const ndvStore = useNDVStore();
|
|
1606
|
-
const workflowsStore = useWorkflowsStore();
|
|
1607
|
-
const posthogStore = usePostHog();
|
|
1608
|
-
const {
|
|
1609
|
-
activeNode,
|
|
1610
|
-
focusedMappableInput,
|
|
1611
|
-
isMappingOnboarded: isUserOnboarded
|
|
1612
|
-
} = storeToRefs(ndvStore);
|
|
1613
|
-
const rootNode = computed(() => {
|
|
1614
|
-
if (!activeNode.value) return null;
|
|
1615
|
-
return props.workflow.getChildNodes(activeNode.value.name, "ALL").at(0) ?? null;
|
|
1616
|
-
});
|
|
1617
|
-
const hasRootNodeRun = computed(() => {
|
|
1618
|
-
return !!(rootNode.value && workflowsStore.getWorkflowExecution?.data?.resultData.runData[rootNode.value]);
|
|
1619
|
-
});
|
|
1620
|
-
const inputMode = ref(
|
|
1621
|
-
// Show debugging mode by default only when the node has already run
|
|
1622
|
-
activeNode.value && workflowsStore.getWorkflowExecution?.data?.resultData.runData[activeNode.value.name] ? "debugging" : "mapping"
|
|
1623
|
-
);
|
|
1624
|
-
const isMappingMode = computed(() => isActiveNodeConfig.value && inputMode.value === "mapping");
|
|
1625
|
-
const showDraggableHint = computed(() => {
|
|
1626
|
-
const toIgnore = [START_NODE_TYPE, MANUAL_TRIGGER_NODE_TYPE, CRON_NODE_TYPE, INTERVAL_NODE_TYPE];
|
|
1627
|
-
if (!currentNode.value || toIgnore.includes(currentNode.value.type)) {
|
|
1628
|
-
return false;
|
|
1629
|
-
}
|
|
1630
|
-
return !!focusedMappableInput.value && !isUserOnboarded.value;
|
|
1631
|
-
});
|
|
1632
|
-
const isActiveNodeConfig = computed(() => {
|
|
1633
|
-
let inputs = activeNodeType.value?.inputs ?? [];
|
|
1634
|
-
let outputs = activeNodeType.value?.outputs ?? [];
|
|
1635
|
-
if (props.workflow && activeNode.value) {
|
|
1636
|
-
const node2 = props.workflow.getNode(activeNode.value.name);
|
|
1637
|
-
if (node2 && activeNodeType.value) {
|
|
1638
|
-
inputs = getNodeInputs(props.workflow, node2, activeNodeType.value);
|
|
1639
|
-
outputs = getNodeOutputs(props.workflow, node2, activeNodeType.value);
|
|
1640
|
-
}
|
|
1641
|
-
}
|
|
1642
|
-
if (!Array.isArray(inputs)) {
|
|
1643
|
-
inputs = [];
|
|
1644
|
-
}
|
|
1645
|
-
if (!Array.isArray(outputs)) {
|
|
1646
|
-
outputs = [];
|
|
1647
|
-
}
|
|
1648
|
-
return inputs.length === 0 || inputs.every((input) => filterOutConnectionType(input, NodeConnectionTypes.Main)) && outputs.find((output) => filterOutConnectionType(output, NodeConnectionTypes.Main));
|
|
1649
|
-
});
|
|
1650
|
-
const isMappingEnabled = computed(() => {
|
|
1651
|
-
if (props.readOnly) return false;
|
|
1652
|
-
if (isActiveNodeConfig.value) return isMappingMode.value && mappedNode2.value !== null;
|
|
1653
|
-
return true;
|
|
1654
|
-
});
|
|
1655
|
-
const isExecutingPrevious = computed(() => {
|
|
1656
|
-
if (!workflowsStore.isWorkflowRunning) {
|
|
1657
|
-
return false;
|
|
1658
|
-
}
|
|
1659
|
-
const triggeredNode = workflowsStore.executedNode;
|
|
1660
|
-
const executingNode = workflowsStore.executingNode;
|
|
1661
|
-
if (activeNode.value && triggeredNode === activeNode.value.name && workflowsStore.isNodeExecuting(props.currentNodeName)) {
|
|
1662
|
-
return true;
|
|
1663
|
-
}
|
|
1664
|
-
if (executingNode.length || triggeredNode) {
|
|
1665
|
-
return !!parentNodes.value.find(
|
|
1666
|
-
(node2) => workflowsStore.isNodeExecuting(node2.name) || node2.name === triggeredNode
|
|
1667
|
-
);
|
|
1668
|
-
}
|
|
1669
|
-
return false;
|
|
1670
|
-
});
|
|
1671
|
-
const rootNodesParents = computed(() => {
|
|
1672
|
-
if (!rootNode.value) return [];
|
|
1673
|
-
return props.workflow.getParentNodesByDepth(rootNode.value);
|
|
1674
|
-
});
|
|
1675
|
-
const currentNode = computed(() => {
|
|
1676
|
-
if (isActiveNodeConfig.value) {
|
|
1677
|
-
if (mappedNode2.value) {
|
|
1678
|
-
return workflowsStore.getNodeByName(mappedNode2.value);
|
|
1679
|
-
}
|
|
1680
|
-
return activeNode.value;
|
|
1681
|
-
}
|
|
1682
|
-
return workflowsStore.getNodeByName(props.currentNodeName ?? "");
|
|
1683
|
-
});
|
|
1684
|
-
const connectedCurrentNodeOutputs = computed(() => {
|
|
1685
|
-
const search = parentNodes.value.find(({ name }) => name === props.currentNodeName);
|
|
1686
|
-
return search?.indicies;
|
|
1687
|
-
});
|
|
1688
|
-
const parentNodes = computed(() => {
|
|
1689
|
-
if (!activeNode.value) {
|
|
1690
|
-
return [];
|
|
1691
|
-
}
|
|
1692
|
-
const parents = props.workflow.getParentNodesByDepth(activeNode.value.name).filter((parent) => parent.name !== activeNode.value?.name);
|
|
1693
|
-
return uniqBy(parents, (parent) => parent.name);
|
|
1694
|
-
});
|
|
1695
|
-
const currentNodeDepth = computed(() => {
|
|
1696
|
-
const node2 = parentNodes.value.find(
|
|
1697
|
-
(parent) => currentNode.value && parent.name === currentNode.value.name
|
|
1698
|
-
);
|
|
1699
|
-
return node2?.depth ?? -1;
|
|
1700
|
-
});
|
|
1701
|
-
const activeNodeType = computed(() => {
|
|
1702
|
-
if (!activeNode.value) return null;
|
|
1703
|
-
return nodeTypesStore.getNodeType(activeNode.value.type, activeNode.value.typeVersion);
|
|
1704
|
-
});
|
|
1705
|
-
const waitingMessage = computed(() => {
|
|
1706
|
-
const parentNode = parentNodes.value[0];
|
|
1707
|
-
return parentNode && waitingNodeTooltip(workflowsStore.getNodeByName(parentNode.name));
|
|
1708
|
-
});
|
|
1709
|
-
const isNDVV2 = computed(
|
|
1710
|
-
() => posthogStore.isVariantEnabled(
|
|
1711
|
-
NDV_UI_OVERHAUL_EXPERIMENT.name,
|
|
1712
|
-
NDV_UI_OVERHAUL_EXPERIMENT.variant
|
|
1713
|
-
)
|
|
1714
|
-
);
|
|
1715
|
-
watch(
|
|
1716
|
-
inputMode,
|
|
1717
|
-
(mode) => {
|
|
1718
|
-
onRunIndexChange(-1);
|
|
1719
|
-
if (mode === "mapping") {
|
|
1720
|
-
onUnlinkRun();
|
|
1721
|
-
mappedNode2.value = rootNodesParents.value[0]?.name ?? null;
|
|
1722
|
-
} else {
|
|
1723
|
-
mappedNode2.value = null;
|
|
1724
|
-
}
|
|
1725
|
-
},
|
|
1726
|
-
{ immediate: true }
|
|
1727
|
-
);
|
|
1728
|
-
watch(showDraggableHint, (curr, prev) => {
|
|
1729
|
-
if (curr && !prev) {
|
|
1730
|
-
setTimeout(() => {
|
|
1731
|
-
if (draggableHintShown.value) {
|
|
1732
|
-
return;
|
|
1733
|
-
}
|
|
1734
|
-
showDraggableHintWithDelay.value = showDraggableHint.value;
|
|
1735
|
-
if (showDraggableHintWithDelay.value) {
|
|
1736
|
-
draggableHintShown.value = true;
|
|
1737
|
-
telemetry.track("User viewed data mapping tooltip", {
|
|
1738
|
-
type: "unexecuted input pane"
|
|
1739
|
-
});
|
|
1740
|
-
}
|
|
1741
|
-
}, 1e3);
|
|
1742
|
-
} else if (!curr) {
|
|
1743
|
-
showDraggableHintWithDelay.value = false;
|
|
1744
|
-
}
|
|
1745
|
-
});
|
|
1746
|
-
function filterOutConnectionType(item, type) {
|
|
1747
|
-
if (!item) return false;
|
|
1748
|
-
return typeof item === "string" ? item !== type : item.type !== type;
|
|
1749
|
-
}
|
|
1750
|
-
function onInputModeChange(val) {
|
|
1751
|
-
inputMode.value = val;
|
|
1752
|
-
}
|
|
1753
|
-
function onMappedNodeSelected(val) {
|
|
1754
|
-
mappedNode2.value = val;
|
|
1755
|
-
onRunIndexChange(0);
|
|
1756
|
-
onUnlinkRun();
|
|
1757
|
-
}
|
|
1758
|
-
function onNodeExecute() {
|
|
1759
|
-
emit("execute");
|
|
1760
|
-
if (activeNode.value) {
|
|
1761
|
-
telemetry.track("User clicked ndv button", {
|
|
1762
|
-
node_type: activeNode.value.type,
|
|
1763
|
-
workflow_id: workflowsStore.workflowId,
|
|
1764
|
-
push_ref: props.pushRef,
|
|
1765
|
-
pane: "input",
|
|
1766
|
-
type: "executePrevious"
|
|
1767
|
-
});
|
|
1768
|
-
}
|
|
1769
|
-
}
|
|
1770
|
-
function onRunIndexChange(run) {
|
|
1771
|
-
emit("runChange", run);
|
|
1772
|
-
}
|
|
1773
|
-
function onLinkRun() {
|
|
1774
|
-
emit("linkRun");
|
|
1775
|
-
}
|
|
1776
|
-
function onUnlinkRun() {
|
|
1777
|
-
emit("unlinkRun");
|
|
1778
|
-
}
|
|
1779
|
-
function onSearch(search) {
|
|
1780
|
-
emit("search", search);
|
|
1781
|
-
}
|
|
1782
|
-
function onItemHover(item) {
|
|
1783
|
-
emit("itemHover", item);
|
|
1784
|
-
}
|
|
1785
|
-
function onTableMounted(event) {
|
|
1786
|
-
emit("tableMounted", event);
|
|
1787
|
-
}
|
|
1788
|
-
function onInputNodeChange(value) {
|
|
1789
|
-
const index = parentNodes.value.findIndex((node2) => node2.name === value) + 1;
|
|
1790
|
-
emit("changeInputNode", value, index);
|
|
1791
|
-
}
|
|
1792
|
-
function onConnectionHelpClick() {
|
|
1793
|
-
if (activeNode.value) {
|
|
1794
|
-
telemetry.track("User clicked ndv link", {
|
|
1795
|
-
node_type: activeNode.value.type,
|
|
1796
|
-
workflow_id: workflowsStore.workflowId,
|
|
1797
|
-
push_ref: props.pushRef,
|
|
1798
|
-
pane: "input",
|
|
1799
|
-
type: "not-connected-help"
|
|
1800
|
-
});
|
|
1801
|
-
}
|
|
1802
|
-
}
|
|
1803
|
-
function activatePane() {
|
|
1804
|
-
emit("activatePane");
|
|
1805
|
-
}
|
|
1806
|
-
function handleChangeCollapsingColumn(columnName) {
|
|
1807
|
-
collapsingColumnName.value = columnName;
|
|
1808
|
-
}
|
|
1809
|
-
return (_ctx, _cache) => {
|
|
1810
|
-
const _component_i18n_t = resolveComponent("i18n-t");
|
|
1811
|
-
const _directive_n8n_html = resolveDirective("n8n-html");
|
|
1812
|
-
return openBlock(), createBlock(RunData, {
|
|
1813
|
-
class: normalizeClass(_ctx.$style.runData),
|
|
1814
|
-
node: currentNode.value,
|
|
1815
|
-
nodes: isMappingMode.value ? rootNodesParents.value : parentNodes.value,
|
|
1816
|
-
workflow: _ctx.workflow,
|
|
1817
|
-
"run-index": isMappingMode.value ? 0 : _ctx.runIndex,
|
|
1818
|
-
"linked-runs": _ctx.linkedRuns,
|
|
1819
|
-
"can-link-runs": !mappedNode2.value && _ctx.canLinkRuns,
|
|
1820
|
-
"too-much-data-title": unref(i18n).baseText("ndv.input.tooMuchData.title"),
|
|
1821
|
-
"no-data-in-branch-message": unref(i18n).baseText("ndv.input.noOutputDataInBranch"),
|
|
1822
|
-
"is-executing": isExecutingPrevious.value,
|
|
1823
|
-
"executing-message": unref(i18n).baseText("ndv.input.executingPrevious"),
|
|
1824
|
-
"push-ref": _ctx.pushRef,
|
|
1825
|
-
"override-outputs": connectedCurrentNodeOutputs.value,
|
|
1826
|
-
"mapping-enabled": isMappingEnabled.value,
|
|
1827
|
-
"distance-from-active": currentNodeDepth.value,
|
|
1828
|
-
"is-production-execution-preview": _ctx.isProductionExecutionPreview,
|
|
1829
|
-
"is-pane-active": _ctx.isPaneActive,
|
|
1830
|
-
"display-mode": _ctx.displayMode,
|
|
1831
|
-
"pane-type": "input",
|
|
1832
|
-
"data-test-id": "ndv-input-panel",
|
|
1833
|
-
"disable-ai-content": true,
|
|
1834
|
-
"collapsing-table-column-name": collapsingColumnName.value,
|
|
1835
|
-
onActivatePane: activatePane,
|
|
1836
|
-
onItemHover,
|
|
1837
|
-
onLinkRun,
|
|
1838
|
-
onUnlinkRun,
|
|
1839
|
-
onRunChange: onRunIndexChange,
|
|
1840
|
-
onTableMounted,
|
|
1841
|
-
onSearch,
|
|
1842
|
-
onDisplayModeChange: _cache[2] || (_cache[2] = ($event) => emit("displayModeChange", $event)),
|
|
1843
|
-
onCollapsingTableColumnChanged: handleChangeCollapsingColumn
|
|
1844
|
-
}, createSlots({
|
|
1845
|
-
header: withCtx(() => [
|
|
1846
|
-
createBaseVNode("div", {
|
|
1847
|
-
class: normalizeClass([_ctx.$style.titleSection, { [_ctx.$style.titleSectionV2]: isNDVV2.value }])
|
|
1848
|
-
}, [
|
|
1849
|
-
createBaseVNode("span", {
|
|
1850
|
-
class: normalizeClass([_ctx.$style.title, { [_ctx.$style.titleV2]: isNDVV2.value }])
|
|
1851
|
-
}, toDisplayString(unref(i18n).baseText("ndv.input")), 3),
|
|
1852
|
-
isActiveNodeConfig.value && !_ctx.readOnly ? (openBlock(), createBlock(unref(N8nRadioButtons), {
|
|
1853
|
-
key: 0,
|
|
1854
|
-
"data-test-id": "input-panel-mode",
|
|
1855
|
-
options: inputModes,
|
|
1856
|
-
"model-value": inputMode.value,
|
|
1857
|
-
"onUpdate:modelValue": onInputModeChange
|
|
1858
|
-
}, null, 8, ["model-value"])) : createCommentVNode("", true)
|
|
1859
|
-
], 2)
|
|
1860
|
-
]),
|
|
1861
|
-
"input-select": withCtx(() => [
|
|
1862
|
-
parentNodes.value.length && _ctx.currentNodeName ? (openBlock(), createBlock(InputNodeSelect, {
|
|
1863
|
-
key: 0,
|
|
1864
|
-
"model-value": _ctx.currentNodeName,
|
|
1865
|
-
workflow: _ctx.workflow,
|
|
1866
|
-
nodes: parentNodes.value,
|
|
1867
|
-
"onUpdate:modelValue": onInputNodeChange
|
|
1868
|
-
}, null, 8, ["model-value", "workflow", "nodes"])) : createCommentVNode("", true)
|
|
1869
|
-
]),
|
|
1870
|
-
"node-not-run": withCtx(() => [
|
|
1871
|
-
isActiveNodeConfig.value && rootNode.value || parentNodes.value.length ? (openBlock(), createElementBlock("div", {
|
|
1872
|
-
key: 0,
|
|
1873
|
-
class: normalizeClass(_ctx.$style.noOutputData)
|
|
1874
|
-
}, [
|
|
1875
|
-
isNDVV2.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
1876
|
-
isMappingEnabled.value || hasRootNodeRun.value ? (openBlock(), createBlock(NDVEmptyState, {
|
|
1877
|
-
key: 0,
|
|
1878
|
-
title: unref(i18n).baseText("ndv.input.noOutputData.v2.title")
|
|
1879
|
-
}, {
|
|
1880
|
-
icon: withCtx(() => [
|
|
1881
|
-
createVNode(unref(N8nIcon), {
|
|
1882
|
-
icon: "arrow-right-to-line",
|
|
1883
|
-
size: "xlarge"
|
|
1884
|
-
})
|
|
1885
|
-
]),
|
|
1886
|
-
description: withCtx(() => [
|
|
1887
|
-
createVNode(_component_i18n_t, {
|
|
1888
|
-
tag: "span",
|
|
1889
|
-
keypath: "ndv.input.noOutputData.v2.description"
|
|
1890
|
-
}, {
|
|
1891
|
-
link: withCtx(() => [
|
|
1892
|
-
createVNode(_sfc_main$f, {
|
|
1893
|
-
"hide-icon": "",
|
|
1894
|
-
transparent: "",
|
|
1895
|
-
type: "secondary",
|
|
1896
|
-
"node-name": (isActiveNodeConfig.value ? rootNode.value : unref(activeNode)?.name) ?? "",
|
|
1897
|
-
label: unref(i18n).baseText("ndv.input.noOutputData.v2.action"),
|
|
1898
|
-
tooltip: unref(i18n).baseText("ndv.input.noOutputData.v2.tooltip"),
|
|
1899
|
-
"tooltip-placement": "bottom",
|
|
1900
|
-
"telemetry-source": "inputs",
|
|
1901
|
-
"data-test-id": "execute-previous-node",
|
|
1902
|
-
onExecute: onNodeExecute
|
|
1903
|
-
}, null, 8, ["node-name", "label", "tooltip"]),
|
|
1904
|
-
_cache[4] || (_cache[4] = createBaseVNode("br", null, null, -1))
|
|
1905
|
-
]),
|
|
1906
|
-
_: 1
|
|
1907
|
-
})
|
|
1908
|
-
]),
|
|
1909
|
-
_: 1
|
|
1910
|
-
}, 8, ["title"])) : (openBlock(), createBlock(NDVEmptyState, {
|
|
1911
|
-
key: 1,
|
|
1912
|
-
title: unref(i18n).baseText("ndv.input.rootNodeHasNotRun.title")
|
|
1913
|
-
}, {
|
|
1914
|
-
icon: withCtx(() => _cache[5] || (_cache[5] = [
|
|
1915
|
-
createBaseVNode("svg", {
|
|
1916
|
-
width: "16px",
|
|
1917
|
-
viewBox: "0 0 16 14",
|
|
1918
|
-
fill: "none",
|
|
1919
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
1920
|
-
}, [
|
|
1921
|
-
createBaseVNode("path", {
|
|
1922
|
-
d: "M11 2C10.4375 2 10 1.5625 10 1C10 0.46875 10.4375 0 11 0H13C14.6562 0 16 1.34375 16 3V11C16 12.6562 14.6562 14 13 14H11C10.4375 14 10 13.5625 10 13C10 12.4688 10.4375 12 11 12H13C13.5312 12 14 11.5625 14 11V3C14 2.46875 13.5312 2 13 2H11ZM10.6875 7.71875L6.6875 11.7188C6.3125 12.125 5.65625 12.125 5.28125 11.7188C4.875 11.3438 4.875 10.6875 5.28125 10.3125L7.5625 8H1C0.4375 8 0 7.5625 0 7C0 6.46875 0.4375 6 1 6H7.5625L5.28125 3.71875C4.875 3.34375 4.875 2.6875 5.28125 2.3125C5.65625 1.90625 6.3125 1.90625 6.6875 2.3125L10.6875 6.3125C11.0938 6.6875 11.0938 7.34375 10.6875 7.71875Z",
|
|
1923
|
-
fill: "currentColor"
|
|
1924
|
-
})
|
|
1925
|
-
], -1)
|
|
1926
|
-
])),
|
|
1927
|
-
description: withCtx(() => [
|
|
1928
|
-
createVNode(_component_i18n_t, {
|
|
1929
|
-
tag: "span",
|
|
1930
|
-
keypath: "ndv.input.rootNodeHasNotRun.description"
|
|
1931
|
-
}, {
|
|
1932
|
-
link: withCtx(() => [
|
|
1933
|
-
createBaseVNode("a", {
|
|
1934
|
-
href: "#",
|
|
1935
|
-
"data-test-id": "switch-to-mapping-mode-link",
|
|
1936
|
-
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onInputModeChange("mapping"), ["prevent"]))
|
|
1937
|
-
}, toDisplayString(unref(i18n).baseText("ndv.input.rootNodeHasNotRun.description.link")), 1)
|
|
1938
|
-
]),
|
|
1939
|
-
_: 1
|
|
1940
|
-
})
|
|
1941
|
-
]),
|
|
1942
|
-
_: 1
|
|
1943
|
-
}, 8, ["title"]))
|
|
1944
|
-
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1945
|
-
isMappingEnabled.value || hasRootNodeRun.value ? (openBlock(), createBlock(unref(N8nText), {
|
|
1946
|
-
key: 0,
|
|
1947
|
-
tag: "div",
|
|
1948
|
-
bold: true,
|
|
1949
|
-
color: "text-dark",
|
|
1950
|
-
size: "large"
|
|
1951
|
-
}, {
|
|
1952
|
-
default: withCtx(() => [
|
|
1953
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("ndv.input.noOutputData.title")), 1)
|
|
1954
|
-
]),
|
|
1955
|
-
_: 1
|
|
1956
|
-
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1957
|
-
createVNode(unref(N8nText), {
|
|
1958
|
-
tag: "div",
|
|
1959
|
-
bold: true,
|
|
1960
|
-
color: "text-dark",
|
|
1961
|
-
size: "large"
|
|
1962
|
-
}, {
|
|
1963
|
-
default: withCtx(() => [
|
|
1964
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("ndv.input.rootNodeHasNotRun.title")), 1)
|
|
1965
|
-
]),
|
|
1966
|
-
_: 1
|
|
1967
|
-
}),
|
|
1968
|
-
createVNode(unref(N8nText), {
|
|
1969
|
-
tag: "div",
|
|
1970
|
-
color: "text-dark",
|
|
1971
|
-
size: "medium"
|
|
1972
|
-
}, {
|
|
1973
|
-
default: withCtx(() => [
|
|
1974
|
-
createVNode(_component_i18n_t, {
|
|
1975
|
-
tag: "span",
|
|
1976
|
-
keypath: "ndv.input.rootNodeHasNotRun.description"
|
|
1977
|
-
}, {
|
|
1978
|
-
link: withCtx(() => [
|
|
1979
|
-
createBaseVNode("a", {
|
|
1980
|
-
href: "#",
|
|
1981
|
-
"data-test-id": "switch-to-mapping-mode-link",
|
|
1982
|
-
onClick: _cache[1] || (_cache[1] = withModifiers(($event) => onInputModeChange("mapping"), ["prevent"]))
|
|
1983
|
-
}, toDisplayString(unref(i18n).baseText("ndv.input.rootNodeHasNotRun.description.link")), 1)
|
|
1984
|
-
]),
|
|
1985
|
-
_: 1
|
|
1986
|
-
})
|
|
1987
|
-
]),
|
|
1988
|
-
_: 1
|
|
1989
|
-
})
|
|
1990
|
-
], 64)),
|
|
1991
|
-
!_ctx.readOnly ? (openBlock(), createBlock(unref(N8nTooltip), {
|
|
1992
|
-
key: 2,
|
|
1993
|
-
visible: showDraggableHint.value && showDraggableHintWithDelay.value
|
|
1994
|
-
}, {
|
|
1995
|
-
content: withCtx(() => [
|
|
1996
|
-
withDirectives(createBaseVNode("div", null, null, 512), [
|
|
1997
|
-
[
|
|
1998
|
-
_directive_n8n_html,
|
|
1999
|
-
unref(i18n).baseText("dataMapping.dragFromPreviousHint", {
|
|
2000
|
-
interpolate: { name: unref(focusedMappableInput) }
|
|
2001
|
-
})
|
|
2002
|
-
]
|
|
2003
|
-
])
|
|
2004
|
-
]),
|
|
2005
|
-
default: withCtx(() => [
|
|
2006
|
-
createVNode(_sfc_main$f, {
|
|
2007
|
-
type: "secondary",
|
|
2008
|
-
"hide-icon": "",
|
|
2009
|
-
transparent: true,
|
|
2010
|
-
"node-name": (isActiveNodeConfig.value ? rootNode.value : unref(activeNode)?.name) ?? "",
|
|
2011
|
-
label: unref(i18n).baseText("ndv.input.noOutputData.executePrevious"),
|
|
2012
|
-
class: "mt-m",
|
|
2013
|
-
"telemetry-source": "inputs",
|
|
2014
|
-
"data-test-id": "execute-previous-node",
|
|
2015
|
-
onExecute: onNodeExecute
|
|
2016
|
-
}, null, 8, ["node-name", "label"])
|
|
2017
|
-
]),
|
|
2018
|
-
_: 1
|
|
2019
|
-
}, 8, ["visible"])) : createCommentVNode("", true),
|
|
2020
|
-
!_ctx.readOnly ? (openBlock(), createBlock(unref(N8nText), {
|
|
2021
|
-
key: 3,
|
|
2022
|
-
tag: "div",
|
|
2023
|
-
size: "small"
|
|
2024
|
-
}, {
|
|
2025
|
-
default: withCtx(() => [
|
|
2026
|
-
createVNode(_component_i18n_t, { keypath: "ndv.input.noOutputData.hint" }, {
|
|
2027
|
-
info: withCtx(() => [
|
|
2028
|
-
createVNode(unref(N8nTooltip), { placement: "bottom" }, {
|
|
2029
|
-
content: withCtx(() => [
|
|
2030
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("ndv.input.noOutputData.hint.tooltip")), 1)
|
|
2031
|
-
]),
|
|
2032
|
-
default: withCtx(() => [
|
|
2033
|
-
createVNode(unref(N8nIcon), { icon: "circle-help" })
|
|
2034
|
-
]),
|
|
2035
|
-
_: 1
|
|
2036
|
-
})
|
|
2037
|
-
]),
|
|
2038
|
-
_: 1
|
|
2039
|
-
})
|
|
2040
|
-
]),
|
|
2041
|
-
_: 1
|
|
2042
|
-
})) : createCommentVNode("", true)
|
|
2043
|
-
], 64))
|
|
2044
|
-
], 2)) : (openBlock(), createElementBlock("div", {
|
|
2045
|
-
key: 1,
|
|
2046
|
-
class: normalizeClass(_ctx.$style.notConnected)
|
|
2047
|
-
}, [
|
|
2048
|
-
isNDVV2.value ? (openBlock(), createBlock(NDVEmptyState, {
|
|
2049
|
-
key: 0,
|
|
2050
|
-
title: unref(i18n).baseText("ndv.input.notConnected.v2.title")
|
|
2051
|
-
}, {
|
|
2052
|
-
icon: withCtx(() => [
|
|
2053
|
-
createVNode(WireMeUp)
|
|
2054
|
-
]),
|
|
2055
|
-
description: withCtx(() => [
|
|
2056
|
-
createVNode(_component_i18n_t, {
|
|
2057
|
-
tag: "span",
|
|
2058
|
-
keypath: "ndv.input.notConnected.v2.description"
|
|
2059
|
-
}, {
|
|
2060
|
-
link: withCtx(() => [
|
|
2061
|
-
createBaseVNode("a", {
|
|
2062
|
-
href: "https://docs.n8n.io/workflows/connections/",
|
|
2063
|
-
target: "_blank",
|
|
2064
|
-
onClick: onConnectionHelpClick
|
|
2065
|
-
}, toDisplayString(unref(i18n).baseText("ndv.input.notConnected.learnMore")), 1)
|
|
2066
|
-
]),
|
|
2067
|
-
_: 1
|
|
2068
|
-
})
|
|
2069
|
-
]),
|
|
2070
|
-
_: 1
|
|
2071
|
-
}, 8, ["title"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
2072
|
-
createBaseVNode("div", null, [
|
|
2073
|
-
createVNode(WireMeUp)
|
|
2074
|
-
]),
|
|
2075
|
-
createVNode(unref(N8nText), {
|
|
2076
|
-
tag: "div",
|
|
2077
|
-
bold: true,
|
|
2078
|
-
color: "text-dark",
|
|
2079
|
-
size: "large"
|
|
2080
|
-
}, {
|
|
2081
|
-
default: withCtx(() => [
|
|
2082
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("ndv.input.notConnected.title")), 1)
|
|
2083
|
-
]),
|
|
2084
|
-
_: 1
|
|
2085
|
-
}),
|
|
2086
|
-
createVNode(unref(N8nText), { tag: "div" }, {
|
|
2087
|
-
default: withCtx(() => [
|
|
2088
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("ndv.input.notConnected.message")) + " ", 1),
|
|
2089
|
-
createBaseVNode("a", {
|
|
2090
|
-
href: "https://docs.n8n.io/workflows/connections/",
|
|
2091
|
-
target: "_blank",
|
|
2092
|
-
onClick: onConnectionHelpClick
|
|
2093
|
-
}, toDisplayString(unref(i18n).baseText("ndv.input.notConnected.learnMore")), 1)
|
|
2094
|
-
]),
|
|
2095
|
-
_: 1
|
|
2096
|
-
})
|
|
2097
|
-
], 64))
|
|
2098
|
-
], 2))
|
|
2099
|
-
]),
|
|
2100
|
-
"node-waiting": withCtx(() => [
|
|
2101
|
-
createVNode(unref(N8nText), {
|
|
2102
|
-
bold: true,
|
|
2103
|
-
color: "text-dark",
|
|
2104
|
-
size: "large"
|
|
2105
|
-
}, {
|
|
2106
|
-
default: withCtx(() => [
|
|
2107
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("ndv.output.waitNodeWaiting.title")), 1)
|
|
2108
|
-
]),
|
|
2109
|
-
_: 1
|
|
2110
|
-
}),
|
|
2111
|
-
withDirectives(createVNode(unref(N8nText), null, null, 512), [
|
|
2112
|
-
[_directive_n8n_html, waitingMessage.value]
|
|
2113
|
-
])
|
|
2114
|
-
]),
|
|
2115
|
-
"no-output-data": withCtx(() => [
|
|
2116
|
-
createVNode(unref(N8nText), {
|
|
2117
|
-
tag: "div",
|
|
2118
|
-
bold: true,
|
|
2119
|
-
color: "text-dark",
|
|
2120
|
-
size: "large"
|
|
2121
|
-
}, {
|
|
2122
|
-
default: withCtx(() => [
|
|
2123
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("ndv.input.noOutputData")), 1)
|
|
2124
|
-
]),
|
|
2125
|
-
_: 1
|
|
2126
|
-
})
|
|
2127
|
-
]),
|
|
2128
|
-
"recovered-artificial-output-data": withCtx(() => [
|
|
2129
|
-
createBaseVNode("div", {
|
|
2130
|
-
class: normalizeClass(_ctx.$style.recoveredOutputData)
|
|
2131
|
-
}, [
|
|
2132
|
-
createVNode(unref(N8nText), {
|
|
2133
|
-
tag: "div",
|
|
2134
|
-
bold: true,
|
|
2135
|
-
color: "text-dark",
|
|
2136
|
-
size: "large"
|
|
2137
|
-
}, {
|
|
2138
|
-
default: withCtx(() => [
|
|
2139
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("executionDetails.executionFailed.recoveredNodeTitle")), 1)
|
|
2140
|
-
]),
|
|
2141
|
-
_: 1
|
|
2142
|
-
}),
|
|
2143
|
-
createVNode(unref(N8nText), null, {
|
|
2144
|
-
default: withCtx(() => [
|
|
2145
|
-
createTextVNode(toDisplayString(unref(i18n).baseText("executionDetails.executionFailed.recoveredNodeMessage")), 1)
|
|
2146
|
-
]),
|
|
2147
|
-
_: 1
|
|
2148
|
-
})
|
|
2149
|
-
], 2)
|
|
2150
|
-
]),
|
|
2151
|
-
_: 2
|
|
2152
|
-
}, [
|
|
2153
|
-
isMappingMode.value ? {
|
|
2154
|
-
name: "before-data",
|
|
2155
|
-
fn: withCtx(() => [
|
|
2156
|
-
(openBlock(), createBlock(resolveDynamicComponent("style"), null, {
|
|
2157
|
-
default: withCtx(() => _cache[3] || (_cache[3] = [
|
|
2158
|
-
createTextVNode("button.linkRun { display: none }")
|
|
2159
|
-
])),
|
|
2160
|
-
_: 1
|
|
2161
|
-
})),
|
|
2162
|
-
createBaseVNode("div", {
|
|
2163
|
-
class: normalizeClass(_ctx.$style.mappedNode)
|
|
2164
|
-
}, [
|
|
2165
|
-
createVNode(InputNodeSelect, {
|
|
2166
|
-
"model-value": mappedNode2.value,
|
|
2167
|
-
workflow: _ctx.workflow,
|
|
2168
|
-
nodes: rootNodesParents.value,
|
|
2169
|
-
"onUpdate:modelValue": onMappedNodeSelected
|
|
2170
|
-
}, null, 8, ["model-value", "workflow", "nodes"])
|
|
2171
|
-
], 2)
|
|
2172
|
-
]),
|
|
2173
|
-
key: "0"
|
|
2174
|
-
} : void 0
|
|
2175
|
-
]), 1032, ["class", "node", "nodes", "workflow", "run-index", "linked-runs", "can-link-runs", "too-much-data-title", "no-data-in-branch-message", "is-executing", "executing-message", "push-ref", "override-outputs", "mapping-enabled", "distance-from-active", "is-production-execution-preview", "is-pane-active", "display-mode", "collapsing-table-column-name"]);
|
|
2176
|
-
};
|
|
2177
|
-
}
|
|
2178
|
-
});
|
|
2179
|
-
const runData = "_runData_1mdum_123";
|
|
2180
|
-
const mappedNode = "_mappedNode_1mdum_127";
|
|
2181
|
-
const titleSection = "_titleSection_1mdum_131";
|
|
2182
|
-
const titleSectionV2 = "_titleSectionV2_1mdum_140";
|
|
2183
|
-
const inputModeTab = "_inputModeTab_1mdum_144";
|
|
2184
|
-
const noOutputData = "_noOutputData_1mdum_148";
|
|
2185
|
-
const recoveredOutputData = "_recoveredOutputData_1mdum_155";
|
|
2186
|
-
const notConnected = "_notConnected_1mdum_164";
|
|
2187
|
-
const title = "_title_1mdum_131";
|
|
2188
|
-
const titleV2 = "_titleV2_1mdum_182";
|
|
2189
1235
|
const style0$1 = {
|
|
2190
1236
|
runData,
|
|
2191
|
-
|
|
1237
|
+
outputTypeSelect,
|
|
2192
1238
|
titleSection,
|
|
2193
1239
|
titleSectionV2,
|
|
2194
|
-
|
|
1240
|
+
title,
|
|
1241
|
+
titleV2,
|
|
2195
1242
|
noOutputData,
|
|
2196
1243
|
recoveredOutputData,
|
|
2197
|
-
|
|
2198
|
-
title,
|
|
2199
|
-
titleV2
|
|
1244
|
+
link
|
|
2200
1245
|
};
|
|
2201
1246
|
const cssModules$1 = {
|
|
2202
1247
|
"$style": style0$1
|
|
2203
1248
|
};
|
|
2204
|
-
const
|
|
1249
|
+
const OutputPanel = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
|
|
2205
1250
|
const _hoisted_1 = { key: "empty" };
|
|
2206
1251
|
const _hoisted_2 = { key: "listening" };
|
|
2207
1252
|
const _hoisted_3 = { key: 0 };
|
|
@@ -2233,10 +1278,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2233
1278
|
const telemetry = useTelemetry();
|
|
2234
1279
|
const executionsHelpEventBus = createEventBus();
|
|
2235
1280
|
const help = ref(null);
|
|
2236
|
-
const
|
|
1281
|
+
const node = computed(() => workflowsStore.getNodeByName(props.nodeName));
|
|
2237
1282
|
const nodeType = computed(() => {
|
|
2238
|
-
if (
|
|
2239
|
-
return nodesTypeStore.getNodeType(
|
|
1283
|
+
if (node.value) {
|
|
1284
|
+
return nodesTypeStore.getNodeType(node.value.type, node.value.typeVersion);
|
|
2240
1285
|
}
|
|
2241
1286
|
return null;
|
|
2242
1287
|
});
|
|
@@ -2252,8 +1297,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2252
1297
|
if (typeof hideContent2 === "boolean") {
|
|
2253
1298
|
return hideContent2;
|
|
2254
1299
|
}
|
|
2255
|
-
if (
|
|
2256
|
-
const hideContentValue = workflowHelpers.getCurrentWorkflow().expression.getSimpleParameterValue(
|
|
1300
|
+
if (node.value) {
|
|
1301
|
+
const hideContentValue = workflowHelpers.getCurrentWorkflow().expression.getSimpleParameterValue(node.value, hideContent2, "internal", {});
|
|
2257
1302
|
if (typeof hideContentValue === "boolean") {
|
|
2258
1303
|
return hideContentValue;
|
|
2259
1304
|
}
|
|
@@ -2262,7 +1307,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2262
1307
|
});
|
|
2263
1308
|
const hasIssues = computed(() => {
|
|
2264
1309
|
return Boolean(
|
|
2265
|
-
|
|
1310
|
+
node.value?.issues && (node.value.issues.parameters ?? node.value.issues.credentials)
|
|
2266
1311
|
);
|
|
2267
1312
|
});
|
|
2268
1313
|
const serviceName = computed(() => {
|
|
@@ -2273,14 +1318,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2273
1318
|
});
|
|
2274
1319
|
const displayChatButton = computed(() => {
|
|
2275
1320
|
return Boolean(
|
|
2276
|
-
|
|
1321
|
+
node.value && node.value.type === CHAT_TRIGGER_NODE_TYPE && node.value.parameters.mode !== "webhook"
|
|
2277
1322
|
);
|
|
2278
1323
|
});
|
|
2279
1324
|
const isWebhookNode = computed(() => {
|
|
2280
|
-
return Boolean(
|
|
1325
|
+
return Boolean(node.value && node.value.type === WEBHOOK_NODE_TYPE);
|
|
2281
1326
|
});
|
|
2282
1327
|
const webhookHttpMethod = computed(() => {
|
|
2283
|
-
if (!
|
|
1328
|
+
if (!node.value || !nodeType.value?.webhooks?.length) {
|
|
2284
1329
|
return void 0;
|
|
2285
1330
|
}
|
|
2286
1331
|
const httpMethod = workflowHelpers.getWebhookExpressionValue(
|
|
@@ -2294,10 +1339,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2294
1339
|
return httpMethod;
|
|
2295
1340
|
});
|
|
2296
1341
|
const webhookTestUrl = computed(() => {
|
|
2297
|
-
if (!
|
|
1342
|
+
if (!node.value || !nodeType.value?.webhooks?.length) {
|
|
2298
1343
|
return void 0;
|
|
2299
1344
|
}
|
|
2300
|
-
return workflowHelpers.getWebhookUrl(nodeType.value.webhooks[0],
|
|
1345
|
+
return workflowHelpers.getWebhookUrl(nodeType.value.webhooks[0], node.value, "test");
|
|
2301
1346
|
});
|
|
2302
1347
|
const isWebhookBasedNode = computed(() => {
|
|
2303
1348
|
return Boolean(nodeType.value?.webhooks?.length);
|
|
@@ -2308,7 +1353,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2308
1353
|
const isListeningForEvents = computed(() => {
|
|
2309
1354
|
const waitingOnWebhook = workflowsStore.executionWaitingForWebhook;
|
|
2310
1355
|
const executedNode = workflowsStore.executedNode;
|
|
2311
|
-
return !!
|
|
1356
|
+
return !!node.value && !node.value.disabled && isWebhookBasedNode.value && waitingOnWebhook && (!executedNode || executedNode === props.nodeName);
|
|
2312
1357
|
});
|
|
2313
1358
|
const workflowRunning = computed(() => workflowsStore.isWorkflowRunning);
|
|
2314
1359
|
const isActivelyPolling = computed(() => {
|
|
@@ -2484,7 +1529,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2484
1529
|
const _component_n8n_pulse = N8nPulse;
|
|
2485
1530
|
const _component_n8n_text = N8nText;
|
|
2486
1531
|
const _component_n8n_button = N8nButton;
|
|
2487
|
-
const _component_n8n_spinner = _sfc_main$
|
|
1532
|
+
const _component_n8n_spinner = _sfc_main$c;
|
|
2488
1533
|
const _component_n8n_heading = N8nHeading;
|
|
2489
1534
|
const _component_n8n_link = N8nLink;
|
|
2490
1535
|
const _component_n8n_info_accordion = N8nInfoAccordion;
|
|
@@ -2500,7 +1545,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2500
1545
|
hasIssues.value || hideContent.value ? (openBlock(), createElementBlock("div", _hoisted_1)) : isListeningForEvents.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
2501
1546
|
createVNode(_component_n8n_pulse, null, {
|
|
2502
1547
|
default: withCtx(() => [
|
|
2503
|
-
createVNode(_sfc_main$
|
|
1548
|
+
createVNode(_sfc_main$8, {
|
|
2504
1549
|
"node-type": nodeType.value,
|
|
2505
1550
|
size: 40
|
|
2506
1551
|
}, null, 8, ["node-type"])
|
|
@@ -2541,7 +1586,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2541
1586
|
"copy-button-text": unref(i18n).baseText("generic.clickToCopy"),
|
|
2542
1587
|
onCopy: onTestLinkCopied
|
|
2543
1588
|
}, null, 8, ["value", "toast-title", "copy-button-text"]),
|
|
2544
|
-
createVNode(_sfc_main$
|
|
1589
|
+
createVNode(_sfc_main$b, {
|
|
2545
1590
|
"data-test-id": "trigger-execute-button",
|
|
2546
1591
|
"node-name": _ctx.nodeName,
|
|
2547
1592
|
size: "medium",
|
|
@@ -2582,7 +1627,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2582
1627
|
_: 1
|
|
2583
1628
|
})
|
|
2584
1629
|
])) : createCommentVNode("", true),
|
|
2585
|
-
createVNode(_sfc_main$
|
|
1630
|
+
createVNode(_sfc_main$b, {
|
|
2586
1631
|
"data-test-id": "trigger-execute-button",
|
|
2587
1632
|
"node-name": _ctx.nodeName,
|
|
2588
1633
|
size: "medium",
|
|
@@ -2619,7 +1664,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
2619
1664
|
_: 1
|
|
2620
1665
|
})) : createCommentVNode("", true)
|
|
2621
1666
|
], 2),
|
|
2622
|
-
createVNode(_sfc_main$
|
|
1667
|
+
createVNode(_sfc_main$b, {
|
|
2623
1668
|
"data-test-id": "trigger-execute-button",
|
|
2624
1669
|
"node-name": _ctx.nodeName,
|
|
2625
1670
|
size: "medium",
|
|
@@ -2685,7 +1730,6 @@ const cssModules = {
|
|
|
2685
1730
|
};
|
|
2686
1731
|
const TriggerPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-a321aff2"]]);
|
|
2687
1732
|
export {
|
|
2688
|
-
InputPanel as I,
|
|
2689
1733
|
OutputPanel as O,
|
|
2690
1734
|
TriggerPanel as T,
|
|
2691
1735
|
__unplugin_components_0 as _
|