n8n-editor-ui 1.103.0 → 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-oe2q-18e.js → ActionDropdown-Ct6XJ0cl.js} +1 -1
- package/dist/assets/{AnimatedSpinner-DNQK2Lvb.js → AnimatedSpinner-CIyQ3zKd.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CTPMm7Da.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-xv6FYiyR.js} +1 -1
- package/dist/assets/{AuthView-BLYDBurX.js → AuthView-dJdngoqx.js} +2 -2
- package/dist/assets/{ChangePasswordView-D_oe3bys.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-yjXzQeha.js → CredentialsView-jouDB3H1.js} +8 -8
- package/dist/assets/{DemoFooter-CLoho_f5.js → DemoFooter-CHlbEpB-.js} +9 -8
- package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Dtt1q_gN.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-CbDihlsO.js} +1 -1
- package/dist/assets/{EntityNotFound-DKLj80gn.js → EntityNotFound-Dtqj9thX.js} +1 -1
- package/dist/assets/{EntityUnAuthorised-BUd46dmn.js → EntityUnAuthorised-BBsbc6du.js} +1 -1
- package/dist/assets/{ErrorView-DOjK08aR.js → ErrorView-BN4Jm32q.js} +1 -1
- package/dist/assets/{EvaluationsRootView-Cms0XlYE.js → EvaluationsRootView-B70WfmnQ.js} +5 -3
- package/dist/assets/{EvaluationsView-6l_Invxt.css → EvaluationsView-BTyYfInB.css} +6 -6
- package/dist/assets/{EvaluationsView-X9pjkssi.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-CQDOSq4d.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-C_2brmCr.js} +15 -12
- package/dist/assets/{ExecutionsView-NLnln1YQ.js → ExecutionsView-CKPZTnZV.js} +21 -18
- package/dist/assets/{FileSaver.min-BoHgd5iv.js → FileSaver.min-BvxTURBB.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-BfKt_vOb.js → FixedCollectionParameter-CA-CigeR.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-OP-Zoaqi.js → ForgotMyPasswordView-YyVmo-nw.js} +3 -3
- package/dist/assets/{InfoAccordion-KgxR9XUm.js → InfoAccordion-BNmUe2V9.js} +1 -1
- package/dist/assets/{InsightsChartAverageRuntime-COSI3_o5.js → InsightsChartAverageRuntime-C9sCNhzD.js} +5 -4
- package/dist/assets/{InsightsChartFailed-zPbPiVrK.js → InsightsChartFailed-DWA6YbZj.js} +5 -4
- package/dist/assets/{InsightsChartFailureRate-BijFuiun.js → InsightsChartFailureRate-CfknGtrr.js} +5 -4
- package/dist/assets/{InsightsChartTimeSaved-QPkPrxuo.js → InsightsChartTimeSaved-DtLO9DJx.js} +5 -4
- package/dist/assets/{InsightsChartTotal-CAIfpPOZ.js → InsightsChartTotal-yX_QJ-44.js} +5 -4
- package/dist/assets/{InsightsDashboard-D8_DXUIT.js → InsightsDashboard-BlYvn96O.js} +19 -19
- package/dist/assets/{InsightsDashboard-CXbI-Jyg.css → InsightsDashboard-C27Avzrv.css} +2 -2
- package/dist/assets/{InsightsPaywall-BlFkYC7C.js → InsightsPaywall-BCfIY_xn.js} +3 -3
- package/dist/assets/{InsightsSummary-DT-p4HNY.js → InsightsSummary-OiO7efWD.js} +9 -4
- package/dist/assets/{InsightsTableWorkflows-RGpSnp7n.css → InsightsTableWorkflows-BTHSCwX8.css} +27 -3
- package/dist/assets/{InsightsTableWorkflows-CN4YWTtH.js → InsightsTableWorkflows-pTl3m7wx.js} +80 -26
- package/dist/assets/{Logo-BhBstNGh.js → Logo-8g4P9vyv.js} +1 -1
- package/dist/assets/{LogsPanel-Bvy4ANV7.css → LogsPanel-D0xdq4fV.css} +21 -21
- package/dist/assets/{LogsPanel-Ceg5ubnO.js → LogsPanel-so01MtIR.js} +16 -11
- package/dist/assets/{MainHeader-4a5SCN9a.js → MainHeader-CcUlKfHC.js} +17 -16
- 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-PaqIlcl_.js → MainSidebar-DOGhP_oY.js} +26 -25
- package/dist/assets/{N8nDataTableServer-OWjVTbuy.js → N8nDataTableServer-9HerjyzX.js} +20 -10
- package/dist/assets/{NodeCreation-vn1s6ViE.js → NodeCreation-CVbCKnet.js} +11 -9
- package/dist/assets/{NodeCreator-8yXN9-3-.js → NodeCreator-BOosPF8_.js} +114 -197
- package/dist/assets/{NodeCreator-DWE25utr.css → NodeCreator-CkvY2niF.css} +0 -128
- package/dist/assets/{NodeDetailsView-Bfqrvndc.js → NodeDetailsView-KFidngJi.js} +21 -16
- package/dist/assets/{NodeDetailsViewV2-DvXkio7Z.js → NodeDetailsViewV2-BL4KKqW-.js} +21 -16
- package/dist/assets/{NodeView-4YXAVrWh.js → NodeView-BzC6ELga.js} +2068 -746
- package/dist/assets/{NodeView-hst6fesm.css → NodeView-G2qfXaOy.css} +755 -71
- package/dist/assets/{ProjectHeader-BXo_XGDO.js → ProjectHeader-B9-GdGvC.js} +2 -2
- package/dist/assets/{ProjectSettings-Z5Kp6E53.js → ProjectSettings-CE4_geFa.js} +7 -5
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DK8Mp74c.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-Bb8zUJvi.js} +1 -1
- package/dist/assets/{ResourcesListLayout-DoL3gqUA.js → ResourcesListLayout-ClTEnqVS.js} +3 -3
- package/dist/assets/{RunDataJson-CI2PEX1Z.js → RunDataJson-fXQKTIFD.js} +6 -7
- package/dist/assets/{RunDataJsonActions-CdUL1gL3.js → RunDataJsonActions-CMP1sUPZ.js} +1 -1
- package/dist/assets/{RunDataParsedAiContent-B6Ss5mvl.js → RunDataParsedAiContent-CHK6Y4ET.js} +2 -2
- package/dist/assets/{RunDataSearch-DKaXYju2.js → RunDataSearch-CAZGWZzz.js} +1 -1
- package/dist/assets/{RunDataTable-BQ3rdzoF.js → RunDataTable-CeqmA-n3.js} +17 -17
- package/dist/assets/{SamlOnboarding-C_au26AK.js → SamlOnboarding-BrdzPMSK.js} +3 -3
- package/dist/assets/{SettingsApiView-aoaIK5C5.js → SettingsApiView-Cj2YYKAl.js} +5 -4
- package/dist/assets/{SettingsCommunityNodesView-Bii1jYzp.js → SettingsCommunityNodesView-ChB--kZD.js} +4 -3
- package/dist/assets/{SettingsExternalSecrets-DzoOLUAJ.js → SettingsExternalSecrets-BjghCvkE.js} +5 -3
- package/dist/assets/{SettingsLdapView-CkLOtGjj.js → SettingsLdapView-DIB1-nTk.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-CKBVxNwk.js → SettingsLogStreamingView-BOOGkcwK.js} +1 -1
- package/dist/assets/{SettingsPersonalView-gOoSkTpX.js → SettingsPersonalView-DaNZTNUy.js} +1 -1
- package/dist/assets/{SettingsSourceControl-C6XS-Myv.js → SettingsSourceControl-B5fQRT0V.js} +10 -8
- package/dist/assets/{SettingsSso-CobNvKat.js → SettingsSso-CWX-T13W.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-3r39YZW1.js → SettingsUsageAndPlan-Cnnf9k6X.js} +15 -10
- package/dist/assets/{SettingsUsageAndPlan-D6TiPwUx.css → SettingsUsageAndPlan-ZZQpCmyQ.css} +3 -3
- package/dist/assets/{SettingsUsersView-DrrH1dLq.js → SettingsUsersView-BLDi4lpv.js} +105 -44
- package/dist/assets/{SettingsUsersView-B81cHl3f.css → SettingsUsersView-RQTdLxyb.css} +11 -7
- package/dist/assets/{SettingsView-D_wEAbZb.js → SettingsView-Dtc8MEv6.js} +1 -1
- package/dist/assets/{SetupView-CU1QrNSu.js → SetupView-C4C-2Idz.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-Do2E5w2d.js → SetupWorkflowCredentialsButton-Pzrxag-k.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-cuwHIvkB.js → SetupWorkflowFromTemplateView-CRsZDYct.js} +3 -3
- package/dist/assets/{SigninView-DA11h2Kr.js → SigninView-COyoSAUi.js} +3 -3
- package/dist/assets/{SignoutView-VJrMh5w7.js → SignoutView-B0t9kc5s.js} +1 -1
- package/dist/assets/{SignupView-BNTIWYSE.js → SignupView-BN8MCOnb.js} +3 -3
- package/dist/assets/{TableBase-B5rreQVh.js → TableBase-BmhIwPwZ.js} +1 -1
- package/dist/assets/{Tags-SJm7l2s6.js → Tags-DeTgaVsD.js} +1 -1
- package/dist/assets/{TemplateDetails-B6-Nkya8.js → TemplateDetails-Bh-WSvQ-.js} +2 -2
- package/dist/assets/{TemplateList-C4Dqsvfp.js → TemplateList-DxvJMjPE.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-BMGZ939P.js → TemplatesCollectionView-BhilAS_8.js} +6 -6
- package/dist/assets/{TemplatesSearchView-CIo8eprI.js → TemplatesSearchView-CWxnTQ8Z.js} +3 -3
- package/dist/assets/{TemplatesView-MshXkM2_.js → TemplatesView-Co-FQLhr.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-LWBGoJBO.js → TemplatesWorkflowView-DAWgsT0T.js} +6 -6
- package/dist/assets/{TriggerPanel-DRpKKKun.css → TriggerPanel-DJv04feX.css} +1 -354
- package/dist/assets/{TriggerPanel-C-0JCegt.js → TriggerPanel-JaXhe1VW.js} +133 -981
- package/dist/assets/{VariablesView-omKbxNoc.js → VariablesView-JnfEn1f-.js} +5 -5
- package/dist/assets/VueMarkdown-DDKnTMgT.js +1570 -0
- package/dist/assets/{WorkerView-DPnCbr1B.js → WorkerView-DZG4C_Qp.js} +6 -5
- package/dist/assets/{WorkflowActivator-Hn_uDFPH.js → WorkflowActivator-C8hP37n7.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DWSeluMM.js → WorkflowExecutionsInfoAccordion-DCNvkxhh.js} +2 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-BMcxBJEl.js → WorkflowExecutionsLandingPage-DVp6SoPy.js} +3 -3
- package/dist/assets/{WorkflowExecutionsPreview-Csq6C8Vh.js → WorkflowExecutionsPreview-CKYWZWv1.js} +5 -5
- package/dist/assets/{WorkflowExecutionsView-6L7iZJq1.js → WorkflowExecutionsView-BIkweP3p.js} +8 -8
- package/dist/assets/{WorkflowHistory-B0t-0Z77.js → WorkflowHistory-C0LrWJW0.js} +6 -6
- package/dist/assets/{WorkflowOnboardingView-DuI2I9MQ.js → WorkflowOnboardingView-CWMUgnLK.js} +1 -1
- package/dist/assets/{WorkflowPreview-D4kwrMFk.js → WorkflowPreview-DmYMBSH3.js} +1 -1
- package/dist/assets/{WorkflowsView-WU-IKn4K.js → WorkflowsView-jEphnf90.js} +125 -17
- package/dist/assets/aiTemplatesStarterCollection.store-oECEA5nR.js +794 -0
- package/dist/assets/{chartjs.utils-Bc5bGj66.js → chartjs.utils-CP28DnUQ.js} +2 -2
- package/dist/assets/{en-FjyeYndD.js → en-BX7CKkqE.js} +22 -6
- package/dist/assets/{global-link-actions-BZz1vmQq.js → global-link-actions-BjpAG7gt.js} +1 -1
- package/dist/assets/{import-curl-jc1UtwMR.js → import-curl-BD22LJ4z.js} +1 -1
- package/dist/assets/{index-C6LoGNAx.css → index-BWpYwmXd.css} +548 -948
- package/dist/assets/{index-Cohi4onR.js → index-CjbtyS1n.js} +1 -1
- package/dist/assets/{index-CAU8Zeff.js → index-Cm5yBbby.js} +48318 -42852
- package/dist/assets/{pickBy-Bmcb35Dl.js → pickBy-DA-1tKxT.js} +1 -1
- package/dist/assets/{templateActions-Bsj8nngl.js → templateActions-D9IAsJ2m.js} +1 -1
- package/dist/assets/{typescript.worker-CUj0Nj-S.js → typescript.worker-KwUz68Jx.js} +2499 -157
- package/dist/assets/{useBeforeUnload-aOI6YxZR.js → useBeforeUnload-BR-V9Uaz.js} +1 -1
- package/dist/assets/{useExecutionDebugging-dVW9cpg5.js → useExecutionDebugging-C8zR-uFJ.js} +1 -1
- package/dist/assets/{useExecutionHelpers-BIfEl-h7.js → useExecutionHelpers-DQcWcZ8o.js} +1 -1
- package/dist/assets/{useImportCurlCommand-B4EFH3RG.js → useImportCurlCommand-B3-fEq8S.js} +9 -9
- package/dist/assets/{RunData-D0dKnadD.css → useKeybindings-2A271Jke.css} +134 -2
- package/dist/assets/{RunData-B9jGswDT.js → useKeybindings-DetzdpXy.js} +223 -1644
- package/dist/assets/{useProjectPages-4b50pSat.js → useProjectPages-qXIMd_UF.js} +1 -1
- package/dist/assets/{usePushConnection-CKW8UPyl.js → usePushConnection-Duvg6z8O.js} +10 -2
- package/dist/assets/{useWorkflowActivate-C39vU0rW.js → useWorkflowActivate-BE4Ckf9k.js} +1 -1
- package/dist/index.html +3 -7
- package/index.html +1 -5
- package/package.json +1 -1
- package/vite.config.mts +23 -3
- package/dist/assets/CollectionParameter-DMWMZwmI.js +0 -4
- package/dist/assets/useKeybindings-0d48UFTt.js +0 -188
- package/dist/assets/useKeybindings-BUK7Ngh6.css +0 -133
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-
|
|
2
|
-
import { _ as _export_sfc$1, h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, cn as PanelPosition, co as useVueFlow, bT as toRef, e as createBlock, w as withCtx, J as renderSlot, f as createCommentVNode, F as Fragment, i as createVNode, bY as resolveDynamicComponent, l as unref, cp as _sfc_main$
|
|
3
|
-
import { u as useExperimentalNdvStore, N as N8nBlockUi, a as useKeybindings, c as canvasEventBus } from "./useKeybindings-
|
|
4
|
-
import { N as N8nActionDropdown } from "./ActionDropdown-
|
|
5
|
-
import { i as importCurlEventBus } from "./import-curl-
|
|
6
|
-
import { g as globalLinkActionsEventBus } from "./global-link-actions-
|
|
7
|
-
import { u as useExecutionDebugging } from "./useExecutionDebugging-
|
|
8
|
-
import { u as useBeforeUnload } from "./useBeforeUnload-
|
|
9
|
-
|
|
10
|
-
const
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-CVbCKnet.js","assets/index-Cm5yBbby.js","assets/index-BWpYwmXd.css","assets/NodeCreation-CxN6JIS_.css","assets/NodeDetailsView-KFidngJi.js","assets/TriggerPanel-JaXhe1VW.js","assets/useKeybindings-DetzdpXy.js","assets/FileSaver.min-BvxTURBB.js","assets/useExecutionHelpers-DQcWcZ8o.js","assets/useKeybindings-2A271Jke.css","assets/RunDataParsedAiContent-CHK6Y4ET.js","assets/VueMarkdown-DDKnTMgT.js","assets/RunDataParsedAiContent-wfIiKsq7.css","assets/ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-CkASni2S.js","assets/InfoAccordion-BNmUe2V9.js","assets/InfoAccordion-dxudNqVC.css","assets/TriggerPanel-DJv04feX.css","assets/useWorkflowActivate-BE4Ckf9k.js","assets/ActionDropdown-Ct6XJ0cl.js","assets/ActionDropdown-BmC0wfMx.css","assets/import-curl-BD22LJ4z.js","assets/global-link-actions-BjpAG7gt.js","assets/useExecutionDebugging-C8zR-uFJ.js","assets/useBeforeUnload-BR-V9Uaz.js","assets/aiTemplatesStarterCollection.store-oECEA5nR.js","assets/NodeDetailsView-CaTI-1QQ.css","assets/NodeDetailsViewV2-BL4KKqW-.js","assets/NodeDetailsViewV2-BxNx4ZUM.css","assets/SetupWorkflowCredentialsButton-Pzrxag-k.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { _ as _export_sfc$1, h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, cn as PanelPosition, co as useVueFlow, bT as toRef, e as createBlock, w as withCtx, J as renderSlot, f as createCommentVNode, F as Fragment, i as createVNode, bY as resolveDynamicComponent, l as unref, cp as _sfc_main$X, x as computed, a0 as _sfc_main$Y, c as useI18n, c7 as KeyboardShortcutTooltip, n as normalizeClass, q as N8nButton, $ as N8nTooltip, bp as NodeConnectionTypes, cq as getBezierPath, cr as getSmoothStepPath, cs as Position, bU as inject, ct as CanvasKey, ac as useCssModule, cu as parseCanvasConnectionHandleString, r as ref, o as onMounted, y as renderList, cv as _sfc_main$d$1, P as normalizeStyle, T as useUIStore, bH as useNodeTypesStore, a5 as useWorkflowsStore, af as useSourceControlStore, an as getResourcePermissions, cw as isNodeWithWorkflowSelector, cx as getSubworkflowId, cy as isPresent, ab as watch, cz as getMousePosition, aR as STICKY_NODE_TYPE, bA as usePinnedData, cA as NOT_DUPLICATABLE_NODE_TYPES, cB as isExecutable, cC as Teleport, c9 as useStyles, bK as getDefaultExportFromCjs, cD as DEFAULT_NODE_SIZE, cE as CanvasNodeRenderType, cF as GRID_SIZE, cb as useThrottleFn, cG as getRectOfNodes, b$ as onUnmounted, cH as onKeyDown, cI as onKeyUp, cJ as useSlots, c1 as useAttrs, cK as getBoundsofRects, cL as watchEffect, t as toDisplayString, cM as getConnectedEdges, bW as normalizeProps, D as mergeProps, bF as provide, aL as h, bg as createSlots, cN as isValidNodeConnectionType, cO as _sfc_main$3$1, cP as CanvasNodeKey, cQ as CanvasConnectionMode, cR as mergeModels, cS as useModel, I as onBeforeUnmount, cT as _sfc_main$Z, N as N8nIcon, bC as useNodeHelpers, cU as TitledList, k as createTextVNode, cV as CanvasNodeDirtiness, aN as useNDVStore, cW as N8nSelect, cX as _sfc_main$_, bQ as _sfc_main$$, cY as truncate, cZ as createStaticVNode, c_ as usePostHog, bI as START_NODE_TYPE, c$ as MANUAL_TRIGGER_NODE_TYPE, d0 as CRON_NODE_TYPE, d1 as INTERVAL_NODE_TYPE, d2 as getNodeInputs, d3 as getNodeOutputs, d4 as uniqBy, c5 as waitingNodeTooltip, d5 as NDV_UI_OVERHAUL_EXPERIMENT, c4 as resolveDirective, p as N8nText, aT as withDirectives, d6 as _sfc_main$10, a1 as I18nT, bP as withModifiers, H as N8nRadioButtons, az as useTelemetry, as as useTemplateRef, d7 as useElementSize, at as InlineRename, b as useRouter, d8 as useCommunityNodesStore, a2 as N8nLink, V as VIEWS, d9 as captureException, da as N8nNotice, db as i18n, dc as toValue, dd as isCommunityPackageName, de as NPM_PACKAGE_DOCS_BASE_URL, df as BUILTIN_NODES_DOCS_URL, dg as COMMUNITY_NODES_INSTALLATION_DOCS_URL, u as useUsersStore, dh as N8nTabs, be as useExternalHooks, c2 as useClipboard, al as useWorkflowHelpers, a as useToast, di as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, dj as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, dk as MCP_TRIGGER_NODE_TYPE, dl as FORM_TRIGGER_NODE_TYPE, by as CHAT_TRIGGER_NODE_TYPE, O as resolveComponent, bf as onClickOutside, dm as toRef$1, dn as tryOnScopeDispose, dp as toValue$1, dq as isIOS, dr as noop$2, ds as isObject, dt as isClient, S as useDebounce, v as useSettingsStore, du as useCredentialsStore, ag as useProjectsStore, dv as OPEN_AI_API_CREDENTIAL_TYPE, dw as N8nCallout, dx as useHistoryStore, dy as useNodeSettingsParameters, dz as useResizeObserver, ar as ProjectTypes, dA as BASE_NODE_SURVEY_URL, cm as ndvEventBus, dB as CUSTOM_NODES_DOCS_URL, aU as vShow, dC as _sfc_main$11, dD as NodeCredentials, br as get$3, dE as getNodeParameters, dF as deepCopy, dG as nameIsParameter, dH as RenameNodeCommand, bG as useCanvasOperations, Q as createEventBus, cl as useActiveElement, dI as useEnvironmentsStore, dJ as watchOnce, dK as Transition$1, dL as ExpressionLocalResolveContextSymbol, dM as calculateNodeSize, dN as NodeId, dO as useGetPointerPosition, dP as clamp, dQ as N8nSticky, dR as useNodeCreatorStore, bc as useTemplatesStore, dS as isExtraTemplateLinksExperimentEnabled, aA as nodeViewEventBus, bk as trackTemplatesClick, bl as TemplateClickSource, dT as NODE_CREATOR_OPEN_SOURCES, dU as useBuilderStore, ak as useWorkflowSaving, aZ as withKeys, dV as N8nInput, dW as CanvasNodeHandleKey, dX as _sfc_main$f$1, bB as useLogsStore, bD as useRunWorkflow, dY as insertSpacersBetweenEndpoints, dZ as createCanvasConnectionHandleString, d_ as CONFIGURATION_NODE_OFFSET, d$ as isEqual, e0 as useDeviceSupport, e1 as isOutsideSelected, K as nextTick, e2 as _sfc_main$1$4, e3 as MarkerType, e4 as Suspense, bX as guardReactiveProps, e5 as updateViewportToContainNodes, e6 as useNodeDirtiness, e7 as CUSTOM_API_CALL_KEY, e8 as mapLegacyEndpointsToCanvasConnectionPort, e9 as getTriggerNodeServiceName, ea as sanitizeHtml, eb as WAIT_NODE_TYPE, ec as SEND_AND_WAIT_OPERATION, ed as FORM_NODE_TYPE, ee as WAIT_INDEFINITELY, ef as checkOverlap, eg as SIMULATE_NODE_TYPE, eh as SIMULATE_TRIGGER_NODE_TYPE, ei as mapLegacyConnectionsToCanvasConnections, ej as getNodeIconSource, ek as refThrottled, el as useFocusPanelStore, em as HTML_NODE_TYPE, en as isValueExpression, eo as isResourceLocatorValue, ep as AI_TRANSFORM_NODE_TYPE, eq as useResolvedExpression, er as InfoTip, es as __unplugin_components_2$3, et as __unplugin_components_3$1, eu as __unplugin_components_4, ev as __unplugin_components_5, ew as __unplugin_components_6, ex as __unplugin_components_7, ey as __unplugin_components_8, ez as __unplugin_components_9, c8 as N8nResizeWrapper, eA as getParameterTypeOption, eB as htmlEditorEventBus, eC as parseFromExpression, eD as isValidParameterOption, eE as formatAsExpression, eF as hasFocusOnInput, eG as isFocusableEl, bo as isChatNode, eH as truncateBeforeLast, eI as reactive, a6 as useRoute, aj as useDocumentTitle, eJ as useExternalSecretsStore, ad as useRootStore, aO as useExecutionsStore, ae as useCanvasStore, ai as useNpsSurveyStore, R as useTagsStore, a4 as usePushConnectionStore, ah as useFoldersStore, eK as useAgentRequestStore, eL as useWorkflowExtraction, eM as FOCUS_PANEL_EXPERIMENT, a7 as PLACEHOLDER_EMPTY_WORKFLOW_ID, eN as NEW_WORKFLOW_ID, eO as getNodeViewTab, G as MAIN_HEADER_TABS, eP as VALID_WORKFLOW_IMPORT_URL_REGEX, aB as useMessage, aC as MODAL_CONFIRM, eQ as jsonParse, bx as MANUAL_CHAT_TRIGGER_NODE_TYPE, eR as EVALUATION_TRIGGER_NODE_TYPE, eS as getBounds, eT as onBeforeRouteLeave, aS as onBeforeMount, aD as WORKFLOW_SETTINGS_MODAL_KEY, eU as onActivated, eV as onDeactivated, eW as defineAsyncComponent, aJ as __vitePreload, aq as EnterpriseEditionFeature, eX as EVALUATION_NODE_TYPE, eY as getEasyAiWorkflowJson, eZ as getRagStarterWorkflowJson, e_ as tryToParseNumber, b2 as sourceControlEventBus, e$ as getNodesWithNormalizedPosition, f0 as needsAgentInput, f1 as FROM_AI_PARAMETERS_MODAL_KEY, f2 as historyBus, f3 as DRAG_EVENT_DATA_KEY } from "./index-Cm5yBbby.js";
|
|
3
|
+
import { u as useExperimentalNdvStore, R as RunData, N as N8nBlockUi, a as useKeybindings, c as canvasEventBus } from "./useKeybindings-DetzdpXy.js";
|
|
4
|
+
import { N as N8nActionDropdown } from "./ActionDropdown-Ct6XJ0cl.js";
|
|
5
|
+
import { i as importCurlEventBus } from "./import-curl-BD22LJ4z.js";
|
|
6
|
+
import { g as globalLinkActionsEventBus } from "./global-link-actions-BjpAG7gt.js";
|
|
7
|
+
import { u as useExecutionDebugging } from "./useExecutionDebugging-C8zR-uFJ.js";
|
|
8
|
+
import { u as useBeforeUnload } from "./useBeforeUnload-BR-V9Uaz.js";
|
|
9
|
+
import { u as useAITemplatesStarterCollectionStore } from "./aiTemplatesStarterCollection.store-oECEA5nR.js";
|
|
10
|
+
const _sfc_main$W = {};
|
|
11
|
+
const _hoisted_1$i = {
|
|
11
12
|
xmlns: "http://www.w3.org/2000/svg",
|
|
12
13
|
viewBox: "0 0 16 16"
|
|
13
14
|
};
|
|
14
|
-
function _sfc_render$
|
|
15
|
-
return openBlock(), createElementBlock("svg", _hoisted_1$
|
|
15
|
+
function _sfc_render$2(_ctx, _cache) {
|
|
16
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$i, _cache[0] || (_cache[0] = [
|
|
16
17
|
createBaseVNode("path", {
|
|
17
18
|
fill: "currentColor",
|
|
18
19
|
d: "M1.6.13c-.18-.17-.47-.18-.62 0L.56.57.14.98c-.2.15-.18.44 0 .62l3.63 3.6c.1.1.1.27 0 .37-.2.2-.53.52-.93.94-.56.57-.12 1.62.22 2.11.05.07.12.1.2.1.05-.01.1-.04.15-.08l5.23-5.22c.1-.1.1-.26-.02-.34-.5-.34-1.55-.78-2.12-.22-.42.4-.75.73-.94.93-.1.1-.27.1-.37 0L1.6.13ZM9.5 3.9c.07-.09.2-.1.3-.04l6.07 3.44c.15.08.18.29.05.4l-1.21 1.22a.26.26 0 0 1-.26.07l-2.18-.64a.26.26 0 0 0-.32.33l.76 2.02c.04.1.01.2-.06.27L7.7 15.92a.26.26 0 0 1-.41-.05L3.83 9.8a.26.26 0 0 1 .04-.3l5.62-5.6Z"
|
|
19
20
|
}, null, -1)
|
|
20
21
|
]));
|
|
21
22
|
}
|
|
22
|
-
const TidyUpIcon = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
23
|
+
const TidyUpIcon = /* @__PURE__ */ _export_sfc$1(_sfc_main$W, [["render", _sfc_render$2]]);
|
|
23
24
|
const _sfc_main$1$3 = {
|
|
24
25
|
name: "ControlButton",
|
|
25
26
|
compatConfig: { MODE: 3 }
|
|
@@ -32,12 +33,12 @@ const _export_sfc = (sfc, props) => {
|
|
|
32
33
|
return target2;
|
|
33
34
|
};
|
|
34
35
|
const _hoisted_1$5$1 = { class: "vue-flow__controls-button" };
|
|
35
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
36
|
+
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
36
37
|
return openBlock(), createElementBlock("button", _hoisted_1$5$1, [
|
|
37
38
|
renderSlot(_ctx.$slots, "default")
|
|
38
39
|
]);
|
|
39
40
|
}
|
|
40
|
-
const ControlButton = /* @__PURE__ */ _export_sfc(_sfc_main$1$3, [["render", _sfc_render]]);
|
|
41
|
+
const ControlButton = /* @__PURE__ */ _export_sfc(_sfc_main$1$3, [["render", _sfc_render$1]]);
|
|
41
42
|
const _hoisted_1$4$1 = {
|
|
42
43
|
xmlns: "http://www.w3.org/2000/svg",
|
|
43
44
|
viewBox: "0 0 32 32"
|
|
@@ -86,7 +87,7 @@ function render$1(_ctx, _cache) {
|
|
|
86
87
|
return openBlock(), createElementBlock("svg", _hoisted_1$1$2, _hoisted_3$1$1);
|
|
87
88
|
}
|
|
88
89
|
const Lock = { render: render$1 };
|
|
89
|
-
const _hoisted_1$
|
|
90
|
+
const _hoisted_1$h = {
|
|
90
91
|
xmlns: "http://www.w3.org/2000/svg",
|
|
91
92
|
viewBox: "0 0 25 32"
|
|
92
93
|
};
|
|
@@ -95,14 +96,14 @@ const _hoisted_3$7 = [
|
|
|
95
96
|
_hoisted_2$b
|
|
96
97
|
];
|
|
97
98
|
function render(_ctx, _cache) {
|
|
98
|
-
return openBlock(), createElementBlock("svg", _hoisted_1$
|
|
99
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$h, _hoisted_3$7);
|
|
99
100
|
}
|
|
100
101
|
const Unlock = { render };
|
|
101
102
|
const __default__$4 = {
|
|
102
103
|
name: "Controls",
|
|
103
104
|
compatConfig: { MODE: 3 }
|
|
104
105
|
};
|
|
105
|
-
const _sfc_main$
|
|
106
|
+
const _sfc_main$V = /* @__PURE__ */ defineComponent({
|
|
106
107
|
...__default__$4,
|
|
107
108
|
props: {
|
|
108
109
|
showZoom: { type: Boolean, default: true },
|
|
@@ -145,7 +146,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
|
|
|
145
146
|
emit("interactionChange", !isInteractive.value);
|
|
146
147
|
}
|
|
147
148
|
return (_ctx, _cache) => {
|
|
148
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
149
|
+
return openBlock(), createBlock(unref(_sfc_main$X), {
|
|
149
150
|
class: "vue-flow__controls",
|
|
150
151
|
position: _ctx.position
|
|
151
152
|
}, {
|
|
@@ -218,7 +219,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
|
|
|
218
219
|
};
|
|
219
220
|
}
|
|
220
221
|
});
|
|
221
|
-
const _sfc_main$
|
|
222
|
+
const _sfc_main$U = /* @__PURE__ */ defineComponent({
|
|
222
223
|
__name: "CanvasControlButtons",
|
|
223
224
|
props: {
|
|
224
225
|
zoom: { default: 1 },
|
|
@@ -228,7 +229,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
228
229
|
setup(__props, { emit: __emit }) {
|
|
229
230
|
const props = __props;
|
|
230
231
|
const emit = __emit;
|
|
231
|
-
const
|
|
232
|
+
const i18n2 = useI18n();
|
|
232
233
|
const experimentalNdvStore = useExperimentalNdvStore();
|
|
233
234
|
const isResetZoomVisible = computed(() => props.zoom !== 1);
|
|
234
235
|
function onResetZoom() {
|
|
@@ -247,16 +248,16 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
247
248
|
emit("tidy-up");
|
|
248
249
|
}
|
|
249
250
|
return (_ctx, _cache) => {
|
|
250
|
-
const _component_N8nIconButton = _sfc_main$
|
|
251
|
+
const _component_N8nIconButton = _sfc_main$Y;
|
|
251
252
|
const _component_N8nButton = N8nButton;
|
|
252
253
|
const _component_N8nTooltip = N8nTooltip;
|
|
253
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
254
|
+
return openBlock(), createBlock(unref(_sfc_main$V), {
|
|
254
255
|
"show-zoom": false,
|
|
255
256
|
"show-fit-view": false
|
|
256
257
|
}, {
|
|
257
258
|
default: withCtx(() => [
|
|
258
259
|
createVNode(KeyboardShortcutTooltip, {
|
|
259
|
-
label: unref(
|
|
260
|
+
label: unref(i18n2).baseText("nodeView.zoomToFit"),
|
|
260
261
|
shortcut: { keys: ["1"] }
|
|
261
262
|
}, {
|
|
262
263
|
default: withCtx(() => [
|
|
@@ -271,7 +272,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
271
272
|
_: 1
|
|
272
273
|
}, 8, ["label"]),
|
|
273
274
|
createVNode(KeyboardShortcutTooltip, {
|
|
274
|
-
label: unref(
|
|
275
|
+
label: unref(i18n2).baseText("nodeView.zoomIn"),
|
|
275
276
|
shortcut: { keys: ["+"] }
|
|
276
277
|
}, {
|
|
277
278
|
default: withCtx(() => [
|
|
@@ -286,7 +287,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
286
287
|
_: 1
|
|
287
288
|
}, 8, ["label"]),
|
|
288
289
|
createVNode(KeyboardShortcutTooltip, {
|
|
289
|
-
label: unref(
|
|
290
|
+
label: unref(i18n2).baseText("nodeView.zoomOut"),
|
|
290
291
|
shortcut: { keys: ["-"] }
|
|
291
292
|
}, {
|
|
292
293
|
default: withCtx(() => [
|
|
@@ -302,7 +303,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
302
303
|
}, 8, ["label"]),
|
|
303
304
|
isResetZoomVisible.value ? (openBlock(), createBlock(KeyboardShortcutTooltip, {
|
|
304
305
|
key: 0,
|
|
305
|
-
label: unref(
|
|
306
|
+
label: unref(i18n2).baseText("nodeView.resetZoom"),
|
|
306
307
|
shortcut: { keys: ["0"] }
|
|
307
308
|
}, {
|
|
308
309
|
default: withCtx(() => [
|
|
@@ -318,7 +319,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
318
319
|
}, 8, ["label"])) : createCommentVNode("", true),
|
|
319
320
|
!_ctx.readOnly ? (openBlock(), createBlock(KeyboardShortcutTooltip, {
|
|
320
321
|
key: 1,
|
|
321
|
-
label: unref(
|
|
322
|
+
label: unref(i18n2).baseText("nodeView.tidyUp"),
|
|
322
323
|
shortcut: { shiftKey: true, altKey: true, keys: ["T"] }
|
|
323
324
|
}, {
|
|
324
325
|
default: withCtx(() => [
|
|
@@ -341,7 +342,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
341
342
|
unref(experimentalNdvStore).isActive(props.zoom) ? (openBlock(), createBlock(_component_N8nTooltip, {
|
|
342
343
|
key: 2,
|
|
343
344
|
placement: "top",
|
|
344
|
-
content: unref(
|
|
345
|
+
content: unref(i18n2).baseText("nodeView.expandAllNodes")
|
|
345
346
|
}, {
|
|
346
347
|
default: withCtx(() => [
|
|
347
348
|
createVNode(_component_N8nIconButton, {
|
|
@@ -356,7 +357,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
356
357
|
unref(experimentalNdvStore).isActive(props.zoom) ? (openBlock(), createBlock(_component_N8nTooltip, {
|
|
357
358
|
key: 3,
|
|
358
359
|
placement: "top",
|
|
359
|
-
content: unref(
|
|
360
|
+
content: unref(i18n2).baseText("nodeView.collapseAllNodes")
|
|
360
361
|
}, {
|
|
361
362
|
default: withCtx(() => [
|
|
362
363
|
createVNode(_component_N8nIconButton, {
|
|
@@ -375,13 +376,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
|
375
376
|
}
|
|
376
377
|
});
|
|
377
378
|
const iconButton = "_iconButton_fx9xi_123";
|
|
378
|
-
const style0$
|
|
379
|
+
const style0$D = {
|
|
379
380
|
iconButton
|
|
380
381
|
};
|
|
381
|
-
const cssModules$
|
|
382
|
-
"$style": style0$
|
|
382
|
+
const cssModules$D = {
|
|
383
|
+
"$style": style0$D
|
|
383
384
|
};
|
|
384
|
-
const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
385
|
+
const __unplugin_components_1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$U, [["__cssModules", cssModules$D]]);
|
|
385
386
|
const EDGE_PADDING_BOTTOM = 130;
|
|
386
387
|
const EDGE_PADDING_X = 40;
|
|
387
388
|
const EDGE_BORDER_RADIUS = 16;
|
|
@@ -438,7 +439,7 @@ function injectStrict(key, fallback) {
|
|
|
438
439
|
function useCanvas() {
|
|
439
440
|
return injectStrict(CanvasKey);
|
|
440
441
|
}
|
|
441
|
-
const _sfc_main$
|
|
442
|
+
const _sfc_main$T = /* @__PURE__ */ defineComponent({
|
|
442
443
|
__name: "CanvasConnectionLine",
|
|
443
444
|
props: {
|
|
444
445
|
sourceX: {},
|
|
@@ -505,14 +506,14 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
|
505
506
|
});
|
|
506
507
|
const edge$1 = "_edge_cbk94_123";
|
|
507
508
|
const visible = "_visible_cbk94_129";
|
|
508
|
-
const style0$
|
|
509
|
+
const style0$C = {
|
|
509
510
|
edge: edge$1,
|
|
510
511
|
visible
|
|
511
512
|
};
|
|
512
|
-
const cssModules$
|
|
513
|
-
"$style": style0$
|
|
513
|
+
const cssModules$C = {
|
|
514
|
+
"$style": style0$C
|
|
514
515
|
};
|
|
515
|
-
const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
516
|
+
const __unplugin_components_0$4 = /* @__PURE__ */ _export_sfc$1(_sfc_main$T, [["__cssModules", cssModules$C]]);
|
|
516
517
|
const position = ref([0, 0]);
|
|
517
518
|
const isOpen = ref(false);
|
|
518
519
|
const target = ref();
|
|
@@ -525,7 +526,7 @@ const useContextMenu = (onAction = () => {
|
|
|
525
526
|
const nodeTypesStore = useNodeTypesStore();
|
|
526
527
|
const workflowsStore = useWorkflowsStore();
|
|
527
528
|
const sourceControlStore = useSourceControlStore();
|
|
528
|
-
const
|
|
529
|
+
const i18n2 = useI18n();
|
|
529
530
|
const workflowPermissions = computed(
|
|
530
531
|
() => getResourcePermissions(workflowsStore.workflow.scopes).workflow
|
|
531
532
|
);
|
|
@@ -590,20 +591,20 @@ const useContextMenu = (onAction = () => {
|
|
|
590
591
|
const i18nOptions = {
|
|
591
592
|
adjustToNumber: nodes.length,
|
|
592
593
|
interpolate: {
|
|
593
|
-
subject: onlyStickies ?
|
|
594
|
+
subject: onlyStickies ? i18n2.baseText("contextMenu.sticky", { adjustToNumber: nodes.length }) : i18n2.baseText("contextMenu.node", { adjustToNumber: nodes.length })
|
|
594
595
|
}
|
|
595
596
|
};
|
|
596
597
|
const selectionActions = [
|
|
597
598
|
{
|
|
598
599
|
id: "select_all",
|
|
599
600
|
divided: true,
|
|
600
|
-
label:
|
|
601
|
+
label: i18n2.baseText("contextMenu.selectAll"),
|
|
601
602
|
shortcut: { metaKey: true, keys: ["A"] },
|
|
602
603
|
disabled: nodes.length === workflowsStore.allNodes.length
|
|
603
604
|
},
|
|
604
605
|
{
|
|
605
606
|
id: "deselect_all",
|
|
606
|
-
label:
|
|
607
|
+
label: i18n2.baseText("contextMenu.deselectAll"),
|
|
607
608
|
disabled: nodes.length === 0
|
|
608
609
|
}
|
|
609
610
|
];
|
|
@@ -611,7 +612,7 @@ const useContextMenu = (onAction = () => {
|
|
|
611
612
|
{
|
|
612
613
|
id: "extract_sub_workflow",
|
|
613
614
|
divided: true,
|
|
614
|
-
label:
|
|
615
|
+
label: i18n2.baseText("contextMenu.extract", { adjustToNumber: nodes.length }),
|
|
615
616
|
shortcut: { altKey: true, keys: ["X"] },
|
|
616
617
|
disabled: isReadOnly.value
|
|
617
618
|
}
|
|
@@ -620,7 +621,7 @@ const useContextMenu = (onAction = () => {
|
|
|
620
621
|
{
|
|
621
622
|
id: "tidy_up",
|
|
622
623
|
divided: true,
|
|
623
|
-
label:
|
|
624
|
+
label: i18n2.baseText(
|
|
624
625
|
nodes.length < 2 ? "contextMenu.tidyUpWorkflow" : "contextMenu.tidyUpSelection"
|
|
625
626
|
),
|
|
626
627
|
shortcut: { shiftKey: true, altKey: true, keys: ["T"] }
|
|
@@ -631,13 +632,13 @@ const useContextMenu = (onAction = () => {
|
|
|
631
632
|
{
|
|
632
633
|
id: "add_node",
|
|
633
634
|
shortcut: { keys: ["Tab"] },
|
|
634
|
-
label:
|
|
635
|
+
label: i18n2.baseText("contextMenu.addNode"),
|
|
635
636
|
disabled: isReadOnly.value
|
|
636
637
|
},
|
|
637
638
|
{
|
|
638
639
|
id: "add_sticky",
|
|
639
640
|
shortcut: { shiftKey: true, keys: ["s"] },
|
|
640
|
-
label:
|
|
641
|
+
label: i18n2.baseText("contextMenu.addSticky"),
|
|
641
642
|
disabled: isReadOnly.value
|
|
642
643
|
},
|
|
643
644
|
...layoutActions,
|
|
@@ -647,24 +648,24 @@ const useContextMenu = (onAction = () => {
|
|
|
647
648
|
const menuActions = [
|
|
648
649
|
!onlyStickies && {
|
|
649
650
|
id: "toggle_activation",
|
|
650
|
-
label: nodes.every((node2) => node2.disabled) ?
|
|
651
|
+
label: nodes.every((node2) => node2.disabled) ? i18n2.baseText("contextMenu.activate", i18nOptions) : i18n2.baseText("contextMenu.deactivate", i18nOptions),
|
|
651
652
|
shortcut: { keys: ["D"] },
|
|
652
653
|
disabled: isReadOnly.value
|
|
653
654
|
},
|
|
654
655
|
!onlyStickies && {
|
|
655
656
|
id: "toggle_pin",
|
|
656
|
-
label: nodes.every((node2) => hasPinData(node2)) ?
|
|
657
|
+
label: nodes.every((node2) => hasPinData(node2)) ? i18n2.baseText("contextMenu.unpin", i18nOptions) : i18n2.baseText("contextMenu.pin", i18nOptions),
|
|
657
658
|
shortcut: { keys: ["p"] },
|
|
658
659
|
disabled: isReadOnly.value || !nodes.every((n) => usePinnedData(n).canPinNode(true))
|
|
659
660
|
},
|
|
660
661
|
{
|
|
661
662
|
id: "copy",
|
|
662
|
-
label:
|
|
663
|
+
label: i18n2.baseText("contextMenu.copy", i18nOptions),
|
|
663
664
|
shortcut: { metaKey: true, keys: ["C"] }
|
|
664
665
|
},
|
|
665
666
|
{
|
|
666
667
|
id: "duplicate",
|
|
667
|
-
label:
|
|
668
|
+
label: i18n2.baseText("contextMenu.duplicate", i18nOptions),
|
|
668
669
|
shortcut: { metaKey: true, keys: ["D"] },
|
|
669
670
|
disabled: isReadOnly.value || !nodes.every(canDuplicateNode)
|
|
670
671
|
},
|
|
@@ -674,7 +675,7 @@ const useContextMenu = (onAction = () => {
|
|
|
674
675
|
{
|
|
675
676
|
id: "delete",
|
|
676
677
|
divided: true,
|
|
677
|
-
label:
|
|
678
|
+
label: i18n2.baseText("contextMenu.delete", i18nOptions),
|
|
678
679
|
shortcut: { keys: ["Del"] },
|
|
679
680
|
disabled: isReadOnly.value
|
|
680
681
|
}
|
|
@@ -683,29 +684,29 @@ const useContextMenu = (onAction = () => {
|
|
|
683
684
|
const singleNodeActions = onlyStickies ? [
|
|
684
685
|
{
|
|
685
686
|
id: "open",
|
|
686
|
-
label:
|
|
687
|
+
label: i18n2.baseText("contextMenu.editSticky"),
|
|
687
688
|
shortcut: { keys: ["↵"] },
|
|
688
689
|
disabled: isReadOnly.value
|
|
689
690
|
},
|
|
690
691
|
{
|
|
691
692
|
id: "change_color",
|
|
692
|
-
label:
|
|
693
|
+
label: i18n2.baseText("contextMenu.changeColor"),
|
|
693
694
|
disabled: isReadOnly.value
|
|
694
695
|
}
|
|
695
696
|
] : [
|
|
696
697
|
{
|
|
697
698
|
id: "open",
|
|
698
|
-
label:
|
|
699
|
+
label: i18n2.baseText("contextMenu.open"),
|
|
699
700
|
shortcut: { keys: ["↵"] }
|
|
700
701
|
},
|
|
701
702
|
{
|
|
702
703
|
id: "execute",
|
|
703
|
-
label:
|
|
704
|
+
label: i18n2.baseText("contextMenu.test"),
|
|
704
705
|
disabled: isReadOnly.value || !isExecutable$1(nodes[0])
|
|
705
706
|
},
|
|
706
707
|
{
|
|
707
708
|
id: "rename",
|
|
708
|
-
label:
|
|
709
|
+
label: i18n2.baseText("contextMenu.rename"),
|
|
709
710
|
shortcut: { keys: ["Space"] },
|
|
710
711
|
disabled: isReadOnly.value
|
|
711
712
|
}
|
|
@@ -713,7 +714,7 @@ const useContextMenu = (onAction = () => {
|
|
|
713
714
|
if (isNodeWithWorkflowSelector(nodes[0])) {
|
|
714
715
|
singleNodeActions.push({
|
|
715
716
|
id: "open_sub_workflow",
|
|
716
|
-
label:
|
|
717
|
+
label: i18n2.baseText("contextMenu.openSubworkflow"),
|
|
717
718
|
shortcut: { shiftKey: true, metaKey: true, keys: ["O"] },
|
|
718
719
|
disabled: !canOpenSubworkflow.value
|
|
719
720
|
});
|
|
@@ -743,7 +744,7 @@ const useContextMenu = (onAction = () => {
|
|
|
743
744
|
_dispatchAction
|
|
744
745
|
};
|
|
745
746
|
};
|
|
746
|
-
const _sfc_main$
|
|
747
|
+
const _sfc_main$S = /* @__PURE__ */ defineComponent({
|
|
747
748
|
__name: "ContextMenu",
|
|
748
749
|
emits: ["action"],
|
|
749
750
|
setup(__props, { emit: __emit }) {
|
|
@@ -811,14 +812,14 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
|
811
812
|
});
|
|
812
813
|
const contextMenu = "_contextMenu_12fz3_123";
|
|
813
814
|
const activator = "_activator_12fz3_127";
|
|
814
|
-
const style0$
|
|
815
|
+
const style0$B = {
|
|
815
816
|
contextMenu,
|
|
816
817
|
activator
|
|
817
818
|
};
|
|
818
|
-
const cssModules$
|
|
819
|
-
"$style": style0$
|
|
819
|
+
const cssModules$B = {
|
|
820
|
+
"$style": style0$B
|
|
820
821
|
};
|
|
821
|
-
const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
822
|
+
const ContextMenu = /* @__PURE__ */ _export_sfc$1(_sfc_main$S, [["__cssModules", cssModules$B]]);
|
|
822
823
|
var graph;
|
|
823
824
|
var hasRequiredGraph;
|
|
824
825
|
function requireGraph() {
|
|
@@ -4903,11 +4904,11 @@ function selection_select$1(select2) {
|
|
|
4903
4904
|
function array$1(x) {
|
|
4904
4905
|
return x == null ? [] : Array.isArray(x) ? x : Array.from(x);
|
|
4905
4906
|
}
|
|
4906
|
-
function empty$
|
|
4907
|
+
function empty$2() {
|
|
4907
4908
|
return [];
|
|
4908
4909
|
}
|
|
4909
4910
|
function selectorAll$1(selector2) {
|
|
4910
|
-
return selector2 == null ? empty$
|
|
4911
|
+
return selector2 == null ? empty$2 : function() {
|
|
4911
4912
|
return this.querySelectorAll(selector2);
|
|
4912
4913
|
};
|
|
4913
4914
|
}
|
|
@@ -5545,7 +5546,7 @@ Selection$1.prototype = selection.prototype = {
|
|
|
5545
5546
|
dispatch: selection_dispatch$1,
|
|
5546
5547
|
[Symbol.iterator]: selection_iterator$1
|
|
5547
5548
|
};
|
|
5548
|
-
function select$
|
|
5549
|
+
function select$2(selector2) {
|
|
5549
5550
|
return typeof selector2 === "string" ? new Selection$1([[document.querySelector(selector2)]], [document.documentElement]) : new Selection$1([[selector2]], root$1);
|
|
5550
5551
|
}
|
|
5551
5552
|
function sourceEvent$1(event) {
|
|
@@ -5577,7 +5578,7 @@ function noevent$1(event) {
|
|
|
5577
5578
|
event.stopImmediatePropagation();
|
|
5578
5579
|
}
|
|
5579
5580
|
function dragDisable(view) {
|
|
5580
|
-
var root2 = view.document.documentElement, selection2 = select$
|
|
5581
|
+
var root2 = view.document.documentElement, selection2 = select$2(view).on("dragstart.drag", noevent$1, nonpassivecapture$1);
|
|
5581
5582
|
if ("onselectstart" in root2) {
|
|
5582
5583
|
selection2.on("selectstart.drag", noevent$1, nonpassivecapture$1);
|
|
5583
5584
|
} else {
|
|
@@ -5586,7 +5587,7 @@ function dragDisable(view) {
|
|
|
5586
5587
|
}
|
|
5587
5588
|
}
|
|
5588
5589
|
function yesdrag$1(view, noclick) {
|
|
5589
|
-
var root2 = view.document.documentElement, selection2 = select$
|
|
5590
|
+
var root2 = view.document.documentElement, selection2 = select$2(view).on("dragstart.drag", null);
|
|
5590
5591
|
if (noclick) {
|
|
5591
5592
|
selection2.on("click.drag", noevent$1, nonpassivecapture$1);
|
|
5592
5593
|
setTimeout(function() {
|
|
@@ -7086,7 +7087,7 @@ function zoom() {
|
|
|
7086
7087
|
return this;
|
|
7087
7088
|
},
|
|
7088
7089
|
emit: function(type) {
|
|
7089
|
-
var d = select$
|
|
7090
|
+
var d = select$2(this.that).datum();
|
|
7090
7091
|
listeners.call(
|
|
7091
7092
|
type,
|
|
7092
7093
|
this.that,
|
|
@@ -7124,7 +7125,7 @@ function zoom() {
|
|
|
7124
7125
|
}
|
|
7125
7126
|
function mousedowned(event, ...args) {
|
|
7126
7127
|
if (touchending || !filter2.apply(this, arguments)) return;
|
|
7127
|
-
var currentTarget = event.currentTarget, g = gesture(this, args, true).event(event), v = select$
|
|
7128
|
+
var currentTarget = event.currentTarget, g = gesture(this, args, true).event(event), v = select$2(event.view).on("mousemove.zoom", mousemoved, true).on("mouseup.zoom", mouseupped, true), p = pointer$1(event, currentTarget), x0 = event.clientX, y0 = event.clientY;
|
|
7128
7129
|
dragDisable(event.view);
|
|
7129
7130
|
nopropagation$1(event);
|
|
7130
7131
|
g.mouse = [p, this.__zoom.invert(p)];
|
|
@@ -7149,8 +7150,8 @@ function zoom() {
|
|
|
7149
7150
|
if (!filter2.apply(this, arguments)) return;
|
|
7150
7151
|
var t0 = this.__zoom, p0 = pointer$1(event.changedTouches ? event.changedTouches[0] : event, this), p1 = t0.invert(p0), k1 = t0.k * (event.shiftKey ? 0.5 : 2), t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);
|
|
7151
7152
|
noevent$2(event);
|
|
7152
|
-
if (duration > 0) select$
|
|
7153
|
-
else select$
|
|
7153
|
+
if (duration > 0) select$2(this).transition().duration(duration).call(schedule2, t1, p0, event);
|
|
7154
|
+
else select$2(this).call(zoom2.transform, t1, p0, event);
|
|
7154
7155
|
}
|
|
7155
7156
|
function touchstarted(event, ...args) {
|
|
7156
7157
|
if (!filter2.apply(this, arguments)) return;
|
|
@@ -7210,7 +7211,7 @@ function zoom() {
|
|
|
7210
7211
|
if (g.taps === 2) {
|
|
7211
7212
|
t = pointer$1(t, this);
|
|
7212
7213
|
if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {
|
|
7213
|
-
var p = select$
|
|
7214
|
+
var p = select$2(this).on("dblclick.zoom");
|
|
7214
7215
|
if (p) p.apply(this, arguments);
|
|
7215
7216
|
}
|
|
7216
7217
|
}
|
|
@@ -7326,14 +7327,14 @@ const _sfc_main$1$2 = /* @__PURE__ */ defineComponent({
|
|
|
7326
7327
|
};
|
|
7327
7328
|
}
|
|
7328
7329
|
});
|
|
7329
|
-
const _hoisted_1$
|
|
7330
|
+
const _hoisted_1$g = ["width", "height", "viewBox", "aria-labelledby"];
|
|
7330
7331
|
const _hoisted_2$a = ["id"];
|
|
7331
7332
|
const _hoisted_3$6 = ["d", "fill", "stroke", "stroke-width"];
|
|
7332
7333
|
const __default__$3 = {
|
|
7333
7334
|
name: "MiniMap",
|
|
7334
7335
|
compatConfig: { MODE: 3 }
|
|
7335
7336
|
};
|
|
7336
|
-
const _sfc_main$
|
|
7337
|
+
const _sfc_main$R = /* @__PURE__ */ defineComponent({
|
|
7337
7338
|
...__default__$3,
|
|
7338
7339
|
props: {
|
|
7339
7340
|
nodeColor: { type: [String, Function], default: "#e2e2e2" },
|
|
@@ -7429,7 +7430,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
7429
7430
|
watchEffect(
|
|
7430
7431
|
(onCleanup) => {
|
|
7431
7432
|
if (el.value) {
|
|
7432
|
-
const selection2 = select$
|
|
7433
|
+
const selection2 = select$2(el.value);
|
|
7433
7434
|
const zoomHandler = (event) => {
|
|
7434
7435
|
if (event.sourceEvent.type !== "wheel" || !d3Selection.value || !d3Zoom.value) {
|
|
7435
7436
|
return;
|
|
@@ -7496,7 +7497,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
7496
7497
|
emit("nodeMouseleave", param);
|
|
7497
7498
|
}
|
|
7498
7499
|
return (_ctx, _cache) => {
|
|
7499
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
7500
|
+
return openBlock(), createBlock(unref(_sfc_main$X), {
|
|
7500
7501
|
position: _ctx.position,
|
|
7501
7502
|
class: normalizeClass(["vue-flow__minimap", { pannable: _ctx.pannable, zoomable: _ctx.zoomable }])
|
|
7502
7503
|
}, {
|
|
@@ -7547,16 +7548,16 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
|
7547
7548
|
"stroke-width": _ctx.maskStrokeWidth,
|
|
7548
7549
|
"fill-rule": "evenodd"
|
|
7549
7550
|
}, null, 8, _hoisted_3$6)
|
|
7550
|
-
], 8, _hoisted_1$
|
|
7551
|
+
], 8, _hoisted_1$g))
|
|
7551
7552
|
]),
|
|
7552
7553
|
_: 1
|
|
7553
7554
|
}, 8, ["position", "class"]);
|
|
7554
7555
|
};
|
|
7555
7556
|
}
|
|
7556
7557
|
});
|
|
7557
|
-
const _hoisted_1$
|
|
7558
|
+
const _hoisted_1$f = ["id", "x", "y", "width", "height", "patternTransform"];
|
|
7558
7559
|
const _hoisted_2$9 = ["d", "stroke-width"];
|
|
7559
|
-
const _sfc_main$
|
|
7560
|
+
const _sfc_main$Q = /* @__PURE__ */ defineComponent({
|
|
7560
7561
|
__name: "CanvasBackgroundStripedPattern",
|
|
7561
7562
|
props: {
|
|
7562
7563
|
id: {},
|
|
@@ -7582,11 +7583,11 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
|
7582
7583
|
d: `M0 ${scaledGap.value / 2} H${scaledGap.value}`,
|
|
7583
7584
|
"stroke-width": scaledGap.value / 2
|
|
7584
7585
|
}, null, 8, _hoisted_2$9)
|
|
7585
|
-
], 8, _hoisted_1$
|
|
7586
|
+
], 8, _hoisted_1$f);
|
|
7586
7587
|
};
|
|
7587
7588
|
}
|
|
7588
7589
|
});
|
|
7589
|
-
const CanvasBackgroundStripedPattern = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
7590
|
+
const CanvasBackgroundStripedPattern = /* @__PURE__ */ _export_sfc$1(_sfc_main$Q, [["__scopeId", "data-v-efb5a8d2"]]);
|
|
7590
7591
|
var BackgroundVariant = /* @__PURE__ */ ((BackgroundVariant2) => {
|
|
7591
7592
|
BackgroundVariant2["Lines"] = "lines";
|
|
7592
7593
|
BackgroundVariant2["Dots"] = "dots";
|
|
@@ -7610,7 +7611,7 @@ const DefaultBgColors = {
|
|
|
7610
7611
|
[BackgroundVariant.Dots]: "#81818a",
|
|
7611
7612
|
[BackgroundVariant.Lines]: "#eee"
|
|
7612
7613
|
};
|
|
7613
|
-
const _hoisted_1$
|
|
7614
|
+
const _hoisted_1$e = ["id", "x", "y", "width", "height", "patternTransform"];
|
|
7614
7615
|
const _hoisted_2$8 = {
|
|
7615
7616
|
key: 2,
|
|
7616
7617
|
height: "100",
|
|
@@ -7622,7 +7623,7 @@ const __default__$2 = {
|
|
|
7622
7623
|
name: "Background",
|
|
7623
7624
|
compatConfig: { MODE: 3 }
|
|
7624
7625
|
};
|
|
7625
|
-
const _sfc_main$
|
|
7626
|
+
const _sfc_main$P = /* @__PURE__ */ defineComponent({
|
|
7626
7627
|
...__default__$2,
|
|
7627
7628
|
props: {
|
|
7628
7629
|
id: {},
|
|
@@ -7693,7 +7694,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
|
7693
7694
|
}, null, 8, _hoisted_3$5)
|
|
7694
7695
|
])) : createCommentVNode("", true)
|
|
7695
7696
|
])
|
|
7696
|
-
], 8, _hoisted_1$
|
|
7697
|
+
], 8, _hoisted_1$e)
|
|
7697
7698
|
]),
|
|
7698
7699
|
createBaseVNode("rect", {
|
|
7699
7700
|
x: _ctx.x,
|
|
@@ -7707,7 +7708,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
|
7707
7708
|
};
|
|
7708
7709
|
}
|
|
7709
7710
|
});
|
|
7710
|
-
const _sfc_main$
|
|
7711
|
+
const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
7711
7712
|
__name: "CanvasBackground",
|
|
7712
7713
|
props: {
|
|
7713
7714
|
striped: { type: Boolean },
|
|
@@ -7715,7 +7716,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
7715
7716
|
},
|
|
7716
7717
|
setup(__props) {
|
|
7717
7718
|
return (_ctx, _cache) => {
|
|
7718
|
-
return openBlock(), createBlock(unref(_sfc_main$
|
|
7719
|
+
return openBlock(), createBlock(unref(_sfc_main$P), {
|
|
7719
7720
|
"data-test-id": "canvas-background",
|
|
7720
7721
|
"pattern-color": "#aaa",
|
|
7721
7722
|
gap: unref(GRID_SIZE)
|
|
@@ -7737,8 +7738,8 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
7737
7738
|
};
|
|
7738
7739
|
}
|
|
7739
7740
|
});
|
|
7740
|
-
const _hoisted_1$
|
|
7741
|
-
const _sfc_main$
|
|
7741
|
+
const _hoisted_1$d = ["id"];
|
|
7742
|
+
const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
7742
7743
|
__name: "CanvasArrowHeadMarker",
|
|
7743
7744
|
props: {
|
|
7744
7745
|
id: {}
|
|
@@ -7765,13 +7766,13 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
7765
7766
|
stroke: "context-stroke",
|
|
7766
7767
|
fill: "context-stroke"
|
|
7767
7768
|
}, null, -1)
|
|
7768
|
-
]), 8, _hoisted_1$
|
|
7769
|
+
]), 8, _hoisted_1$d)
|
|
7769
7770
|
])
|
|
7770
7771
|
]);
|
|
7771
7772
|
};
|
|
7772
7773
|
}
|
|
7773
7774
|
});
|
|
7774
|
-
const _sfc_main$
|
|
7775
|
+
const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
7775
7776
|
__name: "CanvasEdgeToolbar",
|
|
7776
7777
|
props: {
|
|
7777
7778
|
type: {}
|
|
@@ -7781,7 +7782,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
7781
7782
|
const emit = __emit;
|
|
7782
7783
|
const props = __props;
|
|
7783
7784
|
const $style = useCssModule();
|
|
7784
|
-
const
|
|
7785
|
+
const i18n2 = useI18n();
|
|
7785
7786
|
const classes = computed(() => ({
|
|
7786
7787
|
[$style.canvasEdgeToolbar]: true
|
|
7787
7788
|
}));
|
|
@@ -7793,7 +7794,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
7793
7794
|
emit("delete");
|
|
7794
7795
|
}
|
|
7795
7796
|
return (_ctx, _cache) => {
|
|
7796
|
-
const _component_N8nIconButton = _sfc_main$
|
|
7797
|
+
const _component_N8nIconButton = _sfc_main$Y;
|
|
7797
7798
|
return openBlock(), createElementBlock("div", {
|
|
7798
7799
|
class: normalizeClass(classes.value),
|
|
7799
7800
|
"data-test-id": "canvas-edge-toolbar"
|
|
@@ -7806,7 +7807,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
7806
7807
|
size: "small",
|
|
7807
7808
|
"icon-size": "medium",
|
|
7808
7809
|
icon: "plus",
|
|
7809
|
-
title: unref(
|
|
7810
|
+
title: unref(i18n2).baseText("node.add"),
|
|
7810
7811
|
onClick: onAdd2
|
|
7811
7812
|
}, null, 8, ["title"])) : createCommentVNode("", true),
|
|
7812
7813
|
createVNode(_component_N8nIconButton, {
|
|
@@ -7816,7 +7817,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
7816
7817
|
size: "small",
|
|
7817
7818
|
"icon-size": "medium",
|
|
7818
7819
|
icon: "trash-2",
|
|
7819
|
-
title: unref(
|
|
7820
|
+
title: unref(i18n2).baseText("node.delete"),
|
|
7820
7821
|
onClick: onDelete
|
|
7821
7822
|
}, null, 8, ["title"])
|
|
7822
7823
|
], 2);
|
|
@@ -7824,17 +7825,17 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
7824
7825
|
}
|
|
7825
7826
|
});
|
|
7826
7827
|
const canvasEdgeToolbar = "_canvasEdgeToolbar_uogmx_123";
|
|
7827
|
-
const style0$
|
|
7828
|
+
const style0$A = {
|
|
7828
7829
|
canvasEdgeToolbar
|
|
7829
7830
|
};
|
|
7830
|
-
const cssModules$
|
|
7831
|
-
"$style": style0$
|
|
7831
|
+
const cssModules$A = {
|
|
7832
|
+
"$style": style0$A
|
|
7832
7833
|
};
|
|
7833
|
-
const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
7834
|
-
const _hoisted_1$
|
|
7834
|
+
const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$M, [["__cssModules", cssModules$A]]);
|
|
7835
|
+
const _hoisted_1$c = ["data-source-node-name", "data-target-node-name"];
|
|
7835
7836
|
const _hoisted_2$7 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
|
|
7836
7837
|
const delayedHoveredTimeout = 600;
|
|
7837
|
-
const _sfc_main$
|
|
7838
|
+
const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
7838
7839
|
__name: "CanvasEdge",
|
|
7839
7840
|
props: {
|
|
7840
7841
|
id: {},
|
|
@@ -7980,7 +7981,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
7980
7981
|
"interaction-width": 40
|
|
7981
7982
|
}, null, 8, ["id", "class", "style", "path", "marker-end"]);
|
|
7982
7983
|
}), 128))
|
|
7983
|
-
], 8, _hoisted_1$
|
|
7984
|
+
], 8, _hoisted_1$c),
|
|
7984
7985
|
createVNode(unref(_sfc_main$3$1), null, {
|
|
7985
7986
|
default: withCtx(() => [
|
|
7986
7987
|
createBaseVNode("div", {
|
|
@@ -8014,15 +8015,15 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
8014
8015
|
const edge = "_edge_fyzmo_123";
|
|
8015
8016
|
const edgeLabelWrapper = "_edgeLabelWrapper_fyzmo_127";
|
|
8016
8017
|
const edgeLabel = "_edgeLabel_fyzmo_127";
|
|
8017
|
-
const style0$
|
|
8018
|
+
const style0$z = {
|
|
8018
8019
|
edge,
|
|
8019
8020
|
edgeLabelWrapper,
|
|
8020
8021
|
edgeLabel
|
|
8021
8022
|
};
|
|
8022
|
-
const cssModules$
|
|
8023
|
-
"$style": style0$
|
|
8023
|
+
const cssModules$z = {
|
|
8024
|
+
"$style": style0$z
|
|
8024
8025
|
};
|
|
8025
|
-
const Edge = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
8026
|
+
const Edge = /* @__PURE__ */ _export_sfc$1(_sfc_main$L, [["__cssModules", cssModules$z]]);
|
|
8026
8027
|
function useCanvasNode() {
|
|
8027
8028
|
const node2 = inject(CanvasNodeKey);
|
|
8028
8029
|
const data = computed(
|
|
@@ -8098,9 +8099,9 @@ function useCanvasNode() {
|
|
|
8098
8099
|
eventBus
|
|
8099
8100
|
};
|
|
8100
8101
|
}
|
|
8101
|
-
const _hoisted_1$
|
|
8102
|
+
const _hoisted_1$b = ["title"];
|
|
8102
8103
|
const _hoisted_2$6 = ["onClick"];
|
|
8103
|
-
const _sfc_main$
|
|
8104
|
+
const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
8104
8105
|
__name: "CanvasNodeStickyColorSelector",
|
|
8105
8106
|
props: {
|
|
8106
8107
|
"visible": { type: Boolean },
|
|
@@ -8109,7 +8110,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
8109
8110
|
emits: /* @__PURE__ */ mergeModels(["update"], ["update:visible"]),
|
|
8110
8111
|
setup(__props, { emit: __emit }) {
|
|
8111
8112
|
const emit = __emit;
|
|
8112
|
-
const
|
|
8113
|
+
const i18n2 = useI18n();
|
|
8113
8114
|
const { render: render2, eventBus } = useCanvasNode();
|
|
8114
8115
|
const renderOptions = computed(() => render2.value.options);
|
|
8115
8116
|
const autoHideTimeout = ref(null);
|
|
@@ -8144,7 +8145,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
8144
8145
|
});
|
|
8145
8146
|
return (_ctx, _cache) => {
|
|
8146
8147
|
const _component_N8nIcon = N8nIcon;
|
|
8147
|
-
const _component_N8nPopover = _sfc_main$
|
|
8148
|
+
const _component_N8nPopover = _sfc_main$Z;
|
|
8148
8149
|
return openBlock(), createBlock(_component_N8nPopover, {
|
|
8149
8150
|
visible: isPopoverVisible.value,
|
|
8150
8151
|
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => isPopoverVisible.value = $event),
|
|
@@ -8161,10 +8162,10 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
8161
8162
|
createBaseVNode("div", {
|
|
8162
8163
|
class: normalizeClass(_ctx.$style.option),
|
|
8163
8164
|
"data-test-id": "change-sticky-color",
|
|
8164
|
-
title: unref(
|
|
8165
|
+
title: unref(i18n2).baseText("node.changeColor")
|
|
8165
8166
|
}, [
|
|
8166
8167
|
createVNode(_component_N8nIcon, { icon: "palette" })
|
|
8167
|
-
], 10, _hoisted_1$
|
|
8168
|
+
], 10, _hoisted_1$b)
|
|
8168
8169
|
]),
|
|
8169
8170
|
default: withCtx(() => [
|
|
8170
8171
|
createBaseVNode("div", {
|
|
@@ -8194,7 +8195,7 @@ const content$1 = "_content_3lp7u_129";
|
|
|
8194
8195
|
const color = "_color_3lp7u_136";
|
|
8195
8196
|
const selected$2 = "_selected_3lp7u_148";
|
|
8196
8197
|
const option = "_option_3lp7u_173";
|
|
8197
|
-
const style0$
|
|
8198
|
+
const style0$y = {
|
|
8198
8199
|
popover,
|
|
8199
8200
|
content: content$1,
|
|
8200
8201
|
color,
|
|
@@ -8208,11 +8209,11 @@ const style0$u = {
|
|
|
8208
8209
|
"sticky-color-7": "_sticky-color-7_3lp7u_169",
|
|
8209
8210
|
option
|
|
8210
8211
|
};
|
|
8211
|
-
const cssModules$
|
|
8212
|
-
"$style": style0$
|
|
8212
|
+
const cssModules$y = {
|
|
8213
|
+
"$style": style0$y
|
|
8213
8214
|
};
|
|
8214
|
-
const __unplugin_components_2$
|
|
8215
|
-
const _sfc_main$
|
|
8215
|
+
const __unplugin_components_2$2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$K, [["__cssModules", cssModules$y]]);
|
|
8216
|
+
const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
8216
8217
|
__name: "CanvasNodeToolbar",
|
|
8217
8218
|
props: {
|
|
8218
8219
|
readOnly: { type: Boolean }
|
|
@@ -8222,7 +8223,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
8222
8223
|
const emit = __emit;
|
|
8223
8224
|
const props = __props;
|
|
8224
8225
|
const $style = useCssModule();
|
|
8225
|
-
const
|
|
8226
|
+
const i18n2 = useI18n();
|
|
8226
8227
|
const { isExecuting } = useCanvas();
|
|
8227
8228
|
const { isDisabled, render: render2, name } = useCanvasNode();
|
|
8228
8229
|
const workflowsStore = useWorkflowsStore();
|
|
@@ -8231,7 +8232,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
8231
8232
|
const node2 = computed(() => name.value ? workflowsStore.getNodeByName(name.value) : null);
|
|
8232
8233
|
const isToolNode = computed(() => !!node2.value && nodeTypesStore.isToolNode(node2.value.type));
|
|
8233
8234
|
const nodeDisabledTitle = computed(() => {
|
|
8234
|
-
return isDisabled.value ?
|
|
8235
|
+
return isDisabled.value ? i18n2.baseText("node.enable") : i18n2.baseText("node.disable");
|
|
8235
8236
|
});
|
|
8236
8237
|
const isStickyColorSelectorOpen = ref(false);
|
|
8237
8238
|
const isHovered = ref(false);
|
|
@@ -8282,9 +8283,9 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
8282
8283
|
}
|
|
8283
8284
|
}
|
|
8284
8285
|
return (_ctx, _cache) => {
|
|
8285
|
-
const _component_N8nIconButton = _sfc_main$
|
|
8286
|
+
const _component_N8nIconButton = _sfc_main$Y;
|
|
8286
8287
|
const _component_N8nTooltip = N8nTooltip;
|
|
8287
|
-
const _component_CanvasNodeStickyColorSelector = __unplugin_components_2$
|
|
8288
|
+
const _component_CanvasNodeStickyColorSelector = __unplugin_components_2$2;
|
|
8288
8289
|
return openBlock(), createElementBlock("div", {
|
|
8289
8290
|
"data-test-id": "canvas-node-toolbar",
|
|
8290
8291
|
class: normalizeClass(classes.value),
|
|
@@ -8294,28 +8295,28 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
8294
8295
|
createBaseVNode("div", {
|
|
8295
8296
|
class: normalizeClass(unref($style).canvasNodeToolbarItems)
|
|
8296
8297
|
}, [
|
|
8297
|
-
|
|
8298
|
+
isExecuteNodeVisible.value ? (openBlock(), createBlock(_component_N8nTooltip, {
|
|
8299
|
+
key: 0,
|
|
8298
8300
|
placement: "top",
|
|
8299
8301
|
disabled: !unref(isDisabled),
|
|
8300
|
-
content: unref(
|
|
8302
|
+
content: unref(i18n2).baseText("ndv.execute.deactivated")
|
|
8301
8303
|
}, {
|
|
8302
8304
|
default: withCtx(() => [
|
|
8303
|
-
|
|
8304
|
-
key: 0,
|
|
8305
|
+
createVNode(_component_N8nIconButton, {
|
|
8305
8306
|
"data-test-id": "execute-node-button",
|
|
8306
8307
|
type: "tertiary",
|
|
8307
8308
|
text: "",
|
|
8308
8309
|
size: "small",
|
|
8309
8310
|
icon: "play",
|
|
8310
8311
|
disabled: unref(isExecuting) || unref(isDisabled),
|
|
8311
|
-
title: unref(
|
|
8312
|
+
title: unref(i18n2).baseText("node.testStep"),
|
|
8312
8313
|
onClick: executeNode
|
|
8313
|
-
}, null, 8, ["disabled", "title"])
|
|
8314
|
+
}, null, 8, ["disabled", "title"])
|
|
8314
8315
|
]),
|
|
8315
8316
|
_: 1
|
|
8316
|
-
}, 8, ["disabled", "content"]),
|
|
8317
|
+
}, 8, ["disabled", "content"])) : createCommentVNode("", true),
|
|
8317
8318
|
isDisableNodeVisible.value ? (openBlock(), createBlock(_component_N8nIconButton, {
|
|
8318
|
-
key:
|
|
8319
|
+
key: 1,
|
|
8319
8320
|
"data-test-id": "disable-node-button",
|
|
8320
8321
|
type: "tertiary",
|
|
8321
8322
|
text: "",
|
|
@@ -8325,17 +8326,17 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
8325
8326
|
onClick: onToggleNode
|
|
8326
8327
|
}, null, 8, ["title"])) : createCommentVNode("", true),
|
|
8327
8328
|
isDeleteNodeVisible.value ? (openBlock(), createBlock(_component_N8nIconButton, {
|
|
8328
|
-
key:
|
|
8329
|
+
key: 2,
|
|
8329
8330
|
"data-test-id": "delete-node-button",
|
|
8330
8331
|
type: "tertiary",
|
|
8331
8332
|
size: "small",
|
|
8332
8333
|
text: "",
|
|
8333
8334
|
icon: "trash-2",
|
|
8334
|
-
title: unref(
|
|
8335
|
+
title: unref(i18n2).baseText("node.delete"),
|
|
8335
8336
|
onClick: onDeleteNode
|
|
8336
8337
|
}, null, 8, ["title"])) : createCommentVNode("", true),
|
|
8337
8338
|
isFocusNodeVisible.value ? (openBlock(), createBlock(_component_N8nIconButton, {
|
|
8338
|
-
key:
|
|
8339
|
+
key: 3,
|
|
8339
8340
|
type: "tertiary",
|
|
8340
8341
|
size: "small",
|
|
8341
8342
|
text: "",
|
|
@@ -8343,7 +8344,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
8343
8344
|
onClick: onFocusNode
|
|
8344
8345
|
})) : createCommentVNode("", true),
|
|
8345
8346
|
isStickyNoteChangeColorVisible.value ? (openBlock(), createBlock(_component_CanvasNodeStickyColorSelector, {
|
|
8346
|
-
key:
|
|
8347
|
+
key: 4,
|
|
8347
8348
|
visible: isStickyColorSelectorOpen.value,
|
|
8348
8349
|
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => isStickyColorSelectorOpen.value = $event),
|
|
8349
8350
|
onUpdate: onChangeStickyColor
|
|
@@ -8364,24 +8365,24 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
|
8364
8365
|
const canvasNodeToolbar$1 = "_canvasNodeToolbar_104hp_123";
|
|
8365
8366
|
const canvasNodeToolbarItems = "_canvasNodeToolbarItems_104hp_130";
|
|
8366
8367
|
const forceVisible = "_forceVisible_104hp_141";
|
|
8367
|
-
const style0$
|
|
8368
|
+
const style0$x = {
|
|
8368
8369
|
canvasNodeToolbar: canvasNodeToolbar$1,
|
|
8369
8370
|
canvasNodeToolbarItems,
|
|
8370
8371
|
forceVisible
|
|
8371
8372
|
};
|
|
8372
|
-
const cssModules$
|
|
8373
|
-
"$style": style0$
|
|
8373
|
+
const cssModules$x = {
|
|
8374
|
+
"$style": style0$x
|
|
8374
8375
|
};
|
|
8375
|
-
const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
8376
|
-
const _hoisted_1$
|
|
8376
|
+
const CanvasNodeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$J, [["__cssModules", cssModules$x]]);
|
|
8377
|
+
const _hoisted_1$a = { key: 1 };
|
|
8377
8378
|
const _hoisted_2$5 = ["textContent"];
|
|
8378
8379
|
const _hoisted_3$4 = { key: 2 };
|
|
8379
8380
|
const _hoisted_4$3 = { key: 5 };
|
|
8380
|
-
const _sfc_main$
|
|
8381
|
+
const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
8381
8382
|
__name: "CanvasNodeStatusIcons",
|
|
8382
8383
|
setup(__props) {
|
|
8383
8384
|
const nodeHelpers = useNodeHelpers();
|
|
8384
|
-
const
|
|
8385
|
+
const i18n2 = useI18n();
|
|
8385
8386
|
const {
|
|
8386
8387
|
hasPinnedData,
|
|
8387
8388
|
issues: issues2,
|
|
@@ -8417,7 +8418,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
|
8417
8418
|
}, {
|
|
8418
8419
|
content: withCtx(() => [
|
|
8419
8420
|
createVNode(TitledList, {
|
|
8420
|
-
title: `${unref(
|
|
8421
|
+
title: `${unref(i18n2).baseText("node.issues")}:`,
|
|
8421
8422
|
items: unref(issues2)
|
|
8422
8423
|
}, null, 8, ["title", "items"])
|
|
8423
8424
|
]),
|
|
@@ -8426,7 +8427,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
|
8426
8427
|
]),
|
|
8427
8428
|
_: 1
|
|
8428
8429
|
})
|
|
8429
|
-
], 2)) : unref(executionWaiting) || unref(executionStatus) === "waiting" ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
8430
|
+
], 2)) : unref(executionWaiting) || unref(executionStatus) === "waiting" ? (openBlock(), createElementBlock("div", _hoisted_1$a, [
|
|
8430
8431
|
createBaseVNode("div", {
|
|
8431
8432
|
class: normalizeClass([_ctx.$style.status, _ctx.$style.waiting])
|
|
8432
8433
|
}, [
|
|
@@ -8471,7 +8472,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
|
8471
8472
|
placement: "bottom"
|
|
8472
8473
|
}, {
|
|
8473
8474
|
content: withCtx(() => [
|
|
8474
|
-
createTextVNode(toDisplayString(unref(
|
|
8475
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText(
|
|
8475
8476
|
dirtiness.value === unref(CanvasNodeDirtiness).PARAMETERS_UPDATED ? "node.dirty" : "node.subjectToChange"
|
|
8476
8477
|
)), 1)
|
|
8477
8478
|
]),
|
|
@@ -8504,16 +8505,16 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
|
8504
8505
|
}
|
|
8505
8506
|
});
|
|
8506
8507
|
const status = "_status_93vv6_123";
|
|
8507
|
-
const runData = "_runData_93vv6_130";
|
|
8508
|
+
const runData$1 = "_runData_93vv6_130";
|
|
8508
8509
|
const waiting$1 = "_waiting_93vv6_134";
|
|
8509
8510
|
const pinnedData = "_pinnedData_93vv6_138";
|
|
8510
8511
|
const running$1 = "_running_93vv6_142";
|
|
8511
8512
|
const issues = "_issues_93vv6_165";
|
|
8512
8513
|
const count = "_count_93vv6_170";
|
|
8513
8514
|
const warning$2 = "_warning_93vv6_174";
|
|
8514
|
-
const style0$
|
|
8515
|
+
const style0$w = {
|
|
8515
8516
|
status,
|
|
8516
|
-
runData,
|
|
8517
|
+
runData: runData$1,
|
|
8517
8518
|
waiting: waiting$1,
|
|
8518
8519
|
pinnedData,
|
|
8519
8520
|
running: running$1,
|
|
@@ -8522,11 +8523,11 @@ const style0$s = {
|
|
|
8522
8523
|
count,
|
|
8523
8524
|
warning: warning$2
|
|
8524
8525
|
};
|
|
8525
|
-
const cssModules$
|
|
8526
|
-
"$style": style0$
|
|
8526
|
+
const cssModules$w = {
|
|
8527
|
+
"$style": style0$w
|
|
8527
8528
|
};
|
|
8528
|
-
const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
8529
|
-
const _sfc_main$
|
|
8529
|
+
const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$I, [["__cssModules", cssModules$w]]);
|
|
8530
|
+
const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
8530
8531
|
__name: "CanvasNodeDisabledStrikeThrough",
|
|
8531
8532
|
setup(__props) {
|
|
8532
8533
|
const $style = useCssModule();
|
|
@@ -8548,16 +8549,16 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
|
8548
8549
|
const disabledStrikeThrough = "_disabledStrikeThrough_nl2g7_123";
|
|
8549
8550
|
const success$2 = "_success_nl2g7_132";
|
|
8550
8551
|
const warning$1 = "_warning_nl2g7_136";
|
|
8551
|
-
const style0$
|
|
8552
|
+
const style0$v = {
|
|
8552
8553
|
disabledStrikeThrough,
|
|
8553
8554
|
success: success$2,
|
|
8554
8555
|
warning: warning$1
|
|
8555
8556
|
};
|
|
8556
|
-
const cssModules$
|
|
8557
|
-
"$style": style0$
|
|
8557
|
+
const cssModules$v = {
|
|
8558
|
+
"$style": style0$v
|
|
8558
8559
|
};
|
|
8559
|
-
const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
8560
|
-
const _sfc_main$
|
|
8560
|
+
const __unplugin_components_2$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$H, [["__cssModules", cssModules$v]]);
|
|
8561
|
+
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
8561
8562
|
__name: "CanvasNodeTooltip",
|
|
8562
8563
|
props: {
|
|
8563
8564
|
visible: { type: Boolean }
|
|
@@ -8596,14 +8597,14 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
|
8596
8597
|
});
|
|
8597
8598
|
const tooltipTrigger = "_tooltipTrigger_dauyi_123";
|
|
8598
8599
|
const popper = "_popper_dauyi_131";
|
|
8599
|
-
const style0$
|
|
8600
|
+
const style0$u = {
|
|
8600
8601
|
tooltipTrigger,
|
|
8601
8602
|
popper
|
|
8602
8603
|
};
|
|
8603
|
-
const cssModules$
|
|
8604
|
-
"$style": style0$
|
|
8604
|
+
const cssModules$u = {
|
|
8605
|
+
"$style": style0$u
|
|
8605
8606
|
};
|
|
8606
|
-
const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
8607
|
+
const __unplugin_components_0$3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$G, [["__cssModules", cssModules$u]]);
|
|
8607
8608
|
function useNodeConnections({
|
|
8608
8609
|
inputs: inputs2,
|
|
8609
8610
|
outputs,
|
|
@@ -8652,151 +8653,1156 @@ function useNodeConnections({
|
|
|
8652
8653
|
isValidConnection
|
|
8653
8654
|
};
|
|
8654
8655
|
}
|
|
8655
|
-
const
|
|
8656
|
-
|
|
8656
|
+
const _hoisted_1$9 = { key: 0 };
|
|
8657
|
+
const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
8658
|
+
__name: "InputNodeSelect",
|
|
8657
8659
|
props: {
|
|
8658
|
-
|
|
8659
|
-
|
|
8660
|
-
|
|
8660
|
+
nodes: {},
|
|
8661
|
+
workflow: {},
|
|
8662
|
+
modelValue: {}
|
|
8661
8663
|
},
|
|
8662
8664
|
emits: ["update:model-value"],
|
|
8663
8665
|
setup(__props, { emit: __emit }) {
|
|
8666
|
+
const props = __props;
|
|
8664
8667
|
const emit = __emit;
|
|
8665
|
-
|
|
8666
|
-
|
|
8667
|
-
|
|
8668
|
+
const i18n2 = useI18n();
|
|
8669
|
+
const workflowsStore = useWorkflowsStore();
|
|
8670
|
+
const nodeTypesStore = useNodeTypesStore();
|
|
8671
|
+
const ndvStore = useNDVStore();
|
|
8672
|
+
const selectedInputNode = computed(() => workflowsStore.getNodeByName(props.modelValue ?? ""));
|
|
8673
|
+
const selectedInputNodeType = computed(() => {
|
|
8674
|
+
const node2 = selectedInputNode.value;
|
|
8675
|
+
if (!node2) return null;
|
|
8676
|
+
return nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
|
|
8677
|
+
});
|
|
8678
|
+
const inputNodes = computed(
|
|
8679
|
+
() => props.nodes?.map((node2) => {
|
|
8680
|
+
const fullNode = workflowsStore.getNodeByName(node2.name);
|
|
8681
|
+
if (!fullNode) return null;
|
|
8682
|
+
return {
|
|
8683
|
+
node: fullNode,
|
|
8684
|
+
type: nodeTypesStore.getNodeType(fullNode.type, fullNode.typeVersion),
|
|
8685
|
+
depth: node2.depth
|
|
8686
|
+
};
|
|
8687
|
+
}).filter(isPresent) ?? []
|
|
8688
|
+
);
|
|
8689
|
+
const activeNode = computed(() => ndvStore.activeNode);
|
|
8690
|
+
const activeNodeType = computed(() => {
|
|
8691
|
+
const node2 = activeNode.value;
|
|
8692
|
+
if (!node2) return null;
|
|
8693
|
+
return nodeTypesStore.getNodeType(node2.type, node2.typeVersion);
|
|
8694
|
+
});
|
|
8695
|
+
const isMultiInputNode = computed(() => {
|
|
8696
|
+
const nodeType = activeNodeType.value;
|
|
8697
|
+
return nodeType !== null && nodeType.inputs.length > 1;
|
|
8698
|
+
});
|
|
8699
|
+
const connectedTo = (nodeName) => {
|
|
8700
|
+
const connections2 = ndvStore.ndvNodeInputNumber[nodeName];
|
|
8701
|
+
if (!connections2) return "";
|
|
8702
|
+
if (connections2.length === 1) {
|
|
8703
|
+
return `Input ${ndvStore.ndvNodeInputNumber[nodeName]}`;
|
|
8668
8704
|
}
|
|
8705
|
+
return `Inputs ${ndvStore.ndvNodeInputNumber[nodeName].join(", ")}`;
|
|
8706
|
+
};
|
|
8707
|
+
function getMultipleNodesText(nodeName) {
|
|
8708
|
+
if (!nodeName || !isMultiInputNode.value || !activeNode.value || !activeNodeType.value?.inputNames)
|
|
8709
|
+
return "";
|
|
8710
|
+
const activeNodeConnections = props.workflow.connectionsByDestinationNode[activeNode.value.name].main || [];
|
|
8711
|
+
const connectedInputIndexes = activeNodeConnections.reduce((acc, node2, index) => {
|
|
8712
|
+
if (node2?.[0] && node2[0].node === nodeName) return [...acc, index];
|
|
8713
|
+
return acc;
|
|
8714
|
+
}, []);
|
|
8715
|
+
const connectedInputs = connectedInputIndexes.map(
|
|
8716
|
+
(inputIndex) => activeNodeType.value?.inputNames?.[inputIndex]
|
|
8717
|
+
);
|
|
8718
|
+
if (connectedInputs.length === 0) return "";
|
|
8719
|
+
return `(${connectedInputs.join(" & ")})`;
|
|
8720
|
+
}
|
|
8721
|
+
function title2(nodeName, length = 30) {
|
|
8722
|
+
return truncate(nodeName, length);
|
|
8723
|
+
}
|
|
8724
|
+
function subtitle2(nodeName, depth) {
|
|
8725
|
+
const multipleNodesText = getMultipleNodesText(nodeName);
|
|
8726
|
+
if (multipleNodesText) return multipleNodesText;
|
|
8727
|
+
return i18n2.baseText("ndv.input.nodeDistance", { adjustToNumber: depth });
|
|
8728
|
+
}
|
|
8729
|
+
function onInputNodeChange(value) {
|
|
8730
|
+
emit("update:model-value", value);
|
|
8669
8731
|
}
|
|
8670
|
-
const wrapperRef = useTemplateRef("wrapperRef");
|
|
8671
|
-
const { width } = useElementSize(wrapperRef);
|
|
8672
8732
|
return (_ctx, _cache) => {
|
|
8673
|
-
|
|
8674
|
-
|
|
8675
|
-
|
|
8733
|
+
const _component_n8n_option = _sfc_main$_;
|
|
8734
|
+
const _component_n8n_select = N8nSelect;
|
|
8735
|
+
return openBlock(), createBlock(_component_n8n_select, {
|
|
8736
|
+
"model-value": _ctx.modelValue,
|
|
8737
|
+
"no-data-text": unref(i18n2).baseText("ndv.input.noNodesFound"),
|
|
8738
|
+
placeholder: unref(i18n2).baseText("ndv.input.parentNodes"),
|
|
8739
|
+
class: normalizeClass(_ctx.$style.select),
|
|
8740
|
+
teleported: "",
|
|
8741
|
+
size: "small",
|
|
8742
|
+
filterable: "",
|
|
8743
|
+
"data-test-id": "ndv-input-select",
|
|
8744
|
+
"onUpdate:modelValue": onInputNodeChange
|
|
8745
|
+
}, {
|
|
8746
|
+
prefix: withCtx(() => [
|
|
8747
|
+
createVNode(_sfc_main$$, {
|
|
8748
|
+
disabled: selectedInputNode.value?.disabled,
|
|
8749
|
+
"node-type": selectedInputNodeType.value,
|
|
8750
|
+
size: 14,
|
|
8751
|
+
shrink: false
|
|
8752
|
+
}, null, 8, ["disabled", "node-type"])
|
|
8753
|
+
]),
|
|
8754
|
+
default: withCtx(() => [
|
|
8755
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(inputNodes.value, ({ node: node2, type, depth }) => {
|
|
8756
|
+
return openBlock(), createBlock(_component_n8n_option, {
|
|
8757
|
+
key: node2.name,
|
|
8758
|
+
value: node2.name,
|
|
8759
|
+
class: normalizeClass([_ctx.$style.node, { [_ctx.$style.disabled]: node2.disabled }]),
|
|
8760
|
+
label: `${title2(node2.name)} ${getMultipleNodesText(node2.name)}`,
|
|
8761
|
+
"data-test-id": "ndv-input-option"
|
|
8762
|
+
}, {
|
|
8763
|
+
default: withCtx(() => [
|
|
8764
|
+
createVNode(_sfc_main$$, {
|
|
8765
|
+
disabled: node2.disabled,
|
|
8766
|
+
"node-type": type,
|
|
8767
|
+
size: 14,
|
|
8768
|
+
shrink: false,
|
|
8769
|
+
class: normalizeClass(_ctx.$style.icon)
|
|
8770
|
+
}, null, 8, ["disabled", "node-type", "class"]),
|
|
8771
|
+
createBaseVNode("span", {
|
|
8772
|
+
class: normalizeClass(_ctx.$style.title)
|
|
8773
|
+
}, [
|
|
8774
|
+
createTextVNode(toDisplayString(title2(node2.name)) + " ", 1),
|
|
8775
|
+
node2.disabled ? (openBlock(), createElementBlock("span", _hoisted_1$9, "(" + toDisplayString(unref(i18n2).baseText("node.disabled")) + ")", 1)) : createCommentVNode("", true)
|
|
8776
|
+
], 2),
|
|
8777
|
+
createBaseVNode("span", {
|
|
8778
|
+
class: normalizeClass(_ctx.$style.subtitle)
|
|
8779
|
+
}, toDisplayString(connectedTo(node2.name) ? connectedTo(node2.name) : subtitle2(node2.name, depth)), 3)
|
|
8780
|
+
]),
|
|
8781
|
+
_: 2
|
|
8782
|
+
}, 1032, ["value", "class", "label"]);
|
|
8783
|
+
}), 128))
|
|
8784
|
+
]),
|
|
8785
|
+
_: 1
|
|
8786
|
+
}, 8, ["model-value", "no-data-text", "placeholder", "class"]);
|
|
8787
|
+
};
|
|
8788
|
+
}
|
|
8789
|
+
});
|
|
8790
|
+
const select$1 = "_select_wv0ev_123";
|
|
8791
|
+
const node$1 = "_node_wv0ev_132";
|
|
8792
|
+
const icon$1 = "_icon_wv0ev_140";
|
|
8793
|
+
const title$2 = "_title_wv0ev_144";
|
|
8794
|
+
const disabled$2 = "_disabled_wv0ev_153";
|
|
8795
|
+
const subtitle$1 = "_subtitle_wv0ev_157";
|
|
8796
|
+
const style0$t = {
|
|
8797
|
+
select: select$1,
|
|
8798
|
+
node: node$1,
|
|
8799
|
+
icon: icon$1,
|
|
8800
|
+
title: title$2,
|
|
8801
|
+
disabled: disabled$2,
|
|
8802
|
+
subtitle: subtitle$1
|
|
8803
|
+
};
|
|
8804
|
+
const cssModules$t = {
|
|
8805
|
+
"$style": style0$t
|
|
8806
|
+
};
|
|
8807
|
+
const InputNodeSelect = /* @__PURE__ */ _export_sfc$1(_sfc_main$F, [["__cssModules", cssModules$t]]);
|
|
8808
|
+
const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
8809
|
+
__name: "NDVEmptyState",
|
|
8810
|
+
props: {
|
|
8811
|
+
title: {}
|
|
8812
|
+
},
|
|
8813
|
+
setup(__props) {
|
|
8814
|
+
return (_ctx, _cache) => {
|
|
8815
|
+
return openBlock(), createElementBlock("article", {
|
|
8816
|
+
class: normalizeClass(_ctx.$style.empty)
|
|
8676
8817
|
}, [
|
|
8677
|
-
|
|
8678
|
-
|
|
8679
|
-
|
|
8680
|
-
|
|
8681
|
-
|
|
8682
|
-
|
|
8683
|
-
"show-tooltip": true,
|
|
8684
|
-
"tooltip-position": "left"
|
|
8685
|
-
}, null, 8, ["node-type"])
|
|
8686
|
-
], 2),
|
|
8687
|
-
createBaseVNode("div", {
|
|
8688
|
-
ref_key: "wrapperRef",
|
|
8689
|
-
ref: wrapperRef,
|
|
8690
|
-
class: normalizeClass(_ctx.$style.textWrapper)
|
|
8818
|
+
renderSlot(_ctx.$slots, "icon"),
|
|
8819
|
+
createBaseVNode("h1", {
|
|
8820
|
+
class: normalizeClass(_ctx.$style.title)
|
|
8821
|
+
}, toDisplayString(_ctx.title), 3),
|
|
8822
|
+
createBaseVNode("p", {
|
|
8823
|
+
class: normalizeClass(_ctx.$style.description)
|
|
8691
8824
|
}, [
|
|
8692
|
-
|
|
8693
|
-
"max-width": unref(width),
|
|
8694
|
-
"model-value": _ctx.modelValue,
|
|
8695
|
-
"read-only": _ctx.readOnly,
|
|
8696
|
-
"onUpdate:modelValue": onRename
|
|
8697
|
-
}, null, 8, ["max-width", "model-value", "read-only"])
|
|
8825
|
+
renderSlot(_ctx.$slots, "description")
|
|
8698
8826
|
], 2)
|
|
8699
8827
|
], 2);
|
|
8700
8828
|
};
|
|
8701
8829
|
}
|
|
8702
8830
|
});
|
|
8703
|
-
const
|
|
8704
|
-
const
|
|
8705
|
-
const
|
|
8706
|
-
const style0$
|
|
8707
|
-
|
|
8708
|
-
|
|
8709
|
-
|
|
8831
|
+
const empty$1 = "_empty_1x72k_2";
|
|
8832
|
+
const title$1 = "_title_1x72k_13";
|
|
8833
|
+
const description$1 = "_description_1x72k_20";
|
|
8834
|
+
const style0$s = {
|
|
8835
|
+
empty: empty$1,
|
|
8836
|
+
title: title$1,
|
|
8837
|
+
description: description$1
|
|
8710
8838
|
};
|
|
8711
|
-
const cssModules$
|
|
8712
|
-
"$style": style0$
|
|
8839
|
+
const cssModules$s = {
|
|
8840
|
+
"$style": style0$s
|
|
8713
8841
|
};
|
|
8714
|
-
const
|
|
8715
|
-
const
|
|
8716
|
-
|
|
8717
|
-
|
|
8718
|
-
|
|
8719
|
-
|
|
8720
|
-
|
|
8721
|
-
|
|
8722
|
-
|
|
8723
|
-
}
|
|
8724
|
-
return false;
|
|
8725
|
-
});
|
|
8726
|
-
const docsUrl = computed(() => {
|
|
8727
|
-
const nodeType = toValue(nodeTypeRef);
|
|
8728
|
-
if (!nodeType) {
|
|
8729
|
-
return "";
|
|
8730
|
-
}
|
|
8731
|
-
if (nodeType.documentationUrl?.startsWith("http")) {
|
|
8732
|
-
return nodeType.documentationUrl;
|
|
8733
|
-
}
|
|
8734
|
-
const utmParams = new URLSearchParams({
|
|
8735
|
-
utm_source: "n8n_app",
|
|
8736
|
-
utm_medium: "node_settings_modal-credential_link",
|
|
8737
|
-
utm_campaign: nodeType.name
|
|
8738
|
-
});
|
|
8739
|
-
const primaryDocUrl = nodeType.codex?.resources?.primaryDocumentation?.[0]?.url;
|
|
8740
|
-
if (primaryDocUrl) {
|
|
8741
|
-
return `${primaryDocUrl}?${utmParams.toString()}`;
|
|
8742
|
-
}
|
|
8743
|
-
if (isCommunityNode.value) {
|
|
8744
|
-
return `${NPM_PACKAGE_DOCS_BASE_URL}${packageName.value}`;
|
|
8745
|
-
}
|
|
8746
|
-
return `${BUILTIN_NODES_DOCS_URL}?${utmParams.toString()}`;
|
|
8747
|
-
});
|
|
8748
|
-
return { docsUrl };
|
|
8842
|
+
const __unplugin_components_2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$E, [["__cssModules", cssModules$s]]);
|
|
8843
|
+
const _sfc_main$D = {};
|
|
8844
|
+
const _hoisted_1$8 = {
|
|
8845
|
+
width: "112",
|
|
8846
|
+
height: "80",
|
|
8847
|
+
viewBox: "0 0 112 80",
|
|
8848
|
+
fill: "none",
|
|
8849
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
8850
|
+
"xmlns:xlink": "http://www.w3.org/1999/xlink"
|
|
8749
8851
|
};
|
|
8750
|
-
|
|
8751
|
-
|
|
8852
|
+
function _sfc_render(_ctx, _cache) {
|
|
8853
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$8, _cache[0] || (_cache[0] = [
|
|
8854
|
+
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,iVBORw0KGgoAAAANSUhEUgAAARgAAADICAYAAAAzx/4XAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABhdSURBVHgB7d0JcFTVngbw/72d4IYa0Ie4IK2llgpodNwtB9AaxVILF7ZxynkgWupojaRwASXQGEBqEAI8LXfBpZQS9IFabjMFkXFfijCKyqjQqIiKShCUpdP3vvPdpXP7pjtk6dPdSX+/qlPpJX07UfrL/yz3XEOIPJNiswaZkbKBtkiluC0qRB1gCJW86ntmjzYM81YvWIhyhgFTwlCxGJGyBcJKhTQxhUrSpJraKSpcVgjDhTQqEyo5U+6prbVExmV6TnWT6ixbnuxmSZ262xCLVTUIUTsxYEoMKpdM4aKCZV5ZUmIMFMoljsGUkMk1c9RArjE39HBchcuYadVVdUKUYwyYEjEhVhstj8gqdbMi8HA8kpTBqmqJC5EGHOQtEeVlMkXSw6WB4UK6cQymBKB6UYMso4OPWYZMrWG4kGasYEpAmWGHB3Xj0ydVzRUizRgwJcAwjaFpD9gyVYjygAHTxTndo9Bium2WLBWiPGDAdHFlkWT4/KK6uVzrQnnCgOniDNuIBu/blr1aiPKEAdPF2Xba1DQeYfVCecOAISJtGDBEpA0Dhoi0YcAQkTYMGCLShgFDRNowYIhIGwYMEWnDgCEibRgwRKQNA4aItGHAEJE2DBgi0oYBQ0TaMGCISBsGDBFpw4AhIm0YMESkDQOGiLRhwBCRNgwYItKGAUNE2jBgiEgbBgwRacOAISJtGDBEpA0Dhoi0YcAQkTYMGCLShgFDRNowYIhIGwYMEWnDgCEibRgwRKQNA4aItGHAEJE2DBgi0oYBQ0TaMGCISBsGDBFpw4AhIm0YMESkDQOGiLRhwBCRNgwYItKGAUNE2jBgiEgbBgwRacOAISJtGDBEpA0Dhoi0YcAQkTYMGCLShgFDRNowYIhIGwYMEWnDgCEibRgwRKQNA4aItGHAEJE2DBgi0oYBQ0TaMGCISBsGDBFpw4AhIm0YMESkDQOGiLRhwBCRNgwYItKGAUNE2hhCXc7ll19eUVZWNto0zYFGJDLIamys8J+LRMrilpWst217WSKRqFu6dGlciDRhwHQho0aNilqWVavC4/I2vGyhCpqpDBrSISLUJYwcOfJWFS6vq5vHS9tURiKRcf3795c1a9a8JUQ5xAqmk0N3qLy8/O/q5iDpIMMwlu7evXuMqmYahCgHOMjbyalwWSE5CBdA18o7HlFOsIvUiY0YMaJWfWnLeEtr9FbdpQrVXXpDiDqIXaROavjw4aPVlwWiiapmBi9ZsqROiDqAXaTOa4popMZjtIUXlQ4GTCfkVS9R0SvqvQ9RuzFgOqe/Sn7k632oi+IYTCfjTUtvkTxJJBI9OG1N7cUKppMpKyurlDzK9/tR18KA6Xzy+oG3LCsqRO3EgOl8KiSPTNOMClE7MWCISJsyIUcsVlvRGJEVhm3Nq5k8fqEUr3wPuHKAl9qNFYwnFqtqMND9MMwF1TW16yfXzLl1Qqw2KkXGtu245Fe9ELUTAybAaPprHbXFmFsekfXV02oX3BX7r6KZSUkmk3WSR42NjQwYajcGTIBl2aubPWjL6EikfJWqalZU3zN7tBSYtyalTvJAVUt1XANDHcExmDTofmRdezhIdZ8GqaCZYog9d3fSWDYzVhWXwnhScrRFQ0sMw3hSiDqAFUyAZUi8Fd9W8O5TIpFYqr7ERa/44sWLFwpRBzBggiJm28YbCtR9QrfFsqwq0WuqEHUQz0UKwFR1MiIdOc8nns/u01VXXTXXNM1bJcdUeM174YUXxglRBzFgQlQ1goDp+GpZQxYmGxPzZsTu0DYL4534iC0uc9lNq1ddo1OEKAfYRQoYpyoYI1djG6r7ZEbKF+CYogm6Smo8ZjA265YcwHFwPCHKkZKrYPCB31cSUTEjlaYtUSNi9rVtqTTcqiUqOWKLzCtLql5XrCov07zDhg2LqYBo9y53akq6asmSJXOFKIe6ZMDEYvdGG6W80jKNioiYJ6vfUs38qDBxA0T7yYJqNqpq+qSqvH9YceG1xsZGBE1bNorihddIm04ZMMEqJILAMFWI2E5wYCwiKoUTV0E2Zlp1VZ0UEIImmUwOUjeHRiKRSnU76j9nlpU1WI2NdapieUuF0UIupCOdijZgUIXslkhFhq5MVPRWIQ3tOb4KlnrVJboiVrjFdxlNmjo7ZphmqutkW9bUaVPGx4QoDwq6ktfvyhimEVV/W/uiKyNuFVKRVC110SbEoJ2zNGywMZ1sSL2dtLdahlFvGtKgwqEe4aCmqqNqqnp9Ww6Y7/EWos5Ca8Bk6cpExa1CoipEdJVQ6Ko0uCFibbAMM94tIvWSkPieQgAho6aqpbUKNd5C1Bl0OGCaDaiaUpHelSlv+mZbcimuWr1t2RvUoGbcNiSOKkQ91pCDSiIuex7LccZbVLjUhR5vT2bm9r8MUZHYY8CgCqmQnRVZujKpKiTVnclTV0b0QlBFsz2ZZbzFCH0N3w4dIo3Riu/Z0+NERScVMM5Je1nWhiRlb21dGcGHWQWHWLJahVVDa7syOjlVkZn5Nw6Nt4S/yQg0LGJECJ+n2nGqdVPtO9XeUW2lagnZw4+R4bYdeE8GDRW9VMCURcoX2PhA5HhA1WvNujLFNtsSZBjetg12+mfYErtq+uTx86QpQFIvkab/ZOgTnqlajWpniBssQY2qrVJtumornMOK9BQ3jE5XrY9q3VXbodo61d5U7TPVtgeO4QcNQ4aKWipgsNmS+qvdnnNaAl2ZtAHVhmIOkZbYKmCM9HCJJ3bvGjtz2sT/FffDv7e4/+3wTegl7lJtt3f/JHHD5VzVjH333Ve6deuGZfjYHU62b99eZts2gmS+ajHVvlZtjGqjVNsnw4+DkxkfVW2OapuF1Qx1IoExmBY3W1LPFV9XRhcracUjpulUMKq8WP3Lr1uGPzx/Gk6CPFu1gaqdrNrB4lYjP6n2iWr/p9pG1W5X7Z9UM4499li59NJL5ZRTTnFC5ssvv5Tly5fL+++/L7t370alMkO1TaqdYqr36969uxx44IG42Bm2xpStW7fK77//fqAKpPHiVkYIpR+897Wl5WBh6FDBNQWMaSJAFhZgQLXYGNbO5AZzn4gkLWv+199+O23xgr/tpR7/V9VuUK1fhtdcLW43BhXOaart07NnT5kzZ44MGTLECQxABTN06FAZM2aM1NfXI817oyFcEEbnn3++DBgwwAmZbdu2yTvvvCNvvPGGbN68WRVU9s3ijt9sFbdqOki1fcUNEoTfL9I0rhOsbogKJhUw06qrcEZuTs7K7exmzpy49a7qe8feWzPxKXErh39TrVq1ngiLCjWv1qNHD+ybggpDGhoasMtcf/X8ieJ9sC+88EI599xzU+ECuH3MMcfIyJEjETCpxw8++GCpqqqSa665RtCl8g0fPlzuuusuWbRoEaoZHOhKcSumY8Ttgh0pbjWD6ul/xJ39+i3wq7CKoYLinrzpUlPNM9xwwQAtQuM/VeuJILjgggucdvTRRzsVyTfffCPLli2T9957D1VHauD3zDPPdLpFYfvtt5+cdtppTpD8+eefzmP9+vWTgQMHpoULoAq69tpr5e2333a6S8r54obLaaHDXqTaNar9TbUnVPtVguGC8SSDBQ3lHwOmueA0MwZdMRN01D777COnnnqq1NTUON2ZIHRr7rzzTidkfAcddJBEIpHmB1cfdARV37595YsvvnAeQ0X0l7/8JeMPc8IJJ8ghhxwin3/+ObZU6KUe6uUfPxqNyo4dO2TdunXGzp07D1UP/4dq34hbiWJ2Cq8x8J4MGSoEbjjVJLhQLhgwGNB1xkVQuYTDBc444ww5++yz5YADDkg9tv/++zthkgnCChUQIITQ3cLxM8FxjjrqKCkvb1oRjdCZMWOGzJs3zxnnufrqq3ENaTyFMZ1LxR2ANv3fif0kKhRWMOnCC+XQMMDrjJ+EuzC+vfbay+n2YEB2zZo1zmP+1HQme++9t1OV+LdRwQTHasJQ7SBg1MyTc//mm2+W66+/3jk+xoHw3GuvvSabNm3CQfp4zRmLsdWkO+sWKhRWMJkFF9JhdsYZL9m4cWPWF5x++ulOpeGHSksBg0BCFwdQoWTrHvmOOOKIVAWDMBoxYkTq2KhcevXq5by3Zz9xK5iI83uoAEL3yKlibNYylF8MmHTh6sWfoXEGWT/99NPUwGwYxkMwJY1qA10m3M80BgPoEmGGqbKy0hkMRmsJxn4wOIxQwXuEAwlhhuDx74obMs7vkFRjMIwVKhR2kVzBpf7BbhICZr1qW5LJZA/MGK1du9ZZOBeGLs5ll13mTEPj9mGHHeaPizSDQBg8eLAzZoNqpn///tISjPvMmjVLNmzYIIMGDWr2PN4Hx/Eg1RAyTsBgkDdVubCzRHnGgMkcLH4Fg9vbxK1iBm7evNlZhZspYODII4902h7fUH3QES4ImdbA2M+wYcOcGSNUMpkEwsw/uT01yEtUKKXeRco0c4SG2ZgrVLtRtb+KNxGDBXXvvvsuVtZKvmEMBqGUrdsVkgpIO5k0/HMK2FWifCvlCiZT5YJp6RGqjVXtEO++3+Vwzg/CepS6ujpnlW2RMkKNqGBYwTRVLvuLe8byveIurouKGzKYkUktcME09EsvveSvrC16lhAVTqlWMMHqxe9O3CbuuT7OdMzxxx/vnAmNLsknn3wiK1eudNah7Nq1ywmZVatWZRxwLQScsrBz507/LjIFJz2ygqGCK+Uukj8Iiq/YcW6keOFyww03yN133+2sUcHgKaqV5557TqZOnepMU3/77bfO1gvFEjDougWmzxEuu4WoCJRiwGSaLbpANWdxyVlnnSUPPfRQ2gswuDp27Fhn1ezEiROdr63xww8/yPr16+Wcc85ptugOA8aYkcIpAlg3Ex68xZQ0zrg++eSTpU+fPi0O7qKCCXTZEC47hKgIlOoYTDBk8MnFMlhnqewll1yS8QVYeYvl+Y8++qjMnDnTmTZuCVb94gzp8847T6qrq9OeQxg888wzcvHFF8tNN90kL7/8ctrzv/zyi0yYMEGuvPJKufHGG+Wrr75q8b3QbcNrPOgrdY4BIurySrmCQbj660XKvcdSS/gzwXPXXXedtAbGabBXjG3bznYLQVjP8v333zu3f/vtN6fLFYSw2LJli1Mpff3119hms8X3QsD8+uuv/l30lRAwzsw0l2pTIZXav7/wJUX8CuYP8SZc8IHvTBBgCKA//vjDuStuBfO7EBWBUvwDF5xd8cdgUttNrlu3TjqTRCIh8Xg8dVfczaawCTnX1VHBlXIFHewqob/iBAy6NnYnOusYAYOBZA+ql58leOUBNQvGVXdUKFxo58In1Pmrj5W6GP/o8IEDs0aYRtYFa3NwlrcH/SR/TwlWMFRwpV7B+PChxEhrI3bzf/7556WjsGudHzLZtnjoKExPYzr7448/9h/CANL/S9OpR9gvk0FDBVPKARP84KHEeEu89SNPPPFEh09oxJYNfsDoqmAwsPvqq6/6U9T42dHVQ1Cmn9+In4NbNVABlGLAhK/57DcsRomrlvzoo4/kvvvuS21RWawwIP3444/7dzG4i8vMImgwI8YTqKngSi1ggpdd9ZvlNVwxEbvxO4tO8MFdunRpq1ft5hsGonH6gjfrhSTEJWhxWYNguLCLRAVV6l0kS9JD5lVxr87oLFybPXu2rFixQnINXSd/gygERXtCDCdfPvvss/5d9JH+W7Ufpel3SS20S80gsZtEeVaqXaRgwwCJ5X3FwMsDqq3CN+JcICzz/+CDDySXcF6Rv8UlBmrb2hVbvXq1cyVIbxNyTK9jqTACxgo1VjBUUKVawQS7R37I+A19DlwhcR0++NiWAdce+uyzzySXgicvtqWCQWU1efJk5+cS9+fHz/uCuDNIflimmmFGbFYuVCilXMH4H0L/Q9no3cbXD1Wbr9pm7LPyyiuvSG1tbcFX+SKIHnzwQXn99df9hzCw+4i4ewYHQ5KDvFQUSn0Mxg+a4IcTAYM+CwZfZqm2BetYsDYGlcN3333XqoMfeuihqbUwuMJAEK4qgEuXADb0Dp9giX1ounfv7rwWx8HF2QAXV3vssceCXaoHxb3o/W7v5/ZD0g9PB8dfqFBatYN0F5TppMdwQ/g0iLv0/sxEIlGOcEFFc+KJJ2a91KsPwYFrUGNnPGy5cPjhh6eewxoZvB7PY9OqK664wgkVHwIFe9DgciWjRo2Sk046yTkDe/z48c64kKdO3IDBVQ8QLAlJr8KcKmbg4Iv+WQXVoFTA2PZbK+verBOiPCjVHe0QHn6I+GMwqOYS3vP+SZAIl9dU66Vme67fsmVL+YIFC+Tnn3+W6dOnOxdZywZVysiRI51qI3ypEYy/IHjuuOOO8DWNUq+96KKLnMua4Htx//777xesz/HOk8Ks0Qxxt2VISnq4sItERaPUr4sUnk0KngDp38bWB4vFvUb1v2/durUcm36j4sBMznHHHZf14AiOcHgEZbvWNaDK8a9XjbGXxYsXC05j8Dyh2iZp6hZlC5emlbxEBVDKAROsYvzxiuAVHYMnIP+k2jOq7VIVxLXbt2/f++mnn3bOMbrttttkwIABohO23sSWDN5sE6qVl6SpagmHS7ARFVSpn02daU1MIktDyDyl2gMqZLbhPKCnnnpKbr/9dmeLh/ZAcNxyyy3Su3dv6devnzz88MPBKiUF2zFg1zoPRpl/C/1smWaQRNhFogLjpWObPoTBv/jB7pIEvqK7hDUn+LTfotoBb775pnOdJAziBi5Av0c//vijzJ8/Xx544AHn/k8//SRTpkxxFt5hn97gda2xQXjghMmNkh4o4XDh+AsVDW7Zmnm62p+V8S8BEqwWMLD6d9UeVu1nDLouX77cuYxJa2FbTgQTAsZ7b6e7g5BZtGiRfPjhh2lnYKN6CWyCtUOyj70EqxeigmPAuIJdinDQBMPGb9jg5RPVPseLsGQfVUZrYYOoWbNmOVPP4p5cWe8dy8a1r1ER4Zh+qIQueWJK5vEWW9g1oiLDLlKTTFPXRuh5/3vQsO2ds7k2LkPiX4wNMLUcvg4SwgLbW2ItDS7g5p16gLDCiU4LVTtBtR5qILcPVuuiizRkyBBnvQwqG7zWg+s3ZQsXdo2oqDBg0vkBgg+tXymINL9YW3DTcKfL88gjj8iLL77oBAMWygXHUABjK9iKEwHj7aGLY8dVW6baN+IO3PZW7SpVDVXgTO4lS5Y44zp4XWBXvL7e+zJYqOgxYJoLhox4t4NB4y/CA2clNFb34vrVbYBuF1IG+898JE1ncmO7CKzK+xd1zB5r167N1IXtJu51nFi9UNFjwGQWDhlfsILBtDVOisSJRPuGno9I8038cUzMPmHnf8wEYd+ZleKGjR8MOJtyobhbX1aqdqB3LASQf0lY7PD9hzBYqBNgwGQXDBm/e+QP/vrXUkIFgg98T0m/UmQ3aQqi4DQ4ggELXbBvrn/1xeDMD74f4YNFfW94x8WxEt7rMO6zSTKfDsCQoaLDgGlZeLVveJUvQgZBgS5LRJoCxsxwnEzbRPiDyb5gFwxVzEbJvAgwKaxgqBNgwLROOBwQMqb31YcP/Z4CxsrS/IDwqx5T0isgW9L3rOGCOuoUGDB7FuyCBM9bagw8jsf8cMk2/tJSwPiCYzzB2apM+9bwrGkqegyY1guGCzQGHiuTpqom05VagwETDppgQISnws0Mr/cXAPK8Iyp6DJjWC6/2Dd72181ASwETrmQyVR/h7SLCxwhu88kxGCpqDJjWCa/ytaR5WIR3xAu/Pjzj01LA7Cmk2DWiToEB03Z+mJiB28GAEckcMMHbVuhxO/S6TCHlf1+msGLQUFFiwLSeX8X4ty1pHiit2TouU7cmU8BI6Lad5StR0WLAtE0wCMKDs209RkvPtTY8GDJU1Bgw7WNnuW+04TVEXR4DJrcYIkQB3HCKiLRhwBCRNgwYItKGAUNE2jBgiEgbBgwRacOAISJtGDBdnGFI2gWbjIjZV4jyhAHTxdmGHU9/QKJClCcMmC6uLBmpDz1UOS5W2/qLaBN1AAOmi4vFquLiXuDNV7GfaY0WojxgwJQA27KeDN43DXOoEOUBA6YElNnmwtBDg6rvmT1OiDRjwJQAdJNssdOqGDHMKRNitVEh0ogBUyLKkkZMfQlOWVeUR2QFQ4Z0YsCUCGew15CpoYejCJlJNbWDhEiDtmz1SF2ACpOY+p8+pdkThixMNMrUme6sE1FOMGBK0KSaOXMNMW7N8vRSNe20LGkl62fE7qgXog5gwJSorJUMUQ4xYEoYxl7UP4AF6mZUiDRgwJBU31M7Wv1LQDUTFaIcYsBQSmx6bWVjo3W5mOZAww2bqBB1wD8AobUpv0xPqN8AAAAASUVORK5CYII="></image></defs>', 3)
|
|
8855
|
+
]));
|
|
8856
|
+
}
|
|
8857
|
+
const WireMeUp = /* @__PURE__ */ _export_sfc$1(_sfc_main$D, [["render", _sfc_render]]);
|
|
8858
|
+
const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
8859
|
+
__name: "InputPanel",
|
|
8752
8860
|
props: {
|
|
8753
|
-
|
|
8754
|
-
|
|
8755
|
-
pushRef: {
|
|
8756
|
-
|
|
8861
|
+
runIndex: {},
|
|
8862
|
+
workflow: {},
|
|
8863
|
+
pushRef: {},
|
|
8864
|
+
activeNodeName: {},
|
|
8865
|
+
currentNodeName: { default: "" },
|
|
8866
|
+
canLinkRuns: { type: Boolean, default: false },
|
|
8867
|
+
linkedRuns: { type: Boolean },
|
|
8868
|
+
readOnly: { type: Boolean, default: false },
|
|
8869
|
+
isProductionExecutionPreview: { type: Boolean, default: false },
|
|
8870
|
+
isPaneActive: { type: Boolean, default: false },
|
|
8871
|
+
displayMode: {},
|
|
8872
|
+
compact: { type: Boolean },
|
|
8873
|
+
disableDisplayModeSelection: { type: Boolean },
|
|
8874
|
+
focusedMappableInput: {},
|
|
8875
|
+
isMappingOnboarded: { type: Boolean }
|
|
8757
8876
|
},
|
|
8758
|
-
emits: ["
|
|
8877
|
+
emits: ["itemHover", "tableMounted", "linkRun", "unlinkRun", "runChange", "search", "changeInputNode", "execute", "activatePane", "displayModeChange"],
|
|
8759
8878
|
setup(__props, { emit: __emit }) {
|
|
8760
8879
|
const props = __props;
|
|
8761
8880
|
const emit = __emit;
|
|
8762
|
-
const
|
|
8763
|
-
const ndvStore = useNDVStore();
|
|
8764
|
-
const workflowsStore = useWorkflowsStore();
|
|
8765
|
-
const i18n = useI18n();
|
|
8881
|
+
const i18n2 = useI18n();
|
|
8766
8882
|
const telemetry = useTelemetry();
|
|
8767
|
-
const
|
|
8768
|
-
const
|
|
8769
|
-
const
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
}
|
|
8774
|
-
|
|
8883
|
+
const showDraggableHintWithDelay = ref(false);
|
|
8884
|
+
const draggableHintShown = ref(false);
|
|
8885
|
+
const mappedNode2 = ref(null);
|
|
8886
|
+
const collapsingColumnName = ref(null);
|
|
8887
|
+
const inputModes = [
|
|
8888
|
+
{ value: "mapping", label: i18n2.baseText("ndv.input.mapping") },
|
|
8889
|
+
{ value: "debugging", label: i18n2.baseText("ndv.input.fromAI") }
|
|
8890
|
+
];
|
|
8891
|
+
const nodeTypesStore = useNodeTypesStore();
|
|
8892
|
+
const workflowsStore = useWorkflowsStore();
|
|
8893
|
+
const posthogStore = usePostHog();
|
|
8894
|
+
const activeNode = computed(() => workflowsStore.getNodeByName(props.activeNodeName));
|
|
8895
|
+
const rootNode = computed(() => {
|
|
8896
|
+
if (!activeNode.value) return null;
|
|
8897
|
+
return props.workflow.getChildNodes(activeNode.value.name, "ALL").at(0) ?? null;
|
|
8775
8898
|
});
|
|
8776
|
-
const
|
|
8777
|
-
|
|
8778
|
-
|
|
8779
|
-
|
|
8899
|
+
const hasRootNodeRun = computed(() => {
|
|
8900
|
+
return !!(rootNode.value && workflowsStore.getWorkflowExecution?.data?.resultData.runData[rootNode.value]);
|
|
8901
|
+
});
|
|
8902
|
+
const inputMode = ref(
|
|
8903
|
+
// Show debugging mode by default only when the node has already run
|
|
8904
|
+
activeNode.value && workflowsStore.getWorkflowExecution?.data?.resultData.runData[activeNode.value.name] ? "debugging" : "mapping"
|
|
8905
|
+
);
|
|
8906
|
+
const isMappingMode = computed(() => isActiveNodeConfig.value && inputMode.value === "mapping");
|
|
8907
|
+
const showDraggableHint = computed(() => {
|
|
8908
|
+
const toIgnore = [START_NODE_TYPE, MANUAL_TRIGGER_NODE_TYPE, CRON_NODE_TYPE, INTERVAL_NODE_TYPE];
|
|
8909
|
+
if (!currentNode.value || toIgnore.includes(currentNode.value.type)) {
|
|
8910
|
+
return false;
|
|
8780
8911
|
}
|
|
8781
|
-
return
|
|
8912
|
+
return !!props.focusedMappableInput && !props.isMappingOnboarded;
|
|
8782
8913
|
});
|
|
8783
|
-
const
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8787
|
-
|
|
8788
|
-
|
|
8789
|
-
|
|
8790
|
-
|
|
8791
|
-
value: "settings"
|
|
8914
|
+
const isActiveNodeConfig = computed(() => {
|
|
8915
|
+
let inputs2 = activeNodeType.value?.inputs ?? [];
|
|
8916
|
+
let outputs = activeNodeType.value?.outputs ?? [];
|
|
8917
|
+
if (props.workflow && activeNode.value) {
|
|
8918
|
+
const node2 = props.workflow.getNode(activeNode.value.name);
|
|
8919
|
+
if (node2 && activeNodeType.value) {
|
|
8920
|
+
inputs2 = getNodeInputs(props.workflow, node2, activeNodeType.value);
|
|
8921
|
+
outputs = getNodeOutputs(props.workflow, node2, activeNodeType.value);
|
|
8792
8922
|
}
|
|
8793
|
-
|
|
8794
|
-
if (
|
|
8795
|
-
|
|
8796
|
-
|
|
8797
|
-
|
|
8923
|
+
}
|
|
8924
|
+
if (!Array.isArray(inputs2)) {
|
|
8925
|
+
inputs2 = [];
|
|
8926
|
+
}
|
|
8927
|
+
if (!Array.isArray(outputs)) {
|
|
8928
|
+
outputs = [];
|
|
8929
|
+
}
|
|
8930
|
+
return inputs2.length === 0 || inputs2.every((input) => filterOutConnectionType(input, NodeConnectionTypes.Main)) && outputs.find((output) => filterOutConnectionType(output, NodeConnectionTypes.Main));
|
|
8931
|
+
});
|
|
8932
|
+
const isMappingEnabled = computed(() => {
|
|
8933
|
+
if (props.readOnly) return false;
|
|
8934
|
+
if (isActiveNodeConfig.value) return isMappingMode.value && mappedNode2.value !== null;
|
|
8935
|
+
return true;
|
|
8936
|
+
});
|
|
8937
|
+
const isExecutingPrevious = computed(() => {
|
|
8938
|
+
if (!workflowsStore.isWorkflowRunning) {
|
|
8939
|
+
return false;
|
|
8940
|
+
}
|
|
8941
|
+
const triggeredNode = workflowsStore.executedNode;
|
|
8942
|
+
const executingNode = workflowsStore.executingNode;
|
|
8943
|
+
if (activeNode.value && triggeredNode === activeNode.value.name && workflowsStore.isNodeExecuting(props.currentNodeName)) {
|
|
8944
|
+
return true;
|
|
8945
|
+
}
|
|
8946
|
+
if (executingNode.length || triggeredNode) {
|
|
8947
|
+
return !!parentNodes.value.find(
|
|
8948
|
+
(node2) => workflowsStore.isNodeExecuting(node2.name) || node2.name === triggeredNode
|
|
8949
|
+
);
|
|
8950
|
+
}
|
|
8951
|
+
return false;
|
|
8952
|
+
});
|
|
8953
|
+
const rootNodesParents = computed(() => {
|
|
8954
|
+
if (!rootNode.value) return [];
|
|
8955
|
+
return props.workflow.getParentNodesByDepth(rootNode.value);
|
|
8956
|
+
});
|
|
8957
|
+
const currentNode = computed(() => {
|
|
8958
|
+
if (isActiveNodeConfig.value) {
|
|
8959
|
+
if (mappedNode2.value) {
|
|
8960
|
+
return workflowsStore.getNodeByName(mappedNode2.value);
|
|
8961
|
+
}
|
|
8962
|
+
return activeNode.value;
|
|
8963
|
+
}
|
|
8964
|
+
return workflowsStore.getNodeByName(props.currentNodeName ?? "");
|
|
8965
|
+
});
|
|
8966
|
+
const connectedCurrentNodeOutputs = computed(() => {
|
|
8967
|
+
const search = parentNodes.value.find(({ name }) => name === props.currentNodeName);
|
|
8968
|
+
return search?.indicies;
|
|
8969
|
+
});
|
|
8970
|
+
const parentNodes = computed(() => {
|
|
8971
|
+
if (!activeNode.value) {
|
|
8972
|
+
return [];
|
|
8973
|
+
}
|
|
8974
|
+
const parents = props.workflow.getParentNodesByDepth(activeNode.value.name).filter((parent) => parent.name !== activeNode.value?.name);
|
|
8975
|
+
return uniqBy(parents, (parent) => parent.name);
|
|
8976
|
+
});
|
|
8977
|
+
const currentNodeDepth = computed(() => {
|
|
8978
|
+
const node2 = parentNodes.value.find(
|
|
8979
|
+
(parent) => currentNode.value && parent.name === currentNode.value.name
|
|
8980
|
+
);
|
|
8981
|
+
return node2?.depth ?? -1;
|
|
8982
|
+
});
|
|
8983
|
+
const activeNodeType = computed(() => {
|
|
8984
|
+
if (!activeNode.value) return null;
|
|
8985
|
+
return nodeTypesStore.getNodeType(activeNode.value.type, activeNode.value.typeVersion);
|
|
8986
|
+
});
|
|
8987
|
+
const waitingMessage = computed(() => {
|
|
8988
|
+
const parentNode = parentNodes.value[0];
|
|
8989
|
+
return parentNode && waitingNodeTooltip(workflowsStore.getNodeByName(parentNode.name));
|
|
8990
|
+
});
|
|
8991
|
+
const isNDVV2 = computed(
|
|
8992
|
+
() => posthogStore.isVariantEnabled(
|
|
8993
|
+
NDV_UI_OVERHAUL_EXPERIMENT.name,
|
|
8994
|
+
NDV_UI_OVERHAUL_EXPERIMENT.variant
|
|
8995
|
+
)
|
|
8996
|
+
);
|
|
8997
|
+
watch(
|
|
8998
|
+
inputMode,
|
|
8999
|
+
(mode) => {
|
|
9000
|
+
onRunIndexChange(-1);
|
|
9001
|
+
if (mode === "mapping") {
|
|
9002
|
+
onUnlinkRun();
|
|
9003
|
+
mappedNode2.value = rootNodesParents.value[0]?.name ?? null;
|
|
9004
|
+
} else {
|
|
9005
|
+
mappedNode2.value = null;
|
|
9006
|
+
}
|
|
9007
|
+
},
|
|
9008
|
+
{ immediate: true }
|
|
9009
|
+
);
|
|
9010
|
+
watch(showDraggableHint, (curr, prev) => {
|
|
9011
|
+
if (curr && !prev) {
|
|
9012
|
+
setTimeout(() => {
|
|
9013
|
+
if (draggableHintShown.value) {
|
|
9014
|
+
return;
|
|
9015
|
+
}
|
|
9016
|
+
showDraggableHintWithDelay.value = showDraggableHint.value;
|
|
9017
|
+
if (showDraggableHintWithDelay.value) {
|
|
9018
|
+
draggableHintShown.value = true;
|
|
9019
|
+
telemetry.track("User viewed data mapping tooltip", {
|
|
9020
|
+
type: "unexecuted input pane"
|
|
9021
|
+
});
|
|
9022
|
+
}
|
|
9023
|
+
}, 1e3);
|
|
9024
|
+
} else if (!curr) {
|
|
9025
|
+
showDraggableHintWithDelay.value = false;
|
|
9026
|
+
}
|
|
9027
|
+
});
|
|
9028
|
+
function filterOutConnectionType(item, type) {
|
|
9029
|
+
if (!item) return false;
|
|
9030
|
+
return typeof item === "string" ? item !== type : item.type !== type;
|
|
9031
|
+
}
|
|
9032
|
+
function onInputModeChange(val) {
|
|
9033
|
+
inputMode.value = val;
|
|
9034
|
+
}
|
|
9035
|
+
function onMappedNodeSelected(val) {
|
|
9036
|
+
mappedNode2.value = val;
|
|
9037
|
+
onRunIndexChange(0);
|
|
9038
|
+
onUnlinkRun();
|
|
9039
|
+
}
|
|
9040
|
+
function onNodeExecute() {
|
|
9041
|
+
emit("execute");
|
|
9042
|
+
if (activeNode.value) {
|
|
9043
|
+
telemetry.track("User clicked ndv button", {
|
|
9044
|
+
node_type: activeNode.value.type,
|
|
9045
|
+
workflow_id: workflowsStore.workflowId,
|
|
9046
|
+
push_ref: props.pushRef,
|
|
9047
|
+
pane: "input",
|
|
9048
|
+
type: "executePrevious"
|
|
9049
|
+
});
|
|
9050
|
+
}
|
|
9051
|
+
}
|
|
9052
|
+
function onRunIndexChange(run) {
|
|
9053
|
+
emit("runChange", run);
|
|
9054
|
+
}
|
|
9055
|
+
function onLinkRun() {
|
|
9056
|
+
emit("linkRun");
|
|
9057
|
+
}
|
|
9058
|
+
function onUnlinkRun() {
|
|
9059
|
+
emit("unlinkRun");
|
|
9060
|
+
}
|
|
9061
|
+
function onSearch(search) {
|
|
9062
|
+
emit("search", search);
|
|
9063
|
+
}
|
|
9064
|
+
function onItemHover(item) {
|
|
9065
|
+
emit("itemHover", item);
|
|
9066
|
+
}
|
|
9067
|
+
function onTableMounted(event) {
|
|
9068
|
+
emit("tableMounted", event);
|
|
9069
|
+
}
|
|
9070
|
+
function onInputNodeChange(value) {
|
|
9071
|
+
const index = parentNodes.value.findIndex((node2) => node2.name === value) + 1;
|
|
9072
|
+
emit("changeInputNode", value, index);
|
|
9073
|
+
}
|
|
9074
|
+
function onConnectionHelpClick() {
|
|
9075
|
+
if (activeNode.value) {
|
|
9076
|
+
telemetry.track("User clicked ndv link", {
|
|
9077
|
+
node_type: activeNode.value.type,
|
|
9078
|
+
workflow_id: workflowsStore.workflowId,
|
|
9079
|
+
push_ref: props.pushRef,
|
|
9080
|
+
pane: "input",
|
|
9081
|
+
type: "not-connected-help"
|
|
9082
|
+
});
|
|
9083
|
+
}
|
|
9084
|
+
}
|
|
9085
|
+
function activatePane() {
|
|
9086
|
+
emit("activatePane");
|
|
9087
|
+
}
|
|
9088
|
+
function handleChangeCollapsingColumn(columnName) {
|
|
9089
|
+
collapsingColumnName.value = columnName;
|
|
9090
|
+
}
|
|
9091
|
+
return (_ctx, _cache) => {
|
|
9092
|
+
const _directive_n8n_html = resolveDirective("n8n-html");
|
|
9093
|
+
return openBlock(), createBlock(RunData, {
|
|
9094
|
+
class: normalizeClass(_ctx.$style.runData),
|
|
9095
|
+
node: currentNode.value,
|
|
9096
|
+
nodes: isMappingMode.value ? rootNodesParents.value : parentNodes.value,
|
|
9097
|
+
workflow: _ctx.workflow,
|
|
9098
|
+
"run-index": isMappingMode.value ? 0 : _ctx.runIndex,
|
|
9099
|
+
"linked-runs": _ctx.linkedRuns,
|
|
9100
|
+
"can-link-runs": !mappedNode2.value && _ctx.canLinkRuns,
|
|
9101
|
+
"too-much-data-title": unref(i18n2).baseText("ndv.input.tooMuchData.title"),
|
|
9102
|
+
"no-data-in-branch-message": unref(i18n2).baseText("ndv.input.noOutputDataInBranch"),
|
|
9103
|
+
"is-executing": isExecutingPrevious.value,
|
|
9104
|
+
"executing-message": unref(i18n2).baseText("ndv.input.executingPrevious"),
|
|
9105
|
+
"push-ref": _ctx.pushRef,
|
|
9106
|
+
"override-outputs": connectedCurrentNodeOutputs.value,
|
|
9107
|
+
"mapping-enabled": isMappingEnabled.value,
|
|
9108
|
+
"distance-from-active": currentNodeDepth.value,
|
|
9109
|
+
"is-production-execution-preview": _ctx.isProductionExecutionPreview,
|
|
9110
|
+
"is-pane-active": _ctx.isPaneActive,
|
|
9111
|
+
"display-mode": _ctx.displayMode,
|
|
9112
|
+
"pane-type": "input",
|
|
9113
|
+
"data-test-id": "ndv-input-panel",
|
|
9114
|
+
"disable-ai-content": true,
|
|
9115
|
+
"collapsing-table-column-name": collapsingColumnName.value,
|
|
9116
|
+
compact: _ctx.compact,
|
|
9117
|
+
"disable-display-mode-selection": _ctx.disableDisplayModeSelection,
|
|
9118
|
+
onActivatePane: activatePane,
|
|
9119
|
+
onItemHover,
|
|
9120
|
+
onLinkRun,
|
|
9121
|
+
onUnlinkRun,
|
|
9122
|
+
onRunChange: onRunIndexChange,
|
|
9123
|
+
onTableMounted,
|
|
9124
|
+
onSearch,
|
|
9125
|
+
onDisplayModeChange: _cache[2] || (_cache[2] = ($event) => emit("displayModeChange", $event)),
|
|
9126
|
+
onCollapsingTableColumnChanged: handleChangeCollapsingColumn
|
|
9127
|
+
}, createSlots({
|
|
9128
|
+
header: withCtx(() => [
|
|
9129
|
+
createBaseVNode("div", {
|
|
9130
|
+
class: normalizeClass([_ctx.$style.titleSection, { [_ctx.$style.titleSectionV2]: isNDVV2.value }])
|
|
9131
|
+
}, [
|
|
9132
|
+
createVNode(unref(N8nText), {
|
|
9133
|
+
bold: true,
|
|
9134
|
+
color: "text-light",
|
|
9135
|
+
size: _ctx.compact ? "small" : "medium",
|
|
9136
|
+
class: normalizeClass([_ctx.$style.title, { [_ctx.$style.titleV2]: isNDVV2.value }])
|
|
9137
|
+
}, {
|
|
9138
|
+
default: withCtx(() => [
|
|
9139
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input")), 1)
|
|
9140
|
+
]),
|
|
9141
|
+
_: 1
|
|
9142
|
+
}, 8, ["size", "class"]),
|
|
9143
|
+
isActiveNodeConfig.value && !_ctx.readOnly ? (openBlock(), createBlock(unref(N8nRadioButtons), {
|
|
9144
|
+
key: 0,
|
|
9145
|
+
"data-test-id": "input-panel-mode",
|
|
9146
|
+
options: inputModes,
|
|
9147
|
+
"model-value": inputMode.value,
|
|
9148
|
+
"onUpdate:modelValue": onInputModeChange
|
|
9149
|
+
}, null, 8, ["model-value"])) : createCommentVNode("", true)
|
|
9150
|
+
], 2)
|
|
9151
|
+
]),
|
|
9152
|
+
"input-select": withCtx(() => [
|
|
9153
|
+
parentNodes.value.length && _ctx.currentNodeName ? (openBlock(), createBlock(InputNodeSelect, {
|
|
9154
|
+
key: 0,
|
|
9155
|
+
"model-value": _ctx.currentNodeName,
|
|
9156
|
+
workflow: _ctx.workflow,
|
|
9157
|
+
nodes: parentNodes.value,
|
|
9158
|
+
"onUpdate:modelValue": onInputNodeChange
|
|
9159
|
+
}, null, 8, ["model-value", "workflow", "nodes"])) : createCommentVNode("", true)
|
|
9160
|
+
]),
|
|
9161
|
+
"node-not-run": withCtx(() => [
|
|
9162
|
+
isActiveNodeConfig.value && rootNode.value || parentNodes.value.length ? (openBlock(), createElementBlock("div", {
|
|
9163
|
+
key: 0,
|
|
9164
|
+
class: normalizeClass(_ctx.$style.noOutputData)
|
|
9165
|
+
}, [
|
|
9166
|
+
isNDVV2.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
9167
|
+
isMappingEnabled.value || hasRootNodeRun.value ? (openBlock(), createBlock(__unplugin_components_2, {
|
|
9168
|
+
key: 0,
|
|
9169
|
+
title: unref(i18n2).baseText("ndv.input.noOutputData.v2.title")
|
|
9170
|
+
}, {
|
|
9171
|
+
icon: withCtx(() => [
|
|
9172
|
+
createVNode(unref(N8nIcon), {
|
|
9173
|
+
icon: "arrow-right-to-line",
|
|
9174
|
+
size: "xlarge"
|
|
9175
|
+
})
|
|
9176
|
+
]),
|
|
9177
|
+
description: withCtx(() => [
|
|
9178
|
+
createVNode(unref(I18nT), {
|
|
9179
|
+
tag: "span",
|
|
9180
|
+
keypath: "ndv.input.noOutputData.v2.description",
|
|
9181
|
+
scope: "global"
|
|
9182
|
+
}, {
|
|
9183
|
+
link: withCtx(() => [
|
|
9184
|
+
createVNode(_sfc_main$10, {
|
|
9185
|
+
"hide-icon": "",
|
|
9186
|
+
transparent: "",
|
|
9187
|
+
type: "secondary",
|
|
9188
|
+
"node-name": (isActiveNodeConfig.value ? rootNode.value : activeNode.value?.name) ?? "",
|
|
9189
|
+
label: unref(i18n2).baseText("ndv.input.noOutputData.v2.action"),
|
|
9190
|
+
tooltip: unref(i18n2).baseText("ndv.input.noOutputData.v2.tooltip"),
|
|
9191
|
+
"tooltip-placement": "bottom",
|
|
9192
|
+
"telemetry-source": "inputs",
|
|
9193
|
+
"data-test-id": "execute-previous-node",
|
|
9194
|
+
onExecute: onNodeExecute
|
|
9195
|
+
}, null, 8, ["node-name", "label", "tooltip"]),
|
|
9196
|
+
_cache[4] || (_cache[4] = createBaseVNode("br", null, null, -1))
|
|
9197
|
+
]),
|
|
9198
|
+
_: 1
|
|
9199
|
+
})
|
|
9200
|
+
]),
|
|
9201
|
+
_: 1
|
|
9202
|
+
}, 8, ["title"])) : (openBlock(), createBlock(__unplugin_components_2, {
|
|
9203
|
+
key: 1,
|
|
9204
|
+
title: unref(i18n2).baseText("ndv.input.rootNodeHasNotRun.title")
|
|
9205
|
+
}, {
|
|
9206
|
+
icon: withCtx(() => _cache[5] || (_cache[5] = [
|
|
9207
|
+
createBaseVNode("svg", {
|
|
9208
|
+
width: "16px",
|
|
9209
|
+
viewBox: "0 0 16 14",
|
|
9210
|
+
fill: "none",
|
|
9211
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
9212
|
+
}, [
|
|
9213
|
+
createBaseVNode("path", {
|
|
9214
|
+
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",
|
|
9215
|
+
fill: "currentColor"
|
|
9216
|
+
})
|
|
9217
|
+
], -1)
|
|
9218
|
+
])),
|
|
9219
|
+
description: withCtx(() => [
|
|
9220
|
+
createVNode(unref(I18nT), {
|
|
9221
|
+
tag: "span",
|
|
9222
|
+
keypath: "ndv.input.rootNodeHasNotRun.description",
|
|
9223
|
+
scope: "global"
|
|
9224
|
+
}, {
|
|
9225
|
+
link: withCtx(() => [
|
|
9226
|
+
createBaseVNode("a", {
|
|
9227
|
+
href: "#",
|
|
9228
|
+
"data-test-id": "switch-to-mapping-mode-link",
|
|
9229
|
+
onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onInputModeChange("mapping"), ["prevent"]))
|
|
9230
|
+
}, toDisplayString(unref(i18n2).baseText("ndv.input.rootNodeHasNotRun.description.link")), 1)
|
|
9231
|
+
]),
|
|
9232
|
+
_: 1
|
|
9233
|
+
})
|
|
9234
|
+
]),
|
|
9235
|
+
_: 1
|
|
9236
|
+
}, 8, ["title"]))
|
|
9237
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
9238
|
+
isMappingEnabled.value || hasRootNodeRun.value ? (openBlock(), createBlock(unref(N8nText), {
|
|
9239
|
+
key: 0,
|
|
9240
|
+
tag: "div",
|
|
9241
|
+
bold: true,
|
|
9242
|
+
color: "text-dark",
|
|
9243
|
+
size: "large"
|
|
9244
|
+
}, {
|
|
9245
|
+
default: withCtx(() => [
|
|
9246
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.noOutputData.title")), 1)
|
|
9247
|
+
]),
|
|
9248
|
+
_: 1
|
|
9249
|
+
})) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
9250
|
+
createVNode(unref(N8nText), {
|
|
9251
|
+
tag: "div",
|
|
9252
|
+
bold: true,
|
|
9253
|
+
color: "text-dark",
|
|
9254
|
+
size: "large"
|
|
9255
|
+
}, {
|
|
9256
|
+
default: withCtx(() => [
|
|
9257
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.rootNodeHasNotRun.title")), 1)
|
|
9258
|
+
]),
|
|
9259
|
+
_: 1
|
|
9260
|
+
}),
|
|
9261
|
+
createVNode(unref(N8nText), {
|
|
9262
|
+
tag: "div",
|
|
9263
|
+
color: "text-dark",
|
|
9264
|
+
size: "medium"
|
|
9265
|
+
}, {
|
|
9266
|
+
default: withCtx(() => [
|
|
9267
|
+
createVNode(unref(I18nT), {
|
|
9268
|
+
tag: "span",
|
|
9269
|
+
keypath: "ndv.input.rootNodeHasNotRun.description",
|
|
9270
|
+
scope: "global"
|
|
9271
|
+
}, {
|
|
9272
|
+
link: withCtx(() => [
|
|
9273
|
+
createBaseVNode("a", {
|
|
9274
|
+
href: "#",
|
|
9275
|
+
"data-test-id": "switch-to-mapping-mode-link",
|
|
9276
|
+
onClick: _cache[1] || (_cache[1] = withModifiers(($event) => onInputModeChange("mapping"), ["prevent"]))
|
|
9277
|
+
}, toDisplayString(unref(i18n2).baseText("ndv.input.rootNodeHasNotRun.description.link")), 1)
|
|
9278
|
+
]),
|
|
9279
|
+
_: 1
|
|
9280
|
+
})
|
|
9281
|
+
]),
|
|
9282
|
+
_: 1
|
|
9283
|
+
})
|
|
9284
|
+
], 64)),
|
|
9285
|
+
!_ctx.readOnly ? (openBlock(), createBlock(unref(N8nTooltip), {
|
|
9286
|
+
key: 2,
|
|
9287
|
+
visible: showDraggableHint.value && showDraggableHintWithDelay.value
|
|
9288
|
+
}, {
|
|
9289
|
+
content: withCtx(() => [
|
|
9290
|
+
withDirectives(createBaseVNode("div", null, null, 512), [
|
|
9291
|
+
[
|
|
9292
|
+
_directive_n8n_html,
|
|
9293
|
+
unref(i18n2).baseText("dataMapping.dragFromPreviousHint", {
|
|
9294
|
+
interpolate: { name: _ctx.focusedMappableInput }
|
|
9295
|
+
})
|
|
9296
|
+
]
|
|
9297
|
+
])
|
|
9298
|
+
]),
|
|
9299
|
+
default: withCtx(() => [
|
|
9300
|
+
createVNode(_sfc_main$10, {
|
|
9301
|
+
type: "secondary",
|
|
9302
|
+
"hide-icon": "",
|
|
9303
|
+
transparent: true,
|
|
9304
|
+
"node-name": (isActiveNodeConfig.value ? rootNode.value : activeNode.value?.name) ?? "",
|
|
9305
|
+
label: unref(i18n2).baseText("ndv.input.noOutputData.executePrevious"),
|
|
9306
|
+
class: "mt-m",
|
|
9307
|
+
"telemetry-source": "inputs",
|
|
9308
|
+
"data-test-id": "execute-previous-node",
|
|
9309
|
+
onExecute: onNodeExecute
|
|
9310
|
+
}, null, 8, ["node-name", "label"])
|
|
9311
|
+
]),
|
|
9312
|
+
_: 1
|
|
9313
|
+
}, 8, ["visible"])) : createCommentVNode("", true),
|
|
9314
|
+
!_ctx.readOnly ? (openBlock(), createBlock(unref(N8nText), {
|
|
9315
|
+
key: 3,
|
|
9316
|
+
tag: "div",
|
|
9317
|
+
size: "small"
|
|
9318
|
+
}, {
|
|
9319
|
+
default: withCtx(() => [
|
|
9320
|
+
createVNode(unref(I18nT), {
|
|
9321
|
+
keypath: "ndv.input.noOutputData.hint",
|
|
9322
|
+
scope: "global"
|
|
9323
|
+
}, {
|
|
9324
|
+
info: withCtx(() => [
|
|
9325
|
+
createVNode(unref(N8nTooltip), { placement: "bottom" }, {
|
|
9326
|
+
content: withCtx(() => [
|
|
9327
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.noOutputData.hint.tooltip")), 1)
|
|
9328
|
+
]),
|
|
9329
|
+
default: withCtx(() => [
|
|
9330
|
+
createVNode(unref(N8nIcon), { icon: "circle-help" })
|
|
9331
|
+
]),
|
|
9332
|
+
_: 1
|
|
9333
|
+
})
|
|
9334
|
+
]),
|
|
9335
|
+
_: 1
|
|
9336
|
+
})
|
|
9337
|
+
]),
|
|
9338
|
+
_: 1
|
|
9339
|
+
})) : createCommentVNode("", true)
|
|
9340
|
+
], 64))
|
|
9341
|
+
], 2)) : (openBlock(), createElementBlock("div", {
|
|
9342
|
+
key: 1,
|
|
9343
|
+
class: normalizeClass(_ctx.$style.notConnected)
|
|
9344
|
+
}, [
|
|
9345
|
+
isNDVV2.value ? (openBlock(), createBlock(__unplugin_components_2, {
|
|
9346
|
+
key: 0,
|
|
9347
|
+
title: unref(i18n2).baseText("ndv.input.notConnected.v2.title")
|
|
9348
|
+
}, {
|
|
9349
|
+
icon: withCtx(() => [
|
|
9350
|
+
createVNode(WireMeUp)
|
|
9351
|
+
]),
|
|
9352
|
+
description: withCtx(() => [
|
|
9353
|
+
createVNode(unref(I18nT), {
|
|
9354
|
+
tag: "span",
|
|
9355
|
+
keypath: "ndv.input.notConnected.v2.description",
|
|
9356
|
+
scope: "global"
|
|
9357
|
+
}, {
|
|
9358
|
+
link: withCtx(() => [
|
|
9359
|
+
createBaseVNode("a", {
|
|
9360
|
+
href: "https://docs.n8n.io/workflows/connections/",
|
|
9361
|
+
target: "_blank",
|
|
9362
|
+
onClick: onConnectionHelpClick
|
|
9363
|
+
}, toDisplayString(unref(i18n2).baseText("ndv.input.notConnected.learnMore")), 1)
|
|
9364
|
+
]),
|
|
9365
|
+
_: 1
|
|
9366
|
+
})
|
|
9367
|
+
]),
|
|
9368
|
+
_: 1
|
|
9369
|
+
}, 8, ["title"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
9370
|
+
createBaseVNode("div", null, [
|
|
9371
|
+
createVNode(WireMeUp)
|
|
9372
|
+
]),
|
|
9373
|
+
createVNode(unref(N8nText), {
|
|
9374
|
+
tag: "div",
|
|
9375
|
+
bold: true,
|
|
9376
|
+
color: "text-dark",
|
|
9377
|
+
size: "large"
|
|
9378
|
+
}, {
|
|
9379
|
+
default: withCtx(() => [
|
|
9380
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.notConnected.title")), 1)
|
|
9381
|
+
]),
|
|
9382
|
+
_: 1
|
|
9383
|
+
}),
|
|
9384
|
+
createVNode(unref(N8nText), { tag: "div" }, {
|
|
9385
|
+
default: withCtx(() => [
|
|
9386
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.notConnected.message")) + " ", 1),
|
|
9387
|
+
createBaseVNode("a", {
|
|
9388
|
+
href: "https://docs.n8n.io/workflows/connections/",
|
|
9389
|
+
target: "_blank",
|
|
9390
|
+
onClick: onConnectionHelpClick
|
|
9391
|
+
}, toDisplayString(unref(i18n2).baseText("ndv.input.notConnected.learnMore")), 1)
|
|
9392
|
+
]),
|
|
9393
|
+
_: 1
|
|
9394
|
+
})
|
|
9395
|
+
], 64))
|
|
9396
|
+
], 2))
|
|
9397
|
+
]),
|
|
9398
|
+
"node-waiting": withCtx(() => [
|
|
9399
|
+
createVNode(unref(N8nText), {
|
|
9400
|
+
bold: true,
|
|
9401
|
+
color: "text-dark",
|
|
9402
|
+
size: "large"
|
|
9403
|
+
}, {
|
|
9404
|
+
default: withCtx(() => [
|
|
9405
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.output.waitNodeWaiting.title")), 1)
|
|
9406
|
+
]),
|
|
9407
|
+
_: 1
|
|
9408
|
+
}),
|
|
9409
|
+
withDirectives(createVNode(unref(N8nText), null, null, 512), [
|
|
9410
|
+
[_directive_n8n_html, waitingMessage.value]
|
|
9411
|
+
])
|
|
9412
|
+
]),
|
|
9413
|
+
"no-output-data": withCtx(() => [
|
|
9414
|
+
createVNode(unref(N8nText), {
|
|
9415
|
+
tag: "div",
|
|
9416
|
+
bold: true,
|
|
9417
|
+
color: "text-dark",
|
|
9418
|
+
size: "large"
|
|
9419
|
+
}, {
|
|
9420
|
+
default: withCtx(() => [
|
|
9421
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("ndv.input.noOutputData")), 1)
|
|
9422
|
+
]),
|
|
9423
|
+
_: 1
|
|
9424
|
+
})
|
|
9425
|
+
]),
|
|
9426
|
+
"recovered-artificial-output-data": withCtx(() => [
|
|
9427
|
+
createBaseVNode("div", {
|
|
9428
|
+
class: normalizeClass(_ctx.$style.recoveredOutputData)
|
|
9429
|
+
}, [
|
|
9430
|
+
createVNode(unref(N8nText), {
|
|
9431
|
+
tag: "div",
|
|
9432
|
+
bold: true,
|
|
9433
|
+
color: "text-dark",
|
|
9434
|
+
size: "large"
|
|
9435
|
+
}, {
|
|
9436
|
+
default: withCtx(() => [
|
|
9437
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("executionDetails.executionFailed.recoveredNodeTitle")), 1)
|
|
9438
|
+
]),
|
|
9439
|
+
_: 1
|
|
9440
|
+
}),
|
|
9441
|
+
createVNode(unref(N8nText), null, {
|
|
9442
|
+
default: withCtx(() => [
|
|
9443
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("executionDetails.executionFailed.recoveredNodeMessage")), 1)
|
|
9444
|
+
]),
|
|
9445
|
+
_: 1
|
|
9446
|
+
})
|
|
9447
|
+
], 2)
|
|
9448
|
+
]),
|
|
9449
|
+
_: 2
|
|
9450
|
+
}, [
|
|
9451
|
+
isMappingMode.value ? {
|
|
9452
|
+
name: "before-data",
|
|
9453
|
+
fn: withCtx(() => [
|
|
9454
|
+
(openBlock(), createBlock(resolveDynamicComponent("style"), null, {
|
|
9455
|
+
default: withCtx(() => _cache[3] || (_cache[3] = [
|
|
9456
|
+
createTextVNode("button.linkRun { display: none }")
|
|
9457
|
+
])),
|
|
9458
|
+
_: 1
|
|
9459
|
+
})),
|
|
9460
|
+
createBaseVNode("div", {
|
|
9461
|
+
class: normalizeClass(_ctx.$style.mappedNode)
|
|
9462
|
+
}, [
|
|
9463
|
+
createVNode(InputNodeSelect, {
|
|
9464
|
+
"model-value": mappedNode2.value,
|
|
9465
|
+
workflow: _ctx.workflow,
|
|
9466
|
+
nodes: rootNodesParents.value,
|
|
9467
|
+
"onUpdate:modelValue": onMappedNodeSelected
|
|
9468
|
+
}, null, 8, ["model-value", "workflow", "nodes"])
|
|
9469
|
+
], 2)
|
|
9470
|
+
]),
|
|
9471
|
+
key: "0"
|
|
9472
|
+
} : void 0
|
|
9473
|
+
]), 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", "compact", "disable-display-mode-selection"]);
|
|
9474
|
+
};
|
|
9475
|
+
}
|
|
9476
|
+
});
|
|
9477
|
+
const runData = "_runData_1mq3a_123";
|
|
9478
|
+
const mappedNode = "_mappedNode_1mq3a_127";
|
|
9479
|
+
const titleSection = "_titleSection_1mq3a_131";
|
|
9480
|
+
const titleSectionV2 = "_titleSectionV2_1mq3a_140";
|
|
9481
|
+
const inputModeTab = "_inputModeTab_1mq3a_144";
|
|
9482
|
+
const noOutputData = "_noOutputData_1mq3a_148";
|
|
9483
|
+
const recoveredOutputData = "_recoveredOutputData_1mq3a_155";
|
|
9484
|
+
const notConnected = "_notConnected_1mq3a_164";
|
|
9485
|
+
const title = "_title_1mq3a_131";
|
|
9486
|
+
const titleV2 = "_titleV2_1mq3a_179";
|
|
9487
|
+
const style0$r = {
|
|
9488
|
+
runData,
|
|
9489
|
+
mappedNode,
|
|
9490
|
+
titleSection,
|
|
9491
|
+
titleSectionV2,
|
|
9492
|
+
inputModeTab,
|
|
9493
|
+
noOutputData,
|
|
9494
|
+
recoveredOutputData,
|
|
9495
|
+
notConnected,
|
|
9496
|
+
title,
|
|
9497
|
+
titleV2
|
|
9498
|
+
};
|
|
9499
|
+
const cssModules$r = {
|
|
9500
|
+
"$style": style0$r
|
|
9501
|
+
};
|
|
9502
|
+
const InputPanel = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["__cssModules", cssModules$r]]);
|
|
9503
|
+
const _sfc_main$B = /* @__PURE__ */ defineComponent({
|
|
9504
|
+
__name: "NodeTitle",
|
|
9505
|
+
props: {
|
|
9506
|
+
modelValue: { default: "" },
|
|
9507
|
+
nodeType: { default: void 0 },
|
|
9508
|
+
readOnly: { type: Boolean, default: false }
|
|
9509
|
+
},
|
|
9510
|
+
emits: ["update:model-value"],
|
|
9511
|
+
setup(__props, { emit: __emit }) {
|
|
9512
|
+
const emit = __emit;
|
|
9513
|
+
function onRename(value) {
|
|
9514
|
+
if (value.trim() !== "") {
|
|
9515
|
+
emit("update:model-value", value.trim());
|
|
9516
|
+
}
|
|
9517
|
+
}
|
|
9518
|
+
const wrapperRef = useTemplateRef("wrapperRef");
|
|
9519
|
+
const { width } = useElementSize(wrapperRef);
|
|
9520
|
+
return (_ctx, _cache) => {
|
|
9521
|
+
return openBlock(), createElementBlock("span", {
|
|
9522
|
+
class: normalizeClass(_ctx.$style.container),
|
|
9523
|
+
"data-test-id": "node-title-container"
|
|
9524
|
+
}, [
|
|
9525
|
+
createBaseVNode("span", {
|
|
9526
|
+
class: normalizeClass(_ctx.$style.iconWrapper)
|
|
9527
|
+
}, [
|
|
9528
|
+
createVNode(_sfc_main$$, {
|
|
9529
|
+
"node-type": _ctx.nodeType,
|
|
9530
|
+
size: 18,
|
|
9531
|
+
"show-tooltip": true,
|
|
9532
|
+
"tooltip-position": "left"
|
|
9533
|
+
}, null, 8, ["node-type"])
|
|
9534
|
+
], 2),
|
|
9535
|
+
createBaseVNode("div", {
|
|
9536
|
+
ref_key: "wrapperRef",
|
|
9537
|
+
ref: wrapperRef,
|
|
9538
|
+
class: normalizeClass(_ctx.$style.textWrapper)
|
|
9539
|
+
}, [
|
|
9540
|
+
createVNode(unref(InlineRename), {
|
|
9541
|
+
"max-width": unref(width),
|
|
9542
|
+
"model-value": _ctx.modelValue,
|
|
9543
|
+
"read-only": _ctx.readOnly,
|
|
9544
|
+
"onUpdate:modelValue": onRename
|
|
9545
|
+
}, null, 8, ["max-width", "model-value", "read-only"])
|
|
9546
|
+
], 2)
|
|
9547
|
+
], 2);
|
|
9548
|
+
};
|
|
9549
|
+
}
|
|
9550
|
+
});
|
|
9551
|
+
const container$5 = "_container_178ym_123";
|
|
9552
|
+
const textWrapper = "_textWrapper_178ym_132";
|
|
9553
|
+
const iconWrapper$1 = "_iconWrapper_178ym_137";
|
|
9554
|
+
const style0$q = {
|
|
9555
|
+
container: container$5,
|
|
9556
|
+
textWrapper,
|
|
9557
|
+
iconWrapper: iconWrapper$1
|
|
9558
|
+
};
|
|
9559
|
+
const cssModules$q = {
|
|
9560
|
+
"$style": style0$q
|
|
9561
|
+
};
|
|
9562
|
+
const NodeTitle = /* @__PURE__ */ _export_sfc$1(_sfc_main$B, [["__cssModules", cssModules$q]]);
|
|
9563
|
+
const _sfc_main$A = /* @__PURE__ */ defineComponent({
|
|
9564
|
+
__name: "CommunityNodeFooter",
|
|
9565
|
+
props: {
|
|
9566
|
+
packageName: {},
|
|
9567
|
+
showManage: { type: Boolean }
|
|
9568
|
+
},
|
|
9569
|
+
setup(__props) {
|
|
9570
|
+
const props = __props;
|
|
9571
|
+
const router = useRouter();
|
|
9572
|
+
const bugsUrl = ref(`https://registry.npmjs.org/${props.packageName}`);
|
|
9573
|
+
const installedPackage = ref(void 0);
|
|
9574
|
+
async function openSettingsPage() {
|
|
9575
|
+
await router.push({ name: VIEWS.COMMUNITY_NODES });
|
|
9576
|
+
}
|
|
9577
|
+
async function openIssuesPage() {
|
|
9578
|
+
if (bugsUrl.value) {
|
|
9579
|
+
window.open(bugsUrl.value, "_blank");
|
|
9580
|
+
}
|
|
9581
|
+
}
|
|
9582
|
+
async function getBugsUrl(packageName) {
|
|
9583
|
+
const url = `https://registry.npmjs.org/${packageName}`;
|
|
9584
|
+
try {
|
|
9585
|
+
const response = await fetch(url);
|
|
9586
|
+
if (!response.ok) {
|
|
9587
|
+
throw new Error("Could not get metadata for package");
|
|
9588
|
+
}
|
|
9589
|
+
const data = await response.json();
|
|
9590
|
+
if (data.bugs?.url) {
|
|
9591
|
+
bugsUrl.value = data.bugs.url;
|
|
9592
|
+
}
|
|
9593
|
+
} catch (error2) {
|
|
9594
|
+
captureException(error2);
|
|
9595
|
+
}
|
|
9596
|
+
}
|
|
9597
|
+
onMounted(async () => {
|
|
9598
|
+
if (props.packageName) {
|
|
9599
|
+
await getBugsUrl(props.packageName);
|
|
9600
|
+
installedPackage.value = await useCommunityNodesStore().getInstalledPackage(props.packageName);
|
|
9601
|
+
}
|
|
9602
|
+
});
|
|
9603
|
+
return (_ctx, _cache) => {
|
|
9604
|
+
return openBlock(), createElementBlock("div", null, [
|
|
9605
|
+
createBaseVNode("div", {
|
|
9606
|
+
class: normalizeClass(_ctx.$style.separator)
|
|
9607
|
+
}, null, 2),
|
|
9608
|
+
createBaseVNode("div", {
|
|
9609
|
+
class: normalizeClass(_ctx.$style.container)
|
|
9610
|
+
}, [
|
|
9611
|
+
installedPackage.value ? (openBlock(), createBlock(unref(N8nText), {
|
|
9612
|
+
key: 0,
|
|
9613
|
+
size: "small",
|
|
9614
|
+
color: "text-light",
|
|
9615
|
+
style: { "margin-right": "auto" }
|
|
9616
|
+
}, {
|
|
9617
|
+
default: withCtx(() => [
|
|
9618
|
+
createTextVNode(" Package version " + toDisplayString(installedPackage.value.installedVersion) + " (" + toDisplayString(installedPackage.value.updateAvailable ? "Legacy" : "Latest") + ") ", 1)
|
|
9619
|
+
]),
|
|
9620
|
+
_: 1
|
|
9621
|
+
})) : createCommentVNode("", true),
|
|
9622
|
+
props.showManage ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
9623
|
+
createVNode(unref(N8nLink), {
|
|
9624
|
+
theme: "text",
|
|
9625
|
+
onClick: openSettingsPage
|
|
9626
|
+
}, {
|
|
9627
|
+
default: withCtx(() => [
|
|
9628
|
+
createVNode(unref(N8nText), {
|
|
9629
|
+
size: "small",
|
|
9630
|
+
color: "primary",
|
|
9631
|
+
bold: ""
|
|
9632
|
+
}, {
|
|
9633
|
+
default: withCtx(() => _cache[0] || (_cache[0] = [
|
|
9634
|
+
createTextVNode(" Manage ")
|
|
9635
|
+
])),
|
|
9636
|
+
_: 1
|
|
9637
|
+
})
|
|
9638
|
+
]),
|
|
9639
|
+
_: 1
|
|
9640
|
+
}),
|
|
9641
|
+
createVNode(unref(N8nText), {
|
|
9642
|
+
size: "small",
|
|
9643
|
+
style: { "color": "var(--color-foreground-base)" },
|
|
9644
|
+
bold: ""
|
|
9645
|
+
}, {
|
|
9646
|
+
default: withCtx(() => _cache[1] || (_cache[1] = [
|
|
9647
|
+
createTextVNode("|")
|
|
9648
|
+
])),
|
|
9649
|
+
_: 1
|
|
9650
|
+
})
|
|
9651
|
+
], 64)) : createCommentVNode("", true),
|
|
9652
|
+
createVNode(unref(N8nLink), {
|
|
9653
|
+
theme: "text",
|
|
9654
|
+
onClick: openIssuesPage
|
|
9655
|
+
}, {
|
|
9656
|
+
default: withCtx(() => [
|
|
9657
|
+
createVNode(unref(N8nText), {
|
|
9658
|
+
size: "small",
|
|
9659
|
+
color: "primary",
|
|
9660
|
+
bold: ""
|
|
9661
|
+
}, {
|
|
9662
|
+
default: withCtx(() => _cache[2] || (_cache[2] = [
|
|
9663
|
+
createTextVNode(" Report issue ")
|
|
9664
|
+
])),
|
|
9665
|
+
_: 1
|
|
9666
|
+
})
|
|
9667
|
+
]),
|
|
9668
|
+
_: 1
|
|
9669
|
+
})
|
|
9670
|
+
], 2)
|
|
9671
|
+
]);
|
|
9672
|
+
};
|
|
9673
|
+
}
|
|
9674
|
+
});
|
|
9675
|
+
const container$4 = "_container_1lo1n_123";
|
|
9676
|
+
const separator = "_separator_1lo1n_131";
|
|
9677
|
+
const style0$p = {
|
|
9678
|
+
container: container$4,
|
|
9679
|
+
separator
|
|
9680
|
+
};
|
|
9681
|
+
const cssModules$p = {
|
|
9682
|
+
"$style": style0$p
|
|
9683
|
+
};
|
|
9684
|
+
const CommunityNodeFooter = /* @__PURE__ */ _export_sfc$1(_sfc_main$A, [["__cssModules", cssModules$p]]);
|
|
9685
|
+
const _sfc_main$z = /* @__PURE__ */ defineComponent({
|
|
9686
|
+
__name: "CommunityNodeUpdateInfo",
|
|
9687
|
+
setup(__props) {
|
|
9688
|
+
const noticeStyles = computed(() => {
|
|
9689
|
+
const isDark = useUIStore().appliedTheme === "dark";
|
|
9690
|
+
if (isDark) {
|
|
9691
|
+
return {
|
|
9692
|
+
borderColor: "var(--color-callout-secondary-border)",
|
|
9693
|
+
backgroundColor: "var(--color-callout-secondary-background)",
|
|
9694
|
+
color: "var(--color-callout-secondary-font)"
|
|
9695
|
+
};
|
|
9696
|
+
}
|
|
9697
|
+
return {
|
|
9698
|
+
borderColor: "var(--color-secondary)",
|
|
9699
|
+
backgroundColor: "var(--color-secondary-tint-3)"
|
|
9700
|
+
};
|
|
9701
|
+
});
|
|
9702
|
+
return (_ctx, _cache) => {
|
|
9703
|
+
return openBlock(), createBlock(unref(N8nNotice), {
|
|
9704
|
+
theme: "info",
|
|
9705
|
+
style: normalizeStyle({
|
|
9706
|
+
marginTop: "0",
|
|
9707
|
+
...noticeStyles.value
|
|
9708
|
+
})
|
|
9709
|
+
}, {
|
|
9710
|
+
default: withCtx(() => [
|
|
9711
|
+
createTextVNode(toDisplayString(unref(i18n).baseText("communityNodeUpdateInfo.available")), 1)
|
|
9712
|
+
]),
|
|
9713
|
+
_: 1
|
|
9714
|
+
}, 8, ["style"]);
|
|
9715
|
+
};
|
|
9716
|
+
}
|
|
9717
|
+
});
|
|
9718
|
+
const useNodeDocsUrl = ({
|
|
9719
|
+
nodeType: nodeTypeRef
|
|
9720
|
+
}) => {
|
|
9721
|
+
const packageName = computed(() => toValue(nodeTypeRef)?.name.split(".")[0] ?? "");
|
|
9722
|
+
const isCommunityNode = computed(() => {
|
|
9723
|
+
const nodeType = toValue(nodeTypeRef);
|
|
9724
|
+
if (nodeType) {
|
|
9725
|
+
return isCommunityPackageName(nodeType.name);
|
|
9726
|
+
}
|
|
9727
|
+
return false;
|
|
9728
|
+
});
|
|
9729
|
+
const docsUrl = computed(() => {
|
|
9730
|
+
const nodeType = toValue(nodeTypeRef);
|
|
9731
|
+
if (!nodeType) {
|
|
9732
|
+
return "";
|
|
9733
|
+
}
|
|
9734
|
+
if (nodeType.documentationUrl?.startsWith("http")) {
|
|
9735
|
+
return nodeType.documentationUrl;
|
|
9736
|
+
}
|
|
9737
|
+
const utmParams = new URLSearchParams({
|
|
9738
|
+
utm_source: "n8n_app",
|
|
9739
|
+
utm_medium: "node_settings_modal-credential_link",
|
|
9740
|
+
utm_campaign: nodeType.name
|
|
9741
|
+
});
|
|
9742
|
+
const primaryDocUrl = nodeType.codex?.resources?.primaryDocumentation?.[0]?.url;
|
|
9743
|
+
if (primaryDocUrl) {
|
|
9744
|
+
return `${primaryDocUrl}?${utmParams.toString()}`;
|
|
9745
|
+
}
|
|
9746
|
+
if (isCommunityNode.value) {
|
|
9747
|
+
return `${NPM_PACKAGE_DOCS_BASE_URL}${packageName.value}`;
|
|
9748
|
+
}
|
|
9749
|
+
return `${BUILTIN_NODES_DOCS_URL}?${utmParams.toString()}`;
|
|
9750
|
+
});
|
|
9751
|
+
return { docsUrl };
|
|
9752
|
+
};
|
|
9753
|
+
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
9754
|
+
__name: "NodeSettingsTabs",
|
|
9755
|
+
props: {
|
|
9756
|
+
modelValue: { default: "params" },
|
|
9757
|
+
nodeType: { default: void 0 },
|
|
9758
|
+
pushRef: { default: "" },
|
|
9759
|
+
hideDocs: { type: Boolean }
|
|
9760
|
+
},
|
|
9761
|
+
emits: ["update:model-value"],
|
|
9762
|
+
setup(__props, { emit: __emit }) {
|
|
9763
|
+
const props = __props;
|
|
9764
|
+
const emit = __emit;
|
|
9765
|
+
const externalHooks = useExternalHooks();
|
|
9766
|
+
const ndvStore = useNDVStore();
|
|
9767
|
+
const workflowsStore = useWorkflowsStore();
|
|
9768
|
+
const i18n2 = useI18n();
|
|
9769
|
+
const telemetry = useTelemetry();
|
|
9770
|
+
const { docsUrl } = useNodeDocsUrl({ nodeType: () => props.nodeType });
|
|
9771
|
+
const communityNodesStore = useCommunityNodesStore();
|
|
9772
|
+
const activeNode = computed(() => ndvStore.activeNode);
|
|
9773
|
+
const installedPackage = ref(void 0);
|
|
9774
|
+
const isCommunityNode = computed(() => {
|
|
9775
|
+
const nodeType = props.nodeType;
|
|
9776
|
+
if (nodeType) {
|
|
9777
|
+
return isCommunityPackageName(nodeType.name);
|
|
9778
|
+
}
|
|
9779
|
+
return false;
|
|
9780
|
+
});
|
|
9781
|
+
const packageName = computed(() => props.nodeType?.name.split(".")[0] ?? "");
|
|
9782
|
+
const documentationUrl = computed(() => {
|
|
9783
|
+
if (props.hideDocs) {
|
|
9784
|
+
return "";
|
|
9785
|
+
}
|
|
9786
|
+
return docsUrl.value;
|
|
9787
|
+
});
|
|
9788
|
+
const options = computed(() => {
|
|
9789
|
+
const options2 = [
|
|
9790
|
+
{
|
|
9791
|
+
label: i18n2.baseText("nodeSettings.parameters"),
|
|
9792
|
+
value: "params"
|
|
9793
|
+
},
|
|
9794
|
+
{
|
|
9795
|
+
label: i18n2.baseText("nodeSettings.settings"),
|
|
9796
|
+
value: "settings",
|
|
9797
|
+
notification: installedPackage.value?.updateAvailable ? true : void 0
|
|
9798
|
+
}
|
|
9799
|
+
];
|
|
9800
|
+
if (isCommunityNode.value) {
|
|
9801
|
+
options2.push({
|
|
9802
|
+
icon: "box",
|
|
9803
|
+
value: "communityNode",
|
|
8798
9804
|
align: "right",
|
|
8799
|
-
tooltip:
|
|
9805
|
+
tooltip: i18n2.baseText("generic.communityNode.tooltip", {
|
|
8800
9806
|
interpolate: {
|
|
8801
9807
|
docUrl: COMMUNITY_NODES_INSTALLATION_DOCS_URL,
|
|
8802
9808
|
packageName: packageName.value
|
|
@@ -8806,7 +9812,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
8806
9812
|
}
|
|
8807
9813
|
if (documentationUrl.value) {
|
|
8808
9814
|
options2.push({
|
|
8809
|
-
label:
|
|
9815
|
+
label: i18n2.baseText("nodeSettings.docs"),
|
|
8810
9816
|
value: "docs",
|
|
8811
9817
|
href: documentationUrl.value,
|
|
8812
9818
|
align: "right"
|
|
@@ -8843,6 +9849,11 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
8843
9849
|
telemetry.track("user clicked cnr docs link", { source: "node details view" });
|
|
8844
9850
|
}
|
|
8845
9851
|
}
|
|
9852
|
+
onMounted(async () => {
|
|
9853
|
+
if (isCommunityNode.value && useUsersStore().isInstanceOwner) {
|
|
9854
|
+
installedPackage.value = await communityNodesStore.getInstalledPackage(packageName.value);
|
|
9855
|
+
}
|
|
9856
|
+
});
|
|
8846
9857
|
return (_ctx, _cache) => {
|
|
8847
9858
|
return openBlock(), createBlock(unref(N8nTabs), {
|
|
8848
9859
|
options: options.value,
|
|
@@ -8891,7 +9902,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
8891
9902
|
const clipboard = useClipboard();
|
|
8892
9903
|
const workflowHelpers = useWorkflowHelpers();
|
|
8893
9904
|
const toast = useToast();
|
|
8894
|
-
const
|
|
9905
|
+
const i18n2 = useI18n();
|
|
8895
9906
|
const telemetry = useTelemetry();
|
|
8896
9907
|
const isMinimized = ref(
|
|
8897
9908
|
props.nodeTypeDescription && !OPEN_URL_PANEL_TRIGGER_NODE_TYPES.includes(props.nodeTypeDescription.name)
|
|
@@ -8928,46 +9939,46 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
8928
9939
|
switch (nodeType) {
|
|
8929
9940
|
case CHAT_TRIGGER_NODE_TYPE:
|
|
8930
9941
|
return {
|
|
8931
|
-
toggleTitle:
|
|
8932
|
-
clickToDisplay:
|
|
8933
|
-
clickToHide:
|
|
8934
|
-
clickToCopy:
|
|
8935
|
-
testUrl:
|
|
8936
|
-
productionUrl:
|
|
8937
|
-
copyTitle:
|
|
8938
|
-
copyMessage:
|
|
9942
|
+
toggleTitle: i18n2.baseText("nodeWebhooks.webhookUrls.chatTrigger"),
|
|
9943
|
+
clickToDisplay: i18n2.baseText("nodeWebhooks.clickToDisplayWebhookUrls.formTrigger"),
|
|
9944
|
+
clickToHide: i18n2.baseText("nodeWebhooks.clickToHideWebhookUrls.chatTrigger"),
|
|
9945
|
+
clickToCopy: i18n2.baseText("nodeWebhooks.clickToCopyWebhookUrls.chatTrigger"),
|
|
9946
|
+
testUrl: i18n2.baseText("nodeWebhooks.testUrl"),
|
|
9947
|
+
productionUrl: i18n2.baseText("nodeWebhooks.productionUrl"),
|
|
9948
|
+
copyTitle: i18n2.baseText("nodeWebhooks.showMessage.title.chatTrigger"),
|
|
9949
|
+
copyMessage: i18n2.baseText("nodeWebhooks.showMessage.message.chatTrigger")
|
|
8939
9950
|
};
|
|
8940
9951
|
case FORM_TRIGGER_NODE_TYPE:
|
|
8941
9952
|
return {
|
|
8942
|
-
toggleTitle:
|
|
8943
|
-
clickToDisplay:
|
|
8944
|
-
clickToHide:
|
|
8945
|
-
clickToCopy:
|
|
8946
|
-
testUrl:
|
|
8947
|
-
productionUrl:
|
|
8948
|
-
copyTitle:
|
|
8949
|
-
copyMessage:
|
|
9953
|
+
toggleTitle: i18n2.baseText("nodeWebhooks.webhookUrls.formTrigger"),
|
|
9954
|
+
clickToDisplay: i18n2.baseText("nodeWebhooks.clickToDisplayWebhookUrls.formTrigger"),
|
|
9955
|
+
clickToHide: i18n2.baseText("nodeWebhooks.clickToHideWebhookUrls.formTrigger"),
|
|
9956
|
+
clickToCopy: i18n2.baseText("nodeWebhooks.clickToCopyWebhookUrls.formTrigger"),
|
|
9957
|
+
testUrl: i18n2.baseText("nodeWebhooks.testUrl"),
|
|
9958
|
+
productionUrl: i18n2.baseText("nodeWebhooks.productionUrl"),
|
|
9959
|
+
copyTitle: i18n2.baseText("nodeWebhooks.showMessage.title.formTrigger"),
|
|
9960
|
+
copyMessage: i18n2.baseText("nodeWebhooks.showMessage.message.formTrigger")
|
|
8950
9961
|
};
|
|
8951
9962
|
case MCP_TRIGGER_NODE_TYPE:
|
|
8952
9963
|
return {
|
|
8953
|
-
toggleTitle:
|
|
8954
|
-
clickToDisplay:
|
|
8955
|
-
clickToHide:
|
|
8956
|
-
clickToCopy:
|
|
8957
|
-
testUrl:
|
|
8958
|
-
productionUrl:
|
|
8959
|
-
copyTitle:
|
|
9964
|
+
toggleTitle: i18n2.baseText("nodeWebhooks.webhookUrls.mcpTrigger"),
|
|
9965
|
+
clickToDisplay: i18n2.baseText("nodeWebhooks.clickToDisplayWebhookUrls.mcpTrigger"),
|
|
9966
|
+
clickToHide: i18n2.baseText("nodeWebhooks.clickToHideWebhookUrls.mcpTrigger"),
|
|
9967
|
+
clickToCopy: i18n2.baseText("nodeWebhooks.clickToCopyWebhookUrls.mcpTrigger"),
|
|
9968
|
+
testUrl: i18n2.baseText("nodeWebhooks.testUrl"),
|
|
9969
|
+
productionUrl: i18n2.baseText("nodeWebhooks.productionUrl"),
|
|
9970
|
+
copyTitle: i18n2.baseText("nodeWebhooks.showMessage.title.mcpTrigger"),
|
|
8960
9971
|
copyMessage: void 0
|
|
8961
9972
|
};
|
|
8962
9973
|
default:
|
|
8963
9974
|
return {
|
|
8964
|
-
toggleTitle:
|
|
8965
|
-
clickToDisplay:
|
|
8966
|
-
clickToHide:
|
|
8967
|
-
clickToCopy:
|
|
8968
|
-
testUrl:
|
|
8969
|
-
productionUrl:
|
|
8970
|
-
copyTitle:
|
|
9975
|
+
toggleTitle: i18n2.baseText("nodeWebhooks.webhookUrls"),
|
|
9976
|
+
clickToDisplay: i18n2.baseText("nodeWebhooks.clickToDisplayWebhookUrls"),
|
|
9977
|
+
clickToHide: i18n2.baseText("nodeWebhooks.clickToHideWebhookUrls"),
|
|
9978
|
+
clickToCopy: i18n2.baseText("nodeWebhooks.clickToCopyWebhookUrls"),
|
|
9979
|
+
testUrl: i18n2.baseText("nodeWebhooks.testUrl"),
|
|
9980
|
+
productionUrl: i18n2.baseText("nodeWebhooks.productionUrl"),
|
|
9981
|
+
copyTitle: i18n2.baseText("nodeWebhooks.showMessage.title"),
|
|
8971
9982
|
copyMessage: void 0
|
|
8972
9983
|
};
|
|
8973
9984
|
}
|
|
@@ -9295,7 +10306,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
9295
10306
|
const workflowsStore = useWorkflowsStore();
|
|
9296
10307
|
const nodeTypesStore = useNodeTypesStore();
|
|
9297
10308
|
const nodeHelpers = useNodeHelpers();
|
|
9298
|
-
const
|
|
10309
|
+
const i18n2 = useI18n();
|
|
9299
10310
|
const { debounce } = useDebounce();
|
|
9300
10311
|
const emit = __emit;
|
|
9301
10312
|
const possibleConnections = ref([]);
|
|
@@ -9444,7 +10455,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
9444
10455
|
showNodeInputsIssues
|
|
9445
10456
|
});
|
|
9446
10457
|
return (_ctx, _cache) => {
|
|
9447
|
-
const _component_n8n_icon_button = _sfc_main$
|
|
10458
|
+
const _component_n8n_icon_button = _sfc_main$Y;
|
|
9448
10459
|
const _component_n8n_tooltip = N8nTooltip;
|
|
9449
10460
|
return possibleConnections.value.length ? (openBlock(), createElementBlock("div", {
|
|
9450
10461
|
key: 0,
|
|
@@ -9502,7 +10513,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
9502
10513
|
createTextVNode(" Add " + toDisplayString(connection.displayName) + " ", 1),
|
|
9503
10514
|
hasInputIssues(getConnectionContext(connection, index)) ? (openBlock(), createBlock(TitledList, {
|
|
9504
10515
|
key: 0,
|
|
9505
|
-
title: `${unref(
|
|
10516
|
+
title: `${unref(i18n2).baseText("node.issues")}:`,
|
|
9506
10517
|
items: nodeInputIssues.value[connection.type]
|
|
9507
10518
|
}, null, 8, ["title", "items"])) : createCommentVNode("", true)
|
|
9508
10519
|
]),
|
|
@@ -9544,7 +10555,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
9544
10555
|
createTextVNode(toDisplayString(node2.node.name) + " ", 1),
|
|
9545
10556
|
node2.issues ? (openBlock(), createBlock(TitledList, {
|
|
9546
10557
|
key: 0,
|
|
9547
|
-
title: `${unref(
|
|
10558
|
+
title: `${unref(i18n2).baseText("node.issues")}:`,
|
|
9548
10559
|
items: node2.issues
|
|
9549
10560
|
}, null, 8, ["title", "items"])) : createCommentVNode("", true)
|
|
9550
10561
|
]),
|
|
@@ -9553,7 +10564,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
9553
10564
|
class: normalizeClass(_ctx.$style.connectedNode),
|
|
9554
10565
|
onClick: ($event) => onNodeClick(node2.node.name, getConnectionContext(connection, index))
|
|
9555
10566
|
}, [
|
|
9556
|
-
createVNode(_sfc_main
|
|
10567
|
+
createVNode(_sfc_main$$, {
|
|
9557
10568
|
"node-type": node2.nodeType,
|
|
9558
10569
|
"node-name": node2.node.name,
|
|
9559
10570
|
"tooltip-position": "top",
|
|
@@ -9638,7 +10649,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
9638
10649
|
class: normalizeClass(_ctx.$style.tabs),
|
|
9639
10650
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("tab-changed", $event))
|
|
9640
10651
|
}, null, 8, ["model-value", "node-type", "push-ref", "class"])) : createCommentVNode("", true),
|
|
9641
|
-
!_ctx.hideExecute ? (openBlock(), createBlock(_sfc_main$
|
|
10652
|
+
!_ctx.hideExecute ? (openBlock(), createBlock(_sfc_main$10, {
|
|
9642
10653
|
key: 1,
|
|
9643
10654
|
"data-test-id": "node-execute-button",
|
|
9644
10655
|
"node-name": _ctx.nodeName,
|
|
@@ -9655,10 +10666,10 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
9655
10666
|
};
|
|
9656
10667
|
}
|
|
9657
10668
|
});
|
|
9658
|
-
const header$
|
|
10669
|
+
const header$1 = "_header_1mro3_123";
|
|
9659
10670
|
const tabs = "_tabs_1mro3_135";
|
|
9660
10671
|
const style0$n = {
|
|
9661
|
-
header: header$
|
|
10672
|
+
header: header$1,
|
|
9662
10673
|
tabs
|
|
9663
10674
|
};
|
|
9664
10675
|
const cssModules$n = {
|
|
@@ -9685,7 +10696,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
9685
10696
|
const ndvStore = useNDVStore();
|
|
9686
10697
|
const projectsStore = useProjectsStore();
|
|
9687
10698
|
const telemetry = useTelemetry();
|
|
9688
|
-
const
|
|
10699
|
+
const i18n2 = useI18n();
|
|
9689
10700
|
const toast = useToast();
|
|
9690
10701
|
const userHasOpenAiCredentialAlready = computed(
|
|
9691
10702
|
() => !!credentialsStore.allCredentials.filter(
|
|
@@ -9713,8 +10724,8 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
9713
10724
|
} catch (e) {
|
|
9714
10725
|
toast.showError(
|
|
9715
10726
|
e,
|
|
9716
|
-
|
|
9717
|
-
|
|
10727
|
+
i18n2.baseText("freeAi.credits.showError.claim.title"),
|
|
10728
|
+
i18n2.baseText("freeAi.credits.showError.claim.message")
|
|
9718
10729
|
);
|
|
9719
10730
|
} finally {
|
|
9720
10731
|
claimingCredits.value = false;
|
|
@@ -9734,13 +10745,13 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
9734
10745
|
createVNode(_component_n8n_button, {
|
|
9735
10746
|
type: "tertiary",
|
|
9736
10747
|
size: "small",
|
|
9737
|
-
label: unref(
|
|
10748
|
+
label: unref(i18n2).baseText("freeAi.credits.callout.claim.button.label"),
|
|
9738
10749
|
loading: claimingCredits.value,
|
|
9739
10750
|
onClick: onClaimCreditsClicked
|
|
9740
10751
|
}, null, 8, ["label", "loading"])
|
|
9741
10752
|
]),
|
|
9742
10753
|
default: withCtx(() => [
|
|
9743
|
-
createTextVNode(toDisplayString(unref(
|
|
10754
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("freeAi.credits.callout.claim.title", {
|
|
9744
10755
|
interpolate: { credits: unref(settingsStore).aiCreditsQuota }
|
|
9745
10756
|
})) + " ", 1)
|
|
9746
10757
|
]),
|
|
@@ -9753,7 +10764,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
9753
10764
|
default: withCtx(() => [
|
|
9754
10765
|
createVNode(_component_n8n_text, { size: "small" }, {
|
|
9755
10766
|
default: withCtx(() => [
|
|
9756
|
-
createTextVNode(toDisplayString(unref(
|
|
10767
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("freeAi.credits.callout.success.title.part1", {
|
|
9757
10768
|
interpolate: { credits: unref(settingsStore).aiCreditsQuota }
|
|
9758
10769
|
})), 1)
|
|
9759
10770
|
]),
|
|
@@ -9765,7 +10776,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
9765
10776
|
bold: true
|
|
9766
10777
|
}, {
|
|
9767
10778
|
default: withCtx(() => [
|
|
9768
|
-
createTextVNode(toDisplayString(unref(
|
|
10779
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("freeAi.credits.callout.success.title.part2")), 1)
|
|
9769
10780
|
]),
|
|
9770
10781
|
_: 1
|
|
9771
10782
|
})
|
|
@@ -9821,6 +10832,18 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
9821
10832
|
const props = __props;
|
|
9822
10833
|
const emit = __emit;
|
|
9823
10834
|
const slots = useSlots();
|
|
10835
|
+
const nodeValues = ref({
|
|
10836
|
+
color: "#ff0000",
|
|
10837
|
+
alwaysOutputData: false,
|
|
10838
|
+
executeOnce: false,
|
|
10839
|
+
notesInFlow: false,
|
|
10840
|
+
onError: "stopWorkflow",
|
|
10841
|
+
retryOnFail: false,
|
|
10842
|
+
maxTries: 3,
|
|
10843
|
+
waitBetweenTries: 1e3,
|
|
10844
|
+
notes: "",
|
|
10845
|
+
parameters: {}
|
|
10846
|
+
});
|
|
9824
10847
|
const nodeTypesStore = useNodeTypesStore();
|
|
9825
10848
|
const ndvStore = useNDVStore();
|
|
9826
10849
|
const workflowsStore = useWorkflowsStore();
|
|
@@ -9830,9 +10853,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
9830
10853
|
const telemetry = useTelemetry();
|
|
9831
10854
|
const nodeHelpers = useNodeHelpers();
|
|
9832
10855
|
const externalHooks = useExternalHooks();
|
|
9833
|
-
const
|
|
10856
|
+
const i18n2 = useI18n();
|
|
9834
10857
|
const nodeSettingsParameters = useNodeSettingsParameters();
|
|
9835
|
-
const nodeValues = nodeSettingsParameters.nodeValues;
|
|
9836
10858
|
const nodeParameterWrapper = useTemplateRef("nodeParameterWrapper");
|
|
9837
10859
|
const shouldShowStaticScrollbar = ref(false);
|
|
9838
10860
|
if (props.isEmbeddedInCanvas) {
|
|
@@ -9846,6 +10868,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
9846
10868
|
const hiddenIssuesInputs = ref([]);
|
|
9847
10869
|
const nodeSettings = ref([]);
|
|
9848
10870
|
const subConnections = ref(null);
|
|
10871
|
+
const installedPackage = ref(void 0);
|
|
9849
10872
|
const currentWorkflowInstance = computed(() => workflowsStore.getCurrentWorkflow());
|
|
9850
10873
|
const currentWorkflow = computed(
|
|
9851
10874
|
() => workflowsStore.getWorkflowById(currentWorkflowInstance.value.id)
|
|
@@ -9876,7 +10899,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
9876
10899
|
);
|
|
9877
10900
|
const executeButtonTooltip = computed(() => {
|
|
9878
10901
|
if (node2.value && isLatestNodeVersion.value && props.inputSize > 1 && !nodeHelpers.isSingleExecution(node2.value.type, node2.value.parameters)) {
|
|
9879
|
-
return
|
|
10902
|
+
return i18n2.baseText("nodeSettings.executeButtonTooltip.times", {
|
|
9880
10903
|
interpolate: { inputSize: props.inputSize }
|
|
9881
10904
|
});
|
|
9882
10905
|
}
|
|
@@ -9884,12 +10907,12 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
9884
10907
|
});
|
|
9885
10908
|
const nodeVersionTag = computed(() => {
|
|
9886
10909
|
if (!nodeType.value || nodeType.value.hidden) {
|
|
9887
|
-
return
|
|
10910
|
+
return i18n2.baseText("nodeSettings.deprecated");
|
|
9888
10911
|
}
|
|
9889
10912
|
if (isLatestNodeVersion.value) {
|
|
9890
|
-
return
|
|
10913
|
+
return i18n2.baseText("nodeSettings.latest");
|
|
9891
10914
|
}
|
|
9892
|
-
return
|
|
10915
|
+
return i18n2.baseText("nodeSettings.latestVersion", {
|
|
9893
10916
|
interpolate: { version: latestVersion.value.toString() }
|
|
9894
10917
|
});
|
|
9895
10918
|
});
|
|
@@ -9912,6 +10935,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
9912
10935
|
);
|
|
9913
10936
|
const outputPanelEditMode = computed(() => ndvStore.outputPanelEditMode);
|
|
9914
10937
|
const isCommunityNode = computed(() => !!node2.value && isCommunityPackageName(node2.value.type));
|
|
10938
|
+
const packageName = computed(() => node2.value?.type.split(".")[0] ?? "");
|
|
9915
10939
|
const usedCredentials = computed(
|
|
9916
10940
|
() => Object.values(workflowsStore.usedCredentials).filter(
|
|
9917
10941
|
(credential) => Object.values(node2.value?.credentials || []).find(
|
|
@@ -10005,7 +11029,11 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10005
11029
|
);
|
|
10006
11030
|
for (const key of Object.keys(nodeParameters)) {
|
|
10007
11031
|
if (nodeParameters?.[key] !== null && nodeParameters?.[key] !== void 0) {
|
|
10008
|
-
nodeSettingsParameters.setValue(
|
|
11032
|
+
nodeSettingsParameters.setValue(
|
|
11033
|
+
nodeValues,
|
|
11034
|
+
`parameters.${key}`,
|
|
11035
|
+
nodeParameters[key]
|
|
11036
|
+
);
|
|
10009
11037
|
}
|
|
10010
11038
|
}
|
|
10011
11039
|
if (nodeParameters) {
|
|
@@ -10018,7 +11046,13 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10018
11046
|
nodeHelpers.updateNodeCredentialIssuesByName(_node.name);
|
|
10019
11047
|
}
|
|
10020
11048
|
} else if (nameIsParameter(parameterData)) {
|
|
10021
|
-
nodeSettingsParameters.updateNodeParameter(
|
|
11049
|
+
nodeSettingsParameters.updateNodeParameter(
|
|
11050
|
+
nodeValues,
|
|
11051
|
+
parameterData,
|
|
11052
|
+
newValue,
|
|
11053
|
+
_node,
|
|
11054
|
+
isToolNode.value
|
|
11055
|
+
);
|
|
10022
11056
|
} else {
|
|
10023
11057
|
nodeValues.value = {
|
|
10024
11058
|
...nodeValues.value,
|
|
@@ -10061,34 +11095,34 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10061
11095
|
nodeSettings.value.push(
|
|
10062
11096
|
...[
|
|
10063
11097
|
{
|
|
10064
|
-
displayName:
|
|
11098
|
+
displayName: i18n2.baseText("nodeSettings.alwaysOutputData.displayName"),
|
|
10065
11099
|
name: "alwaysOutputData",
|
|
10066
11100
|
type: "boolean",
|
|
10067
11101
|
default: false,
|
|
10068
11102
|
noDataExpression: true,
|
|
10069
|
-
description:
|
|
11103
|
+
description: i18n2.baseText("nodeSettings.alwaysOutputData.description"),
|
|
10070
11104
|
isNodeSetting: true
|
|
10071
11105
|
},
|
|
10072
11106
|
{
|
|
10073
|
-
displayName:
|
|
11107
|
+
displayName: i18n2.baseText("nodeSettings.executeOnce.displayName"),
|
|
10074
11108
|
name: "executeOnce",
|
|
10075
11109
|
type: "boolean",
|
|
10076
11110
|
default: false,
|
|
10077
11111
|
noDataExpression: true,
|
|
10078
|
-
description:
|
|
11112
|
+
description: i18n2.baseText("nodeSettings.executeOnce.description"),
|
|
10079
11113
|
isNodeSetting: true
|
|
10080
11114
|
},
|
|
10081
11115
|
{
|
|
10082
|
-
displayName:
|
|
11116
|
+
displayName: i18n2.baseText("nodeSettings.retryOnFail.displayName"),
|
|
10083
11117
|
name: "retryOnFail",
|
|
10084
11118
|
type: "boolean",
|
|
10085
11119
|
default: false,
|
|
10086
11120
|
noDataExpression: true,
|
|
10087
|
-
description:
|
|
11121
|
+
description: i18n2.baseText("nodeSettings.retryOnFail.description"),
|
|
10088
11122
|
isNodeSetting: true
|
|
10089
11123
|
},
|
|
10090
11124
|
{
|
|
10091
|
-
displayName:
|
|
11125
|
+
displayName: i18n2.baseText("nodeSettings.maxTries.displayName"),
|
|
10092
11126
|
name: "maxTries",
|
|
10093
11127
|
type: "number",
|
|
10094
11128
|
typeOptions: {
|
|
@@ -10102,11 +11136,11 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10102
11136
|
}
|
|
10103
11137
|
},
|
|
10104
11138
|
noDataExpression: true,
|
|
10105
|
-
description:
|
|
11139
|
+
description: i18n2.baseText("nodeSettings.maxTries.description"),
|
|
10106
11140
|
isNodeSetting: true
|
|
10107
11141
|
},
|
|
10108
11142
|
{
|
|
10109
|
-
displayName:
|
|
11143
|
+
displayName: i18n2.baseText("nodeSettings.waitBetweenTries.displayName"),
|
|
10110
11144
|
name: "waitBetweenTries",
|
|
10111
11145
|
type: "number",
|
|
10112
11146
|
typeOptions: {
|
|
@@ -10120,36 +11154,36 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10120
11154
|
}
|
|
10121
11155
|
},
|
|
10122
11156
|
noDataExpression: true,
|
|
10123
|
-
description:
|
|
11157
|
+
description: i18n2.baseText("nodeSettings.waitBetweenTries.description"),
|
|
10124
11158
|
isNodeSetting: true
|
|
10125
11159
|
},
|
|
10126
11160
|
{
|
|
10127
|
-
displayName:
|
|
11161
|
+
displayName: i18n2.baseText("nodeSettings.onError.displayName"),
|
|
10128
11162
|
name: "onError",
|
|
10129
11163
|
type: "options",
|
|
10130
11164
|
options: [
|
|
10131
11165
|
{
|
|
10132
|
-
name:
|
|
11166
|
+
name: i18n2.baseText("nodeSettings.onError.options.stopWorkflow.displayName"),
|
|
10133
11167
|
value: "stopWorkflow",
|
|
10134
|
-
description:
|
|
11168
|
+
description: i18n2.baseText("nodeSettings.onError.options.stopWorkflow.description")
|
|
10135
11169
|
},
|
|
10136
11170
|
{
|
|
10137
|
-
name:
|
|
11171
|
+
name: i18n2.baseText("nodeSettings.onError.options.continueRegularOutput.displayName"),
|
|
10138
11172
|
value: "continueRegularOutput",
|
|
10139
|
-
description:
|
|
11173
|
+
description: i18n2.baseText(
|
|
10140
11174
|
"nodeSettings.onError.options.continueRegularOutput.description"
|
|
10141
11175
|
)
|
|
10142
11176
|
},
|
|
10143
11177
|
{
|
|
10144
|
-
name:
|
|
11178
|
+
name: i18n2.baseText("nodeSettings.onError.options.continueErrorOutput.displayName"),
|
|
10145
11179
|
value: "continueErrorOutput",
|
|
10146
|
-
description:
|
|
11180
|
+
description: i18n2.baseText(
|
|
10147
11181
|
"nodeSettings.onError.options.continueErrorOutput.description"
|
|
10148
11182
|
)
|
|
10149
11183
|
}
|
|
10150
11184
|
],
|
|
10151
11185
|
default: "stopWorkflow",
|
|
10152
|
-
description:
|
|
11186
|
+
description: i18n2.baseText("nodeSettings.onError.description"),
|
|
10153
11187
|
noDataExpression: true,
|
|
10154
11188
|
isNodeSetting: true
|
|
10155
11189
|
}
|
|
@@ -10159,7 +11193,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10159
11193
|
nodeSettings.value.push(
|
|
10160
11194
|
...[
|
|
10161
11195
|
{
|
|
10162
|
-
displayName:
|
|
11196
|
+
displayName: i18n2.baseText("nodeSettings.notes.displayName"),
|
|
10163
11197
|
name: "notes",
|
|
10164
11198
|
type: "string",
|
|
10165
11199
|
typeOptions: {
|
|
@@ -10167,16 +11201,16 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10167
11201
|
},
|
|
10168
11202
|
default: "",
|
|
10169
11203
|
noDataExpression: true,
|
|
10170
|
-
description:
|
|
11204
|
+
description: i18n2.baseText("nodeSettings.notes.description"),
|
|
10171
11205
|
isNodeSetting: true
|
|
10172
11206
|
},
|
|
10173
11207
|
{
|
|
10174
|
-
displayName:
|
|
11208
|
+
displayName: i18n2.baseText("nodeSettings.notesInFlow.displayName"),
|
|
10175
11209
|
name: "notesInFlow",
|
|
10176
11210
|
type: "boolean",
|
|
10177
11211
|
default: false,
|
|
10178
11212
|
noDataExpression: true,
|
|
10179
|
-
description:
|
|
11213
|
+
description: i18n2.baseText("nodeSettings.notesInFlow.description"),
|
|
10180
11214
|
isNodeSetting: true
|
|
10181
11215
|
}
|
|
10182
11216
|
]
|
|
@@ -10344,7 +11378,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10344
11378
|
watch(node2, () => {
|
|
10345
11379
|
setNodeValues();
|
|
10346
11380
|
});
|
|
10347
|
-
onMounted(() => {
|
|
11381
|
+
onMounted(async () => {
|
|
10348
11382
|
populateHiddenIssuesSet();
|
|
10349
11383
|
populateSettings();
|
|
10350
11384
|
setNodeValues();
|
|
@@ -10354,6 +11388,9 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10354
11388
|
}
|
|
10355
11389
|
importCurlEventBus.on("setHttpNodeParameters", setHttpNodeParameters);
|
|
10356
11390
|
ndvEventBus.on("updateParameterValue", valueChanged);
|
|
11391
|
+
if (isCommunityNode.value && useUsersStore().isInstanceOwner) {
|
|
11392
|
+
installedPackage.value = await useCommunityNodesStore().getInstalledPackage(packageName.value);
|
|
11393
|
+
}
|
|
10357
11394
|
});
|
|
10358
11395
|
onBeforeUnmount(() => {
|
|
10359
11396
|
props.eventBus?.off("openSettings", openSettings);
|
|
@@ -10375,11 +11412,12 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10375
11412
|
const _component_NodeTitle = NodeTitle;
|
|
10376
11413
|
const _component_n8n_icon = N8nIcon;
|
|
10377
11414
|
const _component_n8n_text = N8nText;
|
|
10378
|
-
const _component_i18n_t = resolveComponent("i18n-t");
|
|
10379
11415
|
const _component_n8n_link = N8nLink;
|
|
10380
11416
|
const _component_n8n_notice = N8nNotice;
|
|
11417
|
+
const _component_CommunityNodeUpdateInfo = _sfc_main$z;
|
|
10381
11418
|
const _component_N8nIcon = N8nIcon;
|
|
10382
11419
|
const _component_n8n_block_ui = N8nBlockUi;
|
|
11420
|
+
const _component_CommunityNodeFooter = CommunityNodeFooter;
|
|
10383
11421
|
return openBlock(), createElementBlock("div", {
|
|
10384
11422
|
class: normalizeClass({
|
|
10385
11423
|
"node-settings": true,
|
|
@@ -10403,7 +11441,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10403
11441
|
"onUpdate:modelValue": nameChanged
|
|
10404
11442
|
}, null, 8, ["model-value", "node-type", "read-only"])) : createCommentVNode("", true),
|
|
10405
11443
|
isExecutable2.value || slots.actions ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
10406
|
-
isExecutable2.value && !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$
|
|
11444
|
+
isExecutable2.value && !_ctx.blockUI && node2.value && nodeValid.value ? (openBlock(), createBlock(_sfc_main$10, {
|
|
10407
11445
|
key: 0,
|
|
10408
11446
|
"data-test-id": "node-execute-button",
|
|
10409
11447
|
"node-name": node2.value.name,
|
|
@@ -10453,7 +11491,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10453
11491
|
bold: ""
|
|
10454
11492
|
}, {
|
|
10455
11493
|
default: withCtx(() => [
|
|
10456
|
-
createTextVNode(toDisplayString(unref(
|
|
11494
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.communityNodeUnknown.title")), 1)
|
|
10457
11495
|
]),
|
|
10458
11496
|
_: 1
|
|
10459
11497
|
})
|
|
@@ -10463,9 +11501,10 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10463
11501
|
class: normalizeClass(_ctx.$style.descriptionContainer)
|
|
10464
11502
|
}, [
|
|
10465
11503
|
createBaseVNode("div", _hoisted_4, [
|
|
10466
|
-
createVNode(
|
|
11504
|
+
createVNode(unref(I18nT), {
|
|
10467
11505
|
keypath: "nodeSettings.communityNodeUnknown.description",
|
|
10468
11506
|
tag: "span",
|
|
11507
|
+
scope: "global",
|
|
10469
11508
|
onClick: onMissingNodeTextClick
|
|
10470
11509
|
}, {
|
|
10471
11510
|
action: withCtx(() => [
|
|
@@ -10482,20 +11521,21 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10482
11521
|
onClick: onMissingNodeLearnMoreLinkClick
|
|
10483
11522
|
}, {
|
|
10484
11523
|
default: withCtx(() => [
|
|
10485
|
-
createTextVNode(toDisplayString(unref(
|
|
11524
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.communityNodeUnknown.installLink.text")), 1)
|
|
10486
11525
|
]),
|
|
10487
11526
|
_: 1
|
|
10488
11527
|
}, 8, ["to"])
|
|
10489
|
-
], 2)) : (openBlock(), createBlock(
|
|
11528
|
+
], 2)) : (openBlock(), createBlock(unref(I18nT), {
|
|
10490
11529
|
key: 1,
|
|
10491
11530
|
keypath: "nodeSettings.nodeTypeUnknown.description",
|
|
10492
|
-
tag: "span"
|
|
11531
|
+
tag: "span",
|
|
11532
|
+
scope: "global"
|
|
10493
11533
|
}, {
|
|
10494
11534
|
action: withCtx(() => [
|
|
10495
11535
|
createBaseVNode("a", {
|
|
10496
11536
|
href: unref(CUSTOM_NODES_DOCS_URL),
|
|
10497
11537
|
target: "_blank",
|
|
10498
|
-
textContent: toDisplayString(unref(
|
|
11538
|
+
textContent: toDisplayString(unref(i18n2).baseText("nodeSettings.nodeTypeUnknown.description.customNode"))
|
|
10499
11539
|
}, null, 8, _hoisted_6)
|
|
10500
11540
|
]),
|
|
10501
11541
|
_: 1
|
|
@@ -10516,7 +11556,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10516
11556
|
}, [
|
|
10517
11557
|
hasForeignCredential.value && !isHomeProjectTeam.value ? (openBlock(), createBlock(_component_n8n_notice, {
|
|
10518
11558
|
key: 0,
|
|
10519
|
-
content: unref(
|
|
11559
|
+
content: unref(i18n2).baseText("nodeSettings.hasForeignCredential", {
|
|
10520
11560
|
interpolate: { owner: credentialOwnerName.value }
|
|
10521
11561
|
})
|
|
10522
11562
|
}, null, 8, ["content"])) : createCommentVNode("", true),
|
|
@@ -10526,11 +11566,11 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10526
11566
|
node: node2.value,
|
|
10527
11567
|
"node-type-description": nodeType.value
|
|
10528
11568
|
}, null, 8, ["node", "node-type-description"]),
|
|
10529
|
-
nodeValuesInitialized.value ? (openBlock(), createBlock(_sfc_main$
|
|
11569
|
+
nodeValuesInitialized.value ? (openBlock(), createBlock(_sfc_main$11, {
|
|
10530
11570
|
key: 0,
|
|
10531
11571
|
parameters: parametersNoneSetting.value,
|
|
10532
11572
|
"hide-delete": true,
|
|
10533
|
-
"node-values":
|
|
11573
|
+
"node-values": nodeValues.value,
|
|
10534
11574
|
"is-read-only": isReadOnly.value,
|
|
10535
11575
|
"hidden-issues-inputs": hiddenIssuesInputs.value,
|
|
10536
11576
|
path: "parameters",
|
|
@@ -10556,14 +11596,14 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10556
11596
|
showNoParametersNotice.value ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
|
10557
11597
|
createVNode(_component_n8n_text, null, {
|
|
10558
11598
|
default: withCtx(() => [
|
|
10559
|
-
createTextVNode(toDisplayString(unref(
|
|
11599
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.thisNodeDoesNotHaveAnyParameters")), 1)
|
|
10560
11600
|
]),
|
|
10561
11601
|
_: 1
|
|
10562
11602
|
})
|
|
10563
11603
|
])) : createCommentVNode("", true),
|
|
10564
|
-
unref(nodeHelpers).isCustomApiCallSelected(
|
|
11604
|
+
unref(nodeHelpers).isCustomApiCallSelected(nodeValues.value) ? (openBlock(), createElementBlock("div", _hoisted_8, [
|
|
10565
11605
|
createVNode(_component_n8n_notice, {
|
|
10566
|
-
content: unref(
|
|
11606
|
+
content: unref(i18n2).baseText("nodeSettings.useTheHttpRequestNode", {
|
|
10567
11607
|
interpolate: { nodeTypeDisplayName: nodeType.value?.displayName ?? "" }
|
|
10568
11608
|
})
|
|
10569
11609
|
}, null, 8, ["content"])
|
|
@@ -10572,9 +11612,13 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10572
11612
|
[vShow, openPanel.value === "params"]
|
|
10573
11613
|
]),
|
|
10574
11614
|
withDirectives(createBaseVNode("div", null, [
|
|
10575
|
-
|
|
11615
|
+
isCommunityNode.value && installedPackage.value?.updateAvailable ? (openBlock(), createBlock(_component_CommunityNodeUpdateInfo, {
|
|
11616
|
+
key: 0,
|
|
11617
|
+
"data-test-id": "update-available"
|
|
11618
|
+
})) : createCommentVNode("", true),
|
|
11619
|
+
createVNode(_sfc_main$11, {
|
|
10576
11620
|
parameters: parametersSetting.value,
|
|
10577
|
-
"node-values":
|
|
11621
|
+
"node-values": nodeValues.value,
|
|
10578
11622
|
"is-read-only": isReadOnly.value,
|
|
10579
11623
|
"hide-delete": true,
|
|
10580
11624
|
"hidden-issues-inputs": hiddenIssuesInputs.value,
|
|
@@ -10582,10 +11626,10 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10582
11626
|
onValueChanged: valueChanged,
|
|
10583
11627
|
onParameterBlur
|
|
10584
11628
|
}, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]),
|
|
10585
|
-
createVNode(_sfc_main$
|
|
11629
|
+
createVNode(_sfc_main$11, {
|
|
10586
11630
|
parameters: nodeSettings.value,
|
|
10587
11631
|
"hide-delete": true,
|
|
10588
|
-
"node-values":
|
|
11632
|
+
"node-values": nodeValues.value,
|
|
10589
11633
|
"is-read-only": isReadOnly.value,
|
|
10590
11634
|
"hidden-issues-inputs": hiddenIssuesInputs.value,
|
|
10591
11635
|
path: "",
|
|
@@ -10593,7 +11637,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10593
11637
|
onParameterBlur
|
|
10594
11638
|
}, null, 8, ["parameters", "node-values", "is-read-only", "hidden-issues-inputs"]),
|
|
10595
11639
|
createBaseVNode("div", _hoisted_9, [
|
|
10596
|
-
createTextVNode(toDisplayString(unref(
|
|
11640
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("nodeSettings.nodeVersion", {
|
|
10597
11641
|
interpolate: {
|
|
10598
11642
|
node: nodeType.value?.displayName,
|
|
10599
11643
|
version: (node2.value.typeVersion ?? latestVersion.value).toString()
|
|
@@ -10613,7 +11657,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10613
11657
|
onClick: onFeatureRequestClick
|
|
10614
11658
|
}, [
|
|
10615
11659
|
createVNode(_component_N8nIcon, { icon: "lightbulb" }),
|
|
10616
|
-
createTextVNode(" " + toDisplayString(unref(
|
|
11660
|
+
createTextVNode(" " + toDisplayString(unref(i18n2).baseText("ndv.featureRequest")), 1)
|
|
10617
11661
|
])
|
|
10618
11662
|
], 2)) : createCommentVNode("", true)
|
|
10619
11663
|
], 34)) : createCommentVNode("", true),
|
|
@@ -10625,17 +11669,22 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
|
|
|
10625
11669
|
onSwitchSelectedNode,
|
|
10626
11670
|
onOpenConnectionNodeCreator
|
|
10627
11671
|
}, null, 8, ["root-node"])) : createCommentVNode("", true),
|
|
10628
|
-
createVNode(_component_n8n_block_ui, { show: _ctx.blockUI }, null, 8, ["show"])
|
|
11672
|
+
createVNode(_component_n8n_block_ui, { show: _ctx.blockUI }, null, 8, ["show"]),
|
|
11673
|
+
openPanel.value === "settings" && isCommunityNode.value ? (openBlock(), createBlock(_component_CommunityNodeFooter, {
|
|
11674
|
+
key: 5,
|
|
11675
|
+
"package-name": packageName.value,
|
|
11676
|
+
"show-manage": unref(useUsersStore)().isInstanceOwner
|
|
11677
|
+
}, null, 8, ["package-name", "show-manage"])) : createCommentVNode("", true)
|
|
10629
11678
|
], 34);
|
|
10630
11679
|
};
|
|
10631
11680
|
}
|
|
10632
11681
|
});
|
|
10633
|
-
const header
|
|
11682
|
+
const header = "_header_1vh2c_123";
|
|
10634
11683
|
const warningIcon = "_warningIcon_1vh2c_127";
|
|
10635
11684
|
const descriptionContainer = "_descriptionContainer_1vh2c_132";
|
|
10636
11685
|
const featureRequest = "_featureRequest_1vh2c_137";
|
|
10637
11686
|
const style0$m = {
|
|
10638
|
-
header
|
|
11687
|
+
header,
|
|
10639
11688
|
warningIcon,
|
|
10640
11689
|
descriptionContainer,
|
|
10641
11690
|
featureRequest
|
|
@@ -10643,7 +11692,7 @@ const style0$m = {
|
|
|
10643
11692
|
const cssModules$m = {
|
|
10644
11693
|
"$style": style0$m
|
|
10645
11694
|
};
|
|
10646
|
-
const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$m], ["__scopeId", "data-v-
|
|
11695
|
+
const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$m], ["__scopeId", "data-v-b0fee41c"]]);
|
|
10647
11696
|
const _sfc_main$s = /* @__PURE__ */ defineComponent({
|
|
10648
11697
|
__name: "ExperimentalCanvasNodeSettings",
|
|
10649
11698
|
props: {
|
|
@@ -10692,6 +11741,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
10692
11741
|
isConfigurable: { type: Boolean }
|
|
10693
11742
|
},
|
|
10694
11743
|
setup(__props) {
|
|
11744
|
+
const ndvStore = useNDVStore();
|
|
10695
11745
|
const experimentalNdvStore = useExperimentalNdvStore();
|
|
10696
11746
|
const isExpanded = computed(() => !experimentalNdvStore.collapsedNodes[__props.nodeId]);
|
|
10697
11747
|
const nodeTypesStore = useNodeTypesStore();
|
|
@@ -10727,54 +11777,65 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
10727
11777
|
)
|
|
10728
11778
|
);
|
|
10729
11779
|
const isOnceVisible = ref(isVisible.value);
|
|
10730
|
-
|
|
10731
|
-
|
|
10732
|
-
|
|
10733
|
-
|
|
10734
|
-
|
|
11780
|
+
const shouldShowInputPanel = ref(false);
|
|
11781
|
+
const containerRef = useTemplateRef("container");
|
|
11782
|
+
const inputPanelContainerRef = useTemplateRef("inputPanelContainer");
|
|
11783
|
+
const activeElement = useActiveElement();
|
|
11784
|
+
const expressionResolveCtx = computed(() => {
|
|
11785
|
+
if (!node2.value) {
|
|
11786
|
+
return void 0;
|
|
11787
|
+
}
|
|
11788
|
+
const runIndex = 0;
|
|
11789
|
+
const execution = workflowsStore.workflowExecutionData;
|
|
11790
|
+
const nodeName = node2.value.name;
|
|
11791
|
+
function findInputNode() {
|
|
11792
|
+
const taskData = (execution?.data?.resultData.runData[nodeName] ?? [])[runIndex];
|
|
11793
|
+
const source = taskData?.source[0];
|
|
11794
|
+
if (source) {
|
|
11795
|
+
return {
|
|
11796
|
+
name: source.previousNode,
|
|
11797
|
+
branchIndex: source.previousNodeOutput ?? 0,
|
|
11798
|
+
runIndex: source.previousNodeRun ?? 0
|
|
11799
|
+
};
|
|
10735
11800
|
}
|
|
10736
|
-
const
|
|
10737
|
-
|
|
10738
|
-
|
|
10739
|
-
|
|
10740
|
-
|
|
10741
|
-
|
|
10742
|
-
|
|
10743
|
-
if (source) {
|
|
10744
|
-
return {
|
|
10745
|
-
name: source.previousNode,
|
|
10746
|
-
branchIndex: source.previousNodeOutput ?? 0,
|
|
10747
|
-
runIndex: source.previousNodeRun ?? 0
|
|
10748
|
-
};
|
|
10749
|
-
}
|
|
10750
|
-
const inputs2 = workflow.getParentNodesByDepth(nodeName, 1);
|
|
10751
|
-
if (inputs2.length > 0) {
|
|
10752
|
-
return {
|
|
10753
|
-
name: inputs2[0].name,
|
|
10754
|
-
branchIndex: inputs2[0].indicies[0] ?? 0,
|
|
10755
|
-
runIndex: 0
|
|
10756
|
-
};
|
|
10757
|
-
}
|
|
10758
|
-
return void 0;
|
|
11801
|
+
const inputs2 = workflow.value.getParentNodesByDepth(nodeName, 1);
|
|
11802
|
+
if (inputs2.length > 0) {
|
|
11803
|
+
return {
|
|
11804
|
+
name: inputs2[0].name,
|
|
11805
|
+
branchIndex: inputs2[0].indicies[0] ?? 0,
|
|
11806
|
+
runIndex: 0
|
|
11807
|
+
};
|
|
10759
11808
|
}
|
|
10760
|
-
return
|
|
10761
|
-
|
|
10762
|
-
|
|
10763
|
-
|
|
10764
|
-
|
|
10765
|
-
|
|
10766
|
-
|
|
10767
|
-
|
|
10768
|
-
}
|
|
10769
|
-
|
|
10770
|
-
|
|
10771
|
-
watchOnce(isVisible, (visible2) => {
|
|
10772
|
-
isOnceVisible.value = isOnceVisible.value || visible2;
|
|
11809
|
+
return void 0;
|
|
11810
|
+
}
|
|
11811
|
+
return {
|
|
11812
|
+
localResolve: true,
|
|
11813
|
+
envVars: useEnvironmentsStore().variablesAsObject,
|
|
11814
|
+
workflow: workflow.value,
|
|
11815
|
+
execution,
|
|
11816
|
+
nodeName,
|
|
11817
|
+
additionalKeys: {},
|
|
11818
|
+
inputNode: findInputNode()
|
|
11819
|
+
};
|
|
10773
11820
|
});
|
|
11821
|
+
const workflow = computed(() => workflowsStore.getCurrentWorkflow());
|
|
10774
11822
|
function handleToggleExpand() {
|
|
10775
11823
|
experimentalNdvStore.setNodeExpanded(__props.nodeId);
|
|
10776
11824
|
}
|
|
11825
|
+
provide(ExpressionLocalResolveContextSymbol, expressionResolveCtx);
|
|
11826
|
+
watchOnce(isVisible, (visible2) => {
|
|
11827
|
+
isOnceVisible.value = isOnceVisible.value || visible2;
|
|
11828
|
+
});
|
|
11829
|
+
watch([activeElement, vf.getSelectedNodes], ([active, selected2]) => {
|
|
11830
|
+
if (active && containerRef.value?.contains(active)) {
|
|
11831
|
+
shouldShowInputPanel.value = !!active.closest("[data-test-id=inline-expression-editor-input]") || !!inputPanelContainerRef.value?.contains(active);
|
|
11832
|
+
}
|
|
11833
|
+
if (selected2.every((sel) => sel.id !== node2.value?.id)) {
|
|
11834
|
+
shouldShowInputPanel.value = false;
|
|
11835
|
+
}
|
|
11836
|
+
});
|
|
10777
11837
|
return (_ctx, _cache) => {
|
|
11838
|
+
const _component_N8nText = N8nText;
|
|
10778
11839
|
return openBlock(), createElementBlock("div", {
|
|
10779
11840
|
ref: "container",
|
|
10780
11841
|
class: normalizeClass([_ctx.$style.component, isExpanded.value ? _ctx.$style.expanded : _ctx.$style.collapsed]),
|
|
@@ -10786,13 +11847,14 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
10786
11847
|
isOnceVisible.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
10787
11848
|
isExpanded.value ? (openBlock(), createBlock(_sfc_main$s, {
|
|
10788
11849
|
key: 0,
|
|
11850
|
+
tabindex: "-1",
|
|
10789
11851
|
"node-id": _ctx.nodeId,
|
|
10790
11852
|
class: normalizeClass(_ctx.$style.settingsView),
|
|
10791
11853
|
"no-wheel": !isMoving.value,
|
|
10792
11854
|
"is-read-only": _ctx.isReadOnly
|
|
10793
11855
|
}, {
|
|
10794
11856
|
actions: withCtx(() => [
|
|
10795
|
-
createVNode(unref(_sfc_main$
|
|
11857
|
+
createVNode(unref(_sfc_main$Y), {
|
|
10796
11858
|
icon: "minimize-2",
|
|
10797
11859
|
type: "secondary",
|
|
10798
11860
|
text: "",
|
|
@@ -10820,35 +11882,81 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
10820
11882
|
icon: "maximize-2",
|
|
10821
11883
|
size: "large"
|
|
10822
11884
|
})
|
|
10823
|
-
], 2))
|
|
11885
|
+
], 2)),
|
|
11886
|
+
createVNode(Transition$1, { name: "input" }, {
|
|
11887
|
+
default: withCtx(() => [
|
|
11888
|
+
shouldShowInputPanel.value && node2.value ? (openBlock(), createElementBlock("div", {
|
|
11889
|
+
key: 0,
|
|
11890
|
+
ref: "inputPanelContainer",
|
|
11891
|
+
class: normalizeClass(_ctx.$style.inputPanelContainer),
|
|
11892
|
+
tabindex: -1
|
|
11893
|
+
}, [
|
|
11894
|
+
createVNode(InputPanel, {
|
|
11895
|
+
class: normalizeClass(_ctx.$style.inputPanel),
|
|
11896
|
+
workflow: workflow.value,
|
|
11897
|
+
"run-index": 0,
|
|
11898
|
+
compact: "",
|
|
11899
|
+
"push-ref": "",
|
|
11900
|
+
"display-mode": "schema",
|
|
11901
|
+
"disable-display-mode-selection": "",
|
|
11902
|
+
"active-node-name": node2.value.name,
|
|
11903
|
+
"current-node-name": expressionResolveCtx.value?.inputNode?.name,
|
|
11904
|
+
"is-mapping-onboarded": unref(ndvStore).isMappingOnboarded,
|
|
11905
|
+
"focused-mappable-input": unref(ndvStore).focusedMappableInput
|
|
11906
|
+
}, {
|
|
11907
|
+
header: withCtx(() => [
|
|
11908
|
+
createVNode(_component_N8nText, {
|
|
11909
|
+
class: normalizeClass(_ctx.$style.inputPanelTitle),
|
|
11910
|
+
bold: true,
|
|
11911
|
+
color: "text-light",
|
|
11912
|
+
size: "small"
|
|
11913
|
+
}, {
|
|
11914
|
+
default: withCtx(() => _cache[0] || (_cache[0] = [
|
|
11915
|
+
createTextVNode(" Input ")
|
|
11916
|
+
])),
|
|
11917
|
+
_: 1
|
|
11918
|
+
}, 8, ["class"])
|
|
11919
|
+
]),
|
|
11920
|
+
_: 1
|
|
11921
|
+
}, 8, ["class", "workflow", "active-node-name", "current-node-name", "is-mapping-onboarded", "focused-mappable-input"])
|
|
11922
|
+
], 2)) : createCommentVNode("", true)
|
|
11923
|
+
]),
|
|
11924
|
+
_: 1
|
|
11925
|
+
})
|
|
10824
11926
|
], 64)) : createCommentVNode("", true)
|
|
10825
11927
|
], 6);
|
|
10826
11928
|
};
|
|
10827
11929
|
}
|
|
10828
11930
|
});
|
|
10829
|
-
const component$2 = "
|
|
10830
|
-
const expanded = "
|
|
10831
|
-
const collapsed = "
|
|
10832
|
-
const collapsedContent = "
|
|
10833
|
-
const settingsView = "
|
|
11931
|
+
const component$2 = "_component_1fv8q_123";
|
|
11932
|
+
const expanded = "_expanded_1fv8q_131";
|
|
11933
|
+
const collapsed = "_collapsed_1fv8q_137";
|
|
11934
|
+
const collapsedContent = "_collapsedContent_1fv8q_149";
|
|
11935
|
+
const settingsView = "_settingsView_1fv8q_150";
|
|
11936
|
+
const inputPanelContainer = "_inputPanelContainer_1fv8q_179";
|
|
11937
|
+
const inputPanel = "_inputPanel_1fv8q_179";
|
|
11938
|
+
const inputPanelTitle = "_inputPanelTitle_1fv8q_201";
|
|
10834
11939
|
const style0$l = {
|
|
10835
11940
|
component: component$2,
|
|
10836
11941
|
expanded,
|
|
10837
11942
|
collapsed,
|
|
10838
11943
|
collapsedContent,
|
|
10839
|
-
settingsView
|
|
11944
|
+
settingsView,
|
|
11945
|
+
inputPanelContainer,
|
|
11946
|
+
inputPanel,
|
|
11947
|
+
inputPanelTitle
|
|
10840
11948
|
};
|
|
10841
11949
|
const cssModules$l = {
|
|
10842
11950
|
"$style": style0$l
|
|
10843
11951
|
};
|
|
10844
|
-
const ExperimentalInPlaceNodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__cssModules", cssModules$l]]);
|
|
11952
|
+
const ExperimentalInPlaceNodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__cssModules", cssModules$l], ["__scopeId", "data-v-7a0aa493"]]);
|
|
10845
11953
|
const _hoisted_1$3 = ["data-test-id"];
|
|
10846
11954
|
const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
10847
11955
|
__name: "CanvasNodeDefault",
|
|
10848
11956
|
emits: ["open:contextmenu", "activate"],
|
|
10849
11957
|
setup(__props, { emit: __emit }) {
|
|
10850
11958
|
const $style = useCssModule();
|
|
10851
|
-
const
|
|
11959
|
+
const i18n2 = useI18n();
|
|
10852
11960
|
const emit = __emit;
|
|
10853
11961
|
const { initialized, viewport } = useCanvas();
|
|
10854
11962
|
const {
|
|
@@ -10945,8 +12053,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
10945
12053
|
}
|
|
10946
12054
|
return (_ctx, _cache) => {
|
|
10947
12055
|
const _component_CanvasNodeTooltip = __unplugin_components_0$3;
|
|
10948
|
-
const _component_NodeIcon = _sfc_main
|
|
10949
|
-
const _component_CanvasNodeDisabledStrikeThrough = __unplugin_components_2;
|
|
12056
|
+
const _component_NodeIcon = _sfc_main$$;
|
|
12057
|
+
const _component_CanvasNodeDisabledStrikeThrough = __unplugin_components_2$1;
|
|
10950
12058
|
const _component_CanvasNodeStatusIcons = __unplugin_components_3;
|
|
10951
12059
|
return unref(experimentalNdvStore).isActive(unref(viewport).zoom) ? (openBlock(), createBlock(ExperimentalInPlaceNodeSettings, {
|
|
10952
12060
|
key: 0,
|
|
@@ -10985,7 +12093,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
|
|
|
10985
12093
|
unref(isDisabled) ? (openBlock(), createElementBlock("div", {
|
|
10986
12094
|
key: 1,
|
|
10987
12095
|
class: normalizeClass(unref($style).disabledLabel)
|
|
10988
|
-
}, " (" + toDisplayString(unref(
|
|
12096
|
+
}, " (" + toDisplayString(unref(i18n2).baseText("node.disabled")) + ") ", 3)) : createCommentVNode("", true),
|
|
10989
12097
|
unref(subtitle2) ? (openBlock(), createElementBlock("div", {
|
|
10990
12098
|
key: 2,
|
|
10991
12099
|
class: normalizeClass(unref($style).subtitle)
|
|
@@ -12531,7 +13639,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
12531
13639
|
__name: "CanvasNodeAddNodes",
|
|
12532
13640
|
setup(__props) {
|
|
12533
13641
|
const nodeCreatorStore = useNodeCreatorStore();
|
|
12534
|
-
const
|
|
13642
|
+
const i18n2 = useI18n();
|
|
12535
13643
|
const settingsStore = useSettingsStore();
|
|
12536
13644
|
const templatesStore = useTemplatesStore();
|
|
12537
13645
|
const isTooltipVisible = ref(false);
|
|
@@ -12585,7 +13693,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
12585
13693
|
"show-after": 700
|
|
12586
13694
|
}, {
|
|
12587
13695
|
content: withCtx(() => [
|
|
12588
|
-
createTextVNode(toDisplayString(unref(
|
|
13696
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("nodeView.canvasAddButton.addATriggerNodeBeforeExecuting")), 1)
|
|
12589
13697
|
]),
|
|
12590
13698
|
default: withCtx(() => [
|
|
12591
13699
|
createBaseVNode("button", {
|
|
@@ -12605,7 +13713,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
12605
13713
|
createBaseVNode("p", {
|
|
12606
13714
|
class: normalizeClass(_ctx.$style.label)
|
|
12607
13715
|
}, [
|
|
12608
|
-
createTextVNode(toDisplayString(unref(
|
|
13716
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("nodeView.canvasAddButton.addFirstStep")) + " ", 1),
|
|
12609
13717
|
templatesLinkEnabled.value ? (openBlock(), createBlock(_component_N8nLink, {
|
|
12610
13718
|
key: 0,
|
|
12611
13719
|
to: templateRepository.value.to,
|
|
@@ -12616,7 +13724,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
12616
13724
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(trackTemplatesClick)(unref(TemplateClickSource).emptyWorkflowLink))
|
|
12617
13725
|
}, {
|
|
12618
13726
|
default: withCtx(() => [
|
|
12619
|
-
createTextVNode(toDisplayString(unref(
|
|
13727
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("nodeView.templateLink")), 1)
|
|
12620
13728
|
]),
|
|
12621
13729
|
_: 1
|
|
12622
13730
|
}, 8, ["to", "target"])) : createCommentVNode("", true)
|
|
@@ -12642,17 +13750,24 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
12642
13750
|
emits: ["delete"],
|
|
12643
13751
|
setup(__props, { emit: __emit }) {
|
|
12644
13752
|
const emit = __emit;
|
|
12645
|
-
const
|
|
13753
|
+
const i18n2 = useI18n();
|
|
13754
|
+
const router = useRouter();
|
|
12646
13755
|
const { id: id2 } = useCanvasNode();
|
|
12647
13756
|
const builderStore = useBuilderStore();
|
|
13757
|
+
const workflowsStore = useWorkflowsStore();
|
|
13758
|
+
const workflowSaver = useWorkflowSaving({ router });
|
|
12648
13759
|
const isPromptVisible = ref(true);
|
|
12649
13760
|
const isFocused = ref(false);
|
|
12650
13761
|
const prompt = ref("");
|
|
12651
13762
|
const hasContent = computed(() => prompt.value.trim().length > 0);
|
|
12652
13763
|
async function onSubmit() {
|
|
12653
|
-
|
|
13764
|
+
const isNewWorkflow = workflowsStore.isNewWorkflow;
|
|
13765
|
+
if (isNewWorkflow) {
|
|
13766
|
+
await workflowSaver.saveCurrentWorkflow();
|
|
13767
|
+
}
|
|
13768
|
+
await builderStore.openChat();
|
|
12654
13769
|
emit("delete", id2.value);
|
|
12655
|
-
|
|
13770
|
+
builderStore.sendChatMessage({ text: prompt.value, source: "canvas" });
|
|
12656
13771
|
isPromptVisible.value = false;
|
|
12657
13772
|
}
|
|
12658
13773
|
return (_ctx, _cache) => {
|
|
@@ -12676,7 +13791,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
12676
13791
|
class: normalizeClass(_ctx.$style.form_textarea),
|
|
12677
13792
|
type: "textarea",
|
|
12678
13793
|
disabled: unref(builderStore).streaming,
|
|
12679
|
-
placeholder: unref(
|
|
13794
|
+
placeholder: unref(i18n2).baseText("aiAssistant.builder.placeholder"),
|
|
12680
13795
|
"read-only": false,
|
|
12681
13796
|
rows: 15,
|
|
12682
13797
|
onFocus: _cache[1] || (_cache[1] = ($event) => isFocused.value = true),
|
|
@@ -12692,7 +13807,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
|
|
|
12692
13807
|
onKeydown: withKeys(onSubmit, ["enter"])
|
|
12693
13808
|
}, {
|
|
12694
13809
|
default: withCtx(() => [
|
|
12695
|
-
createTextVNode(toDisplayString(unref(
|
|
13810
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("aiAssistant.builder.buildWorkflow")), 1)
|
|
12696
13811
|
]),
|
|
12697
13812
|
_: 1
|
|
12698
13813
|
}, 8, ["disabled"])
|
|
@@ -12970,13 +14085,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
12970
14085
|
};
|
|
12971
14086
|
}
|
|
12972
14087
|
});
|
|
12973
|
-
const wrapper$
|
|
14088
|
+
const wrapper$3 = "_wrapper_hyidj_123";
|
|
12974
14089
|
const secondary = "_secondary_hyidj_126";
|
|
12975
14090
|
const line = "_line_hyidj_126";
|
|
12976
14091
|
const plus$1 = "_plus_hyidj_129";
|
|
12977
14092
|
const success = "_success_hyidj_135";
|
|
12978
14093
|
const style0$e = {
|
|
12979
|
-
wrapper: wrapper$
|
|
14094
|
+
wrapper: wrapper$3,
|
|
12980
14095
|
secondary,
|
|
12981
14096
|
line,
|
|
12982
14097
|
plus: plus$1,
|
|
@@ -13014,7 +14129,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
13014
14129
|
setup(__props, { emit: __emit }) {
|
|
13015
14130
|
const emit = __emit;
|
|
13016
14131
|
const $style = useCssModule();
|
|
13017
|
-
const
|
|
14132
|
+
const i18n2 = useI18n();
|
|
13018
14133
|
const { render: render2 } = useCanvasNode();
|
|
13019
14134
|
const { label: label2, isConnected, isConnecting, isReadOnly, isRequired, runData: runData2 } = useCanvasNodeHandle();
|
|
13020
14135
|
const classes = computed(() => ({
|
|
@@ -13027,7 +14142,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
13027
14142
|
const renderOptions = computed(() => render2.value.options);
|
|
13028
14143
|
const runDataTotal = computed(() => runData2.value?.total ?? 0);
|
|
13029
14144
|
const runDataLabel2 = computed(
|
|
13030
|
-
() => !isConnected.value && runData2.value && runData2.value.total > 0 ?
|
|
14145
|
+
() => !isConnected.value && runData2.value && runData2.value.total > 0 ? i18n2.baseText("ndv.output.items", {
|
|
13031
14146
|
adjustToNumber: runData2.value.total,
|
|
13032
14147
|
interpolate: { count: String(runData2.value.total) }
|
|
13033
14148
|
}) : ""
|
|
@@ -13395,7 +14510,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
13395
14510
|
[style.hovered]: !!__props.hovered
|
|
13396
14511
|
}));
|
|
13397
14512
|
const router = useRouter();
|
|
13398
|
-
const
|
|
14513
|
+
const i18n2 = useI18n();
|
|
13399
14514
|
const workflowsStore = useWorkflowsStore();
|
|
13400
14515
|
const logsStore = useLogsStore();
|
|
13401
14516
|
const { runEntireWorkflow } = useRunWorkflow({ router });
|
|
@@ -13434,11 +14549,11 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
13434
14549
|
size: "large",
|
|
13435
14550
|
disabled: isExecuting.value,
|
|
13436
14551
|
"data-test-id": testId.value,
|
|
13437
|
-
label: unref(
|
|
14552
|
+
label: unref(i18n2).baseText("chat.hide"),
|
|
13438
14553
|
onClickCapture: _cache[0] || (_cache[0] = ($event) => unref(logsStore).toggleOpen(false))
|
|
13439
14554
|
}, null, 8, ["disabled", "data-test-id", "label"])) : (openBlock(), createBlock(KeyboardShortcutTooltip, {
|
|
13440
14555
|
key: 1,
|
|
13441
|
-
label: unref(
|
|
14556
|
+
label: unref(i18n2).baseText("chat.open"),
|
|
13442
14557
|
shortcut: { keys: ["c"] }
|
|
13443
14558
|
}, {
|
|
13444
14559
|
default: withCtx(() => [
|
|
@@ -13448,7 +14563,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
13448
14563
|
size: "large",
|
|
13449
14564
|
disabled: isExecuting.value,
|
|
13450
14565
|
"data-test-id": testId.value,
|
|
13451
|
-
label: unref(
|
|
14566
|
+
label: unref(i18n2).baseText("chat.open"),
|
|
13452
14567
|
onClickCapture: _cache[1] || (_cache[1] = ($event) => unref(startChat)("node"))
|
|
13453
14568
|
}, null, 8, ["disabled", "data-test-id", "label"])
|
|
13454
14569
|
]),
|
|
@@ -13461,7 +14576,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
13461
14576
|
size: "large",
|
|
13462
14577
|
disabled: isExecuting.value,
|
|
13463
14578
|
"data-test-id": testId.value,
|
|
13464
|
-
label: unref(
|
|
14579
|
+
label: unref(i18n2).baseText("nodeView.runButtonText.executeWorkflow"),
|
|
13465
14580
|
onClickCapture: handleClickExecute
|
|
13466
14581
|
}, null, 8, ["disabled", "data-test-id", "label"]))
|
|
13467
14582
|
], 64)) : createCommentVNode("", true)
|
|
@@ -14279,6 +15394,10 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
14279
15394
|
}
|
|
14280
15395
|
}
|
|
14281
15396
|
async function onTidyUp(payload) {
|
|
15397
|
+
if (payload.nodeIdsFilter && payload.nodeIdsFilter.length > 0) {
|
|
15398
|
+
clearSelectedNodes();
|
|
15399
|
+
addSelectedNodes(payload.nodeIdsFilter.map(findNode).filter(isPresent));
|
|
15400
|
+
}
|
|
14282
15401
|
const applyOnSelection = selectedNodes.value.length > 1;
|
|
14283
15402
|
const target2 = applyOnSelection ? "selection" : "all";
|
|
14284
15403
|
const result = layout(target2);
|
|
@@ -14446,14 +15565,14 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
14446
15565
|
createVNode(_component_CanvasConnectionLine, normalizeProps(guardReactiveProps(connectionLineProps)), null, 16)
|
|
14447
15566
|
]),
|
|
14448
15567
|
default: withCtx(() => [
|
|
14449
|
-
createVNode(_sfc_main$
|
|
14450
|
-
createVNode(_sfc_main$
|
|
15568
|
+
createVNode(_sfc_main$N, { id: arrowHeadMarkerId.value }, null, 8, ["id"]),
|
|
15569
|
+
createVNode(_sfc_main$O, {
|
|
14451
15570
|
viewport: unref(viewport),
|
|
14452
15571
|
striped: _ctx.readOnly
|
|
14453
15572
|
}, null, 8, ["viewport", "striped"]),
|
|
14454
15573
|
createVNode(Transition$1, { name: "minimap" }, {
|
|
14455
15574
|
default: withCtx(() => [
|
|
14456
|
-
withDirectives(createVNode(unref(_sfc_main$
|
|
15575
|
+
withDirectives(createVNode(unref(_sfc_main$R), {
|
|
14457
15576
|
"data-test-id": "canvas-minimap",
|
|
14458
15577
|
"aria-label": "n8n Minimap",
|
|
14459
15578
|
height: 120,
|
|
@@ -14505,13 +15624,13 @@ const style0$5 = {
|
|
|
14505
15624
|
const cssModules$5 = {
|
|
14506
15625
|
"$style": style0$5
|
|
14507
15626
|
};
|
|
14508
|
-
const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__cssModules", cssModules$5], ["__scopeId", "data-v-
|
|
15627
|
+
const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$9, [["__cssModules", cssModules$5], ["__scopeId", "data-v-5ad26715"]]);
|
|
14509
15628
|
function useCanvasMapping({
|
|
14510
15629
|
nodes,
|
|
14511
15630
|
connections: connections2,
|
|
14512
15631
|
workflowObject
|
|
14513
15632
|
}) {
|
|
14514
|
-
const
|
|
15633
|
+
const i18n2 = useI18n();
|
|
14515
15634
|
const workflowsStore = useWorkflowsStore();
|
|
14516
15635
|
const nodeTypesStore = useNodeTypesStore();
|
|
14517
15636
|
const nodeHelpers = useNodeHelpers();
|
|
@@ -14697,11 +15816,11 @@ function useCanvasMapping({
|
|
|
14697
15816
|
return acc;
|
|
14698
15817
|
}
|
|
14699
15818
|
if ("eventTriggerDescription" in nodeTypeDescription) {
|
|
14700
|
-
const nodeName =
|
|
15819
|
+
const nodeName = i18n2.shortNodeType(nodeTypeDescription.name);
|
|
14701
15820
|
const { eventTriggerDescription } = nodeTypeDescription;
|
|
14702
|
-
acc[node2.id] =
|
|
15821
|
+
acc[node2.id] = i18n2.nodeText(nodeTypeDescription.name).eventTriggerDescription(nodeName, eventTriggerDescription ?? "");
|
|
14703
15822
|
} else {
|
|
14704
|
-
acc[node2.id] =
|
|
15823
|
+
acc[node2.id] = i18n2.baseText("node.waitingForYouToCreateAnEventIn", {
|
|
14705
15824
|
interpolate: {
|
|
14706
15825
|
nodeType: nodeTypeDescription ? getTriggerNodeServiceName(nodeTypeDescription) : ""
|
|
14707
15826
|
}
|
|
@@ -14803,24 +15922,24 @@ function useCanvasMapping({
|
|
|
14803
15922
|
if (workflowExecution && lastNodeExecuted && isExecutionSummary(workflowExecution)) {
|
|
14804
15923
|
if (node2.name === workflowExecution.data?.resultData?.lastNodeExecuted && workflowExecution?.waitTill && !workflowExecution?.finished) {
|
|
14805
15924
|
if (node2 && node2.type === WAIT_NODE_TYPE && ["webhook", "form"].includes(node2.parameters.resume)) {
|
|
14806
|
-
acc[node2.id] = node2.parameters.resume === "webhook" ?
|
|
15925
|
+
acc[node2.id] = node2.parameters.resume === "webhook" ? i18n2.baseText("node.theNodeIsWaitingWebhookCall") : i18n2.baseText("node.theNodeIsWaitingFormCall");
|
|
14807
15926
|
return acc;
|
|
14808
15927
|
}
|
|
14809
15928
|
if (node2?.parameters.operation === SEND_AND_WAIT_OPERATION) {
|
|
14810
|
-
acc[node2.id] =
|
|
15929
|
+
acc[node2.id] = i18n2.baseText("node.theNodeIsWaitingUserInput");
|
|
14811
15930
|
return acc;
|
|
14812
15931
|
}
|
|
14813
15932
|
if (node2?.type === FORM_NODE_TYPE) {
|
|
14814
|
-
acc[node2.id] =
|
|
15933
|
+
acc[node2.id] = i18n2.baseText("node.theNodeIsWaitingFormCall");
|
|
14815
15934
|
return acc;
|
|
14816
15935
|
}
|
|
14817
15936
|
const waitDate = new Date(workflowExecution.waitTill);
|
|
14818
15937
|
if (waitDate.getTime() === WAIT_INDEFINITELY.getTime()) {
|
|
14819
|
-
acc[node2.id] =
|
|
15938
|
+
acc[node2.id] = i18n2.baseText(
|
|
14820
15939
|
"node.theNodeIsWaitingIndefinitelyForAnIncomingWebhookCall"
|
|
14821
15940
|
);
|
|
14822
15941
|
}
|
|
14823
|
-
acc[node2.id] =
|
|
15942
|
+
acc[node2.id] = i18n2.baseText("node.nodeIsWaitingTill", {
|
|
14824
15943
|
interpolate: {
|
|
14825
15944
|
date: waitDate.toLocaleDateString(),
|
|
14826
15945
|
time: waitDate.toLocaleTimeString()
|
|
@@ -14999,14 +16118,14 @@ function useCanvasMapping({
|
|
|
14999
16118
|
}
|
|
15000
16119
|
if (nodePinnedDataById.value[fromNode.id]) {
|
|
15001
16120
|
const pinnedDataCount = nodePinnedDataById.value[fromNode.id]?.length ?? 0;
|
|
15002
|
-
return pinnedDataCount > 0 ?
|
|
16121
|
+
return pinnedDataCount > 0 ? i18n2.baseText("ndv.output.items", {
|
|
15003
16122
|
adjustToNumber: pinnedDataCount,
|
|
15004
16123
|
interpolate: { count: String(pinnedDataCount) }
|
|
15005
16124
|
}) : "";
|
|
15006
16125
|
} else if (nodeExecutionRunDataById.value[fromNode.id]) {
|
|
15007
16126
|
const { type, index } = parseCanvasConnectionHandleString(connection.sourceHandle);
|
|
15008
16127
|
const runDataTotal = nodeExecutionRunDataOutputMapById.value[fromNode.id]?.[type]?.[index]?.total ?? 0;
|
|
15009
|
-
return runDataTotal > 0 ?
|
|
16128
|
+
return runDataTotal > 0 ? i18n2.baseText("ndv.output.items", {
|
|
15010
16129
|
adjustToNumber: runDataTotal,
|
|
15011
16130
|
interpolate: { count: String(runDataTotal) }
|
|
15012
16131
|
}) : "";
|
|
@@ -15049,7 +16168,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
15049
16168
|
{ immediate: true }
|
|
15050
16169
|
);
|
|
15051
16170
|
return (_ctx, _cache) => {
|
|
15052
|
-
const _component_N8nIconButton = _sfc_main$
|
|
16171
|
+
const _component_N8nIconButton = _sfc_main$Y;
|
|
15053
16172
|
return openBlock(), createElementBlock("div", {
|
|
15054
16173
|
class: normalizeClass([_ctx.$style.component, content2.value === void 0 ? _ctx.$style.closed : ""])
|
|
15055
16174
|
}, [
|
|
@@ -15159,23 +16278,50 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
15159
16278
|
};
|
|
15160
16279
|
}
|
|
15161
16280
|
});
|
|
15162
|
-
const wrapper$
|
|
16281
|
+
const wrapper$2 = "_wrapper_jyurh_123";
|
|
15163
16282
|
const canvas = "_canvas_jyurh_131";
|
|
15164
16283
|
const style0$3 = {
|
|
15165
|
-
wrapper: wrapper$
|
|
16284
|
+
wrapper: wrapper$2,
|
|
15166
16285
|
canvas
|
|
15167
16286
|
};
|
|
15168
16287
|
const cssModules$3 = {
|
|
15169
16288
|
"$style": style0$3
|
|
15170
16289
|
};
|
|
15171
16290
|
const WorkflowCanvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$3]]);
|
|
16291
|
+
function useExecutionData({ node: node2 }) {
|
|
16292
|
+
const workflowsStore = useWorkflowsStore();
|
|
16293
|
+
const workflowExecution = computed(() => {
|
|
16294
|
+
return workflowsStore.getWorkflowExecution;
|
|
16295
|
+
});
|
|
16296
|
+
const workflowRunData = computed(() => {
|
|
16297
|
+
if (workflowExecution.value === null) {
|
|
16298
|
+
return null;
|
|
16299
|
+
}
|
|
16300
|
+
const executionData = workflowExecution.value.data;
|
|
16301
|
+
if (!executionData?.resultData?.runData) {
|
|
16302
|
+
return null;
|
|
16303
|
+
}
|
|
16304
|
+
return executionData.resultData.runData;
|
|
16305
|
+
});
|
|
16306
|
+
const hasNodeRun = computed(() => {
|
|
16307
|
+
if (workflowsStore.subWorkflowExecutionError) return true;
|
|
16308
|
+
return Boolean(
|
|
16309
|
+
node2.value && workflowRunData.value && Object.prototype.hasOwnProperty.bind(workflowRunData.value)(node2.value.name)
|
|
16310
|
+
);
|
|
16311
|
+
});
|
|
16312
|
+
return {
|
|
16313
|
+
workflowExecution,
|
|
16314
|
+
workflowRunData,
|
|
16315
|
+
hasNodeRun
|
|
16316
|
+
};
|
|
16317
|
+
}
|
|
15172
16318
|
const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
15173
16319
|
...{ name: "FocusPanel" },
|
|
15174
16320
|
__name: "FocusPanel",
|
|
15175
16321
|
props: {
|
|
15176
16322
|
isCanvasReadOnly: { type: Boolean }
|
|
15177
16323
|
},
|
|
15178
|
-
emits: ["focus"],
|
|
16324
|
+
emits: ["focus", "saveKeyboardShortcut"],
|
|
15179
16325
|
setup(__props, { emit: __emit }) {
|
|
15180
16326
|
const props = __props;
|
|
15181
16327
|
const emit = __emit;
|
|
@@ -15183,22 +16329,27 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15183
16329
|
const locale = useI18n();
|
|
15184
16330
|
const nodeHelpers = useNodeHelpers();
|
|
15185
16331
|
const focusPanelStore = useFocusPanelStore();
|
|
16332
|
+
const workflowsStore = useWorkflowsStore();
|
|
15186
16333
|
const nodeTypesStore = useNodeTypesStore();
|
|
15187
16334
|
const nodeSettingsParameters = useNodeSettingsParameters();
|
|
15188
16335
|
const environmentsStore = useEnvironmentsStore();
|
|
16336
|
+
const deviceSupport = useDeviceSupport();
|
|
15189
16337
|
const { debounce } = useDebounce();
|
|
16338
|
+
const styles = useStyles();
|
|
15190
16339
|
const focusedNodeParameter = computed(() => focusPanelStore.focusedNodeParameters[0]);
|
|
15191
16340
|
const resolvedParameter = computed(
|
|
15192
16341
|
() => focusedNodeParameter.value && focusPanelStore.isRichParameter(focusedNodeParameter.value) ? focusedNodeParameter.value : void 0
|
|
15193
16342
|
);
|
|
15194
16343
|
const focusPanelActive = computed(() => focusPanelStore.focusPanelActive);
|
|
16344
|
+
const focusPanelHidden = computed(() => focusPanelStore.focusPanelHidden);
|
|
16345
|
+
const focusPanelWidth = computed(() => focusPanelStore.focusPanelWidth);
|
|
15195
16346
|
const isDisabled = computed(() => {
|
|
15196
16347
|
if (!resolvedParameter.value) return false;
|
|
15197
16348
|
return !!resolvedParameter.value.parameter.disabledOptions && nodeSettingsParameters.shouldDisplayNodeParameter(
|
|
15198
16349
|
resolvedParameter.value.node.parameters,
|
|
15199
16350
|
resolvedParameter.value.node,
|
|
15200
16351
|
resolvedParameter.value.parameter,
|
|
15201
|
-
"",
|
|
16352
|
+
resolvedParameter.value.parameterPath.split(".").slice(1, -1).join("."),
|
|
15202
16353
|
"disabledOptions"
|
|
15203
16354
|
);
|
|
15204
16355
|
});
|
|
@@ -15208,7 +16359,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15208
16359
|
resolvedParameter.value.node.parameters,
|
|
15209
16360
|
resolvedParameter.value.node,
|
|
15210
16361
|
resolvedParameter.value.parameter,
|
|
15211
|
-
"",
|
|
16362
|
+
resolvedParameter.value.parameterPath.split(".").slice(1, -1).join("."),
|
|
15212
16363
|
"displayOptions"
|
|
15213
16364
|
);
|
|
15214
16365
|
});
|
|
@@ -15224,6 +16375,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15224
16375
|
foreignCredentials
|
|
15225
16376
|
);
|
|
15226
16377
|
});
|
|
16378
|
+
const node2 = computed(() => resolvedParameter.value?.node);
|
|
16379
|
+
const { hasNodeRun } = useExecutionData({ node: node2 });
|
|
15227
16380
|
function getTypeOption(optionName) {
|
|
15228
16381
|
return resolvedParameter.value ? getParameterTypeOption(resolvedParameter.value.parameter, optionName) : void 0;
|
|
15229
16382
|
}
|
|
@@ -15268,6 +16421,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15268
16421
|
parameterPath: resolvedParameter.value.parameterPath
|
|
15269
16422
|
};
|
|
15270
16423
|
});
|
|
16424
|
+
const isNodeExecuting = computed(() => workflowsStore.isNodeExecuting(node2.value?.name ?? ""));
|
|
15271
16425
|
const { resolvedExpression } = useResolvedExpression({
|
|
15272
16426
|
expression,
|
|
15273
16427
|
additionalData: resolvedAdditionalExpressionData,
|
|
@@ -15278,6 +16432,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15278
16432
|
return;
|
|
15279
16433
|
}
|
|
15280
16434
|
nodeSettingsParameters.updateNodeParameter(
|
|
16435
|
+
toRef(resolvedParameter.value.node.parameters),
|
|
15281
16436
|
{ value, name: resolvedParameter.value.parameterPath },
|
|
15282
16437
|
value,
|
|
15283
16438
|
resolvedParameter.value.node,
|
|
@@ -15298,8 +16453,13 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15298
16453
|
function optionSelected(command) {
|
|
15299
16454
|
if (!resolvedParameter.value) return;
|
|
15300
16455
|
switch (command) {
|
|
15301
|
-
case "resetValue":
|
|
15302
|
-
|
|
16456
|
+
case "resetValue": {
|
|
16457
|
+
if (typeof resolvedParameter.value.parameter.default === "string") {
|
|
16458
|
+
valueChanged(resolvedParameter.value.parameter.default);
|
|
16459
|
+
}
|
|
16460
|
+
void setFocus();
|
|
16461
|
+
break;
|
|
16462
|
+
}
|
|
15303
16463
|
case "addExpression": {
|
|
15304
16464
|
const newValue = formatAsExpression(
|
|
15305
16465
|
resolvedParameter.value.value,
|
|
@@ -15327,14 +16487,52 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15327
16487
|
}
|
|
15328
16488
|
case "formatHtml":
|
|
15329
16489
|
htmlEditorEventBus.emit("format-html");
|
|
15330
|
-
|
|
16490
|
+
break;
|
|
15331
16491
|
}
|
|
15332
16492
|
}
|
|
15333
16493
|
const valueChangedDebounced = debounce(valueChanged, { debounceTime: 0 });
|
|
16494
|
+
function focusWithDelay() {
|
|
16495
|
+
setTimeout(() => {
|
|
16496
|
+
void setFocus();
|
|
16497
|
+
}, 50);
|
|
16498
|
+
}
|
|
16499
|
+
function handleKeydown(event) {
|
|
16500
|
+
if (event.key === "s" && deviceSupport.isCtrlKeyPressed(event)) {
|
|
16501
|
+
event.stopPropagation();
|
|
16502
|
+
event.preventDefault();
|
|
16503
|
+
if (isReadOnly.value) return;
|
|
16504
|
+
emit("saveKeyboardShortcut", event);
|
|
16505
|
+
}
|
|
16506
|
+
}
|
|
16507
|
+
const registerKeyboardListener = () => {
|
|
16508
|
+
document.addEventListener("keydown", handleKeydown, true);
|
|
16509
|
+
};
|
|
16510
|
+
const unregisterKeyboardListener = () => {
|
|
16511
|
+
document.removeEventListener("keydown", handleKeydown, true);
|
|
16512
|
+
};
|
|
16513
|
+
watch(
|
|
16514
|
+
[() => focusPanelStore.lastFocusTimestamp, () => expressionModeEnabled.value],
|
|
16515
|
+
() => focusWithDelay()
|
|
16516
|
+
);
|
|
16517
|
+
watch(
|
|
16518
|
+
() => focusPanelStore.focusPanelActive,
|
|
16519
|
+
(newValue) => {
|
|
16520
|
+
if (newValue) {
|
|
16521
|
+
registerKeyboardListener();
|
|
16522
|
+
} else {
|
|
16523
|
+
unregisterKeyboardListener();
|
|
16524
|
+
}
|
|
16525
|
+
},
|
|
16526
|
+
{ immediate: true }
|
|
16527
|
+
);
|
|
16528
|
+
function onResize(event) {
|
|
16529
|
+
focusPanelStore.updateWidth(event.width);
|
|
16530
|
+
}
|
|
16531
|
+
const onResizeThrottle = useThrottleFn(onResize, 10);
|
|
15334
16532
|
return (_ctx, _cache) => {
|
|
15335
|
-
const
|
|
15336
|
-
const
|
|
15337
|
-
const _component_ParameterOptions = __unplugin_components_2$
|
|
16533
|
+
const _component_NodeExecuteButton = _sfc_main$10;
|
|
16534
|
+
const _component_N8nIcon = N8nIcon;
|
|
16535
|
+
const _component_ParameterOptions = __unplugin_components_2$3;
|
|
15338
16536
|
const _component_ExpressionEditorModalInput = __unplugin_components_3$1;
|
|
15339
16537
|
const _component_CodeNodeEditor = __unplugin_components_4;
|
|
15340
16538
|
const _component_HtmlEditor = __unplugin_components_5;
|
|
@@ -15342,233 +16540,329 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
15342
16540
|
const _component_SqlEditor = __unplugin_components_7;
|
|
15343
16541
|
const _component_JsEditor = __unplugin_components_8;
|
|
15344
16542
|
const _component_JsonEditor = __unplugin_components_9;
|
|
15345
|
-
|
|
16543
|
+
const _component_N8nRadioButtons = N8nRadioButtons;
|
|
16544
|
+
return focusPanelActive.value ? withDirectives((openBlock(), createElementBlock("div", {
|
|
15346
16545
|
key: 0,
|
|
15347
|
-
class: normalizeClass(_ctx.$style.
|
|
15348
|
-
onKeydown: _cache[
|
|
16546
|
+
class: normalizeClass(_ctx.$style.wrapper),
|
|
16547
|
+
onKeydown: _cache[1] || (_cache[1] = withModifiers(() => {
|
|
15349
16548
|
}, ["stop"]))
|
|
15350
16549
|
}, [
|
|
15351
|
-
|
|
15352
|
-
|
|
15353
|
-
|
|
15354
|
-
|
|
15355
|
-
|
|
15356
|
-
|
|
15357
|
-
},
|
|
15358
|
-
|
|
15359
|
-
|
|
15360
|
-
|
|
15361
|
-
_: 1
|
|
15362
|
-
}),
|
|
15363
|
-
createBaseVNode("div", {
|
|
15364
|
-
class: normalizeClass(_ctx.$style.closeButton),
|
|
15365
|
-
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
15366
|
-
(...args) => unref(focusPanelStore).closeFocusPanel && unref(focusPanelStore).closeFocusPanel(...args))
|
|
15367
|
-
}, [
|
|
15368
|
-
createVNode(_component_n8n_icon, {
|
|
15369
|
-
icon: "arrow-right",
|
|
15370
|
-
color: "text-base"
|
|
15371
|
-
})
|
|
15372
|
-
], 2)
|
|
15373
|
-
], 2),
|
|
15374
|
-
resolvedParameter.value ? (openBlock(), createElementBlock("div", {
|
|
15375
|
-
key: 0,
|
|
15376
|
-
class: normalizeClass(_ctx.$style.content)
|
|
15377
|
-
}, [
|
|
15378
|
-
createBaseVNode("div", {
|
|
15379
|
-
class: normalizeClass(_ctx.$style.tabHeader)
|
|
15380
|
-
}, [
|
|
15381
|
-
createBaseVNode("div", {
|
|
15382
|
-
class: normalizeClass(_ctx.$style.tabHeaderText)
|
|
15383
|
-
}, [
|
|
15384
|
-
createVNode(unref(N8nText), {
|
|
15385
|
-
color: "text-dark",
|
|
15386
|
-
size: "small"
|
|
15387
|
-
}, {
|
|
15388
|
-
default: withCtx(() => [
|
|
15389
|
-
createTextVNode(toDisplayString(resolvedParameter.value.parameter.displayName), 1)
|
|
15390
|
-
]),
|
|
15391
|
-
_: 1
|
|
15392
|
-
}),
|
|
15393
|
-
createVNode(unref(N8nText), {
|
|
15394
|
-
color: "text-base",
|
|
15395
|
-
size: "xsmall"
|
|
15396
|
-
}, {
|
|
15397
|
-
default: withCtx(() => [
|
|
15398
|
-
createTextVNode(toDisplayString(resolvedParameter.value.node.name), 1)
|
|
15399
|
-
]),
|
|
15400
|
-
_: 1
|
|
15401
|
-
})
|
|
15402
|
-
], 2),
|
|
15403
|
-
createVNode(_component_NodeExecuteButton, {
|
|
15404
|
-
"data-test-id": "node-execute-button",
|
|
15405
|
-
"node-name": resolvedParameter.value.node.name,
|
|
15406
|
-
tooltip: `Execute ${resolvedParameter.value.node.name}`,
|
|
15407
|
-
disabled: !isExecutable2.value,
|
|
15408
|
-
size: "small",
|
|
15409
|
-
icon: "play",
|
|
15410
|
-
square: true,
|
|
15411
|
-
"hide-label": true,
|
|
15412
|
-
"telemetry-source": "focus"
|
|
15413
|
-
}, null, 8, ["node-name", "tooltip", "disabled"])
|
|
15414
|
-
], 2),
|
|
15415
|
-
createBaseVNode("div", {
|
|
15416
|
-
class: normalizeClass(_ctx.$style.parameterDetailsWrapper)
|
|
15417
|
-
}, [
|
|
16550
|
+
createVNode(unref(N8nResizeWrapper), {
|
|
16551
|
+
width: focusPanelWidth.value,
|
|
16552
|
+
"supported-directions": ["left"],
|
|
16553
|
+
"min-width": 300,
|
|
16554
|
+
"max-width": 1e3,
|
|
16555
|
+
"grid-size": 8,
|
|
16556
|
+
style: normalizeStyle({ width: `${focusPanelWidth.value}px`, zIndex: unref(styles).APP_Z_INDEXES.FOCUS_PANEL }),
|
|
16557
|
+
onResize: unref(onResizeThrottle)
|
|
16558
|
+
}, {
|
|
16559
|
+
default: withCtx(() => [
|
|
15418
16560
|
createBaseVNode("div", {
|
|
15419
|
-
class: normalizeClass(_ctx.$style.
|
|
15420
|
-
}, [
|
|
15421
|
-
_cache[3] || (_cache[3] = createBaseVNode("div", null, null, -1)),
|
|
15422
|
-
isDisplayed.value ? (openBlock(), createBlock(_component_ParameterOptions, {
|
|
15423
|
-
key: 0,
|
|
15424
|
-
parameter: resolvedParameter.value.parameter,
|
|
15425
|
-
value: resolvedParameter.value.value,
|
|
15426
|
-
"is-read-only": isReadOnly.value,
|
|
15427
|
-
"onUpdate:modelValue": optionSelected
|
|
15428
|
-
}, null, 8, ["parameter", "value", "is-read-only"])) : createCommentVNode("", true)
|
|
15429
|
-
], 2),
|
|
15430
|
-
typeof resolvedParameter.value.value === "string" ? (openBlock(), createElementBlock("div", {
|
|
15431
|
-
key: 0,
|
|
15432
|
-
class: normalizeClass(_ctx.$style.editorContainer)
|
|
16561
|
+
class: normalizeClass(_ctx.$style.container)
|
|
15433
16562
|
}, [
|
|
15434
|
-
|
|
16563
|
+
resolvedParameter.value ? (openBlock(), createElementBlock("div", {
|
|
15435
16564
|
key: 0,
|
|
16565
|
+
class: normalizeClass(_ctx.$style.content)
|
|
16566
|
+
}, [
|
|
16567
|
+
createBaseVNode("div", {
|
|
16568
|
+
class: normalizeClass(_ctx.$style.tabHeader)
|
|
16569
|
+
}, [
|
|
16570
|
+
createBaseVNode("div", {
|
|
16571
|
+
class: normalizeClass(_ctx.$style.tabHeaderText)
|
|
16572
|
+
}, [
|
|
16573
|
+
createVNode(unref(N8nText), {
|
|
16574
|
+
color: "text-dark",
|
|
16575
|
+
size: "small"
|
|
16576
|
+
}, {
|
|
16577
|
+
default: withCtx(() => [
|
|
16578
|
+
createTextVNode(toDisplayString(resolvedParameter.value.parameter.displayName), 1)
|
|
16579
|
+
]),
|
|
16580
|
+
_: 1
|
|
16581
|
+
}),
|
|
16582
|
+
createVNode(unref(N8nText), {
|
|
16583
|
+
color: "text-base",
|
|
16584
|
+
size: "xsmall"
|
|
16585
|
+
}, {
|
|
16586
|
+
default: withCtx(() => [
|
|
16587
|
+
createTextVNode(toDisplayString(resolvedParameter.value.node.name), 1)
|
|
16588
|
+
]),
|
|
16589
|
+
_: 1
|
|
16590
|
+
})
|
|
16591
|
+
], 2),
|
|
16592
|
+
createBaseVNode("div", {
|
|
16593
|
+
class: normalizeClass(_ctx.$style.buttonWrapper)
|
|
16594
|
+
}, [
|
|
16595
|
+
createVNode(_component_NodeExecuteButton, {
|
|
16596
|
+
"data-test-id": "node-execute-button",
|
|
16597
|
+
"node-name": resolvedParameter.value.node.name,
|
|
16598
|
+
tooltip: `Execute ${resolvedParameter.value.node.name}`,
|
|
16599
|
+
disabled: !isExecutable2.value,
|
|
16600
|
+
size: "small",
|
|
16601
|
+
icon: "play",
|
|
16602
|
+
square: true,
|
|
16603
|
+
"hide-label": true,
|
|
16604
|
+
"telemetry-source": "focus"
|
|
16605
|
+
}, null, 8, ["node-name", "tooltip", "disabled"]),
|
|
16606
|
+
createVNode(_component_N8nIcon, {
|
|
16607
|
+
class: normalizeClass(_ctx.$style.closeButton),
|
|
16608
|
+
icon: "x",
|
|
16609
|
+
color: "text-base",
|
|
16610
|
+
size: "xlarge",
|
|
16611
|
+
onClick: unref(focusPanelStore).closeFocusPanel
|
|
16612
|
+
}, null, 8, ["class", "onClick"])
|
|
16613
|
+
], 2)
|
|
16614
|
+
], 2),
|
|
16615
|
+
createBaseVNode("div", {
|
|
16616
|
+
class: normalizeClass(_ctx.$style.parameterDetailsWrapper)
|
|
16617
|
+
}, [
|
|
16618
|
+
createBaseVNode("div", {
|
|
16619
|
+
class: normalizeClass(_ctx.$style.parameterOptionsWrapper)
|
|
16620
|
+
}, [
|
|
16621
|
+
createBaseVNode("div", {
|
|
16622
|
+
class: normalizeClass(_ctx.$style.noExecutionDataTip)
|
|
16623
|
+
}, [
|
|
16624
|
+
!unref(hasNodeRun) && !isNodeExecuting.value ? (openBlock(), createBlock(unref(InfoTip), {
|
|
16625
|
+
key: 0,
|
|
16626
|
+
class: normalizeClass(_ctx.$style.delayedShow),
|
|
16627
|
+
bold: true
|
|
16628
|
+
}, {
|
|
16629
|
+
default: withCtx(() => [
|
|
16630
|
+
createTextVNode(toDisplayString(unref(locale).baseText("nodeView.focusPanel.noExecutionData")), 1)
|
|
16631
|
+
]),
|
|
16632
|
+
_: 1
|
|
16633
|
+
}, 8, ["class"])) : createCommentVNode("", true)
|
|
16634
|
+
], 2),
|
|
16635
|
+
isDisplayed.value ? (openBlock(), createBlock(_component_ParameterOptions, {
|
|
16636
|
+
key: 0,
|
|
16637
|
+
parameter: resolvedParameter.value.parameter,
|
|
16638
|
+
value: resolvedParameter.value.value,
|
|
16639
|
+
"is-read-only": isReadOnly.value,
|
|
16640
|
+
"onUpdate:modelValue": optionSelected
|
|
16641
|
+
}, null, 8, ["parameter", "value", "is-read-only"])) : createCommentVNode("", true)
|
|
16642
|
+
], 2),
|
|
16643
|
+
typeof resolvedParameter.value.value === "string" ? (openBlock(), createElementBlock("div", {
|
|
16644
|
+
key: 0,
|
|
16645
|
+
class: normalizeClass(_ctx.$style.editorContainer)
|
|
16646
|
+
}, [
|
|
16647
|
+
!isDisplayed.value ? (openBlock(), createElementBlock("div", {
|
|
16648
|
+
key: 0,
|
|
16649
|
+
class: normalizeClass([_ctx.$style.content, _ctx.$style.emptyContent])
|
|
16650
|
+
}, [
|
|
16651
|
+
createBaseVNode("div", {
|
|
16652
|
+
class: normalizeClass(_ctx.$style.emptyText)
|
|
16653
|
+
}, [
|
|
16654
|
+
createVNode(unref(N8nText), { color: "text-base" }, {
|
|
16655
|
+
default: withCtx(() => [
|
|
16656
|
+
createTextVNode(toDisplayString(unref(locale).baseText("nodeView.focusPanel.missingParameter")), 1)
|
|
16657
|
+
]),
|
|
16658
|
+
_: 1
|
|
16659
|
+
})
|
|
16660
|
+
], 2)
|
|
16661
|
+
], 2)) : expressionModeEnabled.value ? (openBlock(), createBlock(_component_ExpressionEditorModalInput, {
|
|
16662
|
+
key: 1,
|
|
16663
|
+
ref_key: "inputField",
|
|
16664
|
+
ref: inputField,
|
|
16665
|
+
"model-value": resolvedParameter.value.value,
|
|
16666
|
+
class: normalizeClass(_ctx.$style.editor),
|
|
16667
|
+
"is-read-only": isReadOnly.value,
|
|
16668
|
+
path: resolvedParameter.value.parameterPath,
|
|
16669
|
+
"data-test-id": "expression-modal-input",
|
|
16670
|
+
"target-node-parameter-context": targetNodeParameterContext.value,
|
|
16671
|
+
onChange: _cache[0] || (_cache[0] = ($event) => unref(valueChangedDebounced)($event.value))
|
|
16672
|
+
}, null, 8, ["model-value", "class", "is-read-only", "path", "target-node-parameter-context"])) : ["json", "string"].includes(resolvedParameter.value.parameter.type) ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
16673
|
+
editorType.value === "codeNodeEditor" ? (openBlock(), createBlock(_component_CodeNodeEditor, {
|
|
16674
|
+
key: 0,
|
|
16675
|
+
id: resolvedParameter.value.parameterPath,
|
|
16676
|
+
ref_key: "inputField",
|
|
16677
|
+
ref: inputField,
|
|
16678
|
+
class: normalizeClass(_ctx.$style.heightFull),
|
|
16679
|
+
mode: codeEditorMode.value,
|
|
16680
|
+
"model-value": resolvedParameter.value.value,
|
|
16681
|
+
"default-value": resolvedParameter.value.parameter.default,
|
|
16682
|
+
language: editorLanguage.value,
|
|
16683
|
+
"is-read-only": isReadOnly.value,
|
|
16684
|
+
"target-node-parameter-context": targetNodeParameterContext.value,
|
|
16685
|
+
"fill-parent": "",
|
|
16686
|
+
"disable-ask-ai": true,
|
|
16687
|
+
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
16688
|
+
}, null, 8, ["id", "class", "mode", "model-value", "default-value", "language", "is-read-only", "target-node-parameter-context", "onUpdate:modelValue"])) : editorType.value === "htmlEditor" ? (openBlock(), createBlock(_component_HtmlEditor, {
|
|
16689
|
+
key: 1,
|
|
16690
|
+
ref_key: "inputField",
|
|
16691
|
+
ref: inputField,
|
|
16692
|
+
"model-value": resolvedParameter.value.value,
|
|
16693
|
+
"is-read-only": isReadOnly.value,
|
|
16694
|
+
rows: editorRows.value,
|
|
16695
|
+
"disable-expression-coloring": !isHtmlNode.value,
|
|
16696
|
+
"disable-expression-completions": !isHtmlNode.value,
|
|
16697
|
+
fullscreen: "",
|
|
16698
|
+
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
16699
|
+
}, null, 8, ["model-value", "is-read-only", "rows", "disable-expression-coloring", "disable-expression-completions", "onUpdate:modelValue"])) : editorType.value === "cssEditor" ? (openBlock(), createBlock(_component_CssEditor, {
|
|
16700
|
+
key: 2,
|
|
16701
|
+
ref_key: "inputField",
|
|
16702
|
+
ref: inputField,
|
|
16703
|
+
"model-value": resolvedParameter.value.value,
|
|
16704
|
+
"is-read-only": isReadOnly.value,
|
|
16705
|
+
rows: editorRows.value,
|
|
16706
|
+
fullscreen: "",
|
|
16707
|
+
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
16708
|
+
}, null, 8, ["model-value", "is-read-only", "rows", "onUpdate:modelValue"])) : editorType.value === "sqlEditor" ? (openBlock(), createBlock(_component_SqlEditor, {
|
|
16709
|
+
key: 3,
|
|
16710
|
+
ref_key: "inputField",
|
|
16711
|
+
ref: inputField,
|
|
16712
|
+
"model-value": resolvedParameter.value.value,
|
|
16713
|
+
dialect: getTypeOption("sqlDialect"),
|
|
16714
|
+
"is-read-only": isReadOnly.value,
|
|
16715
|
+
rows: editorRows.value,
|
|
16716
|
+
fullscreen: "",
|
|
16717
|
+
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
16718
|
+
}, null, 8, ["model-value", "dialect", "is-read-only", "rows", "onUpdate:modelValue"])) : editorType.value === "jsEditor" ? (openBlock(), createBlock(_component_JsEditor, {
|
|
16719
|
+
key: 4,
|
|
16720
|
+
ref_key: "inputField",
|
|
16721
|
+
ref: inputField,
|
|
16722
|
+
"model-value": resolvedParameter.value.value,
|
|
16723
|
+
"is-read-only": isReadOnly.value,
|
|
16724
|
+
rows: editorRows.value,
|
|
16725
|
+
"posthog-capture": shouldCaptureForPosthog.value,
|
|
16726
|
+
"fill-parent": "",
|
|
16727
|
+
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
16728
|
+
}, null, 8, ["model-value", "is-read-only", "rows", "posthog-capture", "onUpdate:modelValue"])) : resolvedParameter.value.parameter.type === "json" ? (openBlock(), createBlock(_component_JsonEditor, {
|
|
16729
|
+
key: 5,
|
|
16730
|
+
ref_key: "inputField",
|
|
16731
|
+
ref: inputField,
|
|
16732
|
+
"model-value": resolvedParameter.value.value,
|
|
16733
|
+
"is-read-only": isReadOnly.value,
|
|
16734
|
+
rows: editorRows.value,
|
|
16735
|
+
fullscreen: "",
|
|
16736
|
+
"fill-parent": "",
|
|
16737
|
+
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
16738
|
+
}, null, 8, ["model-value", "is-read-only", "rows", "onUpdate:modelValue"])) : (openBlock(), createBlock(unref(N8nInput), {
|
|
16739
|
+
key: 6,
|
|
16740
|
+
ref_key: "inputField",
|
|
16741
|
+
ref: inputField,
|
|
16742
|
+
"model-value": resolvedParameter.value.value,
|
|
16743
|
+
class: normalizeClass(_ctx.$style.editor),
|
|
16744
|
+
readonly: isReadOnly.value,
|
|
16745
|
+
type: "textarea",
|
|
16746
|
+
resize: "none",
|
|
16747
|
+
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
16748
|
+
}, null, 8, ["model-value", "class", "readonly", "onUpdate:modelValue"]))
|
|
16749
|
+
], 64)) : createCommentVNode("", true)
|
|
16750
|
+
], 2)) : createCommentVNode("", true)
|
|
16751
|
+
], 2)
|
|
16752
|
+
], 2)) : (openBlock(), createElementBlock("div", {
|
|
16753
|
+
key: 1,
|
|
15436
16754
|
class: normalizeClass([_ctx.$style.content, _ctx.$style.emptyContent])
|
|
15437
16755
|
}, [
|
|
15438
16756
|
createBaseVNode("div", {
|
|
15439
16757
|
class: normalizeClass(_ctx.$style.emptyText)
|
|
15440
16758
|
}, [
|
|
15441
|
-
|
|
16759
|
+
createBaseVNode("div", {
|
|
16760
|
+
class: normalizeClass(_ctx.$style.focusParameterWrapper)
|
|
16761
|
+
}, [
|
|
16762
|
+
createBaseVNode("div", {
|
|
16763
|
+
class: normalizeClass(_ctx.$style.iconWrapper)
|
|
16764
|
+
}, [
|
|
16765
|
+
createVNode(_component_N8nIcon, {
|
|
16766
|
+
class: normalizeClass(_ctx.$style.forceHover),
|
|
16767
|
+
icon: "panel-right",
|
|
16768
|
+
size: "medium"
|
|
16769
|
+
}, null, 8, ["class"]),
|
|
16770
|
+
createVNode(_component_N8nIcon, {
|
|
16771
|
+
class: normalizeClass(_ctx.$style.pointerIcon),
|
|
16772
|
+
icon: "mouse-pointer",
|
|
16773
|
+
color: "text-dark",
|
|
16774
|
+
size: "large"
|
|
16775
|
+
}, null, 8, ["class"])
|
|
16776
|
+
], 2),
|
|
16777
|
+
createVNode(_component_N8nIcon, {
|
|
16778
|
+
icon: "ellipsis-vertical",
|
|
16779
|
+
size: "small",
|
|
16780
|
+
color: "text-base"
|
|
16781
|
+
}),
|
|
16782
|
+
createVNode(_component_N8nRadioButtons, {
|
|
16783
|
+
size: "small",
|
|
16784
|
+
"model-value": "expression",
|
|
16785
|
+
disabled: true,
|
|
16786
|
+
options: [
|
|
16787
|
+
{ label: unref(locale).baseText("parameterInput.fixed"), value: "fixed" },
|
|
16788
|
+
{ label: unref(locale).baseText("parameterInput.expression"), value: "expression" }
|
|
16789
|
+
]
|
|
16790
|
+
}, null, 8, ["options"])
|
|
16791
|
+
], 2),
|
|
16792
|
+
createVNode(unref(N8nText), {
|
|
16793
|
+
color: "text-base",
|
|
16794
|
+
size: "medium",
|
|
16795
|
+
bold: true
|
|
16796
|
+
}, {
|
|
16797
|
+
default: withCtx(() => [
|
|
16798
|
+
createTextVNode(toDisplayString(unref(locale).baseText("nodeView.focusPanel.noParameters.title")), 1)
|
|
16799
|
+
]),
|
|
16800
|
+
_: 1
|
|
16801
|
+
}),
|
|
16802
|
+
createVNode(unref(N8nText), {
|
|
16803
|
+
color: "text-base",
|
|
16804
|
+
size: "small"
|
|
16805
|
+
}, {
|
|
15442
16806
|
default: withCtx(() => [
|
|
15443
|
-
createTextVNode(toDisplayString(unref(locale).baseText("nodeView.focusPanel.
|
|
16807
|
+
createTextVNode(toDisplayString(unref(locale).baseText("nodeView.focusPanel.noParameters.subtitle")), 1)
|
|
15444
16808
|
]),
|
|
15445
16809
|
_: 1
|
|
15446
16810
|
})
|
|
15447
16811
|
], 2)
|
|
15448
|
-
], 2))
|
|
15449
|
-
|
|
15450
|
-
|
|
15451
|
-
|
|
15452
|
-
|
|
15453
|
-
|
|
15454
|
-
|
|
15455
|
-
|
|
15456
|
-
"data-test-id": "expression-modal-input",
|
|
15457
|
-
"target-node-parameter-context": targetNodeParameterContext.value,
|
|
15458
|
-
onChange: _cache[1] || (_cache[1] = ($event) => unref(valueChangedDebounced)($event.value))
|
|
15459
|
-
}, null, 8, ["model-value", "class", "is-read-only", "path", "target-node-parameter-context"])) : ["json", "string"].includes(resolvedParameter.value.parameter.type) ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
15460
|
-
editorType.value === "codeNodeEditor" ? (openBlock(), createBlock(_component_CodeNodeEditor, {
|
|
15461
|
-
key: 0,
|
|
15462
|
-
id: resolvedParameter.value.parameterPath,
|
|
15463
|
-
mode: codeEditorMode.value,
|
|
15464
|
-
"model-value": resolvedParameter.value.value,
|
|
15465
|
-
"default-value": resolvedParameter.value.parameter.default,
|
|
15466
|
-
language: editorLanguage.value,
|
|
15467
|
-
"is-read-only": isReadOnly.value,
|
|
15468
|
-
"target-node-parameter-context": targetNodeParameterContext.value,
|
|
15469
|
-
"fill-parent": "",
|
|
15470
|
-
"disable-ask-ai": true,
|
|
15471
|
-
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
15472
|
-
}, null, 8, ["id", "mode", "model-value", "default-value", "language", "is-read-only", "target-node-parameter-context", "onUpdate:modelValue"])) : editorType.value === "htmlEditor" ? (openBlock(), createBlock(_component_HtmlEditor, {
|
|
15473
|
-
key: 1,
|
|
15474
|
-
"model-value": resolvedParameter.value.value,
|
|
15475
|
-
"is-read-only": isReadOnly.value,
|
|
15476
|
-
rows: editorRows.value,
|
|
15477
|
-
"disable-expression-coloring": !isHtmlNode.value,
|
|
15478
|
-
"disable-expression-completions": !isHtmlNode.value,
|
|
15479
|
-
fullscreen: "",
|
|
15480
|
-
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
15481
|
-
}, null, 8, ["model-value", "is-read-only", "rows", "disable-expression-coloring", "disable-expression-completions", "onUpdate:modelValue"])) : editorType.value === "cssEditor" ? (openBlock(), createBlock(_component_CssEditor, {
|
|
15482
|
-
key: 2,
|
|
15483
|
-
"model-value": resolvedParameter.value.value,
|
|
15484
|
-
"is-read-only": isReadOnly.value,
|
|
15485
|
-
rows: editorRows.value,
|
|
15486
|
-
fullscreen: "",
|
|
15487
|
-
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
15488
|
-
}, null, 8, ["model-value", "is-read-only", "rows", "onUpdate:modelValue"])) : editorType.value === "sqlEditor" ? (openBlock(), createBlock(_component_SqlEditor, {
|
|
15489
|
-
key: 3,
|
|
15490
|
-
"model-value": resolvedParameter.value.value,
|
|
15491
|
-
dialect: getTypeOption("sqlDialect"),
|
|
15492
|
-
"is-read-only": isReadOnly.value,
|
|
15493
|
-
rows: editorRows.value,
|
|
15494
|
-
fullscreen: "",
|
|
15495
|
-
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
15496
|
-
}, null, 8, ["model-value", "dialect", "is-read-only", "rows", "onUpdate:modelValue"])) : editorType.value === "jsEditor" ? (openBlock(), createBlock(_component_JsEditor, {
|
|
15497
|
-
key: 4,
|
|
15498
|
-
"model-value": resolvedParameter.value.value,
|
|
15499
|
-
"is-read-only": isReadOnly.value,
|
|
15500
|
-
rows: editorRows.value,
|
|
15501
|
-
"posthog-capture": shouldCaptureForPosthog.value,
|
|
15502
|
-
"fill-parent": "",
|
|
15503
|
-
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
15504
|
-
}, null, 8, ["model-value", "is-read-only", "rows", "posthog-capture", "onUpdate:modelValue"])) : resolvedParameter.value.parameter.type === "json" ? (openBlock(), createBlock(_component_JsonEditor, {
|
|
15505
|
-
key: 5,
|
|
15506
|
-
"model-value": resolvedParameter.value.value,
|
|
15507
|
-
"is-read-only": isReadOnly.value,
|
|
15508
|
-
rows: editorRows.value,
|
|
15509
|
-
fullscreen: "",
|
|
15510
|
-
"fill-parent": "",
|
|
15511
|
-
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
15512
|
-
}, null, 8, ["model-value", "is-read-only", "rows", "onUpdate:modelValue"])) : (openBlock(), createBlock(unref(N8nInput), {
|
|
15513
|
-
key: 6,
|
|
15514
|
-
ref_key: "inputField",
|
|
15515
|
-
ref: inputField,
|
|
15516
|
-
"model-value": resolvedParameter.value.value,
|
|
15517
|
-
class: normalizeClass(_ctx.$style.editor),
|
|
15518
|
-
readonly: isReadOnly.value,
|
|
15519
|
-
type: "textarea",
|
|
15520
|
-
resize: "none",
|
|
15521
|
-
"onUpdate:modelValue": unref(valueChangedDebounced)
|
|
15522
|
-
}, null, 8, ["model-value", "class", "readonly", "onUpdate:modelValue"]))
|
|
15523
|
-
], 64)) : createCommentVNode("", true)
|
|
15524
|
-
], 2)) : createCommentVNode("", true)
|
|
15525
|
-
], 2)
|
|
15526
|
-
], 2)) : (openBlock(), createElementBlock("div", {
|
|
15527
|
-
key: 1,
|
|
15528
|
-
class: normalizeClass([_ctx.$style.content, _ctx.$style.emptyContent])
|
|
15529
|
-
}, [
|
|
15530
|
-
createBaseVNode("div", {
|
|
15531
|
-
class: normalizeClass(_ctx.$style.emptyText)
|
|
15532
|
-
}, [
|
|
15533
|
-
createVNode(unref(N8nText), { color: "text-base" }, {
|
|
15534
|
-
default: withCtx(() => [
|
|
15535
|
-
createTextVNode(toDisplayString(unref(locale).baseText("nodeView.focusPanel.noParameters")), 1)
|
|
15536
|
-
]),
|
|
15537
|
-
_: 1
|
|
15538
|
-
})
|
|
15539
|
-
], 2)
|
|
15540
|
-
], 2))
|
|
15541
|
-
], 34)) : createCommentVNode("", true);
|
|
16812
|
+
], 2))
|
|
16813
|
+
], 2)
|
|
16814
|
+
]),
|
|
16815
|
+
_: 1
|
|
16816
|
+
}, 8, ["width", "style", "onResize"])
|
|
16817
|
+
], 34)), [
|
|
16818
|
+
[vShow, !focusPanelHidden.value]
|
|
16819
|
+
]) : createCommentVNode("", true);
|
|
15542
16820
|
};
|
|
15543
16821
|
}
|
|
15544
16822
|
});
|
|
15545
|
-
const
|
|
15546
|
-
const
|
|
15547
|
-
const
|
|
15548
|
-
const
|
|
15549
|
-
const
|
|
15550
|
-
const
|
|
15551
|
-
const
|
|
15552
|
-
const
|
|
15553
|
-
const
|
|
15554
|
-
const
|
|
15555
|
-
const
|
|
15556
|
-
const
|
|
15557
|
-
const
|
|
16823
|
+
const wrapper$1 = "_wrapper_1ebmp_123";
|
|
16824
|
+
const container = "_container_1ebmp_132";
|
|
16825
|
+
const content = "_content_1ebmp_138";
|
|
16826
|
+
const emptyContent = "_emptyContent_1ebmp_144";
|
|
16827
|
+
const emptyText = "_emptyText_1ebmp_149";
|
|
16828
|
+
const focusParameterWrapper = "_focusParameterWrapper_1ebmp_155";
|
|
16829
|
+
const iconWrapper = "_iconWrapper_1ebmp_162";
|
|
16830
|
+
const pointerIcon = "_pointerIcon_1ebmp_166";
|
|
16831
|
+
const tabHeader = "_tabHeader_1ebmp_176";
|
|
16832
|
+
const tabHeaderText = "_tabHeaderText_1ebmp_183";
|
|
16833
|
+
const buttonWrapper = "_buttonWrapper_1ebmp_188";
|
|
16834
|
+
const parameterDetailsWrapper = "_parameterDetailsWrapper_1ebmp_193";
|
|
16835
|
+
const parameterOptionsWrapper = "_parameterOptionsWrapper_1ebmp_200";
|
|
16836
|
+
const noExecutionDataTip = "_noExecutionDataTip_1ebmp_204";
|
|
16837
|
+
const editorContainer = "_editorContainer_1ebmp_207";
|
|
16838
|
+
const editor = "_editor_1ebmp_207";
|
|
16839
|
+
const delayedShow = "_delayedShow_1ebmp_222";
|
|
16840
|
+
const triggerShow = "_triggerShow_1ebmp_1";
|
|
16841
|
+
const closeButton = "_closeButton_1ebmp_233";
|
|
16842
|
+
const heightFull = "_heightFull_1ebmp_237";
|
|
16843
|
+
const forceHover = "_forceHover_1ebmp_241";
|
|
15558
16844
|
const style0$2 = {
|
|
16845
|
+
wrapper: wrapper$1,
|
|
15559
16846
|
container,
|
|
15560
|
-
closeButton,
|
|
15561
|
-
header,
|
|
15562
16847
|
content,
|
|
15563
16848
|
emptyContent,
|
|
15564
16849
|
emptyText,
|
|
16850
|
+
focusParameterWrapper,
|
|
16851
|
+
iconWrapper,
|
|
16852
|
+
pointerIcon,
|
|
15565
16853
|
tabHeader,
|
|
15566
16854
|
tabHeaderText,
|
|
15567
16855
|
buttonWrapper,
|
|
15568
16856
|
parameterDetailsWrapper,
|
|
15569
16857
|
parameterOptionsWrapper,
|
|
16858
|
+
noExecutionDataTip,
|
|
15570
16859
|
editorContainer,
|
|
15571
|
-
editor
|
|
16860
|
+
editor,
|
|
16861
|
+
delayedShow,
|
|
16862
|
+
triggerShow,
|
|
16863
|
+
closeButton,
|
|
16864
|
+
heightFull,
|
|
16865
|
+
forceHover
|
|
15572
16866
|
};
|
|
15573
16867
|
const cssModules$2 = {
|
|
15574
16868
|
"$style": style0$2
|
|
@@ -15588,18 +16882,18 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
15588
16882
|
setup(__props, { emit: __emit }) {
|
|
15589
16883
|
const emit = __emit;
|
|
15590
16884
|
const props = __props;
|
|
15591
|
-
const
|
|
16885
|
+
const i18n2 = useI18n();
|
|
15592
16886
|
const selectableTriggerNodes = computed(
|
|
15593
16887
|
() => props.triggerNodes.filter((node2) => !node2.disabled && !isChatNode(node2))
|
|
15594
16888
|
);
|
|
15595
16889
|
const label2 = computed(() => {
|
|
15596
16890
|
if (!props.executing) {
|
|
15597
|
-
return
|
|
16891
|
+
return i18n2.baseText("nodeView.runButtonText.executeWorkflow");
|
|
15598
16892
|
}
|
|
15599
16893
|
if (props.waitingForWebhook) {
|
|
15600
|
-
return
|
|
16894
|
+
return i18n2.baseText("nodeView.runButtonText.waitingForTriggerEvent");
|
|
15601
16895
|
}
|
|
15602
|
-
return
|
|
16896
|
+
return i18n2.baseText("nodeView.runButtonText.executingWorkflow");
|
|
15603
16897
|
});
|
|
15604
16898
|
const actions2 = computed(
|
|
15605
16899
|
() => props.triggerNodes.filter((node2) => !isChatNode(node2)).toSorted((a, b) => {
|
|
@@ -15624,8 +16918,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
15624
16918
|
return props.getNodeType(node2.type, node2.typeVersion);
|
|
15625
16919
|
}
|
|
15626
16920
|
return (_ctx, _cache) => {
|
|
15627
|
-
const
|
|
15628
|
-
const _component_NodeIcon = _sfc_main$U;
|
|
16921
|
+
const _component_NodeIcon = _sfc_main$$;
|
|
15629
16922
|
return openBlock(), createElementBlock("div", {
|
|
15630
16923
|
class: normalizeClass([_ctx.$style.component, isSplitButton.value ? _ctx.$style.split : ""])
|
|
15631
16924
|
}, [
|
|
@@ -15658,7 +16951,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
15658
16951
|
bold: false
|
|
15659
16952
|
}, {
|
|
15660
16953
|
default: withCtx(() => [
|
|
15661
|
-
createVNode(
|
|
16954
|
+
createVNode(unref(I18nT), {
|
|
16955
|
+
keypath: "nodeView.runButtonText.from",
|
|
16956
|
+
scope: "global"
|
|
16957
|
+
}, {
|
|
15662
16958
|
nodeName: withCtx(() => [
|
|
15663
16959
|
createVNode(unref(N8nText), {
|
|
15664
16960
|
bold: "",
|
|
@@ -15714,7 +17010,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
15714
17010
|
"node-type": getNodeTypeByName(item.id)
|
|
15715
17011
|
}, null, 8, ["class", "node-type"]),
|
|
15716
17012
|
createBaseVNode("span", null, [
|
|
15717
|
-
createVNode(
|
|
17013
|
+
createVNode(unref(I18nT), {
|
|
17014
|
+
keypath: "nodeView.runButtonText.from",
|
|
17015
|
+
scope: "global"
|
|
17016
|
+
}, {
|
|
15718
17017
|
nodeName: withCtx(() => [
|
|
15719
17018
|
createVNode(unref(N8nText), {
|
|
15720
17019
|
bold: "",
|
|
@@ -15832,18 +17131,18 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
15832
17131
|
},
|
|
15833
17132
|
setup(__props) {
|
|
15834
17133
|
const props = __props;
|
|
15835
|
-
const
|
|
15836
|
-
const
|
|
15837
|
-
() => props.stopping ?
|
|
17134
|
+
const i18n2 = useI18n();
|
|
17135
|
+
const title2 = computed(
|
|
17136
|
+
() => props.stopping ? i18n2.baseText("nodeView.stoppingCurrentExecution") : i18n2.baseText("nodeView.stopCurrentExecution")
|
|
15838
17137
|
);
|
|
15839
17138
|
return (_ctx, _cache) => {
|
|
15840
|
-
const _component_N8nIconButton = _sfc_main$
|
|
17139
|
+
const _component_N8nIconButton = _sfc_main$Y;
|
|
15841
17140
|
return openBlock(), createBlock(_component_N8nIconButton, {
|
|
15842
17141
|
icon: "square",
|
|
15843
17142
|
size: "large",
|
|
15844
17143
|
class: "stop-execution",
|
|
15845
17144
|
type: "secondary",
|
|
15846
|
-
title:
|
|
17145
|
+
title: title2.value,
|
|
15847
17146
|
loading: _ctx.stopping,
|
|
15848
17147
|
"data-test-id": "stop-execution-button"
|
|
15849
17148
|
}, null, 8, ["title", "loading"]);
|
|
@@ -15853,14 +17152,14 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
15853
17152
|
const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
15854
17153
|
__name: "CanvasStopWaitingForWebhookButton",
|
|
15855
17154
|
setup(__props) {
|
|
15856
|
-
const
|
|
17155
|
+
const i18n2 = useI18n();
|
|
15857
17156
|
return (_ctx, _cache) => {
|
|
15858
|
-
const _component_N8nIconButton = _sfc_main$
|
|
17157
|
+
const _component_N8nIconButton = _sfc_main$Y;
|
|
15859
17158
|
return openBlock(), createBlock(_component_N8nIconButton, {
|
|
15860
17159
|
class: "stop-execution",
|
|
15861
17160
|
icon: "square",
|
|
15862
17161
|
size: "large",
|
|
15863
|
-
title: unref(
|
|
17162
|
+
title: unref(i18n2).baseText("nodeView.stopWaitingForWebhookCall"),
|
|
15864
17163
|
type: "secondary",
|
|
15865
17164
|
"data-test-id": "stop-execution-waiting-for-webhook-button"
|
|
15866
17165
|
}, null, 8, ["title"]);
|
|
@@ -15912,21 +17211,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15912
17211
|
__name: "NodeView",
|
|
15913
17212
|
setup(__props) {
|
|
15914
17213
|
const LazyNodeCreation = defineAsyncComponent(
|
|
15915
|
-
async () => await __vitePreload(() => import("./NodeCreation-
|
|
17214
|
+
async () => await __vitePreload(() => import("./NodeCreation-CVbCKnet.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
|
|
15916
17215
|
);
|
|
15917
17216
|
const LazyNodeDetailsView = defineAsyncComponent(
|
|
15918
|
-
async () => await __vitePreload(() => import("./NodeDetailsView-
|
|
17217
|
+
async () => await __vitePreload(() => import("./NodeDetailsView-KFidngJi.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]) : void 0)
|
|
15919
17218
|
);
|
|
15920
17219
|
const LazyNodeDetailsViewV2 = defineAsyncComponent(
|
|
15921
|
-
async () => await __vitePreload(() => import("./NodeDetailsViewV2-
|
|
17220
|
+
async () => await __vitePreload(() => import("./NodeDetailsViewV2-BL4KKqW-.js"), true ? __vite__mapDeps([26,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,27]) : void 0)
|
|
15922
17221
|
);
|
|
15923
17222
|
const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
|
|
15924
|
-
async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-
|
|
17223
|
+
async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-Pzrxag-k.js"), true ? __vite__mapDeps([28,1,2]) : void 0)
|
|
15925
17224
|
);
|
|
15926
17225
|
const $style = useCssModule();
|
|
15927
17226
|
const router = useRouter();
|
|
15928
17227
|
const route = useRoute();
|
|
15929
|
-
const
|
|
17228
|
+
const i18n2 = useI18n();
|
|
15930
17229
|
const telemetry = useTelemetry();
|
|
15931
17230
|
const externalHooks = useExternalHooks();
|
|
15932
17231
|
const toast = useToast();
|
|
@@ -15961,6 +17260,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15961
17260
|
const posthogStore = usePostHog();
|
|
15962
17261
|
const agentRequestStore = useAgentRequestStore();
|
|
15963
17262
|
const logsStore = useLogsStore();
|
|
17263
|
+
const aiTemplatesStarterCollectionStore = useAITemplatesStarterCollectionStore();
|
|
15964
17264
|
const { addBeforeUnloadEventBindings, removeBeforeUnloadEventBindings } = useBeforeUnload({
|
|
15965
17265
|
route
|
|
15966
17266
|
});
|
|
@@ -16074,8 +17374,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16074
17374
|
} catch (error2) {
|
|
16075
17375
|
toast.showError(
|
|
16076
17376
|
error2,
|
|
16077
|
-
|
|
16078
|
-
|
|
17377
|
+
i18n2.baseText("nodeView.showError.mounted1.title"),
|
|
17378
|
+
i18n2.baseText("nodeView.showError.mounted1.message") + ":"
|
|
16079
17379
|
);
|
|
16080
17380
|
return;
|
|
16081
17381
|
}
|
|
@@ -16120,8 +17420,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16120
17420
|
break;
|
|
16121
17421
|
default:
|
|
16122
17422
|
toast.showError(
|
|
16123
|
-
new Error(
|
|
16124
|
-
|
|
17423
|
+
new Error(i18n2.baseText("nodeView.couldntLoadWorkflow.invalidWorkflowObject")),
|
|
17424
|
+
i18n2.baseText("nodeView.couldntImportWorkflow")
|
|
16125
17425
|
);
|
|
16126
17426
|
await router.replace({ name: VIEWS.NEW_WORKFLOW });
|
|
16127
17427
|
}
|
|
@@ -16196,6 +17496,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16196
17496
|
if (workflowData.meta?.onboardingId) {
|
|
16197
17497
|
trackOpenWorkflowFromOnboardingTemplate();
|
|
16198
17498
|
}
|
|
17499
|
+
if (workflowData.meta?.templateId?.startsWith("035_template_onboarding")) {
|
|
17500
|
+
aiTemplatesStarterCollectionStore.trackUserOpenedWorkflow(
|
|
17501
|
+
workflowData.meta.templateId.split("-").pop() ?? ""
|
|
17502
|
+
);
|
|
17503
|
+
}
|
|
16199
17504
|
await projectsStore.setProjectNavActiveIdByWorkflowHomeProject(workflowData.homeProject);
|
|
16200
17505
|
} catch (error2) {
|
|
16201
17506
|
if (error2.httpStatusCode === 404) {
|
|
@@ -16210,7 +17515,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16210
17515
|
params: { entityType: "workflow" }
|
|
16211
17516
|
});
|
|
16212
17517
|
}
|
|
16213
|
-
toast.showError(error2,
|
|
17518
|
+
toast.showError(error2, i18n2.baseText("openWorkflow.workflowNotFoundError"));
|
|
16214
17519
|
void router.push({
|
|
16215
17520
|
name: VIEWS.NEW_WORKFLOW
|
|
16216
17521
|
});
|
|
@@ -16245,15 +17550,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16245
17550
|
async function openTemplateFromWorkflowJSON(workflow) {
|
|
16246
17551
|
if (!workflow.nodes || !workflow.connections) {
|
|
16247
17552
|
toast.showError(
|
|
16248
|
-
new Error(
|
|
16249
|
-
|
|
17553
|
+
new Error(i18n2.baseText("nodeView.couldntLoadWorkflow.invalidWorkflowObject")),
|
|
17554
|
+
i18n2.baseText("nodeView.couldntImportWorkflow")
|
|
16250
17555
|
);
|
|
16251
17556
|
await router.replace({ name: VIEWS.NEW_WORKFLOW });
|
|
16252
17557
|
return;
|
|
16253
17558
|
}
|
|
16254
17559
|
resetWorkspace();
|
|
16255
17560
|
canvasStore.startLoading();
|
|
16256
|
-
canvasStore.setLoadingText(
|
|
17561
|
+
canvasStore.setLoadingText(i18n2.baseText("nodeView.loadingTemplate"));
|
|
16257
17562
|
workflowsStore.currentWorkflowExecutions = [];
|
|
16258
17563
|
executionsStore.activeExecution = null;
|
|
16259
17564
|
isBlankRedirect.value = true;
|
|
@@ -16271,7 +17576,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16271
17576
|
async function openWorkflowTemplate(templateId) {
|
|
16272
17577
|
resetWorkspace();
|
|
16273
17578
|
canvasStore.startLoading();
|
|
16274
|
-
canvasStore.setLoadingText(
|
|
17579
|
+
canvasStore.setLoadingText(i18n2.baseText("nodeView.loadingTemplate"));
|
|
16275
17580
|
workflowsStore.currentWorkflowExecutions = [];
|
|
16276
17581
|
executionsStore.activeExecution = null;
|
|
16277
17582
|
let data;
|
|
@@ -16280,13 +17585,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16280
17585
|
data = await templatesStore.getFixedWorkflowTemplate(templateId);
|
|
16281
17586
|
if (!data) {
|
|
16282
17587
|
throw new Error(
|
|
16283
|
-
|
|
17588
|
+
i18n2.baseText("nodeView.workflowTemplateWithIdCouldNotBeFound", {
|
|
16284
17589
|
interpolate: { templateId }
|
|
16285
17590
|
})
|
|
16286
17591
|
);
|
|
16287
17592
|
}
|
|
16288
17593
|
} catch (error2) {
|
|
16289
|
-
toast.showError(error2,
|
|
17594
|
+
toast.showError(error2, i18n2.baseText("nodeView.couldntImportWorkflow"));
|
|
16290
17595
|
await router.replace({ name: VIEWS.NEW_WORKFLOW });
|
|
16291
17596
|
return;
|
|
16292
17597
|
}
|
|
@@ -16389,7 +17694,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16389
17694
|
}
|
|
16390
17695
|
async function onCopyNodes(ids) {
|
|
16391
17696
|
await copyNodes(ids);
|
|
16392
|
-
toast.showMessage({ title:
|
|
17697
|
+
toast.showMessage({ title: i18n2.baseText("generic.copiedToClipboard"), type: "success" });
|
|
16393
17698
|
}
|
|
16394
17699
|
async function onClipboardPaste(plainTextData) {
|
|
16395
17700
|
if (getNodeViewTab(route) !== MAIN_HEADER_TABS.WORKFLOW || !keyBindingsEnabled.value || !checkIfEditingIsAllowed()) {
|
|
@@ -16398,16 +17703,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16398
17703
|
let workflowData = null;
|
|
16399
17704
|
if (plainTextData.match(VALID_WORKFLOW_IMPORT_URL_REGEX)) {
|
|
16400
17705
|
const importConfirm = await message.confirm(
|
|
16401
|
-
|
|
17706
|
+
i18n2.baseText("nodeView.confirmMessage.onClipboardPasteEvent.message", {
|
|
16402
17707
|
interpolate: { plainTextData }
|
|
16403
17708
|
}),
|
|
16404
|
-
|
|
17709
|
+
i18n2.baseText("nodeView.confirmMessage.onClipboardPasteEvent.headline"),
|
|
16405
17710
|
{
|
|
16406
17711
|
type: "warning",
|
|
16407
|
-
confirmButtonText:
|
|
17712
|
+
confirmButtonText: i18n2.baseText(
|
|
16408
17713
|
"nodeView.confirmMessage.onClipboardPasteEvent.confirmButtonText"
|
|
16409
17714
|
),
|
|
16410
|
-
cancelButtonText:
|
|
17715
|
+
cancelButtonText: i18n2.baseText(
|
|
16411
17716
|
"nodeView.confirmMessage.onClipboardPasteEvent.cancelButtonText"
|
|
16412
17717
|
)
|
|
16413
17718
|
}
|
|
@@ -16473,7 +17778,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16473
17778
|
async function onSaveFromWithinNDV() {
|
|
16474
17779
|
if (ndvStore.activeNodeName) {
|
|
16475
17780
|
toast.showMessage({
|
|
16476
|
-
title:
|
|
17781
|
+
title: i18n2.baseText("generic.workflowSaved"),
|
|
16477
17782
|
type: "success"
|
|
16478
17783
|
});
|
|
16479
17784
|
}
|
|
@@ -16495,17 +17800,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16495
17800
|
if (!keyBindingsEnabled.value || document.querySelector(".rename-prompt")) return;
|
|
16496
17801
|
try {
|
|
16497
17802
|
const promptResponsePromise = message.prompt(
|
|
16498
|
-
|
|
16499
|
-
|
|
17803
|
+
i18n2.baseText("nodeView.prompt.newName") + ":",
|
|
17804
|
+
i18n2.baseText("nodeView.prompt.renameNode") + `: ${currentName}`,
|
|
16500
17805
|
{
|
|
16501
17806
|
customClass: "rename-prompt",
|
|
16502
|
-
confirmButtonText:
|
|
16503
|
-
cancelButtonText:
|
|
16504
|
-
inputErrorMessage:
|
|
17807
|
+
confirmButtonText: i18n2.baseText("nodeView.prompt.rename"),
|
|
17808
|
+
cancelButtonText: i18n2.baseText("nodeView.prompt.cancel"),
|
|
17809
|
+
inputErrorMessage: i18n2.baseText("nodeView.prompt.invalidName"),
|
|
16505
17810
|
inputValue: currentName,
|
|
16506
17811
|
inputValidator: (value) => {
|
|
16507
17812
|
if (!value.trim()) {
|
|
16508
|
-
return
|
|
17813
|
+
return i18n2.baseText("nodeView.prompt.invalidName");
|
|
16509
17814
|
}
|
|
16510
17815
|
return true;
|
|
16511
17816
|
}
|
|
@@ -16545,6 +17850,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16545
17850
|
revalidateNodeOutputConnections(id2);
|
|
16546
17851
|
}
|
|
16547
17852
|
function onClickNodeAdd(source, sourceHandle) {
|
|
17853
|
+
if (isFocusPanelFeatureEnabled.value && focusPanelStore.focusPanelActive) {
|
|
17854
|
+
focusPanelStore.hideFocusPanel();
|
|
17855
|
+
}
|
|
16548
17856
|
nodeCreatorStore.openNodeCreatorForConnectingNode({
|
|
16549
17857
|
connection: {
|
|
16550
17858
|
source,
|
|
@@ -16615,13 +17923,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16615
17923
|
async function onImportWorkflowDataEvent(data) {
|
|
16616
17924
|
const workflowData = data.data;
|
|
16617
17925
|
await importWorkflowData(workflowData, "file", {
|
|
16618
|
-
viewport: viewportBoundaries.value
|
|
17926
|
+
viewport: viewportBoundaries.value,
|
|
17927
|
+
regenerateIds: data.regenerateIds === true || data.regenerateIds === void 0
|
|
16619
17928
|
});
|
|
16620
17929
|
fitView();
|
|
16621
17930
|
selectNodes(workflowData.nodes?.map((node2) => node2.id) ?? []);
|
|
16622
17931
|
if (data.tidyUp) {
|
|
17932
|
+
const nodesIdsToTidyUp = data.nodesIdsToTidyUp;
|
|
16623
17933
|
setTimeout(() => {
|
|
16624
|
-
canvasEventBus.emit("tidyUp", {
|
|
17934
|
+
canvasEventBus.emit("tidyUp", {
|
|
17935
|
+
source: "import-workflow-data",
|
|
17936
|
+
nodeIdsFilter: nodesIdsToTidyUp
|
|
17937
|
+
});
|
|
16625
17938
|
}, 0);
|
|
16626
17939
|
}
|
|
16627
17940
|
}
|
|
@@ -16696,30 +18009,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16696
18009
|
async function onRevertAddNode({ node: node2 }) {
|
|
16697
18010
|
await revertAddNode(node2.name);
|
|
16698
18011
|
}
|
|
16699
|
-
|
|
18012
|
+
function onSwitchActiveNode(nodeName) {
|
|
16700
18013
|
const node2 = workflowsStore.getNodeByName(nodeName);
|
|
16701
18014
|
if (!node2) return;
|
|
16702
18015
|
setNodeActiveByName(nodeName);
|
|
16703
18016
|
selectNodes([node2.id]);
|
|
16704
18017
|
}
|
|
16705
|
-
|
|
18018
|
+
function onOpenSelectiveNodeCreator(node2, connectionType2, connectionIndex = 0) {
|
|
16706
18019
|
nodeCreatorStore.openSelectiveNodeCreator({ node: node2, connectionType: connectionType2, connectionIndex });
|
|
16707
18020
|
}
|
|
16708
|
-
function onOpenNodeCreatorForTriggerNodes(source) {
|
|
16709
|
-
nodeCreatorStore.openNodeCreatorForTriggerNodes(source);
|
|
16710
|
-
}
|
|
16711
|
-
function onOpenNodeCreatorFromCanvas(source) {
|
|
16712
|
-
onToggleNodeCreator({ createNodeActive: true, source });
|
|
16713
|
-
}
|
|
16714
18021
|
function onToggleNodeCreator(options) {
|
|
16715
18022
|
nodeCreatorStore.setNodeCreatorState(options);
|
|
16716
|
-
if (
|
|
16717
|
-
focusPanelStore.
|
|
18023
|
+
if (isFocusPanelFeatureEnabled.value && focusPanelStore.focusPanelActive) {
|
|
18024
|
+
focusPanelStore.hideFocusPanel(options.createNodeActive);
|
|
16718
18025
|
}
|
|
16719
18026
|
if (!options.createNodeActive && !options.hasAddedNodes) {
|
|
16720
18027
|
uiStore.resetLastInteractedWith();
|
|
16721
18028
|
}
|
|
16722
18029
|
}
|
|
18030
|
+
function onOpenNodeCreatorFromCanvas(source) {
|
|
18031
|
+
onToggleNodeCreator({ createNodeActive: true, source });
|
|
18032
|
+
}
|
|
18033
|
+
function onOpenNodeCreatorForTriggerNodes(source) {
|
|
18034
|
+
nodeCreatorStore.openNodeCreatorForTriggerNodes(source);
|
|
18035
|
+
}
|
|
16723
18036
|
function onToggleFocusPanel() {
|
|
16724
18037
|
if (!isFocusPanelFeatureEnabled.value) {
|
|
16725
18038
|
return;
|
|
@@ -16729,6 +18042,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16729
18042
|
function closeNodeCreator() {
|
|
16730
18043
|
if (nodeCreatorStore.isCreateNodeActive) {
|
|
16731
18044
|
nodeCreatorStore.isCreateNodeActive = false;
|
|
18045
|
+
if (isFocusPanelFeatureEnabled.value && focusPanelStore.focusPanelActive) {
|
|
18046
|
+
focusPanelStore.hideFocusPanel(false);
|
|
18047
|
+
}
|
|
16732
18048
|
}
|
|
16733
18049
|
}
|
|
16734
18050
|
function onCreateSticky() {
|
|
@@ -16834,7 +18150,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16834
18150
|
console.error(`Execution ${data.id} error:`);
|
|
16835
18151
|
console.error(data.data.resultData.error.stack);
|
|
16836
18152
|
toast.showMessage({
|
|
16837
|
-
title:
|
|
18153
|
+
title: i18n2.baseText("nodeView.showError.workflowError"),
|
|
16838
18154
|
message: data.data.resultData.error.message,
|
|
16839
18155
|
type: "error",
|
|
16840
18156
|
duration: 0
|
|
@@ -16845,7 +18161,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16845
18161
|
function onExecutionOpenedWithWaitTill(data) {
|
|
16846
18162
|
if (data.waitTill) {
|
|
16847
18163
|
toast.showMessage({
|
|
16848
|
-
title:
|
|
18164
|
+
title: i18n2.baseText("nodeView.thisExecutionHasntFinishedYet"),
|
|
16849
18165
|
message: h(_sfc_main$2),
|
|
16850
18166
|
type: "warning",
|
|
16851
18167
|
duration: 0
|
|
@@ -16970,12 +18286,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16970
18286
|
window.top.postMessage(
|
|
16971
18287
|
JSON.stringify({
|
|
16972
18288
|
command: "error",
|
|
16973
|
-
message:
|
|
18289
|
+
message: i18n2.baseText("openWorkflow.workflowImportError")
|
|
16974
18290
|
}),
|
|
16975
18291
|
"*"
|
|
16976
18292
|
);
|
|
16977
18293
|
}
|
|
16978
|
-
toast.showError(e,
|
|
18294
|
+
toast.showError(e, i18n2.baseText("openWorkflow.workflowImportError"));
|
|
16979
18295
|
}
|
|
16980
18296
|
} else if (json2 && json2.command === "openExecution") {
|
|
16981
18297
|
try {
|
|
@@ -16989,13 +18305,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
16989
18305
|
window.top.postMessage(
|
|
16990
18306
|
JSON.stringify({
|
|
16991
18307
|
command: "error",
|
|
16992
|
-
message:
|
|
18308
|
+
message: i18n2.baseText("nodeView.showError.openExecution.title")
|
|
16993
18309
|
}),
|
|
16994
18310
|
"*"
|
|
16995
18311
|
);
|
|
16996
18312
|
}
|
|
16997
18313
|
toast.showMessage({
|
|
16998
|
-
title:
|
|
18314
|
+
title: i18n2.baseText("nodeView.showError.openExecution.title"),
|
|
16999
18315
|
message: e.message,
|
|
17000
18316
|
type: "error"
|
|
17001
18317
|
});
|
|
@@ -17018,10 +18334,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17018
18334
|
if (isReadOnlyRoute.value || isReadOnlyEnvironment.value) {
|
|
17019
18335
|
const messageContext = isReadOnlyRoute.value ? "executions" : "workflows";
|
|
17020
18336
|
readOnlyNotification.value = toast.showMessage({
|
|
17021
|
-
title:
|
|
18337
|
+
title: i18n2.baseText(
|
|
17022
18338
|
isReadOnlyEnvironment.value ? `readOnlyEnv.showMessage.${messageContext}.title` : "readOnly.showMessage.executions.title"
|
|
17023
18339
|
),
|
|
17024
|
-
message:
|
|
18340
|
+
message: i18n2.baseText(
|
|
17025
18341
|
isReadOnlyEnvironment.value ? `readOnlyEnv.showMessage.${messageContext}.message` : "readOnly.showMessage.executions.message"
|
|
17026
18342
|
),
|
|
17027
18343
|
type: "info"
|
|
@@ -17134,8 +18450,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17134
18450
|
setNodeActive(nodeUi.id);
|
|
17135
18451
|
} else {
|
|
17136
18452
|
toast.showToast({
|
|
17137
|
-
title:
|
|
17138
|
-
message:
|
|
18453
|
+
title: i18n2.baseText("nodeView.showMessage.ndvUrl.missingNodes.title"),
|
|
18454
|
+
message: i18n2.baseText("nodeView.showMessage.ndvUrl.missingNodes.content"),
|
|
17139
18455
|
type: "warning"
|
|
17140
18456
|
});
|
|
17141
18457
|
void router.replace({
|
|
@@ -17370,18 +18686,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17370
18686
|
isLogsPanelOpen.value ? (openBlock(), createBlock(_sfc_main$1, {
|
|
17371
18687
|
key: 0,
|
|
17372
18688
|
type: "tertiary",
|
|
17373
|
-
label: unref(
|
|
18689
|
+
label: unref(i18n2).baseText("chat.hide"),
|
|
17374
18690
|
class: normalizeClass(unref($style).chatButton),
|
|
17375
18691
|
onClick: _cache[1] || (_cache[1] = ($event) => unref(logsStore).toggleOpen(false))
|
|
17376
18692
|
}, null, 8, ["label", "class"])) : (openBlock(), createBlock(KeyboardShortcutTooltip, {
|
|
17377
18693
|
key: 1,
|
|
17378
|
-
label: unref(
|
|
18694
|
+
label: unref(i18n2).baseText("chat.open"),
|
|
17379
18695
|
shortcut: { keys: ["c"] }
|
|
17380
18696
|
}, {
|
|
17381
18697
|
default: withCtx(() => [
|
|
17382
18698
|
createVNode(_sfc_main$1, {
|
|
17383
18699
|
type: isRunWorkflowButtonVisible.value ? "secondary" : "primary",
|
|
17384
|
-
label: unref(
|
|
18700
|
+
label: unref(i18n2).baseText("chat.open"),
|
|
17385
18701
|
class: normalizeClass(unref($style).chatButton),
|
|
17386
18702
|
onClick: onOpenChat
|
|
17387
18703
|
}, null, 8, ["type", "label", "class"])
|
|
@@ -17406,7 +18722,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17406
18722
|
class: normalizeClass(unref($style).readOnlyEnvironmentNotification)
|
|
17407
18723
|
}, {
|
|
17408
18724
|
default: withCtx(() => [
|
|
17409
|
-
createTextVNode(toDisplayString(unref(
|
|
18725
|
+
createTextVNode(toDisplayString(unref(i18n2).baseText("readOnlyEnv.cantEditOrRun")), 1)
|
|
17410
18726
|
]),
|
|
17411
18727
|
_: 1
|
|
17412
18728
|
}, 8, ["class"])) : createCommentVNode("", true),
|
|
@@ -17460,7 +18776,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
17460
18776
|
}, 8, ["id", "workflow", "workflow-object", "fallback-nodes", "show-fallback-nodes", "event-bus", "read-only", "executing", "key-bindings", "onUpdate:logs:inputOpen", "onUpdate:logs:outputOpen", "onUpdate:hasRangeSelection"])) : createCommentVNode("", true),
|
|
17461
18777
|
isFocusPanelFeatureEnabled.value ? (openBlock(), createBlock(FocusPanel, {
|
|
17462
18778
|
key: 1,
|
|
17463
|
-
"is-canvas-read-only": isCanvasReadOnly.value
|
|
18779
|
+
"is-canvas-read-only": isCanvasReadOnly.value,
|
|
18780
|
+
onSaveKeyboardShortcut: onSaveWorkflow
|
|
17464
18781
|
}, null, 8, ["is-canvas-read-only"])) : createCommentVNode("", true)
|
|
17465
18782
|
], 2);
|
|
17466
18783
|
};
|
|
@@ -17487,7 +18804,12 @@ const NodeView$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
|
|
|
17487
18804
|
default: NodeView
|
|
17488
18805
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
17489
18806
|
export {
|
|
18807
|
+
CommunityNodeFooter as C,
|
|
18808
|
+
InputPanel as I,
|
|
17490
18809
|
NodeSettings as N,
|
|
17491
|
-
|
|
17492
|
-
useNodeDocsUrl as
|
|
18810
|
+
__unplugin_components_2 as _,
|
|
18811
|
+
useNodeDocsUrl as a,
|
|
18812
|
+
_sfc_main$z as b,
|
|
18813
|
+
NodeView$1 as c,
|
|
18814
|
+
useExecutionData as u
|
|
17493
18815
|
};
|