n8n-editor-ui 1.91.1 → 1.93.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/{AnimatedSpinner-BrkRvAXQ.js → AnimatedSpinner-hbTZDd93.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DRamY8Fo.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-CYzc5StE.js} +1 -1
- package/dist/assets/{AuthView-ehh7NFh5.js → AuthView-8SLMP0H_.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-DUBgoMXw.js → CanvasChatSwitch-Dt8TgNJg.js} +22 -10
- package/dist/assets/{ChangePasswordView-BLFb7_-o.js → ChangePasswordView-DIRyDp89.js} +3 -3
- package/dist/assets/CollectionParameter-Cj4t6-hd.js +4 -0
- package/dist/assets/{CredentialsView-1uYUpp0G.js → CredentialsView-B6-VxAJ6.js} +26 -11
- package/dist/assets/{DemoFooter-CNfkqkRC.js → DemoFooter-CIHwH5PG.js} +8 -8
- package/dist/assets/{ErrorView-CmYweWFA.js → ErrorView-C7i0TZwT.js} +1 -1
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-DAWTDTON.js → ExecutionsTime.vue_vue_type_script_setup_true_lang--2G21NNR.js} +2 -2
- package/dist/assets/{ExecutionsView-fotg1R4V.js → ExecutionsView-C_YtciAr.js} +10 -9
- package/dist/assets/{FileSaver.min-CcnqpaV-.js → FileSaver.min-bgn7Q9Gt.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-BYR4RzWw.js → FixedCollectionParameter-BPCJ5aaq.js} +1 -1
- package/dist/assets/{ForgotMyPasswordView-CQMKtpr-.js → ForgotMyPasswordView-DyUaGd6Z.js} +3 -3
- package/dist/assets/{InsightsChartAverageRuntime-B-9BU5qw.js → InsightsChartAverageRuntime-BB2I2vpV.js} +4 -4
- package/dist/assets/{InsightsChartFailed-Bd1BlFEm.js → InsightsChartFailed-CN_Rl3Bl.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-DPTCueAp.js → InsightsChartFailureRate-CHKlg6tg.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-CSVKB08W.js → InsightsChartTimeSaved-Cd05cM8q.js} +4 -4
- package/dist/assets/{InsightsChartTotal-Bxjmisao.js → InsightsChartTotal-ChAO7myf.js} +4 -4
- package/dist/assets/{InsightsDashboard-5cOORj5z.js → InsightsDashboard-BeCfBVUz.js} +10 -10
- package/dist/assets/{InsightsPaywall-Bdo_3Ic_.js → InsightsPaywall-Chz8CDc3.js} +1 -1
- package/dist/assets/{InsightsSummary-DB62HhNM.js → InsightsSummary-MECenLJQ.js} +1 -1
- package/dist/assets/{InsightsTableWorkflows-BEC5Yh0b.js → InsightsTableWorkflows-5rpYY7YT.js} +2 -2
- package/dist/assets/{Logo-CK8euEWT.js → Logo-DUDCllkm.js} +1 -1
- package/dist/assets/{LogsPanel-CrGEYFLo.js → LogsPanel-D9r5AcQH.js} +75 -106
- package/dist/assets/{LogsPanel-DLC2TAqh.css → LogsPanel-mTaFEGk_.css} +38 -34
- package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-CEMGASqv.css} +18 -11
- package/dist/assets/{MainHeader-C7XOaZKu.js → MainHeader-DkKOOZ_D.js} +145 -79
- package/dist/assets/{MainSidebar-CKMiDGvH.css → MainSidebar-D1_1YFQZ.css} +13 -12
- package/dist/assets/{MainSidebar-DD_ugRL3.js → MainSidebar-ZUBIWeXm.js} +36 -19
- package/dist/assets/{NodeCreation-S2FoBcnW.js → NodeCreation-DCfAFuL5.js} +10 -5
- package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
- package/dist/assets/{NodeCreator-D6TKVgLu.js → NodeCreator-a0YVv1IE.js} +863 -418
- package/dist/assets/{NodeDetailsView-DtvMtBqp.js → NodeDetailsView-C5_hVJzj.js} +60 -47
- package/dist/assets/{NodeDetailsView-CGgV4Pn_.css → NodeDetailsView-pYP-34nS.css} +20 -20
- package/dist/assets/{NodeView-BPhaaoWK.js → NodeView-Bk9h8GYy.js} +49 -25
- package/dist/assets/{ProjectCardBadge-C_L_pqWA.js → ProjectCardBadge-DRlDZx3d.js} +38 -2
- package/dist/assets/{ProjectHeader-C0FZTxjm.js → ProjectHeader-DNm605Kk.js} +106 -64
- package/dist/assets/{ProjectSettings-DlggJ6Ti.js → ProjectSettings-Dge_6KaR.js} +3 -2
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BNtCDFSj.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-CUf0LkWR.js} +1 -1
- package/dist/assets/{ResourcesListLayout-HzoSFUaj.js → ResourcesListLayout-Bbl-1i4l.js} +156 -53
- package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
- package/dist/assets/{RunData-C9dtm1M2.css → RunData-DQeENuzG.css} +12 -2
- package/dist/assets/{RunData-D8Eax0cQ.js → RunData-b0RE2JWc.js} +418 -207
- package/dist/assets/{RunDataAi-BF2gZZGr.css → RunDataAi-D9VLFXIf.css} +10 -51
- package/dist/assets/{RunDataAi-BUnCQIRN.js → RunDataAi-DnWcCR_0.js} +27 -310
- package/dist/assets/{RunDataJson-DXd3nZxI.js → RunDataJson-CptVuHuA.js} +7 -7
- package/dist/assets/{RunDataJsonActions-aivOaol2.js → RunDataJsonActions-3jjDztw7.js} +1 -1
- package/dist/assets/RunDataParsedAiContent-9EEUzCKp.css +176 -0
- package/dist/assets/RunDataParsedAiContent-BbXv-NPD.js +148 -0
- package/dist/assets/{RunDataSearch-DJ9BZGTu.js → RunDataSearch-B90wjsDA.js} +1 -1
- package/dist/assets/{RunDataTable-vEPCwbcC.js → RunDataTable-CpS78GlT.js} +3 -3
- package/dist/assets/{SamlOnboarding--OTxMEws.js → SamlOnboarding-Ch9K5rRW.js} +3 -3
- package/dist/assets/{SettingsApiView-BulxWyyY.js → SettingsApiView-9GU5n_rm.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-4wwPXFO2.js → SettingsCommunityNodesView-CPnVRzNX.js} +24 -11
- package/dist/assets/{SettingsExternalSecrets-zt7dxBKK.js → SettingsExternalSecrets-D7xTMV9h.js} +1 -1
- package/dist/assets/{SettingsLdapView-xneO6UIv.js → SettingsLdapView-OfrjGKkt.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-_h8wUzum.js → SettingsLogStreamingView-C_VnOaeX.js} +1 -1
- package/dist/assets/{SettingsPersonalView-CwYMP4sk.js → SettingsPersonalView-Dm24akPV.js} +14 -13
- package/dist/assets/{SettingsSourceControl-B9Tg93u3.js → SettingsSourceControl-DDCmL82j.js} +1 -1
- package/dist/assets/{SettingsSso-XaL1PzfW.js → SettingsSso-BGGQ0Cpg.js} +14 -1
- package/dist/assets/{SettingsUsageAndPlan-Ci15FW81.js → SettingsUsageAndPlan-BzO_zdkH.js} +1 -1
- package/dist/assets/{SettingsUsersView-DBJV4vSK.js → SettingsUsersView-DHQUqhqB.js} +1 -1
- package/dist/assets/{SettingsView-DMzdPF-1.js → SettingsView-CbtAqjOX.js} +1 -1
- package/dist/assets/{SetupView-BqWgdvDq.js → SetupView-BME1OE6U.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-B2wnuUnF.js → SetupWorkflowCredentialsButton-DZr4TCPC.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-BwC_wFSc.js → SetupWorkflowFromTemplateView-CPkKEY04.js} +3 -3
- package/dist/assets/{SigninView-DpTLJJwD.js → SigninView-DUeRvOiY.js} +3 -3
- package/dist/assets/{SignoutView-dkTtOCo1.js → SignoutView-BC7SBunZ.js} +1 -1
- package/dist/assets/{SignupView-CJFJJO3L.js → SignupView-B5ecYJ2q.js} +3 -3
- package/dist/assets/{TemplateDetails-84YElIBA.js → TemplateDetails-DjanZgC1.js} +1 -1
- package/dist/assets/{TemplateList-CGsfKuVA.js → TemplateList-8TyNGxY-.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-2y8KZk0I.js → TemplatesCollectionView-BkH4pJCv.js} +5 -5
- package/dist/assets/{TemplatesSearchView-DgosiOzl.js → TemplatesSearchView-Bcdhi1SL.js} +3 -3
- package/dist/assets/{TemplatesView-CgQSZO4a.js → TemplatesView-De2XB6We.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-2pSUmAbX.js → TemplatesWorkflowView-BVnwtrMa.js} +5 -5
- package/dist/assets/{TestDefinitionEditView-C26sWE7p.js → TestDefinitionEditView-DjmPnrTk.js} +7 -7
- package/dist/assets/{TestDefinitionListView-Cyl6bsLP.js → TestDefinitionListView-BL2s_qBZ.js} +1 -1
- package/dist/assets/{TestDefinitionNewView-CfIZ0atk.js → TestDefinitionNewView-B9BqJZST.js} +2 -2
- package/dist/assets/{TestDefinitionRootView-CYg7HBL-.js → TestDefinitionRootView-AlWyxbc0.js} +1 -1
- package/dist/assets/{VariablesView-BFE9B0_b.js → VariablesView-BZCvPfan.js} +4 -3
- package/dist/assets/{WorkerView-BUMCMS_B.js → WorkerView-CigxqnWi.js} +6 -6
- package/dist/assets/{WorkflowActivator-BDLto9c0.js → WorkflowActivator-B7jRy4L1.js} +8 -4
- package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
- package/dist/assets/{WorkflowExecutionsInfoAccordion-manN-WIj.js → WorkflowExecutionsInfoAccordion-C_ZycbsF.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-BzGmpGvf.js → WorkflowExecutionsLandingPage-DOqrfKlC.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-CNEV2lom.js → WorkflowExecutionsPreview-B4Cj2gXW.js} +6 -6
- package/dist/assets/{WorkflowExecutionsView-WiNvtAmD.js → WorkflowExecutionsView-RXfP7zkJ.js} +11 -9
- package/dist/assets/{WorkflowHistory-6uJJqB4x.js → WorkflowHistory-DrXrRwIS.js} +37 -19
- package/dist/assets/{WorkflowOnboardingView-CPt_AUR-.js → WorkflowOnboardingView-CXH1vCW2.js} +1 -1
- package/dist/assets/{WorkflowPreview-CHUEX6H6.js → WorkflowPreview-B_MuFEV8.js} +1 -1
- package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
- package/dist/assets/{WorkflowsView-DbGBRbfc.js → WorkflowsView-D90hfJ35.js} +300 -158
- package/dist/assets/{chartjs.utils-C--HONKb.js → chartjs.utils-DalQn9bk.js} +2 -2
- package/dist/assets/{dateFormatter-DbKqmK4w.js → dateFormatter-BPfJSa6q.js} +1 -1
- package/dist/assets/{easyAiWorkflowUtils-BWgfZ0am.js → easyAiWorkflowUtils-kgtpBx2h.js} +1 -1
- package/dist/assets/{global-link-actions-COf-9vBh.js → global-link-actions-CnWOMvqA.js} +1 -1
- package/dist/assets/{import-curl-BiXaU2jk.js → import-curl-BvX_O56D.js} +1 -1
- package/dist/assets/{index-B6xE9gZ1.js → index-Bb2NNknG.js} +1 -1
- package/dist/assets/{index-BLAboPd2.js → index-DZ6VpjNj.js} +4635 -2824
- package/dist/assets/{index-sq5ggyEC.css → index-yNaoC3fo.css} +363 -97
- package/dist/assets/{pickBy-gZHb6vZ2.js → pickBy-B_HGYyxS.js} +1 -1
- package/dist/assets/{templateActions-DCx74tPa.js → templateActions-DQfZ3ni5.js} +1 -1
- package/dist/assets/{useBeforeUnload-DbfysOS-.js → useBeforeUnload-Cu0LPVWe.js} +1 -1
- package/dist/assets/{useCanvasMapping-CSuq_dYj.js → useCanvasMapping-CTTq6x8X.js} +62 -40
- package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-VtpW_QZA.css} +6 -5
- package/dist/assets/{useCanvasOperations-C0pQBHW3.js → useCanvasOperations-u8oSDa_u.js} +96 -445
- package/dist/assets/{useClearExecutionButtonVisible-Cvfxw8xC.js → useClearExecutionButtonVisible-Dwc1_eG9.js} +2 -2
- package/dist/assets/{useExecutionDebugging-D2H5O6fT.js → useExecutionDebugging-rc72wLIp.js} +1 -1
- package/dist/assets/{useExecutionHelpers-C--m0pTQ.js → useExecutionHelpers-DqwMonFW.js} +2 -2
- package/dist/assets/{useImportCurlCommand-XFn6Ezp2.js → useImportCurlCommand-D_onuFvo.js} +19 -10
- package/dist/assets/useProjectPages-e8b03-5_.js +17 -0
- package/dist/assets/usePushConnection-wm-7Id6Q.js +629 -0
- package/dist/assets/{useTestDefinitionForm-2YP-8pAN.js → useTestDefinitionForm-DlUOnNC0.js} +1 -1
- package/dist/assets/{useWorkflowActivate-CvmIpy5T.js → useWorkflowActivate-65xML23U.js} +1 -1
- package/dist/assets/useWorkflowSaving-CUel20JA.js +66 -0
- package/dist/index.html +2 -2
- package/package.json +1 -1
- package/dist/assets/CollectionParameter-BaH_a73u.js +0 -4
- package/dist/assets/usePushConnection-x0iF1Axz.js +0 -537
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { gF as arrayMap, gG as getAllKeysIn, gH as baseIteratee, gI as basePickBy } from "./index-DZ6VpjNj.js";
|
|
2
2
|
function pickBy(object, predicate) {
|
|
3
3
|
if (object == null) {
|
|
4
4
|
return {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cY as assert, db as doesNodeHaveCredentialsToFill, V as VIEWS, c7 as tryToParseNumber, dc as getNewWorkflow, dd as replaceAllTemplateNodeCredentials, cb as getNodesWithNormalizedPosition } from "./index-DZ6VpjNj.js";
|
|
2
2
|
async function createWorkflowFromTemplate(opts) {
|
|
3
3
|
const { credentialOverrides, nodeTypeProvider, rootStore, template, workflowsStore } = opts;
|
|
4
4
|
const workflowData = await getNewWorkflow(rootStore.restApiContext, { name: template.name });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H as useUIStore, $ as useCanvasStore, r as ref, q as computed, V as VIEWS, c as useI18n } from "./index-
|
|
1
|
+
import { H as useUIStore, $ as useCanvasStore, r as ref, q as computed, V as VIEWS, c as useI18n } from "./index-DZ6VpjNj.js";
|
|
2
2
|
function useBeforeUnload({ route }) {
|
|
3
3
|
const uiStore = useUIStore();
|
|
4
4
|
const canvasStore = useCanvasStore();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as _export_sfc$1, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent,
|
|
2
|
-
import { p as parseCanvasConnectionHandleString,
|
|
1
|
+
import { _ as _export_sfc$1, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, fX as getCurrentScope, b0 as inject, fY as effectScope, X as watch, cZ as getCurrentInstance, fZ as useSlots, bb as onUnmounted, j as createVNode, x as renderSlot, w as withCtx, m as unref, r as ref, f_ as useAttrs, f as createCommentVNode, e as createBlock, b7 as mergeProps, F as Fragment, bO as toRef, f$ as Teleport, g0 as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bR as reactive, g1 as onScopeDispose, az as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, g2 as isMemoSame, t as toDisplayString, b6 as resolveDynamicComponent, l as createTextVNode, b1 as isRef, b3 as toRefs$1, g3 as customRef, bh as provide, h as resolveComponent, aq as h, g4 as toValue$1, g5 as markRaw, g6 as readonly, c as useI18n, bQ as KeyboardShortcutTooltip, bm as NodeConnectionTypes, g7 as CanvasKey, Y as useCssModule, H as useUIStore, bz as useNodeTypesStore, Q as useWorkflowsStore, a0 as useSourceControlStore, a7 as getResourcePermissions, g8 as EXECUTE_WORKFLOW_NODE_TYPE, fD as getSubworkflowId, el as isPresent, g9 as getMousePosition$1, ay as STICKY_NODE_TYPE, bq as usePinnedData, ga as NOT_DUPLICATABLE_NODE_TYPES, gb as isExecutable, bK as useStyles, gc as N8nActionDropdown, cx as getDefaultExportFromCjs, fT as NODE_SIZE, cd as CanvasNodeRenderType, fU as GRID_SIZE, bN as useThrottleFn, gd as useActiveElement, ge as useDeviceSupport, gf as useEventListener$1, gg as onKeyDown, gh as onKeyUp, a_ as watchEffect, b4 as normalizeProps, aV as createSlots, c8 as isValidNodeConnectionType, c9 as CanvasConnectionMode, gi as CanvasNodeKey, gj as mergeModels, gk as useModel, bA as useNodeHelpers, gl as TitledList, aR as N8nTooltip, gm as CanvasNodeDirtiness, bC as _sfc_main$A, b2 as withModifiers, ah as nodeViewEventBus, cc as NODE_CREATOR_OPEN_SOURCES, bW as useBuilderStore, bd as withKeys, gn as CanvasNodeHandleKey, aA as withDirectives, aB as vShow, go as Transition$2, b as useRouter, bB as useRunWorkflow, aZ as LOGS_PANEL_STATE, bk as CHAT_TRIGGER_NODE_TYPE, C as createEventBus, eq as isEqual, p as useSettingsStore, c4 as Suspense, b5 as guardReactiveProps, gp as useNodeDirtiness, fC as CUSTOM_API_CALL_KEY, bw as getNodeInputs, by as getNodeOutputs, dB as getTriggerNodeServiceName, cu as sanitizeHtml, gq as WAIT_NODE_TYPE, gr as SEND_AND_WAIT_OPERATION, gs as FORM_NODE_TYPE, gt as WAIT_INDEFINITELY, gu as SIMULATE_NODE_TYPE, gv as SIMULATE_TRIGGER_NODE_TYPE, gw as getNodeIconSource } from "./index-DZ6VpjNj.js";
|
|
2
|
+
import { p as parseCanvasConnectionHandleString, u as useNodeCreatorStore, a as useCanvasOperations, i as insertSpacersBetweenEndpoints, c as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, d as checkOverlap, e as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-u8oSDa_u.js";
|
|
3
3
|
const _sfc_main$z = {};
|
|
4
4
|
const _hoisted_1$d = {
|
|
5
5
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -10073,8 +10073,14 @@ const useContextMenu = (onAction = () => {
|
|
|
10073
10073
|
() => getResourcePermissions(workflowsStore.workflow.scopes).workflow
|
|
10074
10074
|
);
|
|
10075
10075
|
const isReadOnly = computed(
|
|
10076
|
-
() => sourceControlStore.preferences.branchReadOnly || uiStore.isReadOnlyView || !workflowPermissions.value.update
|
|
10076
|
+
() => sourceControlStore.preferences.branchReadOnly || uiStore.isReadOnlyView || !workflowPermissions.value.update || workflowsStore.workflow.isArchived
|
|
10077
10077
|
);
|
|
10078
|
+
const canOpenSubworkflow = computed(() => {
|
|
10079
|
+
if (targetNodes.value.length !== 1) return false;
|
|
10080
|
+
const node2 = targetNodes.value[0];
|
|
10081
|
+
if (node2.type !== EXECUTE_WORKFLOW_NODE_TYPE) return false;
|
|
10082
|
+
return getSubworkflowId(node2);
|
|
10083
|
+
});
|
|
10078
10084
|
const targetNodeIds = computed(() => {
|
|
10079
10085
|
if (!isOpen.value || !target.value) return [];
|
|
10080
10086
|
const currentTarget = target.value;
|
|
@@ -10113,7 +10119,7 @@ const useContextMenu = (onAction = () => {
|
|
|
10113
10119
|
};
|
|
10114
10120
|
const open = (event, menuTarget) => {
|
|
10115
10121
|
event.stopPropagation();
|
|
10116
|
-
if (isOpen.value && menuTarget.source === target.value?.source) {
|
|
10122
|
+
if (isOpen.value && menuTarget.source === target.value?.source && menuTarget.nodeId === target.value?.nodeId) {
|
|
10117
10123
|
close();
|
|
10118
10124
|
return;
|
|
10119
10125
|
}
|
|
@@ -10207,6 +10213,7 @@ const useContextMenu = (onAction = () => {
|
|
|
10207
10213
|
}
|
|
10208
10214
|
].filter(Boolean);
|
|
10209
10215
|
if (nodes.length === 1) {
|
|
10216
|
+
const isExecuteWorkflowNode = nodes[0].type === EXECUTE_WORKFLOW_NODE_TYPE;
|
|
10210
10217
|
const singleNodeActions = onlyStickies ? [
|
|
10211
10218
|
{
|
|
10212
10219
|
id: "open",
|
|
@@ -10233,10 +10240,18 @@ const useContextMenu = (onAction = () => {
|
|
|
10233
10240
|
{
|
|
10234
10241
|
id: "rename",
|
|
10235
10242
|
label: i18n.baseText("contextMenu.rename"),
|
|
10236
|
-
shortcut: { keys: ["
|
|
10243
|
+
shortcut: { keys: ["Space"] },
|
|
10237
10244
|
disabled: isReadOnly.value
|
|
10238
10245
|
}
|
|
10239
10246
|
];
|
|
10247
|
+
if (isExecuteWorkflowNode) {
|
|
10248
|
+
singleNodeActions.push({
|
|
10249
|
+
id: "open_sub_workflow",
|
|
10250
|
+
label: i18n.baseText("contextMenu.openSubworkflow"),
|
|
10251
|
+
shortcut: { shiftKey: true, metaKey: true, keys: ["O"] },
|
|
10252
|
+
disabled: !canOpenSubworkflow.value
|
|
10253
|
+
});
|
|
10254
|
+
}
|
|
10240
10255
|
menuActions.unshift(...singleNodeActions);
|
|
10241
10256
|
}
|
|
10242
10257
|
actions.value = menuActions;
|
|
@@ -17416,7 +17431,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
|
|
|
17416
17431
|
};
|
|
17417
17432
|
}
|
|
17418
17433
|
});
|
|
17419
|
-
const canvasEdgeToolbar = "
|
|
17434
|
+
const canvasEdgeToolbar = "_canvasEdgeToolbar_1d3yh_123";
|
|
17420
17435
|
const style0$m = {
|
|
17421
17436
|
canvasEdgeToolbar
|
|
17422
17437
|
};
|
|
@@ -17426,7 +17441,7 @@ const cssModules$m = {
|
|
|
17426
17441
|
const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__cssModules", cssModules$m]]);
|
|
17427
17442
|
const _hoisted_1$6 = ["data-source-node-name", "data-target-node-name"];
|
|
17428
17443
|
const _hoisted_2$3 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
|
|
17429
|
-
const delayedHoveredTimeout =
|
|
17444
|
+
const delayedHoveredTimeout = 600;
|
|
17430
17445
|
const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
17431
17446
|
__name: "CanvasEdge",
|
|
17432
17447
|
props: {
|
|
@@ -17658,7 +17673,6 @@ function useCanvasNode() {
|
|
|
17658
17673
|
const executionStatus = computed(() => data.value.execution.status);
|
|
17659
17674
|
const executionWaiting = computed(() => data.value.execution.waiting);
|
|
17660
17675
|
const executionRunning = computed(() => data.value.execution.running);
|
|
17661
|
-
const executionRunningThrottled = refThrottled(executionRunning, 300);
|
|
17662
17676
|
const runDataOutputMap = computed(() => data.value.runData.outputMap);
|
|
17663
17677
|
const runDataIterations = computed(() => data.value.runData.iterations);
|
|
17664
17678
|
const hasRunData = computed(() => data.value.runData.visible);
|
|
@@ -17686,7 +17700,6 @@ function useCanvasNode() {
|
|
|
17686
17700
|
executionStatus,
|
|
17687
17701
|
executionWaiting,
|
|
17688
17702
|
executionRunning,
|
|
17689
|
-
executionRunningThrottled,
|
|
17690
17703
|
render: render2,
|
|
17691
17704
|
eventBus
|
|
17692
17705
|
};
|
|
@@ -17817,7 +17830,11 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
17817
17830
|
const $style = useCssModule();
|
|
17818
17831
|
const i18n = useI18n();
|
|
17819
17832
|
const { isExecuting } = useCanvas();
|
|
17820
|
-
const { isDisabled, render: render2 } = useCanvasNode();
|
|
17833
|
+
const { isDisabled, render: render2, name } = useCanvasNode();
|
|
17834
|
+
const workflowsStore = useWorkflowsStore();
|
|
17835
|
+
const nodeTypesStore = useNodeTypesStore();
|
|
17836
|
+
const node2 = computed(() => !!name.value && workflowsStore.getNodeByName(name.value));
|
|
17837
|
+
const isToolNode = computed(() => !!node2.value && nodeTypesStore.isToolNode(node2.value.type));
|
|
17821
17838
|
const nodeDisabledTitle = computed(() => {
|
|
17822
17839
|
return isDisabled.value ? i18n.baseText("node.enable") : i18n.baseText("node.disable");
|
|
17823
17840
|
});
|
|
@@ -17829,7 +17846,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
|
|
|
17829
17846
|
[$style.forceVisible]: isHovered.value || isStickyColorSelectorOpen.value
|
|
17830
17847
|
}));
|
|
17831
17848
|
const isExecuteNodeVisible = computed(() => {
|
|
17832
|
-
return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default && "configuration" in render2.value.options && !render2.value.options.configuration;
|
|
17849
|
+
return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default && "configuration" in render2.value.options && (!render2.value.options.configuration || isToolNode.value);
|
|
17833
17850
|
});
|
|
17834
17851
|
const isDisableNodeVisible = computed(() => {
|
|
17835
17852
|
return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default;
|
|
@@ -17978,7 +17995,7 @@ const cssModules$i = {
|
|
|
17978
17995
|
const __unplugin_components_3 = /* @__PURE__ */ _export_sfc$1(_sfc_main$k, [["__cssModules", cssModules$i]]);
|
|
17979
17996
|
const _hoisted_1$4 = { key: 1 };
|
|
17980
17997
|
const _hoisted_2$1 = ["textContent"];
|
|
17981
|
-
const _hoisted_3$1 = { key:
|
|
17998
|
+
const _hoisted_3$1 = { key: 2 };
|
|
17982
17999
|
const _hoisted_4 = { key: 5 };
|
|
17983
18000
|
const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
17984
18001
|
__name: "CanvasNodeStatusIcons",
|
|
@@ -17991,7 +18008,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
17991
18008
|
hasIssues,
|
|
17992
18009
|
executionStatus,
|
|
17993
18010
|
executionWaiting,
|
|
17994
|
-
|
|
18011
|
+
executionRunning,
|
|
17995
18012
|
hasRunData,
|
|
17996
18013
|
runDataIterations,
|
|
17997
18014
|
isDisabled,
|
|
@@ -18047,14 +18064,8 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
18047
18064
|
spin: ""
|
|
18048
18065
|
})
|
|
18049
18066
|
], 2)
|
|
18050
|
-
])) : unref(
|
|
18051
|
-
key:
|
|
18052
|
-
"data-test-id": "canvas-node-status-pinned",
|
|
18053
|
-
class: normalizeClass([_ctx.$style.status, _ctx.$style.pinnedData])
|
|
18054
|
-
}, [
|
|
18055
|
-
createVNode(_component_FontAwesomeIcon, { icon: "thumbtack" })
|
|
18056
|
-
], 2)) : unref(executionStatus) === "unknown" ? (openBlock(), createElementBlock("div", _hoisted_3$1)) : unref(executionRunningThrottled) || unref(executionStatus) === "running" ? (openBlock(), createElementBlock("div", {
|
|
18057
|
-
key: 4,
|
|
18067
|
+
])) : unref(executionStatus) === "unknown" ? (openBlock(), createElementBlock("div", _hoisted_3$1)) : unref(executionRunning) || unref(executionStatus) === "running" ? (openBlock(), createElementBlock("div", {
|
|
18068
|
+
key: 3,
|
|
18058
18069
|
"data-test-id": "canvas-node-status-running",
|
|
18059
18070
|
class: normalizeClass([_ctx.$style.status, _ctx.$style.running])
|
|
18060
18071
|
}, [
|
|
@@ -18062,6 +18073,12 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
18062
18073
|
icon: "sync-alt",
|
|
18063
18074
|
spin: ""
|
|
18064
18075
|
})
|
|
18076
|
+
], 2)) : unref(hasPinnedData) && !unref(nodeHelpers).isProductionExecutionPreview.value && !unref(isDisabled) ? (openBlock(), createElementBlock("div", {
|
|
18077
|
+
key: 4,
|
|
18078
|
+
"data-test-id": "canvas-node-status-pinned",
|
|
18079
|
+
class: normalizeClass([_ctx.$style.status, _ctx.$style.pinnedData])
|
|
18080
|
+
}, [
|
|
18081
|
+
createVNode(_component_FontAwesomeIcon, { icon: "thumbtack" })
|
|
18065
18082
|
], 2)) : dirtiness.value !== void 0 ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
18066
18083
|
createVNode(unref(N8nTooltip), {
|
|
18067
18084
|
"show-after": 500,
|
|
@@ -18315,8 +18332,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
18315
18332
|
function openContextMenu(event) {
|
|
18316
18333
|
emit("open:contextmenu", event);
|
|
18317
18334
|
}
|
|
18318
|
-
function onActivate() {
|
|
18319
|
-
emit("activate", id2.value);
|
|
18335
|
+
function onActivate(event) {
|
|
18336
|
+
emit("activate", id2.value, event);
|
|
18320
18337
|
}
|
|
18321
18338
|
return (_ctx, _cache) => {
|
|
18322
18339
|
const _component_CanvasNodeTooltip = __unplugin_components_0$3;
|
|
@@ -20726,11 +20743,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
20726
20743
|
const router = useRouter();
|
|
20727
20744
|
const i18n = useI18n();
|
|
20728
20745
|
const workflowsStore = useWorkflowsStore();
|
|
20729
|
-
const uiStore = useUIStore();
|
|
20730
20746
|
const { runEntireWorkflow } = useRunWorkflow({ router });
|
|
20731
20747
|
const { toggleChatOpen } = useCanvasOperations({ router });
|
|
20732
20748
|
const isChatOpen = computed(() => workflowsStore.logsPanelState !== LOGS_PANEL_STATE.CLOSED);
|
|
20733
|
-
const isExecuting = computed(() =>
|
|
20749
|
+
const isExecuting = computed(() => workflowsStore.isWorkflowRunning);
|
|
20734
20750
|
const testId = computed(() => `execute-workflow-button-${__props.name}`);
|
|
20735
20751
|
return (_ctx, _cache) => {
|
|
20736
20752
|
const _component_FontAwesomeIcon = resolveComponent("FontAwesomeIcon");
|
|
@@ -20933,8 +20949,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
20933
20949
|
function onDisabledToggle() {
|
|
20934
20950
|
emit("toggle", props.id);
|
|
20935
20951
|
}
|
|
20936
|
-
function onActivate() {
|
|
20937
|
-
emit("activate",
|
|
20952
|
+
function onActivate(id22, event) {
|
|
20953
|
+
emit("activate", id22, event);
|
|
20938
20954
|
}
|
|
20939
20955
|
function onDeactivate() {
|
|
20940
20956
|
emit("deactivate", props.id);
|
|
@@ -21141,7 +21157,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21141
21157
|
keyBindings: { type: Boolean, default: true },
|
|
21142
21158
|
loading: { type: Boolean, default: false }
|
|
21143
21159
|
},
|
|
21144
|
-
emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:activated", "update:node:deactivated", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "update:node:inputs", "update:node:outputs", "click:node", "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", "tidy-up"],
|
|
21160
|
+
emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:activated", "update:node:deactivated", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "update:node:inputs", "update:node:outputs", "click:node", "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", "tidy-up", "open:sub-workflow"],
|
|
21145
21161
|
setup(__props, { emit: __emit }) {
|
|
21146
21162
|
const $style = useCssModule();
|
|
21147
21163
|
const emit = __emit;
|
|
@@ -21257,6 +21273,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21257
21273
|
}
|
|
21258
21274
|
const keyMap = computed(() => {
|
|
21259
21275
|
const readOnlyKeymap = {
|
|
21276
|
+
ctrl_shift_o: emitWithLastSelectedNode((id2) => emit("open:sub-workflow", id2)),
|
|
21260
21277
|
ctrl_c: emitWithSelectedNodes((ids) => emit("copy:nodes", ids)),
|
|
21261
21278
|
enter: emitWithLastSelectedNode((id2) => onSetNodeActivated(id2)),
|
|
21262
21279
|
ctrl_a: () => addSelectedNodes(graphNodes.value),
|
|
@@ -21338,9 +21355,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21338
21355
|
nodesSelectionActive.value = false;
|
|
21339
21356
|
}
|
|
21340
21357
|
}
|
|
21341
|
-
function onSetNodeActivated(id2) {
|
|
21358
|
+
function onSetNodeActivated(id2, event) {
|
|
21342
21359
|
props.eventBus.emit("nodes:action", { ids: [id2], action: "update:node:activated" });
|
|
21343
|
-
emit("update:node:activated", id2);
|
|
21360
|
+
emit("update:node:activated", id2, event);
|
|
21344
21361
|
}
|
|
21345
21362
|
function onSetNodeDeactivated(id2) {
|
|
21346
21363
|
emit("update:node:deactivated", id2);
|
|
@@ -21500,23 +21517,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21500
21517
|
}, {});
|
|
21501
21518
|
});
|
|
21502
21519
|
const contextMenu2 = useContextMenu();
|
|
21503
|
-
function onOpenContextMenu(event) {
|
|
21520
|
+
function onOpenContextMenu(event, target2) {
|
|
21504
21521
|
contextMenu2.open(event, {
|
|
21505
21522
|
source: "canvas",
|
|
21506
|
-
nodeIds: selectedNodeIds.value
|
|
21523
|
+
nodeIds: selectedNodeIds.value,
|
|
21524
|
+
...target2
|
|
21507
21525
|
});
|
|
21508
21526
|
}
|
|
21509
21527
|
function onOpenSelectionContextMenu({ event }) {
|
|
21510
|
-
|
|
21511
|
-
source: "canvas",
|
|
21512
|
-
nodeIds: selectedNodeIds.value
|
|
21513
|
-
});
|
|
21528
|
+
onOpenContextMenu(event);
|
|
21514
21529
|
}
|
|
21515
21530
|
function onOpenNodeContextMenu(id2, event, source) {
|
|
21516
|
-
if (
|
|
21517
|
-
|
|
21531
|
+
if (source === "node-button") {
|
|
21532
|
+
contextMenu2.open(event, { source, nodeId: id2 });
|
|
21533
|
+
} else if (selectedNodeIds.value.length > 1 && selectedNodeIds.value.includes(id2)) {
|
|
21534
|
+
onOpenContextMenu(event, { nodeId: id2 });
|
|
21535
|
+
} else {
|
|
21536
|
+
onSelectNodes({ ids: [id2] });
|
|
21537
|
+
contextMenu2.open(event, { source, nodeId: id2 });
|
|
21518
21538
|
}
|
|
21519
|
-
contextMenu2.open(event, { source, nodeId: id2 });
|
|
21520
21539
|
}
|
|
21521
21540
|
async function onContextMenuAction(action, nodeIds) {
|
|
21522
21541
|
switch (action) {
|
|
@@ -21548,6 +21567,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21548
21567
|
return props.eventBus.emit("nodes:action", { ids: nodeIds, action: "update:sticky:color" });
|
|
21549
21568
|
case "tidy_up":
|
|
21550
21569
|
return await onTidyUp({ source: "context-menu" });
|
|
21570
|
+
case "open_sub_workflow": {
|
|
21571
|
+
return emit("open:sub-workflow", nodeIds[0]);
|
|
21572
|
+
}
|
|
21551
21573
|
}
|
|
21552
21574
|
}
|
|
21553
21575
|
async function onTidyUp(payload) {
|
|
@@ -21772,7 +21794,7 @@ const style0 = {
|
|
|
21772
21794
|
const cssModules = {
|
|
21773
21795
|
"$style": style0
|
|
21774
21796
|
};
|
|
21775
|
-
const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-
|
|
21797
|
+
const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-d4a7c14c"]]);
|
|
21776
21798
|
function useCanvasMapping({
|
|
21777
21799
|
nodes,
|
|
21778
21800
|
connections,
|
|
@@ -637,12 +637,13 @@ path[data-v-161512f5] {
|
|
|
637
637
|
-------------------------- */
|
|
638
638
|
/* BEM
|
|
639
639
|
-------------------------- */
|
|
640
|
-
.
|
|
640
|
+
._canvasEdgeToolbar_1d3yh_123 {
|
|
641
641
|
display: flex;
|
|
642
642
|
justify-content: center;
|
|
643
643
|
align-items: center;
|
|
644
644
|
gap: var(--spacing-2xs);
|
|
645
645
|
pointer-events: all;
|
|
646
|
+
padding: var(--spacing-l);
|
|
646
647
|
}/* BEM support Func
|
|
647
648
|
-------------------------- */
|
|
648
649
|
/* Transition
|
|
@@ -4496,11 +4497,11 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
|
|
|
4496
4497
|
-------------------------- */
|
|
4497
4498
|
/* BEM
|
|
4498
4499
|
-------------------------- */
|
|
4499
|
-
.minimap-enter-active[data-v-
|
|
4500
|
-
.minimap-leave-active[data-v-
|
|
4500
|
+
.minimap-enter-active[data-v-d4a7c14c],
|
|
4501
|
+
.minimap-leave-active[data-v-d4a7c14c] {
|
|
4501
4502
|
transition: opacity 0.3s ease;
|
|
4502
4503
|
}
|
|
4503
|
-
.minimap-enter-from[data-v-
|
|
4504
|
-
.minimap-leave-to[data-v-
|
|
4504
|
+
.minimap-enter-from[data-v-d4a7c14c],
|
|
4505
|
+
.minimap-leave-to[data-v-d4a7c14c] {
|
|
4505
4506
|
opacity: 0;
|
|
4506
4507
|
}
|