n8n-editor-ui 1.106.1 → 1.107.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.
Files changed (131) hide show
  1. package/dist/assets/AddDataStoreModal-D3j8deoq.css +133 -0
  2. package/dist/assets/AddDataStoreModal-DDkecCS5.js +108 -0
  3. package/dist/assets/{AnimatedSpinner-CNelXJxW.js → AnimatedSpinner-t1RMMNSe.js} +1 -1
  4. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BptELjdm.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DabixM3K.js} +1 -1
  5. package/dist/assets/{AuthView-CPPbhtGS.js → AuthView-CFu30WWc.js} +9 -9
  6. package/dist/assets/{AuthView-DZB9HITQ.css → AuthView-CWVio_MZ.css} +9 -9
  7. package/dist/assets/{ChangePasswordView-Cmby8zoY.js → ChangePasswordView-CBig4YKe.js} +3 -3
  8. package/dist/assets/CollectionParameter-B1j_IqMK.js +4 -0
  9. package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-Dqqp4ac7.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-B9z4PBYx.js} +1 -1
  10. package/dist/assets/{CredentialsView-CJXL-1bL.js → CredentialsView-DDmJWE2r.js} +8 -8
  11. package/dist/assets/{DataStoreView-bZrewhaR.css → DataStoreView-D-Wmcgs5.css} +15 -10
  12. package/dist/assets/{DataStoreView-_YRbyjCa.js → DataStoreView-DgRkOh3I.js} +150 -71
  13. package/dist/assets/{DemoFooter-B15mfkPV.js → DemoFooter-BQH8fgeu.js} +6 -6
  14. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DI7KmJ0_.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-DWVikcET.js} +1 -1
  15. package/dist/assets/{EntityNotFound-CcFUGyDP.js → EntityNotFound-Dpf5mlyK.js} +3 -6
  16. package/dist/assets/{EntityNotFound-CBu7H3J_.css → EntityNotFound-DvXhVSfv.css} +2 -2
  17. package/dist/assets/{EntityUnAuthorised-BG-TRxIJ.js → EntityUnAuthorised-L-jtBCQ8.js} +1 -1
  18. package/dist/assets/{ErrorView-D48KsENu.js → ErrorView-KCU75Yt8.js} +1 -1
  19. package/dist/assets/{EvaluationsRootView-LdGwrJIs.js → EvaluationsRootView-v4H83Kch.js} +19 -5
  20. package/dist/assets/{EvaluationsView-DsmpZjlG.js → EvaluationsView-HlmYxGFH.js} +3 -3
  21. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-a16EyLIx.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-HcTP3r42.js} +2 -2
  22. package/dist/assets/{ExecutionsView-CLWAKvdy.js → ExecutionsView-B1cATP_0.js} +8 -8
  23. package/dist/assets/{FixedCollectionParameter-CR8LTPoG.js → FixedCollectionParameter-CzvWd64p.js} +4 -3
  24. package/dist/assets/{FixedCollectionParameter-CEzpjeQZ.css → FixedCollectionParameter-DTkvAml6.css} +18 -18
  25. package/dist/assets/{ForgotMyPasswordView-5tgaN8ke.js → ForgotMyPasswordView-DKVL1kSx.js} +3 -3
  26. package/dist/assets/{InfoAccordion-DeO6hC1F.js → InfoAccordion-Ba-DFW30.js} +1 -1
  27. package/dist/assets/{InsightsChartAverageRuntime-YWhQCYJi.js → InsightsChartAverageRuntime-BiePIN7b.js} +4 -4
  28. package/dist/assets/{InsightsChartFailed-BKdlXvoJ.js → InsightsChartFailed-BD0nZHgc.js} +4 -4
  29. package/dist/assets/{InsightsChartFailureRate-BQM3KyGw.js → InsightsChartFailureRate-D9mgJ-JO.js} +4 -4
  30. package/dist/assets/{InsightsChartTimeSaved-B9ZGnk2Y.js → InsightsChartTimeSaved-CMF8Ix5Z.js} +4 -4
  31. package/dist/assets/{InsightsChartTotal-B_QgLNJe.js → InsightsChartTotal-DpXyQHic.js} +4 -4
  32. package/dist/assets/{InsightsDashboard-DpKFXx1_.js → InsightsDashboard-DXaQjC5E.js} +10 -10
  33. package/dist/assets/{InsightsPaywall-BEnBA_oG.js → InsightsPaywall-BuclvKbC.js} +1 -1
  34. package/dist/assets/{InsightsSummary-C2OXzc3_.js → InsightsSummary-B-mKtkfy.js} +1 -1
  35. package/dist/assets/{InsightsTableWorkflows-CHgPK1AG.js → InsightsTableWorkflows-CJQBR7-b.js} +4 -4
  36. package/dist/assets/{Logo-BoIqUrfh.js → Logo-DDLQ8kqu.js} +7 -7
  37. package/dist/assets/{Logo-DLBj1gMw.css → Logo-DaegEk2m.css} +9 -9
  38. package/dist/assets/{LogsPanel-wngrETx-.js → LogsPanel-BqOUfEMV.js} +8 -10
  39. package/dist/assets/{MainHeader-qSHM1Rvp.css → MainHeader-C7eM_NQZ.css} +203 -115
  40. package/dist/assets/{MainHeader-CTjEFOEQ.js → MainHeader-D4ZAxLz1.js} +435 -66
  41. package/dist/assets/{MainSidebar-D5-JTqU5.js → MainSidebar-CTA14T_8.js} +2 -2
  42. package/dist/assets/{NodeCreation-Dx_ZFP4I.js → NodeCreation-DbkQpvFw.js} +3 -3
  43. package/dist/assets/{NodeCreator-Cb92WDsx.css → NodeCreator-COgNP4W1.css} +39 -31
  44. package/dist/assets/{NodeCreator-EZL35vF_.js → NodeCreator-DcZOynzf.js} +104 -45
  45. package/dist/assets/{NodeDetailsView-Cam4nPwL.css → NodeDetailsView-CjdovDgq.css} +16 -16
  46. package/dist/assets/{NodeDetailsView-D_zBP3Bb.js → NodeDetailsView-F-sJxxhM.js} +27 -27
  47. package/dist/assets/{NodeDetailsViewV2-LzYZcnv5.css → NodeDetailsViewV2-Bn1PbAPe.css} +18 -22
  48. package/dist/assets/{NodeDetailsViewV2-CAJnQ07m.js → NodeDetailsViewV2-Cbnea1wY.js} +28 -28
  49. package/dist/assets/{NodeView-BvMrPj18.js → NodeView-CATT0f4w.js} +118 -76
  50. package/dist/assets/{NodeView-BMiOpmk4.css → NodeView-CiaJbQtZ.css} +12 -9
  51. package/dist/assets/{ProjectHeader-CPQrclqi.js → ProjectHeader-BmTqrjC0.js} +20 -3
  52. package/dist/assets/{ProjectSettings-DgMto7tc.js → ProjectSettings-DIA0ABl-.js} +3 -3
  53. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-BZtkrOl0.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-alP-LQay.js} +1 -1
  54. package/dist/assets/{ResourcesListLayout-6eIqe4Ld.css → ResourcesListLayout-C1JgyGhX.css} +24 -24
  55. package/dist/assets/{ResourcesListLayout-DwQ-KO8O.js → ResourcesListLayout-DBQ41l-N.js} +12 -12
  56. package/dist/assets/{RunDataJson-NKGXU_0S.js → RunDataJson-CnlaOCHR.js} +3 -3
  57. package/dist/assets/{RunDataJsonActions-DWu07Sg3.js → RunDataJsonActions-CHGX_9mu.js} +1 -1
  58. package/dist/assets/{RunDataParsedAiContent-CbuJCBp_.js → RunDataParsedAiContent-CBGmuTeK.js} +2 -2
  59. package/dist/assets/{RunDataSearch-CyaajiwJ.js → RunDataSearch-cdg3lZXl.js} +1 -1
  60. package/dist/assets/{RunDataTable-DnoqsyNq.js → RunDataTable-COnddmnl.js} +1 -1
  61. package/dist/assets/{SamlOnboarding-BRzm3bo_.js → SamlOnboarding-_aN-z5D5.js} +3 -3
  62. package/dist/assets/{SettingsApiView-ivqbOHhT.js → SettingsApiView-CT74ox3y.js} +1 -1
  63. package/dist/assets/{SettingsCommunityNodesView-Cx8vBXR6.js → SettingsCommunityNodesView-YYL8cuGm.js} +4 -4
  64. package/dist/assets/{SettingsExternalSecrets-Wn429MD6.js → SettingsExternalSecrets-uqxymPTo.js} +1 -1
  65. package/dist/assets/{SettingsLdapView-Bx1eqk76.css → SettingsLdapView-D0SUO3ai.css} +10 -10
  66. package/dist/assets/{SettingsLdapView-DCtzJ_64.js → SettingsLdapView-x9Q_FpS3.js} +8 -8
  67. package/dist/assets/{SettingsLogStreamingView-DKXo0eU8.js → SettingsLogStreamingView-DsLgQaW0.js} +1 -1
  68. package/dist/assets/{SettingsPersonalView-VzUT1CPv.js → SettingsPersonalView-DdlnYUxs.js} +1 -1
  69. package/dist/assets/{SettingsSourceControl-HcZJv6oW.js → SettingsSourceControl-BVdy4OjU.js} +1 -1
  70. package/dist/assets/{SettingsSso-Cfx5v2kB.js → SettingsSso-DNXYB15P.js} +1 -1
  71. package/dist/assets/{SettingsUsageAndPlan-V2l1gNEl.js → SettingsUsageAndPlan-C-feEdnA.js} +2 -2
  72. package/dist/assets/{SettingsUsageAndPlan-ZZQpCmyQ.css → SettingsUsageAndPlan-_VxSs28G.css} +3 -3
  73. package/dist/assets/{SettingsUsersView-RQTdLxyb.css → SettingsUsersView-BG7JdfYz.css} +9 -9
  74. package/dist/assets/{SettingsUsersView-2-bhlusf.js → SettingsUsersView-BQz_83Ye.js} +9 -9
  75. package/dist/assets/{SettingsView-fv8tG-N8.js → SettingsView-Dn44WuGS.js} +1 -1
  76. package/dist/assets/{SetupView-B_8QsEwf.js → SetupView-D7gW-X-t.js} +3 -3
  77. package/dist/assets/{SetupWorkflowCredentialsButton-YvSvOa40.js → SetupWorkflowCredentialsButton-BiHvkCQe.js} +1 -1
  78. package/dist/assets/{SetupWorkflowFromTemplateView-DHUtu9hz.js → SetupWorkflowFromTemplateView-xhqOvVy6.js} +3 -3
  79. package/dist/assets/{SigninView-DnY5XrJt.js → SigninView-CE7Z5QNy.js} +3 -3
  80. package/dist/assets/{SignoutView-DBW6U-W1.js → SignoutView-BNsjaEt2.js} +1 -1
  81. package/dist/assets/{SignupView-B2k8UZuK.js → SignupView-B_JgbfoK.js} +3 -3
  82. package/dist/assets/{TableBase-j-43b-BE.js → TableBase-IV317tIn.js} +1 -1
  83. package/dist/assets/Tag-Bs4tMVi1.js +32 -0
  84. package/dist/assets/{Tags-B0bIUnzf.css → Tag-Cg-Hqs2H.css} +0 -141
  85. package/dist/assets/{Tags-DgGumzup.js → Tags-BDQ6pSco.js} +6 -33
  86. package/dist/assets/Tags-CCemj7t9.css +142 -0
  87. package/dist/assets/{TemplateDetails-CXGIerQ_.js → TemplateDetails-CIut2d5l.js} +3 -10
  88. package/dist/assets/{TemplateList-Do4Ut3DG.js → TemplateList-MF9qk_Mr.js} +8 -8
  89. package/dist/assets/{TemplateList-DcOqRM10.css → TemplateList-XNW-2Ugr.css} +8 -8
  90. package/dist/assets/{TemplatesCollectionView-DLhzSdM1.js → TemplatesCollectionView-Divk1M5I.js} +7 -6
  91. package/dist/assets/{TemplatesSearchView-CfkkwaEu.js → TemplatesSearchView-DShAFA6Z.js} +3 -3
  92. package/dist/assets/{TemplatesView-DIc4T7Sq.js → TemplatesView-FzgXsHss.js} +1 -1
  93. package/dist/assets/{TemplatesWorkflowView-DykWFToE.js → TemplatesWorkflowView-B-6ubwdm.js} +7 -6
  94. package/dist/assets/{TriggerPanel-gMtmEr6n.css → TriggerPanel-DmVMaaLr.css} +25 -45
  95. package/dist/assets/{TriggerPanel-CawHOOEB.js → TriggerPanel-W_Nbke2V.js} +34 -29
  96. package/dist/assets/{VariablesView-8ufP_Pbm.js → VariablesView-BN0j_wjI.js} +5 -5
  97. package/dist/assets/{WorkerView-4N9b1GrL.js → WorkerView-CvQXBJAT.js} +6 -6
  98. package/dist/assets/{WorkflowActivator-DhLX6i1H.css → WorkflowActivator-22RW64G2.css} +3 -4
  99. package/dist/assets/{WorkflowActivator-By2YPIxR.js → WorkflowActivator-Gdx2psBe.js} +4 -4
  100. package/dist/assets/{WorkflowExecutionsInfoAccordion-Dq5uAvFb.js → WorkflowExecutionsInfoAccordion-Qy1H_aGh.js} +2 -2
  101. package/dist/assets/{WorkflowExecutionsLandingPage-qTq7jXZd.js → WorkflowExecutionsLandingPage-VyfOoFBc.js} +3 -3
  102. package/dist/assets/{WorkflowExecutionsPreview-DH0t9oMG.js → WorkflowExecutionsPreview-BTPy5UO3.js} +4 -4
  103. package/dist/assets/{WorkflowExecutionsView-CvcWVL1q.js → WorkflowExecutionsView-D0jk13yH.js} +7 -6
  104. package/dist/assets/{WorkflowHistory-BoPbDI2w.js → WorkflowHistory-K7vjdmt1.js} +2 -2
  105. package/dist/assets/{WorkflowOnboardingView-CfdRMdb_.js → WorkflowOnboardingView-DNnkrH0z.js} +1 -1
  106. package/dist/assets/{WorkflowPreview-CRcYeBph.js → WorkflowPreview-DwjOC1mA.js} +1 -1
  107. package/dist/assets/{WorkflowsView-Dp2UtSsK.js → WorkflowsView-Cj7NMxOp.js} +201 -48
  108. package/dist/assets/{WorkflowsView-DsJIOJ7h.css → WorkflowsView-eYGsq80b.css} +267 -0
  109. package/dist/assets/{canvas-FB8uqaY-.js → canvas-DQItRt4U.js} +1 -1
  110. package/dist/assets/{chartjs.utils-CDdXZsf8.js → chartjs.utils-UQDAHC5I.js} +2 -2
  111. package/dist/assets/{VueMarkdown-CXxTuRRR.js → core-Bo_NVe2z.js} +26 -26
  112. package/dist/assets/dataStore.store-DKjB6WKV.js +98 -0
  113. package/dist/assets/{en-ORjqW56z.js → en-B7EAgfR5.js} +50 -2
  114. package/dist/assets/{global-link-actions-CLAUq-Uc.js → global-link-actions-By3D6cvY.js} +1 -1
  115. package/dist/assets/{index-B09aakje.css → index-BFyMw9-0.css} +8121 -7775
  116. package/dist/assets/{index-C7wt32Q4.js → index-D5oI3RTP.js} +1 -1
  117. package/dist/assets/{index-BoUr_2PB.js → index-DDSBmiav.js} +62368 -60942
  118. package/dist/assets/{pickBy-BEyZL_eY.js → pickBy-DatIkmCi.js} +1 -1
  119. package/dist/assets/{readyToRunWorkflows.store-BujC1ADB.js → readyToRunWorkflows.store-6LXk59HV.js} +1 -1
  120. package/dist/assets/{templateActions-bUKZTAXx.js → templateActions-DPAnbELi.js} +1 -1
  121. package/dist/assets/{typescript.worker-KwUz68Jx.js → typescript.worker-ku8s_Oaf.js} +8407 -7241
  122. package/dist/assets/{useBeforeUnload-CvFcYuae.js → useBeforeUnload-D0W7T4lC.js} +1 -1
  123. package/dist/assets/{useExecutionDebugging-CuyWUrpA.js → useExecutionDebugging-_kB4yo21.js} +4 -4
  124. package/dist/assets/{useImportCurlCommand-KUrfAIVU.js → useImportCurlCommand-BL_O7m5M.js} +1 -1
  125. package/dist/assets/{useProjectPages-BJ7N1xfl.js → useProjectPages-CGM579dS.js} +1 -1
  126. package/dist/assets/{usePushConnection-klqSpf_T.js → usePushConnection-Bl528ZwO.js} +18 -18
  127. package/dist/assets/{useWorkflowActivate-DZbVs_iD.js → useWorkflowActivate-DVGKXFvY.js} +1 -1
  128. package/dist/index.html +2 -2
  129. package/package.json +1 -1
  130. package/stylelint.config.mjs +3 -0
  131. package/dist/assets/CollectionParameter-mnvV48iw.js +0 -4
