n8n-editor-ui 1.95.2 → 1.97.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-D09KQgNn.js → AnimatedSpinner-BbE6jHOu.js} +1 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-ChBsrua8.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BZ2GH0iH.js} +1 -1
- package/dist/assets/{AuthView-6CzmMUBa.js → AuthView-CrlqfMI5.js} +2 -2
- package/dist/assets/{CanvasChatSwitch-DIB31bT-.js → CanvasChatSwitch-C3NWFgk4.js} +8 -8
- package/dist/assets/{ChangePasswordView-CFiLUetz.js → ChangePasswordView-DBFF8086.js} +3 -3
- package/dist/assets/CollectionParameter-BKrbv9MJ.js +4 -0
- package/dist/assets/{CredentialsView-balupUNg.js → CredentialsView-B9s5TscM.js} +7 -7
- package/dist/assets/{DemoFooter-DjYHmYtW.js → DemoFooter-DZ9uJIf9.js} +6 -6
- package/dist/assets/{ErrorView-Bp0CSaqz.js → ErrorView-B6u3dXpH.js} +1 -1
- package/dist/assets/{EvaluationsRootView-DEsxvX2-.js → EvaluationsRootView-C1FnaqZ_.js} +1 -1
- package/dist/assets/{EvaluationsView-sNn1fW5k.js → EvaluationsView-CYXSwzgF.js} +3 -3
- package/dist/assets/{ExecutionsTime-BuE0lHT6.css → ExecutionsTime--_6xBkkx.css} +6 -6
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-CBWKO-F8.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-Ceq2psmv.js} +3 -3
- package/dist/assets/{ExecutionsView-CwEhanCC.js → ExecutionsView-Cc64SfIc.js} +9 -9
- package/dist/assets/{ExecutionsView-ByQf9yli.css → ExecutionsView-ChOXAON3.css} +1 -1
- package/dist/assets/{FileSaver.min-BXNSdnef.js → FileSaver.min-Disj8eb5.js} +1 -1
- package/dist/assets/{FixedCollectionParameter-BATXrzXI.css → FixedCollectionParameter-CgLfAVkQ.css} +18 -18
- package/dist/assets/{FixedCollectionParameter-D3k10_sC.js → FixedCollectionParameter-DrqR-CZn.js} +6 -5
- package/dist/assets/{ForgotMyPasswordView-DIjgKwbk.js → ForgotMyPasswordView-DnoUd6bs.js} +3 -3
- package/dist/assets/{InsightsChartAverageRuntime-BR-ZZhu2.js → InsightsChartAverageRuntime-BaVGCN4s.js} +4 -4
- package/dist/assets/{InsightsChartFailed-Bn6t9gYW.js → InsightsChartFailed--Ck66zdr.js} +4 -4
- package/dist/assets/{InsightsChartFailureRate-BESq19BT.js → InsightsChartFailureRate-BEnyD778.js} +4 -4
- package/dist/assets/{InsightsChartTimeSaved-Mk7RZWZj.js → InsightsChartTimeSaved-Chx9AJ6h.js} +4 -4
- package/dist/assets/{InsightsChartTotal-1eD2ZnHA.js → InsightsChartTotal-BNA21_XU.js} +4 -4
- package/dist/assets/{InsightsDashboard-804Vx8G8.js → InsightsDashboard-Bsy2cANM.js} +11 -11
- package/dist/assets/{InsightsDashboard-BSrakbzr.css → InsightsDashboard-CXbI-Jyg.css} +2 -2
- package/dist/assets/{InsightsPaywall-DlHIW8n4.js → InsightsPaywall-GPfXhmE2.js} +1 -1
- package/dist/assets/{InsightsSummary-iMjpjBTf.js → InsightsSummary-B5VSOlKK.js} +1 -1
- package/dist/assets/{InsightsTableWorkflows-CVdwME8T.js → InsightsTableWorkflows-6-29Fbmj.js} +3 -3
- package/dist/assets/{InsightsTableWorkflows-DfTZQkWL.css → InsightsTableWorkflows-DJhX6bQW.css} +3 -3
- package/dist/assets/{Logo-AVqgKHpt.js → Logo-Bt_6IpKO.js} +1 -1
- package/dist/assets/{LogsPanel-zME_gghi.js → LogsPanel-BOr-dFe3.js} +3 -3
- package/dist/assets/{MainHeader-CYSc9eyv.js → MainHeader-C6Jx0rXI.js} +10 -10
- package/dist/assets/{MainHeader-Y95RcfHb.css → MainHeader-CGwvFs2B.css} +12 -12
- package/dist/assets/{MainSidebar-CFL8ain5.js → MainSidebar-BXXytBar.js} +13 -13
- package/dist/assets/{MainSidebar-D1_1YFQZ.css → MainSidebar-DrjvHIqG.css} +22 -23
- package/dist/assets/{NodeCreation-Cc0NdFhH.js → NodeCreation-BIfVMPa7.js} +3 -3
- package/dist/assets/{NodeCreator-Bci2BsOB.js → NodeCreator-DLiTvqLI.js} +2 -2
- package/dist/assets/{NodeDetailsView-BtWGMS7Y.css → NodeDetailsView-6JHPI3t-.css} +34 -34
- package/dist/assets/{NodeDetailsView-B9Fh0Dl2.js → NodeDetailsView-BDF0fGMs.js} +11 -11
- package/dist/assets/{NodeView-U4YkXSfU.css → NodeView-BdvXMmMp.css} +4 -4
- package/dist/assets/{NodeView-CvKozVnV.js → NodeView-DgdMFdhk.js} +51 -18
- package/dist/assets/{ProjectCardBadge-bSiwmeA8.js → ProjectCardBadge-CofRlXsk.js} +8 -5
- package/dist/assets/{ProjectHeader-CXCEIwvg.js → ProjectHeader-BvA7Wpwr.js} +2 -2
- package/dist/assets/{ProjectSettings-BKismuHe.js → ProjectSettings-CrDC-3_3.js} +91 -71
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BWW4AwS8.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DxNGSSoO.js} +1 -1
- package/dist/assets/{ResourcesListLayout-DuNjbsMn.css → ResourcesListLayout-CPwJc792.css} +8 -8
- package/dist/assets/{ResourcesListLayout-CITg4uZY.js → ResourcesListLayout-qljecvR-.js} +3 -3
- package/dist/assets/{RunData-fnv6lb8C.js → RunData-CYDMlaQ6.js} +29 -29
- package/dist/assets/{RunData-CE5FsU6k.css → RunData-XsmLcFYS.css} +2 -2
- package/dist/assets/{RunDataAi-CNLso3N1.js → RunDataAi-CxdjuP0A.js} +3 -3
- package/dist/assets/{RunDataJson-DZx-k1wX.js → RunDataJson-D5izLqQI.js} +6 -6
- package/dist/assets/{RunDataJsonActions-D-3T61BD.js → RunDataJsonActions-DAaYLHZc.js} +1 -1
- package/dist/assets/{RunDataParsedAiContent-CW7ypFU2.js → RunDataParsedAiContent-DHxyWJHq.js} +4 -4
- package/dist/assets/{RunDataSearch-BjjTiewM.js → RunDataSearch-TEurtb6F.js} +1 -1
- package/dist/assets/{RunDataTable-CLptnyhW.js → RunDataTable-s1WZYFih.js} +2 -2
- package/dist/assets/{SamlOnboarding-DvgrlSpN.js → SamlOnboarding-DiA_qmVn.js} +3 -3
- package/dist/assets/{SettingsApiView-28hAZ8AX.js → SettingsApiView-DeQV4O5K.js} +1 -1
- package/dist/assets/{SettingsCommunityNodesView-B4BhERDL.js → SettingsCommunityNodesView-C6qJjOCf.js} +4 -4
- package/dist/assets/{SettingsExternalSecrets-wExeq2SD.js → SettingsExternalSecrets-kDlbID-f.js} +1 -1
- package/dist/assets/{SettingsLdapView-DQTjIidN.js → SettingsLdapView-C3NEUPyD.js} +1 -1
- package/dist/assets/{SettingsLogStreamingView-S2HFXugB.js → SettingsLogStreamingView-BgCKenqc.js} +1 -1
- package/dist/assets/{SettingsPersonalView-K4xmPv1e.js → SettingsPersonalView-Dp-2_nD5.js} +1 -1
- package/dist/assets/{SettingsSourceControl-DBnFHiuT.js → SettingsSourceControl-BV2_t2Wa.js} +1 -1
- package/dist/assets/{SettingsSso-CETLXK4v.js → SettingsSso-D_XFdxcB.js} +1 -1
- package/dist/assets/{SettingsUsageAndPlan-PCXLyHHP.js → SettingsUsageAndPlan-BAVUu2N4.js} +2 -2
- package/dist/assets/{SettingsUsageAndPlan-b3WY2Ea_.css → SettingsUsageAndPlan-Bc3LLaWe.css} +3 -3
- package/dist/assets/{SettingsUsersView-BkFwmQy2.js → SettingsUsersView-CQapkyv7.js} +1 -1
- package/dist/assets/{SettingsView-eJwgU7re.js → SettingsView--1XR6uFD.js} +1 -1
- package/dist/assets/{SetupView-BGrZbWPZ.js → SetupView-DG1s9QDh.js} +3 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-DDCGrXlU.js → SetupWorkflowCredentialsButton-ZIVPumDO.js} +1 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-mnJoSkOi.js → SetupWorkflowFromTemplateView-D7uZMweH.js} +3 -3
- package/dist/assets/{SigninView-BEMlYSwD.js → SigninView-KCgNlhVY.js} +3 -3
- package/dist/assets/{SignoutView-Ck7XUEL0.js → SignoutView-pE0DDq5n.js} +1 -1
- package/dist/assets/{SignupView-BNUCUdim.js → SignupView-D2f_BLTD.js} +3 -3
- package/dist/assets/{TemplateDetails-CCRZDyX3.js → TemplateDetails-BSsv4B85.js} +1 -1
- package/dist/assets/{TemplateList-q5CwO2jW.js → TemplateList-B1Ar74SB.js} +1 -1
- package/dist/assets/{TemplatesCollectionView-BwB7WjdW.js → TemplatesCollectionView-BZGuPEOb.js} +5 -5
- package/dist/assets/{TemplatesSearchView-LFLxcdyJ.js → TemplatesSearchView-qjVhluXk.js} +3 -3
- package/dist/assets/{TemplatesView-DLb7_qKl.js → TemplatesView-ubkT9s02.js} +1 -1
- package/dist/assets/{TemplatesWorkflowView-BuQ8AVbV.js → TemplatesWorkflowView-Cyp0osv7.js} +5 -5
- package/dist/assets/{VariablesView-ATWfdJsE.css → VariablesView-BrzvF0ZW.css} +8 -8
- package/dist/assets/{VariablesView-nl7-bLzd.js → VariablesView-DqqeMAgz.js} +7 -7
- package/dist/assets/{WorkerView-C3tVMzJo.js → WorkerView-BupSGWdO.js} +6 -6
- package/dist/assets/{WorkflowActivator-DrMTmuTZ.css → WorkflowActivator-CL2wacc7.css} +2 -2
- package/dist/assets/{WorkflowActivator-BLSUnRBS.js → WorkflowActivator-D-Hnqidn.js} +3 -3
- package/dist/assets/{WorkflowExecutionsInfoAccordion-DGOugxD_.js → WorkflowExecutionsInfoAccordion-DbWLcKUA.js} +1 -1
- package/dist/assets/{WorkflowExecutionsLandingPage-5BG_WCTQ.js → WorkflowExecutionsLandingPage-LVa1eb_l.js} +2 -2
- package/dist/assets/{WorkflowExecutionsPreview-CpA6P8Yr.js → WorkflowExecutionsPreview-BxTjr1vz.js} +5 -5
- package/dist/assets/{WorkflowExecutionsView-BISf8FRD.js → WorkflowExecutionsView-BZSYh9z9.js} +7 -7
- package/dist/assets/{WorkflowExecutionsView-BjdRnQOE.css → WorkflowExecutionsView-CZziPgtr.css} +2 -2
- package/dist/assets/{WorkflowHistory-BHB0q8xi.js → WorkflowHistory-JVBDHINt.js} +3 -3
- package/dist/assets/{WorkflowOnboardingView-B_vEpWHk.js → WorkflowOnboardingView-Dy-1IC0L.js} +1 -1
- package/dist/assets/{WorkflowPreview-VAzNZwE4.js → WorkflowPreview-Cigbt4bL.js} +1 -1
- package/dist/assets/{WorkflowsView-DfQLvTjD.js → WorkflowsView-CT_wTBkN.js} +110 -26
- package/dist/assets/{canvas-ak0Yge56.js → canvas-hESuR4Ii.js} +1 -1
- package/dist/assets/{chartjs.utils-BEhsQkbh.js → chartjs.utils-B_2Gs6jF.js} +2 -2
- package/dist/assets/{easyAiWorkflowUtils-C-Dw5dJK.js → easyAiWorkflowUtils-Cr-_M_d8.js} +1 -1
- package/dist/assets/{global-link-actions-BjgA0KBu.js → global-link-actions-kPS4H23l.js} +1 -1
- package/dist/assets/{import-curl-Dlras8xY.js → import-curl-DF3kL2Uq.js} +1 -1
- package/dist/assets/{index-DH8MNLw5.css → index-B4xpaMaK.css} +1908 -1735
- package/dist/assets/{index-yHq_9MHK.js → index-CYJmC7Ra.js} +129726 -120552
- package/dist/assets/{index-DkgqLbzL.js → index-CnOUgoOS.js} +1 -1
- package/dist/assets/{pickBy-BygwtxG8.js → pickBy-BJdh6yK0.js} +1 -1
- package/dist/assets/{templateActions-D1Jiffto.js → templateActions-k3pgfZxR.js} +1 -1
- package/dist/assets/{useBeforeUnload-Bjelqp3f.js → useBeforeUnload-BUo1Q8qu.js} +1 -1
- package/dist/assets/{useExecutionDebugging-DeAtI2kq.js → useExecutionDebugging-D7uUVejC.js} +2 -2
- package/dist/assets/{useExecutionHelpers-CV0xvJ9R.js → useExecutionHelpers-C3ME9bsC.js} +1 -1
- package/dist/assets/{useImportCurlCommand-xECJDM0l.js → useImportCurlCommand-CAgwrnW9.js} +2 -2
- package/dist/assets/{useProjectPages-B2uri9MQ.js → useProjectPages-vmgKLBn6.js} +1 -1
- package/dist/assets/{usePushConnection-CPQ9WY2r.js → usePushConnection-v75Wib9I.js} +27 -22
- package/dist/assets/{useWorkflowActivate-B1fEJW3D.js → useWorkflowActivate-CDImNya8.js} +1 -1
- package/dist/assets/{useWorkflowSaving-DvqGBgRP.js → useWorkflowSaving-C8feAx2_.js} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/tsconfig.json +1 -0
- package/vite.config.mts +4 -0
- package/dist/assets/CollectionParameter-aAB2XEgJ.js +0 -4
- package/dist/assets/{polyfills-J2x06Gdp.js → polyfills-CcXIOoWM.js} +3935 -3935
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as importCurlEventBus } from "./import-curl-
|
|
3
|
-
import { R as RunData } from "./RunData-
|
|
4
|
-
import { R as RunDataAi } from "./RunDataAi-
|
|
5
|
-
import { u as useWorkflowActivate } from "./useWorkflowActivate-
|
|
6
|
-
import "./FileSaver.min-
|
|
7
|
-
import "./useExecutionHelpers-
|
|
8
|
-
import "./RunDataParsedAiContent-
|
|
1
|
+
import { A as defineComponent, r as ref, c as computed, C as resolveComponent, G as createElementBlock, H as openBlock, aF as normalizeClass, L as createBaseVNode, J as createVNode, d9 as _sfc_main$g, K as withCtx, eM as withKeys, aH as withModifiers, N as createTextVNode, O as toDisplayString, Q as unref, b as useI18n, $ as createBlock, an as createCommentVNode, cv as nextTick, av as _export_sfc, b0 as useNDVStore, e as useWorkflowsStore, eK as isCommunityPackageName, cy as NPM_PACKAGE_DOCS_BASE_URL, fO as BUILTIN_NODES_DOCS_URL, cA as COMMUNITY_NODES_INSTALLATION_DOCS_URL, U as useExternalHooks, o as useTelemetry, S as NodeConnectionTypes, j as useRouter, aS as useClipboard, f as useWorkflowHelpers, k as useToast, fP as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, fQ as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, fR as MCP_TRIGGER_NODE_TYPE, fS as FORM_TRIGGER_NODE_TYPE, bW as CHAT_TRIGGER_NODE_TYPE, ae as watch, aN as Fragment, aO as renderList, eu as onClickOutside, n as h, fT as toRef, fU as tryOnScopeDispose, fV as toValue, fW as isIOS, fX as noop, fY as isObject, fZ as isClient, aq as useNodeTypesStore, cY as useNodeHelpers, be as useDebounce, bg as normalizeStyle, f_ as TitledList, f$ as getNodeInputs, g0 as SWITCH_NODE_TYPE, fN as isEqual, g1 as captureException, l as useSettingsStore, dq as usePostHog, bm as useCredentialsStore, al as useUsersStore, cK as useProjectsStore, eP as OPEN_AI_API_CREDENTIAL_TYPE, g2 as AI_CREDITS_EXPERIMENT, g3 as useHistoryStore, bx as ProjectTypes, fz as getConnectionTypes, ac as onMounted, fu as ndvEventBus, ad as onBeforeUnmount, g4 as _sfc_main$h, g5 as CUSTOM_NODES_DOCS_URL, R as withDirectives, aY as vShow, b7 as _sfc_main$i, g6 as NodeCredentials, bc as get, g7 as getNodeParameters, aG as deepCopy, g8 as set, g9 as unset, ga as getUpdatedToolDescription, gb as RenameNodeCommand, b2 as isINodePropertyCollectionList, gc as isINodePropertiesList, gd as isINodePropertyOptionsList, ge as displayParameter, bG as Draggable, cb as useThrottleFn, u as useUIStore, ea as useSlots, gf as MAIN_NODE_PANEL_WIDTH, W as useStorage, gg as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, I as renderSlot, gh as convertToDisplayDateComponents, F as resolveDirective, bv as InfoTip, b1 as storeToRefs, gi as useNodeDirtiness, fp as useNodeType, cZ as usePinnedData, gj as CanvasNodeDirtiness, aW as createSlots, b4 as N8nText, gk as waitingNodeTooltip, dG as N8nRadioButtons, fJ as isPresent, gl as truncate, aw as createStaticVNode, ar as START_NODE_TYPE, bU as MANUAL_TRIGGER_NODE_TYPE, gm as CRON_NODE_TYPE, gn as INTERVAL_NODE_TYPE, fK as getNodeOutputs, go as uniqBy, dj as resolveDynamicComponent, bj as N8nTooltip, e2 as N8nIcon, gp as isTriggerPanelObject, eC as getTriggerNodeServiceName, b$ as WEBHOOK_NODE_TYPE, aX as CopyInput, T as createEventBus, gq as Transition, V as VIEWS, aI as WORKFLOW_SETTINGS_MODAL_KEY, gr as useDeviceSupport, gs as EXECUTABLE_TRIGGER_NODE_TYPES, c7 as STICKY_NODE_TYPE, gt as BASE_NODE_SURVEY_URL, E as EnterpriseEditionFeature, fw as dataPinningEventBus, gu as useStyles, gv as APP_MODALS_ELEMENT_ID, g as useMessage, i as MODAL_CONFIRM, fo as jsonParse } from "./index-CYJmC7Ra.js";
|
|
2
|
+
import { i as importCurlEventBus } from "./import-curl-DF3kL2Uq.js";
|
|
3
|
+
import { R as RunData } from "./RunData-CYDMlaQ6.js";
|
|
4
|
+
import { R as RunDataAi } from "./RunDataAi-CxdjuP0A.js";
|
|
5
|
+
import { u as useWorkflowActivate } from "./useWorkflowActivate-CDImNya8.js";
|
|
6
|
+
import "./FileSaver.min-Disj8eb5.js";
|
|
7
|
+
import "./useExecutionHelpers-C3ME9bsC.js";
|
|
8
|
+
import "./RunDataParsedAiContent-DHxyWJHq.js";
|
|
9
9
|
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
10
10
|
__name: "NodeTitle",
|
|
11
11
|
props: {
|
|
@@ -529,7 +529,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
529
529
|
};
|
|
530
530
|
}
|
|
531
531
|
});
|
|
532
|
-
const NodeWebhooks = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-
|
|
532
|
+
const NodeWebhooks = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-906699cc"]]);
|
|
533
533
|
const OnClickOutside = /* @__PURE__ */ defineComponent({
|
|
534
534
|
name: "OnClickOutside",
|
|
535
535
|
props: ["as", "options"],
|
|
@@ -2157,7 +2157,7 @@ const style0$8 = {
|
|
|
2157
2157
|
const cssModules$9 = {
|
|
2158
2158
|
"$style": style0$8
|
|
2159
2159
|
};
|
|
2160
|
-
const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$9], ["__scopeId", "data-v-
|
|
2160
|
+
const NodeSettings = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__cssModules", cssModules$9], ["__scopeId", "data-v-f247a28e"]]);
|
|
2161
2161
|
const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
2162
2162
|
__name: "PanelDragButton",
|
|
2163
2163
|
props: {
|
|
@@ -4442,7 +4442,7 @@ const style0 = {
|
|
|
4442
4442
|
const cssModules$1 = {
|
|
4443
4443
|
"$style": style0
|
|
4444
4444
|
};
|
|
4445
|
-
const TriggerPanel = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-
|
|
4445
|
+
const TriggerPanel = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-bf6d9e5c"]]);
|
|
4446
4446
|
const _hoisted_1 = {
|
|
4447
4447
|
key: 0,
|
|
4448
4448
|
ref: "container",
|
|
@@ -4497,12 +4497,12 @@ body:not([data-theme]) .canvas-edge-toolbar-button {
|
|
|
4497
4497
|
-------------------------- */
|
|
4498
4498
|
/* BEM
|
|
4499
4499
|
-------------------------- */
|
|
4500
|
-
.minimap-enter-active[data-v-
|
|
4501
|
-
.minimap-leave-active[data-v-
|
|
4500
|
+
.minimap-enter-active[data-v-ff688b7e],
|
|
4501
|
+
.minimap-leave-active[data-v-ff688b7e] {
|
|
4502
4502
|
transition: opacity 0.3s ease;
|
|
4503
4503
|
}
|
|
4504
|
-
.minimap-enter-from[data-v-
|
|
4505
|
-
.minimap-leave-to[data-v-
|
|
4504
|
+
.minimap-enter-from[data-v-ff688b7e],
|
|
4505
|
+
.minimap-leave-to[data-v-ff688b7e] {
|
|
4506
4506
|
opacity: 0;
|
|
4507
4507
|
}/* BEM support Func
|
|
4508
4508
|
-------------------------- */
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-
|
|
2
|
-
import {
|
|
3
|
-
import { g as globalLinkActionsEventBus } from "./global-link-actions-
|
|
4
|
-
import { u as useExecutionDebugging } from "./useExecutionDebugging-
|
|
5
|
-
import { u as useBeforeUnload } from "./useBeforeUnload-
|
|
6
|
-
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-
|
|
7
|
-
import { u as useClearExecutionButtonVisible, c as canvasEventBus } from "./canvas-
|
|
8
|
-
import { u as useWorkflowSaving } from "./useWorkflowSaving-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-BIfVMPa7.js","assets/index-CYJmC7Ra.js","assets/index-B4xpaMaK.css","assets/NodeCreation-RKvezEeg.css","assets/NodeDetailsView-BDF0fGMs.js","assets/import-curl-DF3kL2Uq.js","assets/RunData-CYDMlaQ6.js","assets/FileSaver.min-Disj8eb5.js","assets/useExecutionHelpers-C3ME9bsC.js","assets/RunData-XsmLcFYS.css","assets/RunDataAi-CxdjuP0A.js","assets/RunDataParsedAiContent-DHxyWJHq.js","assets/RunDataParsedAiContent-9EEUzCKp.css","assets/RunDataAi-D9VLFXIf.css","assets/useWorkflowActivate-CDImNya8.js","assets/NodeDetailsView-6JHPI3t-.css","assets/SetupWorkflowCredentialsButton-ZIVPumDO.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import { A as defineComponent, C as resolveComponent, $ as createBlock, H as openBlock, av as _export_sfc$1, G as createElementBlock, L as createBaseVNode, ho as PanelPosition, hp as useVueFlow, cp as toRef, K as withCtx, I as renderSlot, an as createCommentVNode, aN as Fragment, J as createVNode, dj as resolveDynamicComponent, Q as unref, hq as _sfc_main$H, c as computed, b as useI18n, cc as KeyboardShortcutTooltip, aF as normalizeClass, S as NodeConnectionTypes, hr as getBezierPath, hs as getSmoothStepPath, ht as Position, h0 as inject, hu as CanvasKey, bC as useCssModule, hv as parseCanvasConnectionHandleString, r as ref, ac as onMounted, aO as renderList, hw as _sfc_main$d$1, bg as normalizeStyle, u as useUIStore, aq as useNodeTypesStore, e as useWorkflowsStore, ao as useSourceControlStore, bt as getResourcePermissions, hx as isNodeWithWorkflowSelector, hy as getSubworkflowId, fJ as isPresent, ae as watch, hz as getMousePosition, c7 as STICKY_NODE_TYPE, cZ as usePinnedData, hA as NOT_DUPLICATABLE_NODE_TYPES, hB as isExecutable, hC as Teleport, gu as useStyles, hm as N8nActionDropdown, cX as getDefaultExportFromCjs, gF as NODE_SIZE, hD as CanvasNodeRenderType, hE as GRID_SIZE, cb as useThrottleFn, hF as getRectOfNodes, bf as onUnmounted, hG as useActiveElement, gr as useDeviceSupport, hH as useEventListener, hI as onKeyDown, hJ as onKeyUp, ea as useSlots, hK as useAttrs, hL as getBoundsofRects, dn as watchEffect, O as toDisplayString, hM as getConnectedEdges, dB as normalizeProps, bA as mergeProps, h5 as provide, n as h, aW as createSlots, hN as isValidNodeConnectionType, hO as _sfc_main$3$1, hP as CanvasConnectionMode, hQ as CanvasNodeKey, bh as mergeModels, bi as useModel, ad as onBeforeUnmount, cY as useNodeHelpers, f_ as TitledList, bj as N8nTooltip, N as createTextVNode, gj as CanvasNodeDirtiness, d9 as _sfc_main$I, aH as withModifiers, hR as useGetPointerPosition, hS as clamp, hT as NodeId, bT as useNodeCreatorStore, f1 as nodeViewEventBus, ca as NODE_CREATOR_OPEN_SOURCES, gZ as useBuilderStore, eM as withKeys, hU as CanvasNodeHandleKey, R as withDirectives, aY as vShow, gq as Transition$1, hV as _sfc_main$f$1, j as useRouter, dl as useLogsStore, eG as useRunWorkflow, ap as useCanvasOperations, bW as CHAT_TRIGGER_NODE_TYPE, b9 as N8nButton, hW as insertSpacersBetweenEndpoints, hX as createCanvasConnectionHandleString, T as createEventBus, fN as isEqual, l as useSettingsStore, cv as nextTick, hY as _sfc_main$1$4, hZ as MarkerType, b6 as Suspense, ed as guardReactiveProps, h_ as updateViewportToContainNodes, gi as useNodeDirtiness, gI as CUSTOM_API_CALL_KEY, h$ as mapLegacyEndpointsToCanvasConnectionPort, f$ as getNodeInputs, fK as getNodeOutputs, eC as getTriggerNodeServiceName, s as sanitizeHtml, i0 as WAIT_NODE_TYPE, gU as SEND_AND_WAIT_OPERATION, i1 as FORM_NODE_TYPE, e4 as WAIT_INDEFINITELY, i2 as checkOverlap, i3 as SIMULATE_NODE_TYPE, i4 as SIMULATE_TRIGGER_NODE_TYPE, i5 as mapLegacyConnectionsToCanvasConnections, gO as getNodeIconSource, i6 as refThrottled, a7 as reactive, a6 as useRoute, k as useToast, aJ as useDocumentTitle, f as useWorkflowHelpers, bm as useCredentialsStore, cT as useEnvironmentsStore, co as useExternalSecretsStore, p as useRootStore, a$ as useExecutionsStore, a as useCanvasStore, d as useNpsSurveyStore, g3 as useHistoryStore, cK as useProjectsStore, al as useUsersStore, dZ as useTagsStore, B as usePushConnectionStore, b0 as useNDVStore, au as useTemplatesStore, dS as useFoldersStore, i7 as useAgentRequestStore, i8 as useWorkflowExtraction, aS as useClipboard, P as PLACEHOLDER_EMPTY_WORKFLOW_ID, dP as NEW_WORKFLOW_ID, V as VIEWS, ar as START_NODE_TYPE, dN as getNodeViewTab, dO as MAIN_HEADER_TABS, i9 as VALID_WORKFLOW_IMPORT_URL_REGEX, g as useMessage, i as MODAL_CONFIRM, fo as jsonParse, ia as MANUAL_CHAT_TRIGGER_NODE_TYPE, eF as EVALUATION_TRIGGER_NODE_TYPE, ib as getBounds, dM as onBeforeRouteLeave, b3 as onBeforeMount, aI as WORKFLOW_SETTINGS_MODAL_KEY, U as useExternalHooks, ic as onActivated, id as onDeactivated, bP as defineAsyncComponent, ej as N8nCallout, bQ as __vitePreload, E as EnterpriseEditionFeature, ie as EVALUATION_NODE_TYPE, o as useTelemetry, w as tryToParseNumber, eo as sourceControlEventBus, z as getNodesWithNormalizedPosition, ig as historyBus, ih as needsAgentInput, ii as FROM_AI_PARAMETERS_MODAL_KEY, gC as DRAG_EVENT_DATA_KEY } from "./index-CYJmC7Ra.js";
|
|
3
|
+
import { g as globalLinkActionsEventBus } from "./global-link-actions-kPS4H23l.js";
|
|
4
|
+
import { u as useExecutionDebugging } from "./useExecutionDebugging-D7uUVejC.js";
|
|
5
|
+
import { u as useBeforeUnload } from "./useBeforeUnload-BUo1Q8qu.js";
|
|
6
|
+
import { g as getEasyAiWorkflowJson } from "./easyAiWorkflowUtils-Cr-_M_d8.js";
|
|
7
|
+
import { u as useClearExecutionButtonVisible, c as canvasEventBus } from "./canvas-hESuR4Ii.js";
|
|
8
|
+
import { u as useWorkflowSaving } from "./useWorkflowSaving-C8feAx2_.js";
|
|
9
9
|
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
10
10
|
__name: "CanvasChatButton",
|
|
11
11
|
props: {
|
|
@@ -594,6 +594,15 @@ const useContextMenu = (onAction = () => {
|
|
|
594
594
|
disabled: nodes.length === 0
|
|
595
595
|
}
|
|
596
596
|
];
|
|
597
|
+
const extractionActions = [
|
|
598
|
+
{
|
|
599
|
+
id: "extract_sub_workflow",
|
|
600
|
+
divided: true,
|
|
601
|
+
label: i18n.baseText("contextMenu.extract", { adjustToNumber: nodes.length }),
|
|
602
|
+
shortcut: { altKey: true, keys: ["X"] },
|
|
603
|
+
disabled: isReadOnly.value
|
|
604
|
+
}
|
|
605
|
+
];
|
|
597
606
|
const layoutActions = [
|
|
598
607
|
{
|
|
599
608
|
id: "tidy_up",
|
|
@@ -647,6 +656,7 @@ const useContextMenu = (onAction = () => {
|
|
|
647
656
|
disabled: isReadOnly.value || !nodes.every(canDuplicateNode)
|
|
648
657
|
},
|
|
649
658
|
...layoutActions,
|
|
659
|
+
...extractionActions,
|
|
650
660
|
...selectionActions,
|
|
651
661
|
{
|
|
652
662
|
id: "delete",
|
|
@@ -11618,7 +11628,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
11618
11628
|
keyBindings: { type: Boolean, default: true },
|
|
11619
11629
|
loading: { type: Boolean, default: false }
|
|
11620
11630
|
},
|
|
11621
|
-
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", "update:logs-open", "update:logs:input-open", "update:logs:output-open", "update:has-range-selection", "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", "viewport:change", "selection:end", "open:sub-workflow", "start-chat"],
|
|
11631
|
+
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", "update:logs-open", "update:logs:input-open", "update:logs:output-open", "update:has-range-selection", "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", "viewport:change", "selection:end", "open:sub-workflow", "start-chat", "extract-workflow"],
|
|
11622
11632
|
setup(__props, { emit: __emit }) {
|
|
11623
11633
|
const $style = useCssModule();
|
|
11624
11634
|
const emit = __emit;
|
|
@@ -11770,6 +11780,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
11770
11780
|
ctrl_enter: () => emit("run:workflow"),
|
|
11771
11781
|
ctrl_s: () => emit("save:workflow"),
|
|
11772
11782
|
shift_alt_t: async () => await onTidyUp({ source: "keyboard-shortcut" }),
|
|
11783
|
+
alt_x: emitWithSelectedNodes((ids) => emit("extract-workflow", ids)),
|
|
11773
11784
|
c: () => emit("start-chat")
|
|
11774
11785
|
};
|
|
11775
11786
|
return fullKeymap;
|
|
@@ -12045,6 +12056,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
12045
12056
|
return props.eventBus.emit("nodes:action", { ids: nodeIds, action: "update:sticky:color" });
|
|
12046
12057
|
case "tidy_up":
|
|
12047
12058
|
return await onTidyUp({ source: "context-menu" });
|
|
12059
|
+
case "extract_sub_workflow":
|
|
12060
|
+
return emit("extract-workflow", nodeIds);
|
|
12048
12061
|
case "open_sub_workflow": {
|
|
12049
12062
|
return emit("open:sub-workflow", nodeIds[0]);
|
|
12050
12063
|
}
|
|
@@ -12277,7 +12290,7 @@ const style0$2 = {
|
|
|
12277
12290
|
const cssModules$2 = {
|
|
12278
12291
|
"$style": style0$2
|
|
12279
12292
|
};
|
|
12280
|
-
const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-
|
|
12293
|
+
const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main$7, [["__cssModules", cssModules$2], ["__scopeId", "data-v-ff688b7e"]]);
|
|
12281
12294
|
function useCanvasMapping({
|
|
12282
12295
|
nodes,
|
|
12283
12296
|
connections,
|
|
@@ -12471,7 +12484,7 @@ function useCanvasMapping({
|
|
|
12471
12484
|
if ("eventTriggerDescription" in nodeTypeDescription) {
|
|
12472
12485
|
const nodeName = i18n.shortNodeType(nodeTypeDescription.name);
|
|
12473
12486
|
const { eventTriggerDescription } = nodeTypeDescription;
|
|
12474
|
-
acc[node2.id] = i18n.nodeText().eventTriggerDescription(nodeName, eventTriggerDescription ?? "");
|
|
12487
|
+
acc[node2.id] = i18n.nodeText(nodeTypeDescription.name).eventTriggerDescription(nodeName, eventTriggerDescription ?? "");
|
|
12475
12488
|
} else {
|
|
12476
12489
|
acc[node2.id] = i18n.baseText("node.waitingForYouToCreateAnEventIn", {
|
|
12477
12490
|
interpolate: {
|
|
@@ -12491,7 +12504,8 @@ function useCanvasMapping({
|
|
|
12491
12504
|
);
|
|
12492
12505
|
const nodeExecutionStatusById = computed(
|
|
12493
12506
|
() => nodes.value.reduce((acc, node2) => {
|
|
12494
|
-
|
|
12507
|
+
const tasks = workflowsStore.getWorkflowRunData?.[node2.name] ?? [];
|
|
12508
|
+
acc[node2.id] = tasks.at(-1)?.executionStatus ?? "new";
|
|
12495
12509
|
return acc;
|
|
12496
12510
|
}, {})
|
|
12497
12511
|
);
|
|
@@ -12551,8 +12565,11 @@ function useCanvasMapping({
|
|
|
12551
12565
|
acc[node2.id] = true;
|
|
12552
12566
|
} else if (nodePinnedDataById.value[node2.id]) {
|
|
12553
12567
|
acc[node2.id] = false;
|
|
12568
|
+
} else if (node2.issues && nodeHelpers.nodeIssuesToString(node2.issues, node2).length) {
|
|
12569
|
+
acc[node2.id] = true;
|
|
12554
12570
|
} else {
|
|
12555
|
-
|
|
12571
|
+
const tasks = workflowsStore.getWorkflowRunData?.[node2.name] ?? [];
|
|
12572
|
+
acc[node2.id] = Boolean(tasks.at(-1)?.error);
|
|
12556
12573
|
}
|
|
12557
12574
|
return acc;
|
|
12558
12575
|
}, {})
|
|
@@ -12878,7 +12895,8 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
12878
12895
|
const _component_N8nButton = resolveComponent("N8nButton");
|
|
12879
12896
|
return openBlock(), createBlock(KeyboardShortcutTooltip, {
|
|
12880
12897
|
label: label2.value,
|
|
12881
|
-
shortcut: { metaKey: true, keys: ["↵"] }
|
|
12898
|
+
shortcut: { metaKey: true, keys: ["↵"] },
|
|
12899
|
+
disabled: _ctx.executing
|
|
12882
12900
|
}, {
|
|
12883
12901
|
default: withCtx(() => [
|
|
12884
12902
|
createVNode(_component_N8nButton, {
|
|
@@ -12895,7 +12913,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
12895
12913
|
}, null, 8, ["loading", "label", "disabled"])
|
|
12896
12914
|
]),
|
|
12897
12915
|
_: 1
|
|
12898
|
-
}, 8, ["label"]);
|
|
12916
|
+
}, 8, ["label", "disabled"]);
|
|
12899
12917
|
};
|
|
12900
12918
|
}
|
|
12901
12919
|
});
|
|
@@ -13041,13 +13059,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13041
13059
|
__name: "NodeView",
|
|
13042
13060
|
setup(__props) {
|
|
13043
13061
|
const LazyNodeCreation = defineAsyncComponent(
|
|
13044
|
-
async () => await __vitePreload(() => import("./NodeCreation-
|
|
13062
|
+
async () => await __vitePreload(() => import("./NodeCreation-BIfVMPa7.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
|
|
13045
13063
|
);
|
|
13046
13064
|
const LazyNodeDetailsView = defineAsyncComponent(
|
|
13047
|
-
async () => await __vitePreload(() => import("./NodeDetailsView-
|
|
13065
|
+
async () => await __vitePreload(() => import("./NodeDetailsView-BDF0fGMs.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15]) : void 0)
|
|
13048
13066
|
);
|
|
13049
13067
|
const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
|
|
13050
|
-
async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-
|
|
13068
|
+
async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-ZIVPumDO.js"), true ? __vite__mapDeps([16,1,2]) : void 0)
|
|
13051
13069
|
);
|
|
13052
13070
|
const $style = useCssModule();
|
|
13053
13071
|
const router = useRouter();
|
|
@@ -13096,6 +13114,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13096
13114
|
revertUpdateNodePosition,
|
|
13097
13115
|
renameNode,
|
|
13098
13116
|
revertRenameNode,
|
|
13117
|
+
revertReplaceNodeParameters,
|
|
13099
13118
|
setNodeActive,
|
|
13100
13119
|
setNodeSelected,
|
|
13101
13120
|
toggleNodesDisabled,
|
|
@@ -13131,6 +13150,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13131
13150
|
lastClickPosition,
|
|
13132
13151
|
startChat
|
|
13133
13152
|
} = useCanvasOperations({ router });
|
|
13153
|
+
const { extractWorkflow } = useWorkflowExtraction();
|
|
13134
13154
|
const { applyExecutionData } = useExecutionDebugging();
|
|
13135
13155
|
useClipboard({ onPaste: onClipboardPaste });
|
|
13136
13156
|
const isLoading = ref(true);
|
|
@@ -13418,6 +13438,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13418
13438
|
function onTidyUp(event) {
|
|
13419
13439
|
tidyUp(event);
|
|
13420
13440
|
}
|
|
13441
|
+
function onExtractWorkflow(nodeIds) {
|
|
13442
|
+
void extractWorkflow(nodeIds);
|
|
13443
|
+
}
|
|
13421
13444
|
function onUpdateNodesPosition(events) {
|
|
13422
13445
|
updateNodesPosition(events, { trackHistory: true });
|
|
13423
13446
|
}
|
|
@@ -13616,6 +13639,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13616
13639
|
}) {
|
|
13617
13640
|
await revertRenameNode(currentName, newName);
|
|
13618
13641
|
}
|
|
13642
|
+
async function onRevertReplaceNodeParameters({
|
|
13643
|
+
nodeId,
|
|
13644
|
+
currentProperties,
|
|
13645
|
+
newProperties
|
|
13646
|
+
}) {
|
|
13647
|
+
await revertReplaceNodeParameters(nodeId, currentProperties, newProperties);
|
|
13648
|
+
}
|
|
13619
13649
|
function onUpdateNodeParameters(id2, parameters) {
|
|
13620
13650
|
setNodeParameters(id2, parameters);
|
|
13621
13651
|
}
|
|
@@ -13979,6 +14009,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13979
14009
|
historyBus.on("revertAddConnection", onRevertCreateConnection);
|
|
13980
14010
|
historyBus.on("revertRemoveConnection", onRevertDeleteConnection);
|
|
13981
14011
|
historyBus.on("revertRenameNode", onRevertRenameNode);
|
|
14012
|
+
historyBus.on("revertReplaceNodeParameters", onRevertReplaceNodeParameters);
|
|
13982
14013
|
historyBus.on("enableNodeToggle", onRevertToggleNodeDisabled);
|
|
13983
14014
|
}
|
|
13984
14015
|
function removeUndoRedoEventBindings() {
|
|
@@ -13988,6 +14019,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
13988
14019
|
historyBus.off("revertAddConnection", onRevertCreateConnection);
|
|
13989
14020
|
historyBus.off("revertRemoveConnection", onRevertDeleteConnection);
|
|
13990
14021
|
historyBus.off("revertRenameNode", onRevertRenameNode);
|
|
14022
|
+
historyBus.off("revertReplaceNodeParameters", onRevertReplaceNodeParameters);
|
|
13991
14023
|
historyBus.off("enableNodeToggle", onRevertToggleNodeDisabled);
|
|
13992
14024
|
}
|
|
13993
14025
|
async function onSourceControlPull() {
|
|
@@ -14409,6 +14441,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
14409
14441
|
"onSelection:end": onSelectionEnd,
|
|
14410
14442
|
onDragAndDrop,
|
|
14411
14443
|
onTidyUp,
|
|
14444
|
+
onExtractWorkflow,
|
|
14412
14445
|
onStartChat: _cache[4] || (_cache[4] = ($event) => unref(startChat)())
|
|
14413
14446
|
}, {
|
|
14414
14447
|
default: withCtx(() => [
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as defineComponent, j as useRouter, c as computed, b as useI18n, C as resolveComponent, $ as createBlock, H as openBlock, Q as unref, V as VIEWS, bx as ProjectTypes, by as splitName, bz as ResourceType, F as resolveDirective, G as createElementBlock, bA as mergeProps, J as createVNode, I as renderSlot, K as withCtx, an as createCommentVNode, aF as normalizeClass, R as withDirectives, bB as ProjectIcon, L as createBaseVNode, N as createTextVNode, O as toDisplayString, av as _export_sfc } from "./index-CYJmC7Ra.js";
|
|
2
2
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
3
3
|
__name: "EmptySharedSectionActionBox",
|
|
4
4
|
props: {
|
|
@@ -47,19 +47,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
47
47
|
setup(__props) {
|
|
48
48
|
const props = __props;
|
|
49
49
|
const i18n = useI18n();
|
|
50
|
+
const isShared = computed(() => {
|
|
51
|
+
return "sharedWithProjects" in props.resource && props.resource.sharedWithProjects?.length;
|
|
52
|
+
});
|
|
50
53
|
const projectState = computed(() => {
|
|
51
54
|
if (props.resource.homeProject && props.personalProject && props.resource.homeProject.id === props.personalProject.id || !props.resource.homeProject) {
|
|
52
|
-
if (
|
|
55
|
+
if (isShared.value) {
|
|
53
56
|
return "shared-owned";
|
|
54
57
|
}
|
|
55
58
|
return "owned";
|
|
56
59
|
} else if (props.resource.homeProject?.type !== ProjectTypes.Team) {
|
|
57
|
-
if (
|
|
60
|
+
if (isShared.value) {
|
|
58
61
|
return "shared-personal";
|
|
59
62
|
}
|
|
60
63
|
return "personal";
|
|
61
64
|
} else if (props.resource.homeProject?.type === ProjectTypes.Team) {
|
|
62
|
-
if (
|
|
65
|
+
if (isShared.value) {
|
|
63
66
|
return "shared-team";
|
|
64
67
|
}
|
|
65
68
|
return "team";
|
|
@@ -67,7 +70,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
67
70
|
return "unknown";
|
|
68
71
|
});
|
|
69
72
|
const numberOfMembersInHomeTeamProject = computed(
|
|
70
|
-
() => props.resource.sharedWithProjects?.length ?? 0
|
|
73
|
+
() => "sharedWithProjects" in props.resource ? props.resource.sharedWithProjects?.length ?? 0 : 0
|
|
71
74
|
);
|
|
72
75
|
const badgeText = computed(() => {
|
|
73
76
|
if (projectState.value === "owned" || projectState.value === "shared-owned") {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { u as useProjectPages } from "./useProjectPages-
|
|
1
|
+
import { A as defineComponent, a6 as useRoute, r as ref, c as computed, V as VIEWS, b as useI18n, ae as watch, C as resolveComponent, $ as createBlock, H as openBlock, G as createElementBlock, aF as normalizeClass, I as renderSlot, J as createVNode, Q as unref, dc as N8nActionToggle, K as withCtx, a_ as _sfc_main$3, av as _export_sfc, j as useRouter, cK as useProjectsStore, ao as useSourceControlStore, l as useSettingsStore, bx as ProjectTypes, bt as getResourcePermissions, L as createBaseVNode, an as createCommentVNode, bB as ProjectIcon, N as createTextVNode, O as toDisplayString, b9 as N8nButton, bA as mergeProps, bj as N8nTooltip } from "./index-CYJmC7Ra.js";
|
|
2
|
+
import { u as useProjectPages } from "./useProjectPages-vmgKLBn6.js";
|
|
3
3
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
4
4
|
__name: "ProjectTabs",
|
|
5
5
|
props: {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { P as ProjectHeader } from "./ProjectHeader-
|
|
3
|
-
import "./useProjectPages-
|
|
4
|
-
const _hoisted_1$2 = {
|
|
1
|
+
import { A as defineComponent, bh as mergeModels, bi as useModel, r as ref, c as computed, b as useI18n, C as resolveComponent, $ as createBlock, H as openBlock, K as withCtx, G as createElementBlock, N as createTextVNode, O as toDisplayString, Q as unref, J as createVNode, L as createBaseVNode, an as createCommentVNode, aF as normalizeClass, dd as ProjectSharing, aH as withModifiers, av as _export_sfc, m as usePageRedirectionHelper, al as useUsersStore, cK as useProjectsStore, de as useRolesStore, ck as useCloudPlanStore, k as useToast, j as useRouter, aJ as useDocumentTitle, df as getAllIconNames, ae as watch, b3 as onBeforeMount, ac as onMounted, dg as N8nFormInput, aN as Fragment, aO as renderList, aG as deepCopy, o as useTelemetry, cv as nextTick, V as VIEWS } from "./index-CYJmC7Ra.js";
|
|
2
|
+
import { P as ProjectHeader } from "./ProjectHeader-BvA7Wpwr.js";
|
|
3
|
+
import "./useProjectPages-vmgKLBn6.js";
|
|
4
|
+
const _hoisted_1$2 = { key: 1 };
|
|
5
|
+
const _hoisted_2$1 = { class: "pt-l" };
|
|
5
6
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
6
7
|
__name: "ProjectDeleteDialog",
|
|
7
8
|
props: /* @__PURE__ */ mergeModels({
|
|
8
9
|
currentProject: {},
|
|
9
|
-
projects: {}
|
|
10
|
+
projects: {},
|
|
11
|
+
isCurrentProjectEmpty: { type: Boolean }
|
|
10
12
|
}, {
|
|
11
13
|
"modelValue": { type: Boolean },
|
|
12
14
|
"modelModifiers": {}
|
|
@@ -21,13 +23,10 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
21
23
|
const operation2 = ref(null);
|
|
22
24
|
const wipeConfirmText = ref("");
|
|
23
25
|
const isValid = computed(() => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return wipeConfirmText.value === locale.baseText("projects.settings.delete.question.wipe.placeholder");
|
|
29
|
-
}
|
|
30
|
-
return false;
|
|
26
|
+
const expectedWipeConfirmation = locale.baseText(
|
|
27
|
+
"projects.settings.delete.question.wipe.placeholder"
|
|
28
|
+
);
|
|
29
|
+
return props.isCurrentProjectEmpty || operation2.value === "transfer" && !!selectedProject.value || operation2.value === "wipe" && wipeConfirmText.value === expectedWipeConfirmation;
|
|
31
30
|
});
|
|
32
31
|
const onDelete = () => {
|
|
33
32
|
if (!isValid.value) {
|
|
@@ -68,81 +67,92 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
68
67
|
}, 8, ["disabled"])
|
|
69
68
|
]),
|
|
70
69
|
default: withCtx(() => [
|
|
71
|
-
|
|
70
|
+
_ctx.isCurrentProjectEmpty ? (openBlock(), createBlock(_component_n8n_text, {
|
|
71
|
+
key: 0,
|
|
72
|
+
color: "text-base"
|
|
73
|
+
}, {
|
|
72
74
|
default: withCtx(() => [
|
|
73
|
-
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.message")), 1)
|
|
75
|
+
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.message.empty")), 1)
|
|
74
76
|
]),
|
|
75
77
|
_: 1
|
|
76
|
-
}),
|
|
77
|
-
|
|
78
|
-
createVNode(_component_el_radio, {
|
|
79
|
-
"model-value": operation2.value,
|
|
80
|
-
label: "transfer",
|
|
81
|
-
class: "mb-s",
|
|
82
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => operation2.value = "transfer")
|
|
83
|
-
}, {
|
|
78
|
+
})) : (openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
79
|
+
createVNode(_component_n8n_text, { color: "text-base" }, {
|
|
84
80
|
default: withCtx(() => [
|
|
85
|
-
|
|
86
|
-
default: withCtx(() => [
|
|
87
|
-
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.question.transfer.label")), 1)
|
|
88
|
-
]),
|
|
89
|
-
_: 1
|
|
90
|
-
})
|
|
81
|
+
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.message")), 1)
|
|
91
82
|
]),
|
|
92
83
|
_: 1
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
84
|
+
}),
|
|
85
|
+
createBaseVNode("div", _hoisted_2$1, [
|
|
86
|
+
createVNode(_component_el_radio, {
|
|
87
|
+
"model-value": operation2.value,
|
|
88
|
+
label: "transfer",
|
|
89
|
+
class: "mb-s",
|
|
90
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => operation2.value = "transfer")
|
|
91
|
+
}, {
|
|
99
92
|
default: withCtx(() => [
|
|
100
|
-
|
|
93
|
+
createVNode(_component_n8n_text, { color: "text-dark" }, {
|
|
94
|
+
default: withCtx(() => [
|
|
95
|
+
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.question.transfer.label")), 1)
|
|
96
|
+
]),
|
|
97
|
+
_: 1
|
|
98
|
+
})
|
|
101
99
|
]),
|
|
102
100
|
_: 1
|
|
103
|
-
}),
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
projects: props.projects,
|
|
109
|
-
"empty-options-text": unref(locale).baseText("projects.sharing.noMatchingProjects")
|
|
110
|
-
}, null, 8, ["modelValue", "projects", "empty-options-text"])
|
|
111
|
-
], 2)) : createCommentVNode("", true),
|
|
112
|
-
createVNode(_component_el_radio, {
|
|
113
|
-
"model-value": operation2.value,
|
|
114
|
-
label: "wipe",
|
|
115
|
-
class: "mb-s",
|
|
116
|
-
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => operation2.value = "wipe")
|
|
117
|
-
}, {
|
|
118
|
-
default: withCtx(() => [
|
|
101
|
+
}, 8, ["model-value"]),
|
|
102
|
+
operation2.value === "transfer" ? (openBlock(), createElementBlock("div", {
|
|
103
|
+
key: 0,
|
|
104
|
+
class: normalizeClass(_ctx.$style.operation)
|
|
105
|
+
}, [
|
|
119
106
|
createVNode(_component_n8n_text, { color: "text-dark" }, {
|
|
120
107
|
default: withCtx(() => [
|
|
121
|
-
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.question.
|
|
108
|
+
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.question.transfer.title")), 1)
|
|
122
109
|
]),
|
|
123
110
|
_: 1
|
|
124
|
-
})
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
111
|
+
}),
|
|
112
|
+
createVNode(ProjectSharing, {
|
|
113
|
+
modelValue: selectedProject.value,
|
|
114
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedProject.value = $event),
|
|
115
|
+
class: "pt-2xs",
|
|
116
|
+
projects: props.projects,
|
|
117
|
+
"empty-options-text": unref(locale).baseText("projects.sharing.noMatchingProjects")
|
|
118
|
+
}, null, 8, ["modelValue", "projects", "empty-options-text"])
|
|
119
|
+
], 2)) : createCommentVNode("", true),
|
|
120
|
+
createVNode(_component_el_radio, {
|
|
121
|
+
"model-value": operation2.value,
|
|
122
|
+
label: "wipe",
|
|
123
|
+
class: "mb-s",
|
|
124
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => operation2.value = "wipe")
|
|
134
125
|
}, {
|
|
135
126
|
default: withCtx(() => [
|
|
136
|
-
createVNode(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
127
|
+
createVNode(_component_n8n_text, { color: "text-dark" }, {
|
|
128
|
+
default: withCtx(() => [
|
|
129
|
+
createTextVNode(toDisplayString(unref(locale).baseText("projects.settings.delete.question.wipe.label")), 1)
|
|
130
|
+
]),
|
|
131
|
+
_: 1
|
|
132
|
+
})
|
|
141
133
|
]),
|
|
142
134
|
_: 1
|
|
143
|
-
}, 8, ["
|
|
144
|
-
|
|
145
|
-
|
|
135
|
+
}, 8, ["model-value"]),
|
|
136
|
+
operation2.value === "wipe" ? (openBlock(), createElementBlock("div", {
|
|
137
|
+
key: 1,
|
|
138
|
+
class: normalizeClass(_ctx.$style.operation)
|
|
139
|
+
}, [
|
|
140
|
+
createVNode(_component_n8n_input_label, {
|
|
141
|
+
label: unref(locale).baseText("projects.settings.delete.question.wipe.title")
|
|
142
|
+
}, {
|
|
143
|
+
default: withCtx(() => [
|
|
144
|
+
createVNode(_component_n8n_input, {
|
|
145
|
+
modelValue: wipeConfirmText.value,
|
|
146
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => wipeConfirmText.value = $event),
|
|
147
|
+
"data-test-id": "project-delete-confirm-input",
|
|
148
|
+
placeholder: unref(locale).baseText("projects.settings.delete.question.wipe.placeholder")
|
|
149
|
+
}, null, 8, ["modelValue", "placeholder"])
|
|
150
|
+
]),
|
|
151
|
+
_: 1
|
|
152
|
+
}, 8, ["label"])
|
|
153
|
+
], 2)) : createCommentVNode("", true)
|
|
154
|
+
])
|
|
155
|
+
]))
|
|
146
156
|
]),
|
|
147
157
|
_: 1
|
|
148
158
|
}, 8, ["modelValue", "title"]);
|
|
@@ -253,6 +263,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
253
263
|
const upgradeDialogVisible = ref(false);
|
|
254
264
|
const isDirty = ref(false);
|
|
255
265
|
const isValid = ref(false);
|
|
266
|
+
const isCurrentProjectEmpty = ref(true);
|
|
256
267
|
const formData = ref({
|
|
257
268
|
name: "",
|
|
258
269
|
relations: []
|
|
@@ -377,6 +388,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
377
388
|
return;
|
|
378
389
|
}
|
|
379
390
|
try {
|
|
391
|
+
if (formData.value.relations.some((r) => r.role === "project:personalOwner")) {
|
|
392
|
+
throw new Error("Invalid role selected for this project.");
|
|
393
|
+
}
|
|
380
394
|
await projectsStore.updateProject(projectsStore.currentProject.id, {
|
|
381
395
|
name: formData.value.name,
|
|
382
396
|
icon: projectIcon.value,
|
|
@@ -406,6 +420,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
406
420
|
};
|
|
407
421
|
const onDelete = async () => {
|
|
408
422
|
await projectsStore.getAvailableProjects();
|
|
423
|
+
if (projectsStore.currentProjectId) {
|
|
424
|
+
isCurrentProjectEmpty.value = await projectsStore.isProjectEmpty(
|
|
425
|
+
projectsStore.currentProjectId
|
|
426
|
+
);
|
|
427
|
+
}
|
|
409
428
|
dialogVisible.value = true;
|
|
410
429
|
};
|
|
411
430
|
const onConfirmDelete = async (transferId) => {
|
|
@@ -642,9 +661,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
642
661
|
modelValue: dialogVisible.value,
|
|
643
662
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => dialogVisible.value = $event),
|
|
644
663
|
"current-project": unref(projectsStore).currentProject,
|
|
664
|
+
"is-current-project-empty": isCurrentProjectEmpty.value,
|
|
645
665
|
projects: projects.value,
|
|
646
666
|
onConfirmDelete
|
|
647
|
-
}, null, 8, ["modelValue", "current-project", "projects"]),
|
|
667
|
+
}, null, 8, ["modelValue", "current-project", "is-current-project-empty", "projects"]),
|
|
648
668
|
createVNode(_sfc_main$1, {
|
|
649
669
|
modelValue: upgradeDialogVisible.value,
|
|
650
670
|
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => upgradeDialogVisible.value = $event),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A as defineComponent, B as usePushConnectionStore, c as computed, C as resolveComponent, F as resolveDirective, G as createElementBlock, H as openBlock, I as renderSlot, J as createVNode, K as withCtx, L as createBaseVNode, N as createTextVNode, O as toDisplayString, Q as unref, b as useI18n, R as withDirectives } from "./index-CYJmC7Ra.js";
|
|
2
2
|
const _hoisted_1 = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "push-connection-lost primary-color"
|