n8n-editor-ui 1.75.1 → 1.77.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/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BhRv3Xk0.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DI9LKNPl.js} +1 -1
- package/dist/assets/{AuthView-vL9vjCvD.js → AuthView-DM7o3O4n.js} +2 -2
- package/dist/assets/{CanvasChat-B69VJDcA.js → CanvasChat-D_6gR76j.js} +19 -18
- package/dist/assets/{CanvasControls-DhhKk7yf.js → CanvasControls-Nhfb4Lvl.js} +1 -1
- package/dist/assets/{ChangePasswordView-D8y2rYLl.js → ChangePasswordView-BaAm4ZVG.js} +3 -3
- package/dist/assets/CollectionParameter-B6Y-W51v.js +4 -0
- package/dist/assets/{ConcurrentExecutionsHeader-Dv0s5rxY.js → ConcurrentExecutionsHeader-DIjBdza6.js} +2 -2
- package/dist/assets/{CredentialsView-Dp0fVbpZ.js → CredentialsView-Xu6hENWr.js} +4 -4
- package/dist/assets/{ErrorView-a6qq4rkt.js → ErrorView-DUTGEeMV.js} +1 -1
- package/dist/assets/{ExecutionsView-CpILe_1o.js → ExecutionsView-BUxJO71n.js} +17 -5
- package/dist/assets/{FileSaver.min-C1QTiJmy.js → FileSaver.min-BEdek61R.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-DvdC-9QQ.css → FixedCollectionParameter-BReT5syB.css} +18 -18
- package/dist/assets/{FixedCollectionParameter-kphzKyyy.js → FixedCollectionParameter-C347CzJX.js} +27 -3
- package/dist/assets/{ForgotMyPasswordView-DzUekqel.js → ForgotMyPasswordView-COBAL4BR.js} +3 -3
- package/dist/assets/{Logo-B-pFOUGc.js → Logo-D0YIkpeq.js} +1 -1
- package/dist/assets/{MainHeader-C6S60KwG.js → MainHeader-C9fFpTj2.js} +15 -105
- package/dist/assets/{MainHeader-BIKp2Ncp.css → MainHeader-DC-g9NGP.css} +12 -11
- package/dist/assets/{MainSidebar-CJ-OKhK-.js → MainSidebar-DqTz49bY.js} +38 -81
- package/dist/assets/{NodeCreation-CNcty5fl.js → NodeCreation-BfPITu8g.js} +4 -4
- package/dist/assets/{NodeCreator-DAW2sX8p.js → NodeCreator-CK6kn0Jv.js} +4 -5
- package/dist/assets/{NodeViewSwitcher-mtWBt9cw.js → NodeViewSwitcher-Ccwulgc_.js} +164 -83
- package/dist/assets/{NodeViewSwitcher-CB1zkjni.css → NodeViewSwitcher-DApULbEt.css} +36 -39
- package/dist/assets/{ProjectCardBadge-DcWhzEr6.js → ProjectCardBadge-Dzk3JBiy.js} +2 -15
- package/dist/assets/{ProjectHeader-D2FCquSr.js → ProjectHeader-DScDlb97.js} +1 -1
- package/dist/assets/{ProjectSettings-CDg4IQw7.js → ProjectSettings-BKBT1ZQ3.js} +2 -2
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BPBen7Li.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-vHkaCcgH.js} +1 -1
- package/dist/assets/{ResourcesListLayout-DWASP6Vp.js → ResourcesListLayout-Bm25PbPe.js} +21 -11
- package/dist/assets/{ResourcesListLayout-CJC-YvjD.css → ResourcesListLayout-d7mMNhOL.css} +6 -6
- package/dist/assets/{RunDataJson-CFNeORgR.js → RunDataJson-DdPA-vUg.js} +14 -15
- package/dist/assets/{RunDataJson-BXTLuo7i.css → RunDataJson-Txw0lqay.css} +1 -0
- package/dist/assets/{RunDataJsonActions-COFXneND.js → RunDataJsonActions-DQOpbX-O.js} +2 -2
- package/dist/assets/{RunDataSearch-D9UDSGjR.js → RunDataSearch-CouFZTIv.js} +1 -1
- package/dist/assets/{RunDataTable-C3flt0dy.js → RunDataTable-BTSlSsV8.js} +18 -20
- package/dist/assets/{SamlOnboarding-CWM-8qu7.js → SamlOnboarding-ByjacAW7.js} +3 -3
- package/dist/assets/{SettingsApiView-Bl6jvpWQ.js → SettingsApiView-Bcy_zE6E.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-5Dl4EOzd.js → SettingsCommunityNodesView-Cjl8HKbz.js} +4 -4
- package/dist/assets/{SettingsExternalSecrets-DljwCjwW.js → SettingsExternalSecrets-BdjUgns5.js} +1 -1
- package/dist/assets/{SettingsLdapView-5kgLPxB7.js → SettingsLdapView-JZznK2gT.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-CsB-E4Kv.js → SettingsLogStreamingView-Dr-YFp2W.js} +1 -1
- package/dist/assets/{SettingsPersonalView-B0vJNuPt.js → SettingsPersonalView-inpY_nzK.js} +1 -1
- package/dist/assets/{SettingsSourceControl-B7SGpzBu.js → SettingsSourceControl-Cg7lS-SE.js} +1 -1
- package/dist/assets/{SettingsSso-pDsu2lsS.js → SettingsSso-NG13hUzi.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-B83lunzH.js → SettingsUsageAndPlan-BgSLN2VF.js} +1 -1
- package/dist/assets/{SettingsUsersView-DPM5R_9p.js → SettingsUsersView-DUmnh2jo.js} +1 -1
- package/dist/assets/{SettingsView-NF_8zzqr.js → SettingsView-DdHGr_vR.js} +1 -1
- package/dist/assets/{SetupView-Dzehb2sC.js → SetupView-ByLBPzaO.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-Bhx7c9Lu.js → SetupWorkflowCredentialsButton-Dv3O2B1n.js} +3 -2
- package/dist/assets/{SetupWorkflowFromTemplateView-DaP6_l4S.js → SetupWorkflowFromTemplateView-DFn8kOzj.js} +3 -3
- package/dist/assets/{SigninView-BLyXzN0c.js → SigninView-DIJ4QhSe.js} +3 -3
- package/dist/assets/{SignoutView-BsaJctbQ.js → SignoutView-CzgpQ3SX.js} +1 -1
- package/dist/assets/{SignupView-m53hHk3y.js → SignupView-Ki2_QcUU.js} +3 -3
- package/dist/assets/{TemplateDetails-CWR4kXyf.js → TemplateDetails-BSeVX-wU.js} +1 -1
- package/dist/assets/{TemplateList-DLQxEmgt.js → TemplateList-CM9EZ6da.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-CobxDh9v.js → TemplatesCollectionView-DQMG3Nx0.js} +5 -5
- package/dist/assets/{TemplatesSearchView-CDW7EH1p.js → TemplatesSearchView-BG5Bfpq9.js} +3 -3
- package/dist/assets/{TemplatesView-DJCodjB-.js → TemplatesView-D3vhmKK2.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-DOlLEzEa.js → TemplatesWorkflowView-BVZExmo-.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-Cuphh86f.js → TestDefinitionEditView-DeYXSHuX.js} +837 -549
- package/dist/assets/{TestDefinitionEditView-FI1GVbhl.css → TestDefinitionEditView-d7yfvp9P.css} +601 -238
- package/dist/assets/{TestDefinitionListView-Dgq9dXJL.js → TestDefinitionListView-Dm0Wfpbk.js} +93 -68
- package/dist/assets/{TestDefinitionRootView-DU-JMBSH.js → TestDefinitionRootView-v_AUC4gJ.js} +1 -1
- package/dist/assets/VariablesView-BBjPCn4K.js +509 -0
- package/dist/assets/{VariablesView-D4pRzSuY.css → VariablesView-CIfrpJdg.css} +21 -54
- package/dist/assets/{WorkerView-CbqToUTB.js → WorkerView-wAx-DxZp.js} +5 -5
- package/dist/assets/{WorkflowActivator-BaM6Tydw.js → WorkflowActivator-KzTynbZM.js} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-6kKOPXK7.js → WorkflowExecutionsInfoAccordion-BWYv1FIv.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-Cqq5FeZE.js → WorkflowExecutionsLandingPage-LwIHX7rs.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-D1cSllVi.js → WorkflowExecutionsPreview-D68OCpWf.js} +8 -7
- package/dist/assets/{WorkflowExecutionsView-BUHtKz5M.css → WorkflowExecutionsView-BjdRnQOE.css} +32 -32
- package/dist/assets/{WorkflowExecutionsView-qTFEWbeC.js → WorkflowExecutionsView-C47WjaF2.js} +43 -29
- package/dist/assets/{WorkflowHistory-De54-QkN.js → WorkflowHistory-VBfitRhR.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-p6cAElRZ.js → WorkflowOnboardingView-X9Yz2kZe.js} +1 -31
- package/dist/assets/{WorkflowPreview-CKK96lnJ.js → WorkflowPreview-D0IqMbWq.js} +24 -6
- package/dist/assets/{WorkflowsView-D5G530AX.js → WorkflowsView-CXhmco5U.js} +7 -7
- package/dist/assets/{easyAiWorkflowUtils-eykvtlKm.js → easyAiWorkflowUtils-B7xBZAZO.js} +1 -1
- package/dist/assets/{index-CWcTt6jd.js → index-BW7gX0J2.js} +232838 -231981
- package/dist/assets/{index-DXFsvbJ_.css → index-Bs_8II2j.css} +257 -38
- package/dist/assets/{polyfills-BN5TIqPj.js → polyfills-DNwgos9f.js} +650 -0
- package/dist/assets/{pushConnection.store-CTrZ_kO6.js → pushConnection.store-C6PSl50Z.js} +1 -1
- package/dist/assets/{templateActions-B712CNo3.js → templateActions-BHlzMnfj.js} +1 -1
- package/dist/assets/useBeforeUnload-BudMrcxz.js +43 -0
- package/dist/assets/{useCanvasOperations-BSKKylIT.css → useCanvasOperations-CEWecDkR.css} +12 -12
- package/dist/assets/{useCanvasOperations-DTx4vbp_.js → useCanvasOperations-ZjLeZwpS.js} +62 -61
- package/dist/assets/{useExecutionDebugging-DjYGtT4w.js → useExecutionDebugging-C_Y6ee_L.js} +1 -1
- package/dist/assets/{useExecutionHelpers-DcyS3__o.js → useExecutionHelpers-MX6P-wr8.js} +1 -1
- package/dist/assets/{usePinnedData-C5NRkSpx.js → usePinnedData-CHMuwypo.js} +1 -1
- package/dist/assets/{usePushConnection-CGv57TM5.js → usePushConnection-3HzYJp1-.js} +3 -3
- package/dist/assets/{useRunWorkflow-C_vazd74.js → useRunWorkflow-DUK8ev8x.js} +19 -7
- package/dist/assets/{useWorkflowActivate-Dxi5zSSs.js → useWorkflowActivate-BjJ3P-qa.js} +1 -1
- package/dist/index.html +3 -3
- package/dist/static/n8n-logo.png +0 -0
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-djLQ8MUO.js +0 -4
- package/dist/assets/VariablesView-CaGkZXjl.js +0 -599
- package/dist/assets/useBugReporting-BxDqzvRW.js +0 -38
- package/dist/assets/useNodeViewVersionSwitcher-CXU1PYlK.js +0 -93
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { K as useUIStore, $ as useCanvasStore, r as ref, q as computed, V as VIEWS, g as useI18n } from "./index-BW7gX0J2.js";
|
|
2
|
+
function useBeforeUnload({ route }) {
|
|
3
|
+
const uiStore = useUIStore();
|
|
4
|
+
const canvasStore = useCanvasStore();
|
|
5
|
+
const i18n = useI18n();
|
|
6
|
+
const unloadTimeout = ref(null);
|
|
7
|
+
const isDemoRoute = computed(() => route.name === VIEWS.DEMO);
|
|
8
|
+
const handlers = [];
|
|
9
|
+
function onBeforeUnload(e) {
|
|
10
|
+
if (isDemoRoute.value || window.preventNodeViewBeforeUnload) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
handlers.forEach((handler) => handler());
|
|
14
|
+
if (uiStore.stateIsDirty) {
|
|
15
|
+
e.returnValue = true;
|
|
16
|
+
return true;
|
|
17
|
+
} else {
|
|
18
|
+
canvasStore.startLoading(i18n.baseText("nodeView.redirecting"));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function addBeforeUnloadHandler(handler) {
|
|
23
|
+
handlers.push(handler);
|
|
24
|
+
}
|
|
25
|
+
function addBeforeUnloadEventBindings() {
|
|
26
|
+
window.addEventListener("beforeunload", onBeforeUnload);
|
|
27
|
+
}
|
|
28
|
+
function removeBeforeUnloadEventBindings() {
|
|
29
|
+
if (unloadTimeout.value) {
|
|
30
|
+
clearTimeout(unloadTimeout.value);
|
|
31
|
+
}
|
|
32
|
+
window.removeEventListener("beforeunload", onBeforeUnload);
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
onBeforeUnload,
|
|
36
|
+
addBeforeUnloadEventBindings,
|
|
37
|
+
removeBeforeUnloadEventBindings,
|
|
38
|
+
addBeforeUnloadHandler
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
useBeforeUnload as u
|
|
43
|
+
};
|
|
@@ -2471,16 +2471,16 @@
|
|
|
2471
2471
|
-------------------------- */
|
|
2472
2472
|
/* BEM
|
|
2473
2473
|
-------------------------- */
|
|
2474
|
-
.
|
|
2474
|
+
._handle_19arw_123 {
|
|
2475
2475
|
display: flex;
|
|
2476
2476
|
flex-direction: row;
|
|
2477
2477
|
align-items: center;
|
|
2478
2478
|
justify-content: center;
|
|
2479
2479
|
}
|
|
2480
|
-
.
|
|
2480
|
+
._handle_19arw_123._connected_19arw_129 ._label_19arw_129 {
|
|
2481
2481
|
max-width: 96px;
|
|
2482
2482
|
}
|
|
2483
|
-
.
|
|
2483
|
+
._label_19arw_129 {
|
|
2484
2484
|
position: absolute;
|
|
2485
2485
|
background: var(--color-canvas-label-background);
|
|
2486
2486
|
z-index: 1;
|
|
@@ -2489,22 +2489,22 @@
|
|
|
2489
2489
|
text-overflow: ellipsis;
|
|
2490
2490
|
overflow: hidden;
|
|
2491
2491
|
}
|
|
2492
|
-
.
|
|
2492
|
+
._required_19arw_143 ._label_19arw_129::after {
|
|
2493
2493
|
content: "*";
|
|
2494
2494
|
color: var(--color-danger);
|
|
2495
2495
|
}
|
|
2496
|
-
.
|
|
2496
|
+
._outputLabel_19arw_148 {
|
|
2497
2497
|
top: 50%;
|
|
2498
2498
|
left: var(--spacing-m);
|
|
2499
2499
|
transform: translate(0, -50%);
|
|
2500
2500
|
font-size: var(--font-size-2xs);
|
|
2501
2501
|
color: var(--color-foreground-xdark);
|
|
2502
2502
|
}
|
|
2503
|
-
.
|
|
2503
|
+
._runDataLabel_19arw_156 {
|
|
2504
2504
|
position: absolute;
|
|
2505
|
-
top:
|
|
2505
|
+
top: 50%;
|
|
2506
2506
|
left: 50%;
|
|
2507
|
-
transform: translate(-50%, -
|
|
2507
|
+
transform: translate(-50%, -150%);
|
|
2508
2508
|
font-size: var(--font-size-xs);
|
|
2509
2509
|
color: var(--color-success);
|
|
2510
2510
|
}/* BEM support Func
|
|
@@ -4134,11 +4134,11 @@ path[data-v-161512f5] {
|
|
|
4134
4134
|
-------------------------- */
|
|
4135
4135
|
/* BEM
|
|
4136
4136
|
-------------------------- */
|
|
4137
|
-
.minimap-enter-active[data-v-
|
|
4138
|
-
.minimap-leave-active[data-v-
|
|
4137
|
+
.minimap-enter-active[data-v-e20cd71d],
|
|
4138
|
+
.minimap-leave-active[data-v-e20cd71d] {
|
|
4139
4139
|
transition: opacity 0.3s ease;
|
|
4140
4140
|
}
|
|
4141
|
-
.minimap-enter-from[data-v-
|
|
4142
|
-
.minimap-leave-to[data-v-
|
|
4141
|
+
.minimap-enter-from[data-v-e20cd71d],
|
|
4142
|
+
.minimap-leave-to[data-v-e20cd71d] {
|
|
4143
4143
|
opacity: 0;
|
|
4144
4144
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { u as
|
|
3
|
-
import { c as capitalize, u as usePinnedData } from "./usePinnedData-C5NRkSpx.js";
|
|
1
|
+
import { gn as createCompounder, go as SetCache, gp as arrayIncludes, gq as cacheHas, gr as baseRest, gs as isArrayLikeObject, gt as baseFlatten, r as ref, K as useUIStore, bo as useNodeTypesStore, T as useWorkflowsStore, a0 as useSourceControlStore, q as computed, al as getResourcePermissions, cR as isPresent, H as watch, dz as getMousePosition$1, aB as STICKY_NODE_TYPE, g as useI18n, gu as NOT_DUPLICATABLE_NODE_TYPES, d as defineComponent, E as onClickOutside, l as unref, c as openBlock, e as createBlock, j as createBaseVNode, i as createVNode, w as withCtx, n as normalizeClass, gv as N8nActionDropdown, B as normalizeStyle, gw as Teleport, f as createCommentVNode, _ as _export_sfc$1, bk as v4, gx as CORE_NODES_CATEGORY, gy as DEFAULT_SUBCATEGORY, p as useSettingsStore, gz as AI_TRANSFORM_NODE_TYPE, gA as sublimeSearch, ba as AI_SUBCATEGORY, bb as AI_CATEGORY_AGENTS, gB as sortBy, fV as i18n, gC as AI_CATEGORY_OTHER_TOOLS, gD as AI_OTHERS_NODE_CREATOR_VIEW, gE as AI_CATEGORY_DOCUMENT_LOADERS, bh as NodeConnectionType, gF as AI_CATEGORY_LANGUAGE_MODELS, gG as AI_CATEGORY_MEMORY, gH as AI_CATEGORY_OUTPUTPARSER, gI as AI_CATEGORY_RETRIEVERS, gJ as AI_CATEGORY_TEXT_SPLITTERS, gK as AI_CATEGORY_TOOLS, gL as AI_WORKFLOW_TOOL_LANGCHAIN_NODE_TYPE, gM as AI_CODE_TOOL_LANGCHAIN_NODE_TYPE, gN as AI_CATEGORY_EMBEDDING, gO as AI_CATEGORY_VECTOR_STORES, gP as AI_UNCATEGORIZED_CATEGORY, aM as useTemplatesStore, eo as AI_NODE_CREATOR_VIEW, dP as TRIGGER_NODE_CREATOR_VIEW, bI as MANUAL_TRIGGER_NODE_TYPE, bJ as WEBHOOK_NODE_TYPE, gQ as EMAIL_IMAP_NODE_TYPE, gR as SCHEDULE_TRIGGER_NODE_TYPE, by as FORM_TRIGGER_NODE_TYPE, g9 as EXECUTE_WORKFLOW_TRIGGER_NODE_TYPE, b7 as CHAT_TRIGGER_NODE_TYPE, gS as OTHER_TRIGGER_NODES_SUBCATEGORY, eH as REGULAR_NODE_CREATOR_VIEW, gT as RSS_READ_NODE_TYPE, gU as EMAIL_SEND_NODE_TYPE, gV as TRANSFORM_DATA_SUBCATEGORY, gW as FILTER_NODE_TYPE, gX as REMOVE_DUPLICATES_NODE_TYPE, gY as SPLIT_OUT_NODE_TYPE, gZ as LIMIT_NODE_TYPE, g_ as SUMMARIZE_NODE_TYPE, g$ as AGGREGATE_NODE_TYPE, h0 as MERGE_NODE_TYPE, co as HTML_NODE_TYPE, h1 as MARKDOWN_NODE_TYPE, h2 as XML_NODE_TYPE, h3 as CRYPTO_NODE_TYPE, h4 as EXTRACT_FROM_FILE_NODE_TYPE, h5 as CONVERT_TO_FILE_NODE_TYPE, h6 as COMPRESSION_NODE_TYPE, h7 as EDIT_IMAGE_NODE_TYPE, h8 as FLOWS_CONTROL_SUBCATEGORY, h9 as IF_NODE_TYPE, ha as SPLIT_IN_BATCHES_NODE_TYPE, hb as HELPERS_SUBCATEGORY, hc as HTTP_REQUEST_NODE_TYPE, hd as CODE_NODE_TYPE, bc as AI_CATEGORY_CHAINS, he as SET_NODE_TYPE, hf as DATETIME_NODE_TYPE, R as defineStore, $ as useCanvasStore, hg as AI_CATEGORY_ROOT_NODES, y as nextTick, bd as AI_CODE_NODE_TYPE, bK as AI_TRANSFORM_NODE_TYPE$1, eQ as CanvasConnectionMode, hh as isValidCanvasConnectionMode, d7 as isValidNodeConnectionType, S as STORES, as as useNDVStore, dE as NODE_CREATOR_OPEN_SOURCES, hi as isVueFlowConnection, d$ as nodeConnectionTypes, be as getNodeInputs, dp as CUSTOM_API_CALL_KEY, aT as useExternalHooks, aj as useTelemetry, hj as effectScope, cj as toRef, h as createElementBlock, s as renderSlot, ca as useSlots, bq as provide, b4 as onUnmounted, aw as onBeforeMount, o as onMounted, hk as createPropsRestProxy, hl as useAttrs, F as Fragment, d5 as getCurrentInstance, dy as reactive, aW as inject, t as toDisplayString, A as renderList, x as onBeforeUnmount, hm as isMemoSame, hn as getCurrentScope, ho as onScopeDispose, aX as isRef, aY as toRefs$1, hp as customRef, hq as toValue$1, b0 as resolveDynamicComponent, k as createTextVNode, a$ as mergeProps, m as resolveComponent, ap as h, hr as markRaw, hs as readonly, dD as KeyboardShortcutTooltip, ht as CanvasKey, aa as useCssModule, bn as watchEffect, aZ as normalizeProps, hu as CanvasNodeKey, eN as CanvasNodeRenderType, hv as refThrottled, hw as mergeModels, hx as useModel, bp as useNodeHelpers, bH as TitledList, cO as resolveDirective, ax as withDirectives, ac as nodeViewEventBus, hy as CanvasNodeHandleKey, ay as vShow, cZ as Transition$2, br as _sfc_main$y, I as withModifiers, C as createEventBus, bP as isEqual, hz as useActiveElement, d0 as useDeviceSupport, hA as useEventListener$1, aS as createSlots, dk as GRID_SIZE, hB as onKeyDown, hC as onKeyUp, c9 as useThrottleFn, a_ as guardReactiveProps, cr as Suspense, bg as getNodeOutputs, c$ as getTriggerNodeServiceName, eW as sanitizeHtml, bG as nodeIssuesToString, ds as WAIT_NODE_TYPE, dt as SEND_AND_WAIT_OPERATION, du as FORM_NODE_TYPE, dv as WAIT_INDEFINITELY, Z as useRootStore, bR as useCredentialsStore, bU as useHistoryStore, D as useTagsStore, at as useExecutionsStore, a as useToast, a4 as useWorkflowHelpers, b6 as useClipboard, dS as MoveNodeCommand, c3 as RenameNodeCommand, eL as RemoveNodeCommand, eJ as useDataSchema, dZ as NODE_SIZE, hD as AddNodeCommand, b$ as getNodeParameters, dU as getNewNodePosition, hE as DEFAULT_NODE_SIZE, hF as CONFIGURATION_NODE_SIZE, bf as getConnectionTypes, d_ as generateOffsets, hG as CONFIGURABLE_NODE_SIZE, dY as PUSH_NODES_OFFSET, e8 as AddConnectionCommand, ei as RemoveConnectionCommand, dT as UPDATE_WEBHOOK_ID_NODE_TYPES, dN as generateNodesGraph, a8 as EnterpriseEditionFeature, c0 as deepCopy } from "./index-BW7gX0J2.js";
|
|
2
|
+
import { c as capitalize, u as usePinnedData } from "./usePinnedData-CHMuwypo.js";
|
|
4
3
|
var camelCase = createCompounder(function(result, word, index) {
|
|
5
4
|
word = word.toLowerCase();
|
|
6
5
|
return result + (index ? capitalize(word) : word);
|
|
@@ -248,7 +247,9 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
248
247
|
emit("action", action, contextMenu2.targetNodeIds.value);
|
|
249
248
|
}
|
|
250
249
|
function closeMenu(event) {
|
|
251
|
-
event.
|
|
250
|
+
if (event.cancelable) {
|
|
251
|
+
event.preventDefault();
|
|
252
|
+
}
|
|
252
253
|
event.stopPropagation();
|
|
253
254
|
contextMenu2.close();
|
|
254
255
|
}
|
|
@@ -11245,7 +11246,7 @@ function useStylesLoadedWarning() {
|
|
|
11245
11246
|
}
|
|
11246
11247
|
});
|
|
11247
11248
|
}
|
|
11248
|
-
const _hoisted_1$
|
|
11249
|
+
const _hoisted_1$c = /* @__PURE__ */ createBaseVNode("div", { class: "vue-flow__edge-labels" }, null, -1);
|
|
11249
11250
|
const __default__$1$2 = {
|
|
11250
11251
|
name: "VueFlow",
|
|
11251
11252
|
compatConfig: { MODE: 3 }
|
|
@@ -11338,7 +11339,7 @@ const _sfc_main$1$4 = /* @__PURE__ */ defineComponent({
|
|
|
11338
11339
|
createVNode(_sfc_main$8$1, null, {
|
|
11339
11340
|
default: withCtx(() => [
|
|
11340
11341
|
createVNode(_sfc_main$4$1),
|
|
11341
|
-
_hoisted_1$
|
|
11342
|
+
_hoisted_1$c,
|
|
11342
11343
|
createVNode(_sfc_main$2$1),
|
|
11343
11344
|
renderSlot(_ctx.$slots, "zoom-pane")
|
|
11344
11345
|
]),
|
|
@@ -11439,7 +11440,7 @@ function render$1(_ctx, _cache) {
|
|
|
11439
11440
|
return openBlock(), createElementBlock("svg", _hoisted_1$1$2, _hoisted_3$1$1);
|
|
11440
11441
|
}
|
|
11441
11442
|
const Lock = { render: render$1 };
|
|
11442
|
-
const _hoisted_1$
|
|
11443
|
+
const _hoisted_1$b = {
|
|
11443
11444
|
xmlns: "http://www.w3.org/2000/svg",
|
|
11444
11445
|
viewBox: "0 0 25 32"
|
|
11445
11446
|
};
|
|
@@ -11448,7 +11449,7 @@ const _hoisted_3$5 = [
|
|
|
11448
11449
|
_hoisted_2$7
|
|
11449
11450
|
];
|
|
11450
11451
|
function render(_ctx, _cache) {
|
|
11451
|
-
return openBlock(), createElementBlock("svg", _hoisted_1$
|
|
11452
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$b, _hoisted_3$5);
|
|
11452
11453
|
}
|
|
11453
11454
|
const Unlock = { render };
|
|
11454
11455
|
const __default__$4 = {
|
|
@@ -11571,19 +11572,15 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
|
|
|
11571
11572
|
};
|
|
11572
11573
|
}
|
|
11573
11574
|
});
|
|
11574
|
-
const _hoisted_1$b = ["href"];
|
|
11575
11575
|
const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
11576
11576
|
__name: "CanvasControlButtons",
|
|
11577
11577
|
props: {
|
|
11578
|
-
zoom: { default: 1 }
|
|
11579
|
-
showBugReportingButton: { type: Boolean, default: false }
|
|
11578
|
+
zoom: { default: 1 }
|
|
11580
11579
|
},
|
|
11581
11580
|
emits: ["reset-zoom", "zoom-in", "zoom-out", "zoom-to-fit"],
|
|
11582
11581
|
setup(__props, { emit: __emit }) {
|
|
11583
11582
|
const props = __props;
|
|
11584
11583
|
const emit = __emit;
|
|
11585
|
-
const { getReportingURL } = useBugReporting();
|
|
11586
|
-
const telemetry = useTelemetry();
|
|
11587
11584
|
const i18n2 = useI18n();
|
|
11588
11585
|
const isResetZoomVisible = computed(() => props.zoom !== 1);
|
|
11589
11586
|
function onResetZoom() {
|
|
@@ -11598,9 +11595,6 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
11598
11595
|
function onZoomToFit() {
|
|
11599
11596
|
emit("zoom-to-fit");
|
|
11600
11597
|
}
|
|
11601
|
-
function trackBugReport() {
|
|
11602
|
-
telemetry.track("User clicked bug report button in canvas", {}, { withPostHog: true });
|
|
11603
|
-
}
|
|
11604
11598
|
return (_ctx, _cache) => {
|
|
11605
11599
|
const _component_N8nIconButton = resolveComponent("N8nIconButton");
|
|
11606
11600
|
return openBlock(), createBlock(unref(_sfc_main$v), {
|
|
@@ -11668,26 +11662,6 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
|
|
|
11668
11662
|
})
|
|
11669
11663
|
]),
|
|
11670
11664
|
_: 1
|
|
11671
|
-
}, 8, ["label"])) : createCommentVNode("", true),
|
|
11672
|
-
props.showBugReportingButton ? (openBlock(), createBlock(KeyboardShortcutTooltip, {
|
|
11673
|
-
key: 1,
|
|
11674
|
-
label: unref(i18n2).baseText("nodeView.reportBug")
|
|
11675
|
-
}, {
|
|
11676
|
-
default: withCtx(() => [
|
|
11677
|
-
createBaseVNode("a", {
|
|
11678
|
-
href: unref(getReportingURL)(),
|
|
11679
|
-
target: "_blank",
|
|
11680
|
-
onClick: trackBugReport
|
|
11681
|
-
}, [
|
|
11682
|
-
createVNode(_component_N8nIconButton, {
|
|
11683
|
-
type: "tertiary",
|
|
11684
|
-
size: "large",
|
|
11685
|
-
icon: "bug",
|
|
11686
|
-
"data-test-id": "report-bug"
|
|
11687
|
-
})
|
|
11688
|
-
], 8, _hoisted_1$b)
|
|
11689
|
-
]),
|
|
11690
|
-
_: 1
|
|
11691
11665
|
}, 8, ["label"])) : createCommentVNode("", true)
|
|
11692
11666
|
]),
|
|
11693
11667
|
_: 1
|
|
@@ -11704,11 +11678,13 @@ function getEdgeRenderData(props, {
|
|
|
11704
11678
|
connectionType = NodeConnectionType.Main
|
|
11705
11679
|
} = {}) {
|
|
11706
11680
|
const { targetX, targetY, sourceX, sourceY, sourcePosition, targetPosition } = props;
|
|
11681
|
+
const isConnectorStraight = sourceY === targetY;
|
|
11707
11682
|
if (!isRightOfSourceHandle(sourceX, targetX) || connectionType !== NodeConnectionType.Main) {
|
|
11708
11683
|
const segment = getBezierPath(props);
|
|
11709
11684
|
return {
|
|
11710
11685
|
segments: [segment],
|
|
11711
|
-
labelPosition: [segment[1], segment[2]]
|
|
11686
|
+
labelPosition: [segment[1], segment[2]],
|
|
11687
|
+
isConnectorStraight
|
|
11712
11688
|
};
|
|
11713
11689
|
}
|
|
11714
11690
|
const firstSegmentTargetX = (sourceX + targetX) / 2;
|
|
@@ -11735,7 +11711,8 @@ function getEdgeRenderData(props, {
|
|
|
11735
11711
|
});
|
|
11736
11712
|
return {
|
|
11737
11713
|
segments: [firstSegment, secondSegment],
|
|
11738
|
-
labelPosition: [firstSegmentTargetX, firstSegmentTargetY]
|
|
11714
|
+
labelPosition: [firstSegmentTargetX, firstSegmentTargetY],
|
|
11715
|
+
isConnectorStraight
|
|
11739
11716
|
};
|
|
11740
11717
|
}
|
|
11741
11718
|
function injectStrict(key, fallback) {
|
|
@@ -17098,8 +17075,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
17098
17075
|
const node2 = inject(CanvasNodeKey);
|
|
17099
17076
|
const slots = useSlots();
|
|
17100
17077
|
const Render = () => {
|
|
17078
|
+
const renderType2 = node2?.data.value.render.type ?? CanvasNodeRenderType.Default;
|
|
17101
17079
|
let Component;
|
|
17102
|
-
switch (
|
|
17080
|
+
switch (renderType2) {
|
|
17103
17081
|
case CanvasNodeRenderType.StickyNote:
|
|
17104
17082
|
Component = CanvasNodeStickyNote;
|
|
17105
17083
|
break;
|
|
@@ -17109,7 +17087,13 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
17109
17087
|
default:
|
|
17110
17088
|
Component = CanvasNodeDefault;
|
|
17111
17089
|
}
|
|
17112
|
-
return h(
|
|
17090
|
+
return h(
|
|
17091
|
+
Component,
|
|
17092
|
+
{
|
|
17093
|
+
"data-canvas-node-render-type": renderType2
|
|
17094
|
+
},
|
|
17095
|
+
slots.default
|
|
17096
|
+
);
|
|
17113
17097
|
};
|
|
17114
17098
|
return (_ctx, _cache) => {
|
|
17115
17099
|
return openBlock(), createBlock(Render);
|
|
@@ -17446,12 +17430,12 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
17446
17430
|
};
|
|
17447
17431
|
}
|
|
17448
17432
|
});
|
|
17449
|
-
const handle$3 = "
|
|
17450
|
-
const connected = "
|
|
17451
|
-
const label$2 = "
|
|
17452
|
-
const required$2 = "
|
|
17453
|
-
const outputLabel = "
|
|
17454
|
-
const runDataLabel = "
|
|
17433
|
+
const handle$3 = "_handle_19arw_123";
|
|
17434
|
+
const connected = "_connected_19arw_129";
|
|
17435
|
+
const label$2 = "_label_19arw_129";
|
|
17436
|
+
const required$2 = "_required_19arw_143";
|
|
17437
|
+
const outputLabel = "_outputLabel_19arw_148";
|
|
17438
|
+
const runDataLabel = "_runDataLabel_19arw_156";
|
|
17455
17439
|
const style0$8 = {
|
|
17456
17440
|
handle: handle$3,
|
|
17457
17441
|
connected,
|
|
@@ -17728,7 +17712,7 @@ const cssModules$4 = {
|
|
|
17728
17712
|
"$style": style0$4
|
|
17729
17713
|
};
|
|
17730
17714
|
const CanvasHandleRenderer = /* @__PURE__ */ _export_sfc$1(_sfc_main$8, [["__cssModules", cssModules$4]]);
|
|
17731
|
-
const _hoisted_1$4 = ["data-node-name", "data-node-type"];
|
|
17715
|
+
const _hoisted_1$4 = ["data-test-id", "data-node-name", "data-node-type"];
|
|
17732
17716
|
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
17733
17717
|
__name: "CanvasNode",
|
|
17734
17718
|
props: {
|
|
@@ -17791,6 +17775,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
17791
17775
|
selected: props.selected,
|
|
17792
17776
|
...Object.fromEntries([...nodeClasses.value].map((c) => [c, true]))
|
|
17793
17777
|
}));
|
|
17778
|
+
const renderType2 = computed(() => props.data.render.type);
|
|
17779
|
+
const dataTestId = computed(
|
|
17780
|
+
() => [CanvasNodeRenderType.StickyNote, CanvasNodeRenderType.AddNodes].includes(renderType2.value) ? void 0 : "canvas-node"
|
|
17781
|
+
);
|
|
17794
17782
|
const canvasNodeEventBus = ref(createEventBus());
|
|
17795
17783
|
function emitCanvasNodeEvent(event) {
|
|
17796
17784
|
if (event.ids.includes(props.id) && canvasNodeEventBus.value) {
|
|
@@ -17936,7 +17924,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
17936
17924
|
return (_ctx, _cache) => {
|
|
17937
17925
|
return openBlock(), createElementBlock("div", {
|
|
17938
17926
|
class: normalizeClass(classes.value),
|
|
17939
|
-
"data-test-id":
|
|
17927
|
+
"data-test-id": dataTestId.value,
|
|
17940
17928
|
"data-node-name": data.value.name,
|
|
17941
17929
|
"data-node-type": data.value.type
|
|
17942
17930
|
}, [
|
|
@@ -18154,9 +18142,11 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
18154
18142
|
const edgeLabelStyle = computed(() => ({
|
|
18155
18143
|
color: edgeColor.value
|
|
18156
18144
|
}));
|
|
18145
|
+
const isConnectorStraight = computed(() => renderData.value.isConnectorStraight);
|
|
18157
18146
|
const edgeToolbarStyle = computed(() => {
|
|
18147
|
+
const translateY = isConnectorStraight.value ? "-150%" : "-50%";
|
|
18158
18148
|
return {
|
|
18159
|
-
transform: `translate(-50%,
|
|
18149
|
+
transform: `translate(-50%, ${translateY}) translate(${labelPosition.value[0]}px, ${labelPosition.value[1]}px)`,
|
|
18160
18150
|
...props.hovered ? { zIndex: 1 } : {}
|
|
18161
18151
|
};
|
|
18162
18152
|
});
|
|
@@ -18265,10 +18255,10 @@ const useKeybindings = (keymap, options) => {
|
|
|
18265
18255
|
});
|
|
18266
18256
|
const normalizedKeymap = computed(
|
|
18267
18257
|
() => Object.fromEntries(
|
|
18268
|
-
Object.entries(keymap.value).
|
|
18258
|
+
Object.entries(keymap.value).flatMap(([shortcut, handler]) => {
|
|
18269
18259
|
const shortcuts = shortcut.split("|");
|
|
18270
18260
|
return shortcuts.map((s) => [normalizeShortcutString(s), handler]);
|
|
18271
|
-
})
|
|
18261
|
+
})
|
|
18272
18262
|
)
|
|
18273
18263
|
);
|
|
18274
18264
|
function shortcutPartsToString(parts) {
|
|
@@ -18287,10 +18277,19 @@ const useKeybindings = (keymap, options) => {
|
|
|
18287
18277
|
}, "");
|
|
18288
18278
|
return shortcutPartsToString(shortcut.split(new RegExp(`[${splitCharsRegEx}]`)));
|
|
18289
18279
|
}
|
|
18280
|
+
function keyboardEventCodeToKey(code) {
|
|
18281
|
+
if (code.startsWith("Digit")) {
|
|
18282
|
+
return code.replace("Digit", "").toLowerCase();
|
|
18283
|
+
} else if (code.startsWith("Key")) {
|
|
18284
|
+
return code.replace("Key", "").toLowerCase();
|
|
18285
|
+
}
|
|
18286
|
+
return code.toLowerCase();
|
|
18287
|
+
}
|
|
18290
18288
|
function toShortcutString(event) {
|
|
18291
18289
|
const { shiftKey, altKey } = event;
|
|
18292
18290
|
const ctrlKey = isCtrlKeyPressed(event);
|
|
18293
|
-
const keys = [event.key];
|
|
18291
|
+
const keys = "key" in event ? [event.key] : [];
|
|
18292
|
+
const codes = "code" in event ? [keyboardEventCodeToKey(event.code)] : [];
|
|
18294
18293
|
const modifiers = [];
|
|
18295
18294
|
if (shiftKey) {
|
|
18296
18295
|
modifiers.push("shift");
|
|
@@ -18301,12 +18300,15 @@ const useKeybindings = (keymap, options) => {
|
|
|
18301
18300
|
if (altKey) {
|
|
18302
18301
|
modifiers.push("alt");
|
|
18303
18302
|
}
|
|
18304
|
-
return
|
|
18303
|
+
return {
|
|
18304
|
+
byKey: shortcutPartsToString([...modifiers, ...keys]),
|
|
18305
|
+
byCode: shortcutPartsToString([...modifiers, ...codes])
|
|
18306
|
+
};
|
|
18305
18307
|
}
|
|
18306
18308
|
function onKeyDown2(event) {
|
|
18307
18309
|
if (ignoreKeyPresses.value || isDisabled.value) return;
|
|
18308
|
-
const
|
|
18309
|
-
const handler = normalizedKeymap.value[
|
|
18310
|
+
const { byKey, byCode } = toShortcutString(event);
|
|
18311
|
+
const handler = normalizedKeymap.value[byKey] ?? normalizedKeymap.value[byCode];
|
|
18310
18312
|
if (handler) {
|
|
18311
18313
|
event.preventDefault();
|
|
18312
18314
|
event.stopPropagation();
|
|
@@ -18599,7 +18601,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
18599
18601
|
readOnly: { type: Boolean, default: false },
|
|
18600
18602
|
executing: { type: Boolean, default: false },
|
|
18601
18603
|
keyBindings: { type: Boolean, default: true },
|
|
18602
|
-
showBugReportingButton: { type: Boolean },
|
|
18603
18604
|
loading: { type: Boolean, default: false }
|
|
18604
18605
|
},
|
|
18605
18606
|
emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:active", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "update:node:inputs", "update:node:outputs", "click:node:add", "run:node", "delete:node", "create:node", "create:sticky", "delete:nodes", "update:nodes:enabled", "copy:nodes", "duplicate:nodes", "update:nodes:pin", "cut:nodes", "delete:connection", "create:connection:start", "create:connection", "create:connection:end", "create:connection:cancelled", "click:connection:add", "click:pane", "run:workflow", "save:workflow", "create:workflow", "drag-and-drop"],
|
|
@@ -18702,8 +18703,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
18702
18703
|
ctrl_c: emitWithSelectedNodes((ids) => emit("copy:nodes", ids)),
|
|
18703
18704
|
enter: emitWithLastSelectedNode((id2) => onSetNodeActive(id2)),
|
|
18704
18705
|
ctrl_a: () => addSelectedNodes(graphNodes.value),
|
|
18705
|
-
|
|
18706
|
-
"
|
|
18706
|
+
// Support both key and code for zooming in and out
|
|
18707
|
+
"shift_+|+|=|shift_Equal|Equal": async () => await onZoomIn(),
|
|
18708
|
+
"shift+_|-|_|shift_Minus|Minus": async () => await onZoomOut(),
|
|
18707
18709
|
0: async () => await onResetZoom(),
|
|
18708
18710
|
1: async () => await onFitView(),
|
|
18709
18711
|
ArrowUp: emitWithLastSelectedNode(selectUpperSiblingNode),
|
|
@@ -19127,13 +19129,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
19127
19129
|
class: normalizeClass(unref($style).canvasControls),
|
|
19128
19130
|
position: _ctx.controlsPosition,
|
|
19129
19131
|
"show-interactive": false,
|
|
19130
|
-
"show-bug-reporting-button": _ctx.showBugReportingButton,
|
|
19131
19132
|
zoom: unref(viewport).zoom,
|
|
19132
19133
|
onZoomToFit: onFitView,
|
|
19133
19134
|
onZoomIn,
|
|
19134
19135
|
onZoomOut,
|
|
19135
19136
|
onResetZoom
|
|
19136
|
-
}, null, 8, ["class", "position", "
|
|
19137
|
+
}, null, 8, ["class", "position", "zoom"]),
|
|
19137
19138
|
(openBlock(), createBlock(Suspense, null, {
|
|
19138
19139
|
default: withCtx(() => [
|
|
19139
19140
|
createVNode(ContextMenu, { onAction: onContextMenuAction })
|
|
@@ -19155,7 +19156,7 @@ const style0 = {
|
|
|
19155
19156
|
const cssModules = {
|
|
19156
19157
|
"$style": style0
|
|
19157
19158
|
};
|
|
19158
|
-
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-
|
|
19159
|
+
const __unplugin_components_0 = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-e20cd71d"]]);
|
|
19159
19160
|
function useCanvasMapping({
|
|
19160
19161
|
nodes,
|
|
19161
19162
|
connections,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, K as useUIStore, a5 as usePageRedirectionHelper, q as computed, a8 as EnterpriseEditionFeature,
|
|
1
|
+
import { b as useRouter, a as useToast, T as useWorkflowsStore, p as useSettingsStore, K as useUIStore, a5 as usePageRedirectionHelper, q as computed, a8 as EnterpriseEditionFeature, ap as h, eW as sanitizeHtml, ae as MODAL_CONFIRM, V as VIEWS, Z as useRootStore, f3 as isFullExecutionResponse, f4 as DEBUG_PAYWALL_MODAL_KEY, aj as useTelemetry, g as useI18n, ak as useMessage } from "./index-BW7gX0J2.js";
|
|
2
2
|
const useExecutionDebugging = () => {
|
|
3
3
|
const telemetry = useTelemetry();
|
|
4
4
|
const router = useRouter();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { gm as dateformat, b as useRouter, V as VIEWS, g as useI18n, aj as useTelemetry } from "./index-BW7gX0J2.js";
|
|
2
2
|
const convertToDisplayDateComponents = (fullDate) => {
|
|
3
3
|
const mask = `d mmm${new Date(fullDate).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear() ? "" : ", yyyy"}#HH:MM:ss`;
|
|
4
4
|
const formattedDate = dateformat(fullDate, mask);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { gd as baseSlice, ge as toString, bo as useNodeTypesStore, q as computed, l as unref, eI as isSubNodeType, Z as useRootStore, T as useWorkflowsStore, a as useToast, gf as PIN_DATA_NODE_TYPES_DENYLIST, bg as getNodeOutputs, bh as NodeConnectionType, gg as jsonStringify, gh as toMegaBytes, gi as stringSizeInBytes, ch as jsonParse, g as useI18n, aj as useTelemetry, aT as useExternalHooks, eJ as useDataSchema, gj as MAX_PINNED_DATA_SIZE, gk as MAX_WORKFLOW_SIZE, gl as MAX_EXPECTED_REQUEST_SIZE } from "./index-BW7gX0J2.js";
|
|
2
2
|
function castSlice(array, start, end) {
|
|
3
3
|
var length = array.length;
|
|
4
4
|
end = end === void 0 ? length : end;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { u as usePushConnectionStore, g as globalLinkActionsEventBus } from "./pushConnection.store-
|
|
3
|
-
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-
|
|
1
|
+
import { g2 as makeRestApiRequest, R as defineStore, Z as useRootStore, d as defineComponent, cO as resolveDirective, c as openBlock, h as createElementBlock, ax as withDirectives, j as createBaseVNode, t as toDisplayString, l as unref, g as useI18n, a4 as useWorkflowHelpers, bp as useNodeHelpers, a as useToast, bR as useCredentialsStore, bo as useNodeTypesStore, p as useSettingsStore, K as useUIStore, T as useWorkflowsStore, eT as useAssistantStore, au as usePostHog, r as ref, bT as AI_CREDITS_EXPERIMENT, g3 as parse, g4 as hasTrimmedItem, g5 as codeNodeEditorEventBus, af as WORKFLOW_SETTINGS_MODAL_KEY, dN as generateNodesGraph, ap as h, c$ as getTriggerNodeServiceName, g6 as hasTrimmedData, aT as useExternalHooks, aj as useTelemetry, g7 as clearPopupWindowState } from "./index-BW7gX0J2.js";
|
|
2
|
+
import { u as usePushConnectionStore, g as globalLinkActionsEventBus } from "./pushConnection.store-C6PSl50Z.js";
|
|
3
|
+
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-B7xBZAZO.js";
|
|
4
4
|
const GET_STATUS_ENDPOINT = "/orchestration/worker/status";
|
|
5
5
|
const sendGetWorkerStatus = async (context) => {
|
|
6
6
|
await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as capitalize } from "./usePinnedData-
|
|
3
|
-
import { u as useExecutionHelpers } from "./useExecutionHelpers-
|
|
1
|
+
import { ce as getDefaultExportFromCjs, d as defineComponent, b6 as useClipboard, a as useToast, eS as useAIAssistantHelpers, bo as useNodeTypesStore, as as useNDVStore, Z as useRootStore, eT as useAssistantStore, K as useUIStore, q as computed, c as openBlock, h as createElementBlock, j as createBaseVNode, t as toDisplayString, ax as withDirectives, f as createCommentVNode, i as createVNode, l as unref, eU as InlineAskAssistantButton, w as withCtx, k as createTextVNode, F as Fragment, A as renderList, g as useI18n, cn as MAX_DISPLAY_DATA_SIZE, bs as isCommunityPackageName, eV as NEW_ASSISTANT_SESSION_MODAL, m as resolveComponent, cO as resolveDirective, eW as sanitizeHtml, bh as NodeConnectionType, eX as isObjectEmpty, r as ref, o as onMounted, n as normalizeClass, e as createBlock, b1 as VueMarkdown, _ as _export_sfc, T as useWorkflowsStore, br as _sfc_main$4, I as withModifiers, H as watch, B as normalizeStyle, eY as ElTree, bp as useNodeHelpers, a4 as useWorkflowHelpers, at as useExecutionsStore, b7 as CHAT_TRIGGER_NODE_TYPE, bj as get, eZ as SINGLE_WEBHOOK_TRIGGERS, av as useLocalStorage, e_ as displayForm, aT as useExternalHooks, cG as isEmpty } from "./index-BW7gX0J2.js";
|
|
2
|
+
import { c as capitalize } from "./usePinnedData-CHMuwypo.js";
|
|
3
|
+
import { u as useExecutionHelpers } from "./useExecutionHelpers-MX6P-wr8.js";
|
|
4
4
|
var core;
|
|
5
5
|
var hasRequiredCore;
|
|
6
6
|
function requireCore() {
|
|
@@ -3108,17 +3108,20 @@ function useRunWorkflow(useRunWorkflowOpts) {
|
|
|
3108
3108
|
);
|
|
3109
3109
|
newRunData = { [options.triggerNode]: [options.nodeData] };
|
|
3110
3110
|
executedNode = options.triggerNode;
|
|
3111
|
+
}
|
|
3112
|
+
if (options.triggerNode && options.nodeData) {
|
|
3111
3113
|
triggerToStartFrom = {
|
|
3112
3114
|
name: options.triggerNode,
|
|
3113
3115
|
data: options.nodeData
|
|
3114
3116
|
};
|
|
3115
3117
|
}
|
|
3116
|
-
if (options.destinationNode && (workflowsStore.checkIfNodeHasChatParent(options.destinationNode) || destinationNodeType === CHAT_TRIGGER_NODE_TYPE)) {
|
|
3118
|
+
if (options.destinationNode && (workflowsStore.checkIfNodeHasChatParent(options.destinationNode) || destinationNodeType === CHAT_TRIGGER_NODE_TYPE) && options.source !== "RunData.ManualChatMessage") {
|
|
3117
3119
|
const startNode = workflow.getStartNode(options.destinationNode);
|
|
3118
3120
|
if (startNode && startNode.type === CHAT_TRIGGER_NODE_TYPE) {
|
|
3119
3121
|
const chatHasInputData = nodeHelpers.getNodeInputData(startNode, 0, 0, "input")?.length > 0;
|
|
3120
3122
|
const chatHasPinData = !!workflowData.pinData?.[startNode.name];
|
|
3121
3123
|
if (!chatHasInputData && !chatHasPinData) {
|
|
3124
|
+
workflowsStore.chatPartialExecutionDestinationNode = options.destinationNode;
|
|
3122
3125
|
workflowsStore.setPanelOpen("chat", true);
|
|
3123
3126
|
return;
|
|
3124
3127
|
}
|
|
@@ -3169,11 +3172,20 @@ function useRunWorkflow(useRunWorkflowOpts) {
|
|
|
3169
3172
|
return void 0;
|
|
3170
3173
|
}
|
|
3171
3174
|
const partialExecutionVersion = useLocalStorage("PartialExecution.version", -1);
|
|
3175
|
+
const isPartialExecution = options.destinationNode !== void 0;
|
|
3172
3176
|
const startRunData = {
|
|
3173
3177
|
workflowData,
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3178
|
+
runData: !isPartialExecution ? (
|
|
3179
|
+
// if it's a full execution we don't want to send any run data
|
|
3180
|
+
void 0
|
|
3181
|
+
) : partialExecutionVersion.value === 1 ? (
|
|
3182
|
+
// With the new partial execution version the backend decides
|
|
3183
|
+
//what run data to use and what to ignore.
|
|
3184
|
+
runData2 ?? void 0
|
|
3185
|
+
) : (
|
|
3186
|
+
// for v0 we send the run data the FE constructed
|
|
3187
|
+
newRunData
|
|
3188
|
+
),
|
|
3177
3189
|
startNodes,
|
|
3178
3190
|
triggerToStartFrom
|
|
3179
3191
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID,
|
|
1
|
+
import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, aT as useExternalHooks, aI as useStorage, gb as LOCAL_STORAGE_ACTIVATION_FLAG, gc as WORKFLOW_ACTIVE_MODAL_KEY, aj as useTelemetry, g as useI18n } from "./index-BW7gX0J2.js";
|
|
2
2
|
function useWorkflowActivate() {
|
|
3
3
|
const updatingWorkflowActivation = ref(false);
|
|
4
4
|
const router = useRouter();
|
package/dist/index.html
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
-
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/polyfills-
|
|
4
|
+
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/polyfills-DNwgos9f.js"></script>
|
|
5
5
|
|
|
6
6
|
<meta charset="utf-8" />
|
|
7
7
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
<script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
|
|
17
17
|
|
|
18
18
|
<title>n8n.io - Workflow Automation</title>
|
|
19
|
-
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-
|
|
20
|
-
<link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-
|
|
19
|
+
<script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-BW7gX0J2.js"></script>
|
|
20
|
+
<link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-Bs_8II2j.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
23
23
|
<noscript>
|
|
Binary file
|
package/package.json
CHANGED