@@ -1,15 +1,10 @@
1
- import { gm as getFullApiResponse, d as defineComponent, x as computed, gn as DATA_STORE_DETAILS, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, e as createBlock, f as createCommentVNode, e5 as N8nActionToggle, bS as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, eA as _sfc_main$2, m as N8nHeading, aw as N8nBadge, N as N8nIcon, a2 as N8nLink, _ as _export_sfc, a6 as useRoute, S as useDebounce, aj as useDocumentTitle, a as useToast, fY as useInsightsStore, ag as useProjectsStore, ad as useRootStore, af as useSourceControlStore, r as ref, ar as ProjectTypes, go as DATA_STORE_CARD_ACTIONS, o as onMounted, dQ as N8nActionBox, gp as DEFAULT_DATA_STORE_PAGE_SIZE } from "./index-BoUr_2PB.js";
2
- import { P as ProjectHeader } from "./ProjectHeader-CPQrclqi.js";
3
- import { R as ResourcesListLayout } from "./ResourcesListLayout-DwQ-KO8O.js";
4
- import { I as InsightsSummary } from "./InsightsSummary-C2OXzc3_.js";
5
- import { u as useProjectPages } from "./useProjectPages-BJ7N1xfl.js";
6
- import "./TableBase-j-43b-BE.js";
7
- const fetchDataStores = async (context, projectId, options) => {
8
- return await getFullApiResponse(context, "GET", "/data-stores", {
9
- projectId,
10
- options
11
- });
12
- };
1
+ import { d as defineComponent, aH as useTemplateRef, x as computed, gx as DATA_STORE_DETAILS, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, s as N8nCard, n as normalizeClass, j as createBaseVNode, e as createBlock, f as createCommentVNode, eb as N8nActionToggle, B as withModifiers, p as N8nText, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, eI as _sfc_main$2, aI as InlineRename, aL as N8nBadge, N as N8nIcon, C as N8nLink, _ as _export_sfc, aa as useRoute, Y as useDebounce, ay as useDocumentTitle, a as useToast, g6 as useInsightsStore, av as useProjectsStore, aj as useSourceControlStore, r as ref, aG as ProjectTypes, gy as DATA_STORE_CARD_ACTIONS, o as onMounted, dW as N8nActionBox, Z as useUIStore, gz as ADD_DATA_STORE_MODAL_KEY, aq as useMessage, ar as MODAL_CONFIRM, gA as DEFAULT_DATA_STORE_PAGE_SIZE } from "./index-DDSBmiav.js";
2
+ import { P as ProjectHeader } from "./ProjectHeader-BmTqrjC0.js";
3
+ import { R as ResourcesListLayout } from "./ResourcesListLayout-DBQ41l-N.js";
4
+ import { I as InsightsSummary } from "./InsightsSummary-B-mKtkfy.js";
5
+ import { u as useProjectPages } from "./useProjectPages-CGM579dS.js";
6
+ import { u as useDataStoreStore } from "./dataStore.store-DKjB6WKV.js";
7
+ import "./TableBase-IV317tIn.js";
13
8
  const _hoisted_1 = { "data-test-id": "data-store-card" };
14
9
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
15
10
  __name: "DataStoreCard",
@@ -19,9 +14,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
19
14
  readOnly: { type: Boolean, default: false },
20
15
  showOwnershipBadge: { type: Boolean, default: false }
21
16
  },
22
- setup(__props) {
17
+ emits: ["action"],
18
+ setup(__props, { emit: __emit }) {
23
19
  const i18n = useI18n();
24
20
  const props = __props;
21
+ const emit = __emit;
22
+ const renameInput = useTemplateRef("renameInput");
25
23
  const dataStoreRoute = computed(() => {
26
24
  return {
27
25
  name: DATA_STORE_DETAILS,
@@ -31,9 +29,30 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
31
29
  }
32
30
  };
33
31
  });
32
+ const onCardAction = (action) => {
33
+ if (action === "rename") {
34
+ if (renameInput.value?.forceFocus) {
35
+ setTimeout(() => {
36
+ renameInput.value?.forceFocus?.();
37
+ }, 100);
38
+ }
39
+ return;
40
+ }
41
+ emit("action", {
42
+ dataStore: props.dataStore,
43
+ action
44
+ });
45
+ };
46
+ const onNameSubmit = (name) => {
47
+ if (props.dataStore.name === name) return;
48
+ emit("action", {
49
+ dataStore: { ...props.dataStore, name },
50
+ action: "rename"
51
+ });
52
+ };
34
53
  return (_ctx, _cache) => {
35
54
  const _component_N8nIcon = N8nIcon;
36
- const _component_N8nHeading = N8nHeading;
55
+ const _component_N8nInlineTextEdit = InlineRename;
37
56
  const _component_N8nBadge = N8nBadge;
38
57
  const _component_N8nText = N8nText;
39
58
  const _component_TimeAgo = _sfc_main$2;
@@ -61,19 +80,22 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
61
80
  ]),
62
81
  header: withCtx(() => [
63
82
  createBaseVNode("div", {
64
- class: normalizeClass(_ctx.$style["card-header"])
83
+ class: normalizeClass(_ctx.$style["card-header"]),
84
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
85
+ }, ["prevent"]))
65
86
  }, [
66
- createVNode(_component_N8nHeading, {
67
- tag: "h2",
68
- bold: "",
69
- size: "small",
70
- "data-test-id": "folder-card-name"
71
- }, {
72
- default: withCtx(() => [
73
- createTextVNode(toDisplayString(props.dataStore.name), 1)
74
- ]),
75
- _: 1
76
- }),
87
+ createVNode(_component_N8nInlineTextEdit, {
88
+ ref_key: "renameInput",
89
+ ref: renameInput,
90
+ "data-test-id": "datastore-name-input",
91
+ placeholder: unref(i18n).baseText("dataStore.add.input.name.label"),
92
+ class: normalizeClass(_ctx.$style["card-name"]),
93
+ "model-value": props.dataStore.name,
94
+ "max-length": 50,
95
+ "read-only": props.readOnly,
96
+ disabled: props.readOnly,
97
+ "onUpdate:modelValue": onNameSubmit
98
+ }, null, 8, ["placeholder", "class", "model-value", "read-only", "disabled"]),
77
99
  props.readOnly ? (openBlock(), createBlock(_component_N8nBadge, {
78
100
  key: 0,
79
101
  class: "ml-3xs",
@@ -91,17 +113,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
91
113
  createBaseVNode("div", {
92
114
  class: normalizeClass(_ctx.$style["card-footer"])
93
115
  }, [
94
- createVNode(_component_N8nText, {
95
- size: "small",
96
- color: "text-light",
97
- class: normalizeClass([_ctx.$style["info-cell"], _ctx.$style["info-cell--size"]]),
98
- "data-test-id": "folder-card-folder-count"
99
- }, {
100
- default: withCtx(() => [
101
- createTextVNode(toDisplayString(unref(i18n).baseText("dataStore.card.size", { interpolate: { size: _ctx.dataStore.size } })), 1)
102
- ]),
103
- _: 1
104
- }, 8, ["class"]),
105
116
  createVNode(_component_N8nText, {
106
117
  size: "small",
107
118
  color: "text-light",
@@ -110,7 +121,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
110
121
  }, {
111
122
  default: withCtx(() => [
112
123
  createTextVNode(toDisplayString(unref(i18n).baseText("dataStore.card.row.count", {
113
- interpolate: { count: props.dataStore.recordCount }
124
+ interpolate: { count: props.dataStore.recordCount ?? 0 }
114
125
  })), 1)
115
126
  ]),
116
127
  _: 1
@@ -123,7 +134,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
123
134
  }, {
124
135
  default: withCtx(() => [
125
136
  createTextVNode(toDisplayString(unref(i18n).baseText("dataStore.card.column.count", {
126
- interpolate: { count: props.dataStore.columnCount }
137
+ interpolate: { count: props.dataStore.columns.length }
127
138
  })), 1)
128
139
  ]),
129
140
  _: 1
@@ -161,14 +172,15 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
161
172
  append: withCtx(() => [
162
173
  createBaseVNode("div", {
163
174
  class: normalizeClass(_ctx.$style["card-actions"]),
164
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
175
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
165
176
  }, ["prevent"]))
166
177
  }, [
167
178
  props.actions.length ? (openBlock(), createBlock(_component_N8nActionToggle, {
168
179
  key: 0,
169
180
  actions: props.actions,
170
181
  theme: "dark",
171
- "data-test-id": "folder-card-actions"
182
+ "data-test-id": "data-store-card-actions",
183
+ onAction: onCardAction
172
184
  }, null, 8, ["actions"])) : createCommentVNode("", true)
173
185
  ], 2)
174
186
  ]),
@@ -181,16 +193,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
181
193
  };
182
194
  }
183
195
  });
184
- const card = "_card_1cq4j_123";
196
+ const card = "_card_1y92f_123";
185
197
  const style0 = {
186
198
  card,
187
- "card-icon": "_card-icon_1cq4j_131",
188
- "card-header": "_card-header_1cq4j_138",
189
- "card-footer": "_card-footer_1cq4j_146",
190
- "info-cell": "_info-cell_1cq4j_150",
191
- "info-cell--created": "_info-cell--created_1cq4j_159",
192
- "info-cell--record-count": "_info-cell--record-count_1cq4j_160",
193
- "info-cell--column-count": "_info-cell--column-count_1cq4j_161"
199
+ "card-name": "_card-name_1y92f_131",
200
+ "card-icon": "_card-icon_1y92f_137",
201
+ "card-header": "_card-header_1y92f_144",
202
+ "card-footer": "_card-footer_1y92f_152",
203
+ "info-cell": "_info-cell_1y92f_156",
204
+ "info-cell--created": "_info-cell--created_1y92f_165",
205
+ "info-cell--record-count": "_info-cell--record-count_1y92f_166",
206
+ "info-cell--column-count": "_info-cell--column-count_1y92f_167"
194
207
  };
195
208
  const cssModules = {
196
209
  "$style": style0
@@ -205,15 +218,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
205
218
  const { callDebounced } = useDebounce();
206
219
  const documentTitle = useDocumentTitle();
207
220
  const toast = useToast();
221
+ const message = useMessage();
222
+ const dataStoreStore = useDataStoreStore();
208
223
  const insightsStore = useInsightsStore();
209
224
  const projectsStore = useProjectsStore();
210
- const rootStore = useRootStore();
211
225
  const sourceControlStore = useSourceControlStore();
212
226
  const loading = ref(true);
213
- const dataStores = ref([]);
214
- const totalCount = ref(0);
215
227
  const currentPage = ref(1);
216
228
  const pageSize = ref(DEFAULT_DATA_STORE_PAGE_SIZE);
229
+ const customProjectActions = computed(() => [
230
+ {
231
+ id: "add-data-store",
232
+ label: i18n.baseText("dataStore.add.button.label"),
233
+ disabled: loading.value || projectPages.isOverviewSubPage
234
+ }
235
+ ]);
236
+ const dataStoreResources = computed(
237
+ () => dataStoreStore.dataStores.map((ds) => {
238
+ return {
239
+ ...ds,
240
+ resourceType: "datastore"
241
+ };
242
+ })
243
+ );
244
+ const totalCount = computed(() => dataStoreStore.totalCount);
217
245
  const currentProject = computed(() => projectsStore.currentProject);
218
246
  const projectName = computed(() => {
219
247
  if (currentProject.value?.type === ProjectTypes.Personal) {
@@ -243,26 +271,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
243
271
  label: i18n.baseText("generic.delete"),
244
272
  value: DATA_STORE_CARD_ACTIONS.DELETE,
245
273
  disabled: readOnlyEnv.value
246
- },
247
- {
248
- label: i18n.baseText("generic.clear"),
249
- value: DATA_STORE_CARD_ACTIONS.CLEAR,
250
- disabled: readOnlyEnv.value
251
274
  }
252
275
  ]);
253
276
  const initialize = async () => {
254
277
  loading.value = true;
255
278
  const projectId = Array.isArray(route.params.projectId) ? route.params.projectId[0] : route.params.projectId;
256
279
  try {
257
- const response = await fetchDataStores(rootStore.restApiContext, projectId, {
258
- page: currentPage.value,
259
- pageSize: pageSize.value
260
- });
261
- dataStores.value = response.data.map((item) => ({
262
- ...item,
263
- resourceType: "datastore"
264
- }));
265
- totalCount.value = response.count;
280
+ await dataStoreStore.fetchDataStores(projectId, currentPage.value, pageSize.value);
266
281
  } catch (error) {
267
282
  toast.showError(error, "Error loading data stores");
268
283
  } finally {
@@ -280,6 +295,65 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
280
295
  await callDebounced(initialize, { debounceTime: 200, trailing: true });
281
296
  }
282
297
  };
298
+ const onAddModalClick = () => {
299
+ useUIStore().openModal(ADD_DATA_STORE_MODAL_KEY);
300
+ };
301
+ const onCardAction = async (payload) => {
302
+ switch (payload.action) {
303
+ case DATA_STORE_CARD_ACTIONS.DELETE: {
304
+ const promptResponse = await message.confirm(
305
+ i18n.baseText("dataStore.delete.confirm.message", {
306
+ interpolate: { name: payload.dataStore.name }
307
+ }),
308
+ i18n.baseText("dataStore.delete.confirm.title"),
309
+ {
310
+ confirmButtonText: i18n.baseText("generic.delete"),
311
+ cancelButtonText: i18n.baseText("generic.cancel")
312
+ }
313
+ );
314
+ if (promptResponse === MODAL_CONFIRM) {
315
+ try {
316
+ const deleted = await dataStoreStore.deleteDataStore(
317
+ payload.dataStore.id,
318
+ payload.dataStore.projectId
319
+ );
320
+ if (!deleted) {
321
+ toast.showError(
322
+ new Error(i18n.baseText("generic.unknownError")),
323
+ i18n.baseText("dataStore.delete.error")
324
+ );
325
+ }
326
+ } catch (error) {
327
+ toast.showError(error, i18n.baseText("dataStore.delete.error"));
328
+ }
329
+ }
330
+ break;
331
+ }
332
+ case DATA_STORE_CARD_ACTIONS.RENAME: {
333
+ try {
334
+ const updated = await dataStoreStore.updateDataStore(
335
+ payload.dataStore.id,
336
+ payload.dataStore.name,
337
+ payload.dataStore.projectId
338
+ );
339
+ if (!updated) {
340
+ toast.showError(
341
+ new Error(i18n.baseText("generic.unknownError")),
342
+ i18n.baseText("dataStore.rename.error")
343
+ );
344
+ }
345
+ } catch (error) {
346
+ toast.showError(error, i18n.baseText("dataStore.rename.error"));
347
+ }
348
+ break;
349
+ }
350
+ }
351
+ };
352
+ const onProjectHeaderAction = (action) => {
353
+ if (action === "add-data-store") {
354
+ useUIStore().openModal(ADD_DATA_STORE_MODAL_KEY);
355
+ }
356
+ };
283
357
  onMounted(() => {
284
358
  documentTitle.set(i18n.baseText("dataStore.tab.label"));
285
359
  });
@@ -289,7 +363,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
289
363
  ref: "layout",
290
364
  "resource-key": "dataStore",
291
365
  type: "list-paginated",
292
- resources: dataStores.value,
366
+ resources: dataStoreResources.value,
293
367
  initialize,
294
368
  "type-props": { itemSize: 80 },
295
369
  loading: loading.value,
@@ -304,7 +378,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
304
378
  "onUpdate:paginationAndSort": onPaginationUpdate
305
379
  }, {
306
380
  header: withCtx(() => [
307
- createVNode(ProjectHeader, null, {
381
+ createVNode(ProjectHeader, {
382
+ "custom-actions": customProjectActions.value,
383
+ onCustomActionSelected: onProjectHeaderAction
384
+ }, {
308
385
  default: withCtx(() => [
309
386
  unref(projectPages).isOverviewSubPage && unref(insightsStore).isSummaryEnabled ? (openBlock(), createBlock(InsightsSummary, {
310
387
  key: 0,
@@ -314,7 +391,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
314
391
  }, null, 8, ["loading", "summary"])) : createCommentVNode("", true)
315
392
  ]),
316
393
  _: 1
317
- })
394
+ }, 8, ["custom-actions"])
318
395
  ]),
319
396
  empty: withCtx(() => [
320
397
  createVNode(_component_n8n_action_box, {
@@ -322,7 +399,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
322
399
  heading: unref(i18n).baseText("dataStore.empty.label"),
323
400
  description: emptyCalloutDescription.value,
324
401
  "button-text": emptyCalloutButtonText.value,
325
- "button-type": "secondary"
402
+ "button-type": "secondary",
403
+ "onClick:button": onAddModalClick
326
404
  }, null, 8, ["heading", "description", "button-text"])
327
405
  ]),
328
406
  item: withCtx(({ item: data }) => [
@@ -331,7 +409,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
331
409
  "data-store": data,
332
410
  "show-ownership-badge": unref(projectPages).isOverviewSubPage,
333
411
  actions: cardActions.value,
334
- "read-only": readOnlyEnv.value
412
+ "read-only": readOnlyEnv.value,
413
+ onAction: onCardAction
335
414
  }, null, 8, ["data-store", "show-ownership-badge", "actions", "read-only"])
336
415
  ]),
337
416
  _: 1
@@ -1,9 +1,9 @@
1
- import LogsPanel from "./LogsPanel-wngrETx-.js";
2
- import { d as defineComponent, a5 as useWorkflowsStore, x as computed, e as createBlock, f as createCommentVNode, g as openBlock } from "./index-BoUr_2PB.js";
3
- import "./AnimatedSpinner-CNelXJxW.js";
4
- import "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-Dqqp4ac7.js";
5
- import "./VueMarkdown-CXxTuRRR.js";
6
- import "./canvas-FB8uqaY-.js";
1
+ import LogsPanel from "./LogsPanel-BqOUfEMV.js";
2
+ import { d as defineComponent, a9 as useWorkflowsStore, x as computed, e as createBlock, f as createCommentVNode, g as openBlock } from "./index-DDSBmiav.js";
3
+ import "./AnimatedSpinner-t1RMMNSe.js";
4
+ import "./ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-B9z4PBYx.js";
5
+ import "./core-Bo_NVe2z.js";
6
+ import "./canvas-DQItRt4U.js";
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "DemoFooter",
9
9
  setup(__props) {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, b as useRouter, x as computed, c as useI18n, e as createBlock, g as openBlock, dQ as N8nActionBox, l as unref, V as VIEWS } from "./index-BoUr_2PB.js";
1
+ import { d as defineComponent, b as useRouter, x as computed, c as useI18n, e as createBlock, g as openBlock, dW as N8nActionBox, l as unref, V as VIEWS } from "./index-DDSBmiav.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "EmptySharedSectionActionBox",
4
4
  props: {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, j as createBaseVNode, l as unref, m as N8nHeading, k as createTextVNode, t as toDisplayString, c as useI18n, p as N8nText, q as N8nButton, s as N8nCard, _ as _export_sfc } from "./index-BoUr_2PB.js";
1
+ import { d as defineComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, j as createBaseVNode, l as unref, m as N8nHeading, k as createTextVNode, t as toDisplayString, c as useI18n, p as N8nText, q as N8nButton, s as N8nCard, _ as _export_sfc } from "./index-DDSBmiav.js";
2
2
  const _hoisted_1 = { class: "entity-not-found-view" };
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "EntityNotFound",
@@ -9,10 +9,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  const locale = useI18n();
10
10
  return (_ctx, _cache) => {
11
11
  return openBlock(), createElementBlock("div", _hoisted_1, [
12
- createVNode(unref(N8nCard), {
13
- style: {},
14
- class: "entity-card"
15
- }, {
12
+ createVNode(unref(N8nCard), { class: "entity-card" }, {
16
13
  default: withCtx(() => [
17
14
  _cache[0] || (_cache[0] = createBaseVNode("div", { class: "text-center mb-l" }, [
18
15
  createBaseVNode("svg", {
@@ -89,7 +86,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
89
86
  };
90
87
  }
91
88
  });
92
- const EntityNotFound = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-30756e55"]]);
89
+ const EntityNotFound = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a053f562"]]);
93
90
  export {
94
91
  EntityNotFound as default
95
92
  };
@@ -1,10 +1,10 @@
1
1
 
2
- .entity-not-found-view[data-v-30756e55] {
2
+ .entity-not-found-view[data-v-a053f562] {
3
3
  display: flex;
4
4
  align-items: center;
5
5
  justify-content: center;
6
6
  }
7
- .entity-card[data-v-30756e55] {
7
+ .entity-card[data-v-a053f562] {
8
8
  max-width: 400px;
9
9
  padding: var(--spacing-xl);
10
10
  }
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, j as createBaseVNode, l as unref, m as N8nHeading, k as createTextVNode, t as toDisplayString, c as useI18n, p as N8nText, s as N8nCard, _ as _export_sfc } from "./index-BoUr_2PB.js";
1
+ import { d as defineComponent, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, j as createBaseVNode, l as unref, m as N8nHeading, k as createTextVNode, t as toDisplayString, c as useI18n, p as N8nText, s as N8nCard, _ as _export_sfc } from "./index-DDSBmiav.js";
2
2
  const _hoisted_1 = { class: "entity-un-authorized-view" };
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "EntityUnAuthorised",
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, b as useRouter, h as createElementBlock, g as openBlock, i as createVNode, j as createBaseVNode, n as normalizeClass, N as N8nIcon, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, m as N8nHeading, e as createBlock, f as createCommentVNode, p as N8nText, q as N8nButton, V as VIEWS, _ as _export_sfc } from "./index-BoUr_2PB.js";
1
+ import { d as defineComponent, b as useRouter, h as createElementBlock, g as openBlock, i as createVNode, j as createBaseVNode, n as normalizeClass, N as N8nIcon, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, c as useI18n, m as N8nHeading, e as createBlock, f as createCommentVNode, p as N8nText, q as N8nButton, V as VIEWS, _ as _export_sfc } from "./index-DDSBmiav.js";
2
2
  const _sfc_main = /* @__PURE__ */ defineComponent({
3
3
  __name: "ErrorView",
4
4
  props: {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, T as useUIStore, e as createBlock, g as openBlock, dQ as N8nActionBox, l as unref, c as useI18n, eS as COMMUNITY_PLUS_ENROLLMENT_MODAL, h as createElementBlock, n as normalizeClass, N as N8nIcon, F as Fragment, k as createTextVNode, t as toDisplayString, _ as _export_sfc, i as createVNode, j as createBaseVNode, f as createCommentVNode, J as renderSlot, p as N8nText, w as withCtx, aw as N8nBadge, b as useRouter, a5 as useWorkflowsStore, fR as useEvaluationStore, eQ as useUsageStore, am as usePageRedirectionHelper, x as computed, r as ref, q as N8nButton, dk as N8nCallout, a1 as I18nT, a7 as PLACEHOLDER_EMPTY_WORKFLOW_ID, V as VIEWS, bK as useNodeTypesStore, a as useToast, bJ as useCanvasOperations, eN as useAsyncState, ab as watch, O as resolveComponent, a2 as N8nLink, aA as useTelemetry } from "./index-BoUr_2PB.js";
1
+ import { d as defineComponent, Z as useUIStore, e as createBlock, g as openBlock, dW as N8nActionBox, l as unref, c as useI18n, e_ as COMMUNITY_PLUS_ENROLLMENT_MODAL, h as createElementBlock, n as normalizeClass, N as N8nIcon, F as Fragment, k as createTextVNode, t as toDisplayString, _ as _export_sfc, i as createVNode, j as createBaseVNode, f as createCommentVNode, Q as renderSlot, p as N8nText, w as withCtx, aL as N8nBadge, b as useRouter, a9 as useWorkflowsStore, ag as useEvaluationStore, eY as useUsageStore, aB as usePageRedirectionHelper, x as computed, r as ref, q as N8nButton, z as N8nCallout, a6 as I18nT, ab as PLACEHOLDER_EMPTY_WORKFLOW_ID, V as VIEWS, ah as useNodeTypesStore, a as useToast, aj as useSourceControlStore, bU as useCanvasOperations, eV as useAsyncState, af as watch, T as resolveComponent, C as N8nLink, am as EVALUATIONS_DOCS_URL, ap as useTelemetry } from "./index-DDSBmiav.js";
2
2
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
3
3
  __name: "EvaluationsPaywall",
4
4
  setup(__props) {
@@ -489,10 +489,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
489
489
  const telemetry = useTelemetry();
490
490
  const toast = useToast();
491
491
  const locale = useI18n();
492
+ const sourceControlStore = useSourceControlStore();
492
493
  const { initializeWorkspace } = useCanvasOperations();
493
494
  const evaluationsLicensed = computed(() => {
494
495
  return usageStore.workflowsWithEvaluationsLimit !== 0;
495
496
  });
497
+ const isProtectedEnvironment = computed(() => {
498
+ return sourceControlStore.preferences.branchReadOnly;
499
+ });
496
500
  const runs = computed(() => {
497
501
  return Object.values(evaluationStore.testRunsById ?? {}).filter(
498
502
  ({ workflowId }) => workflowId === props.name
@@ -599,18 +603,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
599
603
  createTextVNode(toDisplayString(unref(locale).baseText("evaluations.setupWizard.description")) + " ", 1),
600
604
  createVNode(unref(N8nLink), {
601
605
  size: "small",
602
- href: "https://docs.n8n.io/advanced-ai/evaluations/overview"
606
+ href: unref(EVALUATIONS_DOCS_URL)
603
607
  }, {
604
608
  default: withCtx(() => [
605
609
  createTextVNode(toDisplayString(unref(locale).baseText("evaluations.setupWizard.moreInfo")), 1)
606
610
  ]),
607
611
  _: 1
608
- })
612
+ }, 8, ["href"])
609
613
  ]),
610
614
  _: 1
611
615
  }, 8, ["class"])
612
616
  ]),
613
- createBaseVNode("div", {
617
+ isProtectedEnvironment.value ? (openBlock(), createBlock(unref(N8nCallout), {
618
+ key: 0,
619
+ theme: "info",
620
+ icon: "info"
621
+ }, {
622
+ default: withCtx(() => [
623
+ createTextVNode(toDisplayString(unref(locale).baseText("evaluations.readOnlyNotice")), 1)
624
+ ]),
625
+ _: 1
626
+ })) : (openBlock(), createElementBlock("div", {
627
+ key: 1,
614
628
  class: normalizeClass(_ctx.$style.config)
615
629
  }, [
616
630
  _cache[0] || (_cache[0] = createBaseVNode("iframe", {
@@ -628,7 +642,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
628
642
  key: 0,
629
643
  onRunTest: runTest
630
644
  })) : (openBlock(), createBlock(_sfc_main$4, { key: 1 }))
631
- ], 2)
645
+ ], 2))
632
646
  ], 2)) : unref(isReady) ? (openBlock(), createBlock(_component_router_view, { key: 1 })) : createCommentVNode("", true)
633
647
  ], 2);
634
648
  };
@@ -1,6 +1,6 @@
1
- import { fM as useCssVar, fJ as dateFormat, d as defineComponent, x as computed, fK as watchEffect, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, i as createVNode, e0 as N8nSelect, w as withCtx, F as Fragment, y as renderList, e as createBlock, e1 as _sfc_main$4, l as unref, _ as _export_sfc, m as N8nHeading, k as createTextVNode, t as toDisplayString, c as useI18n, fN as TestTableBase, p as N8nText, N as N8nIcon, fO as statusDictionary, $ as N8nTooltip, a1 as I18nT, fP as getErrorBaseKey, bi as createSlots, e7 as mergeModels, b as useRouter, e8 as useModel, fQ as convertToDisplayDate, V as VIEWS, a as useToast, fR as useEvaluationStore, r as ref, eI as orderBy, ab as watch, q as N8nButton } from "./index-BoUr_2PB.js";
2
- import { L as Line } from "./index-C7wt32Q4.js";
3
- import { _ as __unplugin_components_1 } from "./AnimatedSpinner-CNelXJxW.js";
1
+ import { fV as useCssVar, fS as dateFormat, d as defineComponent, x as computed, fT as watchEffect, h as createElementBlock, g as openBlock, n as normalizeClass, j as createBaseVNode, i as createVNode, e6 as N8nSelect, w as withCtx, F as Fragment, A as renderList, e as createBlock, e7 as _sfc_main$4, l as unref, _ as _export_sfc, m as N8nHeading, k as createTextVNode, t as toDisplayString, c as useI18n, fW as TestTableBase, p as N8nText, N as N8nIcon, fX as statusDictionary, a4 as N8nTooltip, a6 as I18nT, fY as getErrorBaseKey, bt as createSlots, ed as mergeModels, b as useRouter, ee as useModel, fZ as convertToDisplayDate, V as VIEWS, a as useToast, ag as useEvaluationStore, r as ref, eQ as orderBy, af as watch, q as N8nButton } from "./index-DDSBmiav.js";
2
+ import { L as Line } from "./index-D5oI3RTP.js";
3
+ import { _ as __unplugin_components_1 } from "./AnimatedSpinner-t1RMMNSe.js";
4
4
  function useMetricsChart() {
5
5
  const colors = {
6
6
  primary: useCssVar("--color-primary", document.body).value,
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, x as computed, c as useI18n, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, p as N8nText, N as N8nIcon, j as createBaseVNode, n as normalizeClass, e as createBlock, a2 as N8nLink, l as unref, $ as N8nTooltip, _ as _export_sfc, v as useSettingsStore, S as useDebounce, am as usePageRedirectionHelper, r as ref, aq as EnterpriseEditionFeature, cZ as reactive, ab as watch, eR as i18n, fj as isEmpty, aU as onBeforeMount, O as resolveComponent, fk as _sfc_main$3, f as createCommentVNode, e0 as N8nSelect, F as Fragment, y as renderList, e1 as _sfc_main$4, av as _sfc_main$5, a1 as I18nT, cQ as N8nInput, bS as withModifiers, eO as N8nCheckbox, q as N8nButton, bi as createSlots, aw as N8nBadge, aA as useTelemetry, o as onMounted, I as onBeforeUnmount } from "./index-BoUr_2PB.js";
2
- import { _ as _sfc_main$6 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BptELjdm.js";
1
+ import { d as defineComponent, x as computed, c as useI18n, h as createElementBlock, g as openBlock, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, p as N8nText, N as N8nIcon, j as createBaseVNode, n as normalizeClass, e as createBlock, C as N8nLink, l as unref, a4 as N8nTooltip, _ as _export_sfc, v as useSettingsStore, Y as useDebounce, aB as usePageRedirectionHelper, r as ref, aF as EnterpriseEditionFeature, d6 as reactive, af as watch, eZ as i18n, fs as isEmpty, b3 as onBeforeMount, T as resolveComponent, ft as _sfc_main$3, f as createCommentVNode, e6 as N8nSelect, F as Fragment, A as renderList, e7 as _sfc_main$4, aK as _sfc_main$5, a6 as I18nT, cZ as N8nInput, B as withModifiers, eW as N8nCheckbox, q as N8nButton, bt as createSlots, aL as N8nBadge, ap as useTelemetry, o as onMounted, P as onBeforeUnmount } from "./index-DDSBmiav.js";
2
+ import { _ as _sfc_main$6 } from "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DabixM3K.js";
3
3
  const _hoisted_1$1 = { "data-test-id": "concurrent-executions-header" };
4
4
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
5
5
  __name: "ConcurrentExecutionsHeader",
@@ -1,11 +1,11 @@
1
- import { P as ProjectHeader } from "./ProjectHeader-CPQrclqi.js";
2
- import { _ as _sfc_main$4, E as ExecutionsFilter, C as ConcurrentExecutionsHeader } from "./ExecutionsTime.vue_vue_type_script_setup_true_lang-a16EyLIx.js";
3
- import { d as defineComponent, e as createBlock, g as openBlock, $ as N8nTooltip, w as withCtx, J as renderSlot, f as createCommentVNode, l as unref, a1 as I18nT, i as createVNode, a2 as N8nLink, n as normalizeClass, k as createTextVNode, t as toDisplayString, c as useI18n, _ as _export_sfc, ac as useCssModule, dA as useExecutionHelpers, r as ref, x as computed, gf as WAIT_INDEFINITELY, fQ as convertToDisplayDate, O as resolveComponent, h as createElementBlock, j as createBaseVNode, eO as N8nCheckbox, V as VIEWS, N as N8nIcon, p as N8nText, F as Fragment, q as N8nButton, bS as withModifiers, a0 as _sfc_main$5, a5 as useWorkflowsStore, aQ as useExecutionsStore, v as useSettingsStore, am as usePageRedirectionHelper, a as useToast, aq as EnterpriseEditionFeature, ab as watch, as as useTemplateRef, gg as useIntersectionObserver, y as renderList, gh as ElSkeletonItem, aC as useMessage, aD as MODAL_CONFIRM, an as getResourcePermissions, dG as executionRetryMessage, aA as useTelemetry, a6 as useRoute, fY as useInsightsStore, aj as useDocumentTitle, el as storeToRefs, aU as onBeforeMount, bg as useExternalHooks, o as onMounted, I as onBeforeUnmount } from "./index-BoUr_2PB.js";
4
- import { _ as __unplugin_components_1 } from "./AnimatedSpinner-CNelXJxW.js";
5
- import { N as N8nTableBase } from "./TableBase-j-43b-BE.js";
6
- import { u as useProjectPages } from "./useProjectPages-BJ7N1xfl.js";
7
- import { I as InsightsSummary } from "./InsightsSummary-C2OXzc3_.js";
8
- import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BptELjdm.js";
1
+ import { P as ProjectHeader } from "./ProjectHeader-BmTqrjC0.js";
2
+ import { _ as _sfc_main$4, E as ExecutionsFilter, C as ConcurrentExecutionsHeader } from "./ExecutionsTime.vue_vue_type_script_setup_true_lang-HcTP3r42.js";
3
+ import { d as defineComponent, e as createBlock, g as openBlock, a4 as N8nTooltip, w as withCtx, Q as renderSlot, f as createCommentVNode, l as unref, a6 as I18nT, i as createVNode, C as N8nLink, n as normalizeClass, k as createTextVNode, t as toDisplayString, c as useI18n, _ as _export_sfc, as as useCssModule, dG as useExecutionHelpers, r as ref, x as computed, gq as WAIT_INDEFINITELY, fZ as convertToDisplayDate, T as resolveComponent, h as createElementBlock, j as createBaseVNode, eW as N8nCheckbox, V as VIEWS, N as N8nIcon, p as N8nText, F as Fragment, q as N8nButton, B as withModifiers, a5 as _sfc_main$5, a9 as useWorkflowsStore, a$ as useExecutionsStore, v as useSettingsStore, aB as usePageRedirectionHelper, a as useToast, aF as EnterpriseEditionFeature, af as watch, aH as useTemplateRef, gr as useIntersectionObserver, A as renderList, gs as ElSkeletonItem, aq as useMessage, ar as MODAL_CONFIRM, aC as getResourcePermissions, dM as executionRetryMessage, ap as useTelemetry, aa as useRoute, g6 as useInsightsStore, ay as useDocumentTitle, er as storeToRefs, b3 as onBeforeMount, br as useExternalHooks, o as onMounted, P as onBeforeUnmount } from "./index-DDSBmiav.js";
4
+ import { _ as __unplugin_components_1 } from "./AnimatedSpinner-t1RMMNSe.js";
5
+ import { N as N8nTableBase } from "./TableBase-IV317tIn.js";
6
+ import { u as useProjectPages } from "./useProjectPages-CGM579dS.js";
7
+ import { I as InsightsSummary } from "./InsightsSummary-B-mKtkfy.js";
8
+ import "./AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DabixM3K.js";
9
9
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
10
10
  __name: "GlobalExecutionsListItemQueuedTooltip",
11
11
  props: {
@@ -1,4 +1,4 @@
1
- import { d as defineComponent, a5 as useWorkflowsStore, aP as useNDVStore, el as storeToRefs, x as computed, c as useI18n, r as ref, gi as isINodePropertyCollectionList, ab as watch, aU as onBeforeMount, dH as deepCopy, h as createElementBlock, g as openBlock, f as createCommentVNode, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, p as N8nText, F as Fragment, y as renderList, e as createBlock, dZ as N8nInputLabel, j as createBaseVNode, n as normalizeClass, a0 as _sfc_main$1, di as Suspense, gj as _sfc_main$2, gk as Draggable, q as N8nButton, e1 as _sfc_main$3, e0 as N8nSelect, bS as withModifiers, bu as get, eT as telemetry, _ as _export_sfc } from "./index-BoUr_2PB.js";
1
+ import { d as defineComponent, a9 as useWorkflowsStore, a_ as useNDVStore, er as storeToRefs, x as computed, c as useI18n, r as ref, gt as isINodePropertyCollectionList, af as watch, b3 as onBeforeMount, dN as deepCopy, h as createElementBlock, g as openBlock, f as createCommentVNode, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, p as N8nText, F as Fragment, A as renderList, e as createBlock, e3 as N8nInputLabel, j as createBaseVNode, n as normalizeClass, a5 as _sfc_main$1, dr as Suspense, gu as _sfc_main$2, gv as Draggable, q as N8nButton, e7 as _sfc_main$3, e6 as N8nSelect, B as withModifiers, bF as get, e$ as telemetry, _ as _export_sfc } from "./index-DDSBmiav.js";
2
2
  const _hoisted_1 = ["data-test-id"];
3
3
  const _hoisted_2 = {
4
4
  key: 0,
@@ -217,6 +217,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
217
217
  }, null, 8, ["label"])) : createCommentVNode("", true),
218
218
  multipleValues.value ? (openBlock(), createElementBlock("div", _hoisted_3, [
219
219
  createVNode(unref(Draggable), {
220
+ "item-key": property.name,
220
221
  modelValue: mutableValues.value[property.name],
221
222
  "onUpdate:modelValue": ($event) => mutableValues.value[property.name] = $event,
222
223
  handle: ".drag-handle",
@@ -274,7 +275,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
274
275
  ]))
275
276
  ]),
276
277
  _: 2
277
- }, 1032, ["modelValue", "onUpdate:modelValue", "onChange"])
278
+ }, 1032, ["item-key", "modelValue", "onUpdate:modelValue", "onChange"])
278
279
  ])) : (openBlock(), createElementBlock("div", _hoisted_6, [
279
280
  createBaseVNode("div", _hoisted_7, [
280
281
  !_ctx.isReadOnly ? (openBlock(), createElementBlock("div", _hoisted_8, [
@@ -337,7 +338,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
337
338
  };
338
339
  }
339
340
  });
340
- const FixedCollectionParameter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0e3cb1e7"]]);
341
+ const FixedCollectionParameter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-513143a7"]]);
341
342
  export {
342
343
  FixedCollectionParameter as default
343
344
  };