n8n-editor-ui 1.111.0 → 1.112.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/{AddDataStoreModal-D3j8deoq.css → AddDataStoreModal-B7jBhCjt.css} +5 -3
- package/dist/assets/{AddDataStoreModal-COmj3tI8.js → AddDataStoreModal-CLYFuWF4.js} +12 -7
- package/dist/assets/{AnimatedSpinner-BRe0Ugab.js → AnimatedSpinner-D7Nt5ZAz.js} +2 -1
- package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BllZkKe3.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BzK1dfc7.js} +2 -1
- package/dist/assets/{AuthView-z58gFjsc.js → AuthView-Db8T18BU.js} +3 -2
- package/dist/assets/{ChangePasswordView-DUmtjPAx.js → ChangePasswordView-Clb7ta4t.js} +4 -3
- package/dist/assets/CollectionParameter-BGBoLgV2.js +5 -0
- package/dist/assets/{ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-4IRcAtjj.js → ConsumedTokensDetails.vue_vue_type_script_setup_true_lang-BG5somV-.js} +2 -1
- package/dist/assets/{CredentialsView-Ie0l_odH.js → CredentialsView-CydHAPfb.js} +11 -9
- package/dist/assets/{DataStoreActions.vue_vue_type_script_setup_true_lang-d31tni9q.js → DataStoreActions.vue_vue_type_script_setup_true_lang-qftEof1u.js} +2 -2
- package/dist/assets/{DataStoreDetailsView-BPsHPucD.css → DataStoreDetailsView-C8fMxukz.css} +60 -39
- package/dist/assets/{DataStoreDetailsView-DLuRcsh-.js → DataStoreDetailsView-DZK3pYSP.js} +267 -102
- package/dist/assets/{DataStoreView-DmY3FIsv.js → DataStoreView-CT0OnFLR.js} +14 -29
- package/dist/assets/{DemoFooter-BQj55pTx.js → DemoFooter-DHwNRr6t.js} +7 -6
- package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-NJbsTbk5.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-Y97PdUKW.js} +2 -1
- package/dist/assets/{EntityNotFound-B1VWHiBa.js → EntityNotFound-BDjIF_1D.js} +2 -1
- package/dist/assets/{EntityUnAuthorised-B0Yg7JWa.js → EntityUnAuthorised-Dz3DXm1-.js} +2 -1
- package/dist/assets/{ErrorView-aHqCD3ri.js → ErrorView-BH0St5KC.js} +2 -1
- package/dist/assets/{EvaluationsRootView-CoYRtuEz.js → EvaluationsRootView-CnJlr4OF.js} +2 -1
- package/dist/assets/{EvaluationsView-BC1UMOb0.js → EvaluationsView-DABp8z-m.js} +4 -3
- package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-CMR49MM7.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-gCj_FZH6.js} +3 -2
- package/dist/assets/{ExecutionsView-C8r32amj.js → ExecutionsView-CivgrlFE.js} +14 -12
- package/dist/assets/{ExecutionsView-DpVZbkhT.css → ExecutionsView-GKNLT5Ec.css} +1 -1
- package/dist/assets/{FixedCollectionParameter-DTkvAml6.css → FixedCollectionParameter-Dg7ZadcB.css} +18 -18
- package/dist/assets/{FixedCollectionParameter-BzZrk2iw.js → FixedCollectionParameter-l8xC6wRw.js} +7 -3
- package/dist/assets/{ForgotMyPasswordView-CaXCwrIx.js → ForgotMyPasswordView-WF87QWAH.js} +4 -3
- package/dist/assets/{InfoAccordion-DUHSL9ZE.js → InfoAccordion-8iWJ2sSU.js} +2 -1
- package/dist/assets/{InsightsChartAverageRuntime-DFunYdc9.js → InsightsChartAverageRuntime-BEd6XJn6.js} +5 -4
- package/dist/assets/{InsightsChartFailed-0uRNHiAU.js → InsightsChartFailed-CVwzK3ch.js} +5 -4
- package/dist/assets/{InsightsChartFailureRate-BuiZokRI.js → InsightsChartFailureRate-BeA77_lp.js} +5 -4
- package/dist/assets/{InsightsChartTimeSaved-CK46Eo2R.js → InsightsChartTimeSaved-DkgR7j7U.js} +5 -4
- package/dist/assets/{InsightsChartTotal-ZhGp0D6c.js → InsightsChartTotal--1QxzvAZ.js} +5 -4
- package/dist/assets/{InsightsDashboard-DEJEg2jy.js → InsightsDashboard-cHCzH4ZY.js} +13 -11
- package/dist/assets/{InsightsPaywall-CEYbNF-U.js → InsightsPaywall-neQ9PmYP.js} +2 -1
- package/dist/assets/{InsightsSummary-D4c0lwdE.js → InsightsSummary-BekdjOxv.js} +4 -2
- package/dist/assets/{InsightsTableWorkflows-Cf2s_w2o.js → InsightsTableWorkflows-LMO-UU8h.js} +5 -4
- package/dist/assets/{Logo-DF7Ve1nG.js → Logo-DXNRuN8z.js} +2 -1
- package/dist/assets/{LogsPanel-Dz_R5wsR.js → LogsPanel-2GQHQFmh.js} +36 -22
- package/dist/assets/{LogsPanel-BinqqXXh.css → LogsPanel-CUsQIBpC.css} +17 -17
- package/dist/assets/{MainHeader-DBWR1wTC.js → MainHeader-BlBek00C.js} +12 -10
- package/dist/assets/{MainSidebar-3_9O8-rJ.js → MainSidebar-qdHg8D5V.js} +3 -2
- package/dist/assets/{NodeCreation-Dtlm36Oq.js → NodeCreation-DO5k3aK3.js} +4 -3
- package/dist/assets/{NodeCreator-DUoi7nAW.js → NodeCreator-C3Pmrqkh.js} +2 -1
- package/dist/assets/{NodeDetailsView-Di4Qgo0H.js → NodeDetailsView-BACft9ex.js} +18 -17
- package/dist/assets/{NodeDetailsView-CjdovDgq.css → NodeDetailsView-CBYV4Rrz.css} +11 -11
- package/dist/assets/{NodeDetailsViewV2-DeY6N1Bz.js → NodeDetailsViewV2--1S2eK5u.js} +14 -13
- package/dist/assets/{NodeView-DsbJeAY_.js → NodeView-BRwQ5Cqs.js} +113 -99
- package/dist/assets/{NodeView-DMJpfBYR.css → NodeView-Chs2u0U9.css} +28 -25
- package/dist/assets/{PageViewLayout-DC6xqvMl.js → PageViewLayout-DldtilHz.js} +2 -1
- package/dist/assets/{PrebuiltAgentTemplatesView-Bf_4L0Mz.js → PrebuiltAgentTemplatesView-ChyN8J2x.js} +3 -2
- package/dist/assets/{ProjectBreadcrumb-OJlbtg71.js → ProjectBreadcrumb-9uWmVmc7.js} +2 -1
- package/dist/assets/{ProjectHeader-CuQxn8hj.js → ProjectHeader-CWapIKXf.js} +93 -23
- package/dist/assets/{ProjectSettings-CyyS1dIR.js → ProjectSettings-BlYXGYRx.js} +5 -3
- package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DbrwK8IB.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DjpouOrH.js} +2 -1
- package/dist/assets/{ResourcesListLayout-i7do2ZBR.js → ResourcesListLayout-CfDIFGjS.js} +5 -4
- package/dist/assets/{RunDataJson-DRtbtIz3.js → RunDataJson-CTm3-xdY.js} +4 -3
- package/dist/assets/{RunDataJsonActions-7l2QvE2z.js → RunDataJsonActions-B_yBOGYB.js} +2 -1
- package/dist/assets/{RunDataParsedAiContent-CD12A0kN.js → RunDataParsedAiContent-Cg9vUI0v.js} +3 -2
- package/dist/assets/{RunDataSearch-LNeMq9j6.js → RunDataSearch-DPt2MvbI.js} +2 -1
- package/dist/assets/{RunDataTable-DcKBX4aO.js → RunDataTable-DHVRSqQT.js} +2 -1
- package/dist/assets/{SamlOnboarding-i5e6HuF6.js → SamlOnboarding-CN_xGqen.js} +4 -3
- package/dist/assets/{SelectedItemsInfo-CfUb0ZrI.css → SelectedItemsInfo-Dl4uynXs.css} +5 -3
- package/dist/assets/{SelectedItemsInfo-C55zD1dl.js → SelectedItemsInfo-DzoCyQOW.js} +12 -7
- package/dist/assets/{SettingsApiView-C3ju5H4H.js → SettingsApiView-BIKCRKGM.js} +2 -1
- package/dist/assets/{SettingsCommunityNodesView-i_vIhGwd.js → SettingsCommunityNodesView-ClWYmDB8.js} +7 -4
- package/dist/assets/{SettingsExternalSecrets-ChCiOX-n.js → SettingsExternalSecrets-D58JxT3V.js} +2 -1
- package/dist/assets/{SettingsLdapView-2QEfpHy6.js → SettingsLdapView-uImCjvMm.js} +2 -1
- package/dist/assets/{SettingsLogStreamingView-BORk25bO.js → SettingsLogStreamingView-DUn62Yq4.js} +2 -1
- package/dist/assets/{SettingsPersonalView-Yl43xiM_.js → SettingsPersonalView-DGiCMsXu.js} +2 -1
- package/dist/assets/{SettingsSourceControl-BpcJX-rJ.js → SettingsSourceControl-CVik5czR.js} +2 -1
- package/dist/assets/{SettingsSso-BugeRCyt.js → SettingsSso-BQkWpsdO.js} +2 -1
- package/dist/assets/{SettingsUsageAndPlan-Dt6g-FQw.js → SettingsUsageAndPlan-BuwgmEka.js} +2 -1
- package/dist/assets/{SettingsUsersView-BhBuZop9.js → SettingsUsersView-DCmtHeMa.js} +2 -1
- package/dist/assets/{SettingsView-Cx0SMMrn.js → SettingsView-CrBThv_a.js} +2 -1
- package/dist/assets/{SetupView-CUJOHrm2.js → SetupView-CES8Gnnv.js} +4 -3
- package/dist/assets/{SetupWorkflowCredentialsButton-D6h_IgTa.js → SetupWorkflowCredentialsButton-Bjhx_rck.js} +2 -1
- package/dist/assets/{SetupWorkflowFromTemplateView-_ReKyIk1.js → SetupWorkflowFromTemplateView-C8kmCc7J.js} +4 -3
- package/dist/assets/{SigninView--fAZZd3A.js → SigninView-24xKsh_S.js} +4 -3
- package/dist/assets/{SignoutView-DXoOH9BS.js → SignoutView-DgFIUUyh.js} +2 -1
- package/dist/assets/{SignupView-d0cK_S0B.js → SignupView-BckB-uUh.js} +4 -3
- package/dist/assets/{TableBase-D5vBzOrx.js → TableBase-CQEzJfeN.js} +2 -1
- package/dist/assets/{Tags-CZdua1l_.js → Tags-DbX-5_Fk.js} +2 -2
- package/dist/assets/{TemplateDetails-ccSWABeF.js → TemplateDetails-BGraOFbY.js} +3 -2
- package/dist/assets/{TemplateList-BKUKBRua.js → TemplateList-5P1N08U1.js} +2 -1
- package/dist/assets/{TemplatesCollectionView-BTyYNxNc.js → TemplatesCollectionView-D2-SU0eR.js} +7 -7
- package/dist/assets/{TemplatesSearchView-BYM3HbbU.js → TemplatesSearchView-ncBXTfOM.js} +4 -3
- package/dist/assets/{TemplatesView-CrH_O4he.js → TemplatesView-DO7HuUts.js} +2 -1
- package/dist/assets/{TemplatesWorkflowView-Dg3REjWI.js → TemplatesWorkflowView-BvrjU4RD.js} +7 -7
- package/dist/assets/{TriggerPanel-dDX4Bzu7.js → TriggerPanel-BFQ6veDz.js} +10 -8
- package/dist/assets/{VariablesView-DQw3gYG7.js → VariablesView-BVzruwEA.js} +7 -6
- package/dist/assets/{WorkerView-DIs4RXZZ.js → WorkerView-DRM6mgWJ.js} +9 -6
- package/dist/assets/{WorkflowActivator-z_Ef2Dd7.js → WorkflowActivator-BOt1oNlm.js} +4 -3
- package/dist/assets/{WorkflowExecutionsInfoAccordion-ptRuD88E.js → WorkflowExecutionsInfoAccordion-BjZUTKcs.js} +3 -2
- package/dist/assets/{WorkflowExecutionsLandingPage-C-RDf8Mu.js → WorkflowExecutionsLandingPage-ENKxL7Yh.js} +4 -3
- package/dist/assets/{WorkflowExecutionsPreview-Bk449wx1.js → WorkflowExecutionsPreview-Cdgg29u5.js} +5 -4
- package/dist/assets/{WorkflowExecutionsView-Dp0exxTM.js → WorkflowExecutionsView-t3W7WuAy.js} +9 -9
- package/dist/assets/{WorkflowHistory-D8zH1o6c.js → WorkflowHistory--OLvuBs1.js} +3 -2
- package/dist/assets/{WorkflowOnboardingView-8OmgIoUc.js → WorkflowOnboardingView-C8y96ur1.js} +2 -1
- package/dist/assets/{WorkflowPreview-jOuoMEkv.js → WorkflowPreview-C1XHoZmU.js} +2 -1
- package/dist/assets/{WorkflowsView-B9MpreL6.js → WorkflowsView-B9rxI0No.js} +272 -62
- package/dist/assets/{WorkflowsView-BuvoAeDm.css → WorkflowsView-MF9XcT0u.css} +186 -0
- package/dist/assets/{canvas-k8kjfgjE.js → canvas-D2PwiGnN.js} +1 -1
- package/dist/assets/{chartjs.utils-BXNxmkto.js → chartjs.utils-B6sz8yOh.js} +2 -2
- package/dist/assets/{core-e2mfCMV8.js → core-Be7WBA6o.js} +2 -1
- package/dist/assets/{en-C3wg5zl_.js → en-CJyn5rnO.js} +26 -20
- package/dist/assets/{global-link-actions-CR3odK4e.js → global-link-actions-B9WsUojd.js} +1 -1
- package/dist/assets/index-4g2Akj0I.js +13861 -0
- package/dist/assets/{index-DnpNicM9.css → index-B7wrqKiF.css} +8081 -8069
- package/dist/assets/{index-DuLlH1tF.js → index-BJG79OsS.js} +326896 -342404
- package/dist/assets/{index-DuaZRDhZ.js → index-LOlKxvn4.js} +2 -1
- package/dist/assets/loadDefaultEn-DNiURDi9.js +8 -0
- package/dist/assets/{pickBy-sB8d3BKD.js → pickBy-BMn768eW.js} +1 -1
- package/dist/assets/{readyToRunWorkflows.store-SxwN_l4P.js → readyToRunWorkflows.store-HSpbq3Bf.js} +2 -1
- package/dist/assets/readyToRunWorkflowsV2.store-DcRVIsRt.js +138 -0
- package/dist/assets/sqlite3-DBpDb1lf.wasm +0 -0
- package/dist/assets/sqlite3-opfs-async-proxy-CYRFPDln.js +579 -0
- package/dist/assets/sqlite3-worker1-bundler-friendly-DF3WqBKq.js +11289 -0
- package/dist/assets/{templateActions-BUeOwdy0.js → templateActions-DR_XHPc4.js} +1 -1
- package/dist/assets/{useBeforeUnload-DpCu12iW.js → useBeforeUnload-DmAaB1v5.js} +2 -1
- package/dist/assets/{useExecutionDebugging-XRtGhlAr.js → useExecutionDebugging-B8xDxcb6.js} +2 -1
- package/dist/assets/{useImportCurlCommand-DJJ0VEAg.js → useImportCurlCommand-BaN8fxqM.js} +2 -1
- package/dist/assets/{useProjectPages-DrMZX3ez.js → useProjectPages-B-oTYbCo.js} +2 -1
- package/dist/assets/{usePushConnection-CPQe3uqU.js → usePushConnection-Bcd2_XWM.js} +36 -22
- package/dist/assets/{useWorkflowActivate-RFJxTj5m.js → useWorkflowActivate-BDE2t3MM.js} +2 -1
- package/dist/assets/worker-DZxlyUFA.js +11826 -0
- package/dist/index.html +3 -2
- package/package.json +1 -1
- package/vite/i18n-locales-hmr-helpers.ts +19 -0
- package/vite.config.mts +25 -1
- package/dist/assets/CollectionParameter--MG-Jsbv.js +0 -4
- package/dist/assets/Tag-CGAmDPzS.js +0 -32
- package/dist/assets/Tag-Cg-Hqs2H.css +0 -153
- package/dist/assets/dataStore.store-vaNG0oX7.js +0 -291
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { u as
|
|
3
|
-
import { B as Breadcrumbs, _ as __unplugin_components_0 } from "./ProjectBreadcrumb-
|
|
4
|
-
import { _ as _sfc_main$8 } from "./DataStoreActions.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { S as SelectedItemsInfo } from "./SelectedItemsInfo-
|
|
1
|
+
import { fK as useDataStoreStore, b as useRouter, a as useToast, ah as InlineRename, fq as PROJECT_DATA_STORES, eb as telemetry, _ as _export_sfc, fO as render, fP as ResponseError, N as N8nIcon, az as vShow, am as N8nActionDropdown, fQ as LOOSE_DATE_REGEX, r as useDebounce, h as N8nPopoverReka, di as N8nInputLabel, cj as N8nInput, aE as withKeys, fR as MAX_COLUMN_NAME_LENGTH, d as N8nText, H as Tooltip, dl as N8nSelect, dm as _sfc_main$9, e as N8nButton, I as _sfc_main$a, fS as COLUMN_NAME_REGEX, fT as ADD_ROW_ROW_ID, fU as NULL_VALUE, fV as EMPTY_VALUE, aJ as DateTime, fW as NUMBER_WITH_SPACES_REGEX, fX as NUMBER_THOUSAND_SEPARATOR, fY as NUMBER_DECIMAL_SEPARATOR, bv as useClipboard, aW as onClickOutside, fZ as DEFAULT_ID_COLUMN_NAME, f_ as reorderItem, f$ as DEFAULT_COLUMN_WIDTH, e1 as orderBy, g0 as DATA_STORE_ID_COLUMN_WIDTH, Z as useMessage, $ as MODAL_CONFIRM, Y as useTelemetry, g1 as DATA_STORE_HEADER_HEIGHT, g2 as DATA_STORE_ROW_HEIGHT, a8 as useDocumentTitle, g3 as MIN_LOADING_TIME, cZ as N8nLoading, cY as _sfc_main$b, g4 as DATA_STORE_VIEW } from "./index-BJG79OsS.js";
|
|
2
|
+
import { o as defineComponent, bB as useTemplateRef, b8 as ref, a9 as computed, bT as useI18n, w as watch, ac as createElementBlock, b1 as openBlock, aQ as normalizeClass, k as createVNode, ad as createBaseVNode, bI as withCtx, bo as toDisplayString, u as unref, aa as createBlock, ab as createCommentVNode, n as nextTick, aO as mergeModels, bs as toRefs, by as useModel, r as onMounted, g as getCurrentInstance, aM as markRaw, s as onUnmounted, aN as mergeDefaults, Q as toRaw, aI as isRef, aG as isReactive, aF as isProxy, bK as withDirectives, bc as resolveComponent, aS as normalizeStyle, ah as createTextVNode, F as Fragment, ba as renderList } from "./index-4g2Akj0I.js";
|
|
3
|
+
import { B as Breadcrumbs, _ as __unplugin_components_0 } from "./ProjectBreadcrumb-9uWmVmc7.js";
|
|
4
|
+
import { _ as _sfc_main$8 } from "./DataStoreActions.vue_vue_type_script_setup_true_lang-qftEof1u.js";
|
|
5
|
+
import { S as SelectedItemsInfo } from "./SelectedItemsInfo-DzoCyQOW.js";
|
|
6
6
|
const BREADCRUMBS_SEPARATOR = "/";
|
|
7
7
|
const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
8
8
|
__name: "DataStoreBreadcrumbs",
|
|
@@ -130,12 +130,12 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
|
-
const separator = "
|
|
133
|
+
const separator = "_separator_1n6ua_133";
|
|
134
134
|
const style0$2 = {
|
|
135
|
-
"data-store-breadcrumbs": "_data-store-
|
|
136
|
-
"data-store-actions": "_data-store-
|
|
135
|
+
"data-store-breadcrumbs": "_data-store-breadcrumbs_1n6ua_123",
|
|
136
|
+
"data-store-actions": "_data-store-actions_1n6ua_128",
|
|
137
137
|
separator,
|
|
138
|
-
"breadcrumb-current": "_breadcrumb-
|
|
138
|
+
"breadcrumb-current": "_breadcrumb-current_1n6ua_139"
|
|
139
139
|
};
|
|
140
140
|
const cssModules$2 = {
|
|
141
141
|
"$style": style0$2
|
|
@@ -41458,11 +41458,20 @@ const useDataStorePagination = (options = {}) => {
|
|
|
41458
41458
|
ensureItemOnPage
|
|
41459
41459
|
};
|
|
41460
41460
|
};
|
|
41461
|
+
const DATA_STORE_COLUMN_TYPES = ["string", "number", "boolean", "date"];
|
|
41462
|
+
const AG_GRID_CELL_TYPES = [
|
|
41463
|
+
"text",
|
|
41464
|
+
"number",
|
|
41465
|
+
"boolean",
|
|
41466
|
+
"date",
|
|
41467
|
+
"dateString",
|
|
41468
|
+
"object"
|
|
41469
|
+
];
|
|
41461
41470
|
const isDataStoreValue = (value) => {
|
|
41462
41471
|
return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean" || value instanceof Date;
|
|
41463
41472
|
};
|
|
41464
41473
|
const isAGGridCellType = (value) => {
|
|
41465
|
-
return typeof value === "string" &&
|
|
41474
|
+
return typeof value === "string" && AG_GRID_CELL_TYPES.includes(value);
|
|
41466
41475
|
};
|
|
41467
41476
|
const COLUMN_TYPE_ICONS = {
|
|
41468
41477
|
string: "type",
|
|
@@ -41472,6 +41481,7 @@ const COLUMN_TYPE_ICONS = {
|
|
|
41472
41481
|
};
|
|
41473
41482
|
const useDataStoreTypes = () => {
|
|
41474
41483
|
const getIconForType = (type) => COLUMN_TYPE_ICONS[type];
|
|
41484
|
+
const i18n = useI18n();
|
|
41475
41485
|
const mapToAGCellType = (colType) => {
|
|
41476
41486
|
if (colType === "string") {
|
|
41477
41487
|
return "text";
|
|
@@ -41501,14 +41511,35 @@ const useDataStoreTypes = () => {
|
|
|
41501
41511
|
return null;
|
|
41502
41512
|
}
|
|
41503
41513
|
};
|
|
41514
|
+
const getAddColumnError = (error) => {
|
|
41515
|
+
const DEFAULT_HTTP_STATUS = 500;
|
|
41516
|
+
const DEFAULT_MESSAGE = i18n.baseText("generic.unknownError");
|
|
41517
|
+
if (error instanceof ResponseError) {
|
|
41518
|
+
return {
|
|
41519
|
+
httpStatus: error.httpStatusCode ?? 500,
|
|
41520
|
+
message: error.message
|
|
41521
|
+
};
|
|
41522
|
+
}
|
|
41523
|
+
if (error instanceof Error) {
|
|
41524
|
+
return {
|
|
41525
|
+
httpStatus: DEFAULT_HTTP_STATUS,
|
|
41526
|
+
message: error.message
|
|
41527
|
+
};
|
|
41528
|
+
}
|
|
41529
|
+
return {
|
|
41530
|
+
httpStatus: DEFAULT_HTTP_STATUS,
|
|
41531
|
+
message: DEFAULT_MESSAGE
|
|
41532
|
+
};
|
|
41533
|
+
};
|
|
41504
41534
|
return {
|
|
41505
41535
|
getIconForType,
|
|
41506
41536
|
mapToAGCellType,
|
|
41507
41537
|
mapToDataStoreColumnType,
|
|
41508
|
-
getDefaultValueForType
|
|
41538
|
+
getDefaultValueForType,
|
|
41539
|
+
getAddColumnError
|
|
41509
41540
|
};
|
|
41510
41541
|
};
|
|
41511
|
-
const _hoisted_1$
|
|
41542
|
+
const _hoisted_1$3 = { class: "data-store-column-header-icon-wrapper" };
|
|
41512
41543
|
const _hoisted_2$2 = {
|
|
41513
41544
|
class: "ag-header-cell-text",
|
|
41514
41545
|
"data-test-id": "data-store-column-header-text"
|
|
@@ -41595,7 +41626,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
41595
41626
|
onMouseleave: onMouseLeave,
|
|
41596
41627
|
onClick: onHeaderClick
|
|
41597
41628
|
}, [
|
|
41598
|
-
createBaseVNode("div", _hoisted_1$
|
|
41629
|
+
createBaseVNode("div", _hoisted_1$3, [
|
|
41599
41630
|
typeIcon.value ? (openBlock(), createBlock(_component_N8nIcon, {
|
|
41600
41631
|
key: 0,
|
|
41601
41632
|
icon: typeIcon.value
|
|
@@ -41629,7 +41660,30 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
|
|
|
41629
41660
|
};
|
|
41630
41661
|
}
|
|
41631
41662
|
});
|
|
41632
|
-
const
|
|
41663
|
+
const parseLooseDateInput = (text) => {
|
|
41664
|
+
const trimmed = text.trim();
|
|
41665
|
+
const m = LOOSE_DATE_REGEX.exec(trimmed);
|
|
41666
|
+
if (!m) return null;
|
|
41667
|
+
const y = Number(m[1]);
|
|
41668
|
+
const mo = Number(m[2]);
|
|
41669
|
+
const d = Number(m[3]);
|
|
41670
|
+
const hh = m[4] !== void 0 ? Number(m[4]) : 0;
|
|
41671
|
+
const mm = m[5] !== void 0 ? Number(m[5]) : 0;
|
|
41672
|
+
const ss = m[6] !== void 0 ? Number(m[6]) : 0;
|
|
41673
|
+
const dt = new Date(y, mo - 1, d, hh, mm, ss, 0);
|
|
41674
|
+
if (dt.getFullYear() !== y || dt.getMonth() !== mo - 1 || dt.getDate() !== d || dt.getHours() !== hh || dt.getMinutes() !== mm || dt.getSeconds() !== ss) {
|
|
41675
|
+
return null;
|
|
41676
|
+
}
|
|
41677
|
+
return dt;
|
|
41678
|
+
};
|
|
41679
|
+
const areValuesEqual = (oldValue, newValue, type) => {
|
|
41680
|
+
if (type && type === "date") {
|
|
41681
|
+
if (oldValue instanceof Date && newValue instanceof Date) {
|
|
41682
|
+
return oldValue.getTime() === newValue.getTime();
|
|
41683
|
+
}
|
|
41684
|
+
}
|
|
41685
|
+
return oldValue === newValue;
|
|
41686
|
+
};
|
|
41633
41687
|
const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
41634
41688
|
__name: "ElDatePickerCellEditor",
|
|
41635
41689
|
props: {
|
|
@@ -41637,17 +41691,53 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
41637
41691
|
},
|
|
41638
41692
|
setup(__props, { expose: __expose }) {
|
|
41639
41693
|
const props = __props;
|
|
41640
|
-
const pickerRef =
|
|
41694
|
+
const pickerRef = useTemplateRef("pickerRef");
|
|
41695
|
+
const wrapperRef = useTemplateRef("wrapperRef");
|
|
41641
41696
|
const dateValue = ref(null);
|
|
41642
41697
|
const initialValue = ref(null);
|
|
41643
41698
|
const inputWidth = ref(props.params.column.getActualWidth() - 4);
|
|
41699
|
+
function commitIfParsedFromInput(target) {
|
|
41700
|
+
const input = target instanceof HTMLInputElement ? target : null;
|
|
41701
|
+
const value = input?.value ?? "";
|
|
41702
|
+
const parsed = parseLooseDateInput(value);
|
|
41703
|
+
if (parsed) {
|
|
41704
|
+
dateValue.value = parsed;
|
|
41705
|
+
props.params.stopEditing();
|
|
41706
|
+
return true;
|
|
41707
|
+
}
|
|
41708
|
+
return false;
|
|
41709
|
+
}
|
|
41710
|
+
function onKeydown(e) {
|
|
41711
|
+
if (e.key === "Escape") {
|
|
41712
|
+
e.stopPropagation();
|
|
41713
|
+
dateValue.value = initialValue.value;
|
|
41714
|
+
props.params.stopEditing();
|
|
41715
|
+
return;
|
|
41716
|
+
}
|
|
41717
|
+
if (e.key === "Enter") {
|
|
41718
|
+
const committed = commitIfParsedFromInput(e.target);
|
|
41719
|
+
if (committed) {
|
|
41720
|
+
e.preventDefault();
|
|
41721
|
+
e.stopPropagation();
|
|
41722
|
+
}
|
|
41723
|
+
}
|
|
41724
|
+
}
|
|
41725
|
+
function getInnerInput() {
|
|
41726
|
+
return wrapperRef.value?.querySelector("input") ?? null;
|
|
41727
|
+
}
|
|
41728
|
+
function onChange() {
|
|
41729
|
+
props.params.stopEditing();
|
|
41730
|
+
}
|
|
41731
|
+
function onClear() {
|
|
41732
|
+
dateValue.value = null;
|
|
41733
|
+
props.params.stopEditing();
|
|
41734
|
+
}
|
|
41644
41735
|
onMounted(async () => {
|
|
41645
41736
|
const initial = props.params.value;
|
|
41646
41737
|
if (initial === null || initial === void 0) {
|
|
41647
41738
|
dateValue.value = null;
|
|
41648
41739
|
} else if (initial instanceof Date) {
|
|
41649
|
-
|
|
41650
|
-
dateValue.value = dt.minus({ minutes: dt.offset }).toJSDate();
|
|
41740
|
+
dateValue.value = initial;
|
|
41651
41741
|
}
|
|
41652
41742
|
initialValue.value = dateValue.value;
|
|
41653
41743
|
await nextTick();
|
|
@@ -41656,35 +41746,25 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
41656
41746
|
} catch {
|
|
41657
41747
|
}
|
|
41658
41748
|
});
|
|
41659
|
-
function onChange() {
|
|
41660
|
-
props.params.stopEditing();
|
|
41661
|
-
}
|
|
41662
|
-
function onClear() {
|
|
41663
|
-
dateValue.value = null;
|
|
41664
|
-
props.params.stopEditing();
|
|
41665
|
-
}
|
|
41666
|
-
function onKeydown(e) {
|
|
41667
|
-
if (e.key === "Escape") {
|
|
41668
|
-
e.stopPropagation();
|
|
41669
|
-
dateValue.value = initialValue.value;
|
|
41670
|
-
props.params.stopEditing();
|
|
41671
|
-
} else if (e.key === "Enter") {
|
|
41672
|
-
e.stopPropagation();
|
|
41673
|
-
props.params.stopEditing();
|
|
41674
|
-
}
|
|
41675
|
-
}
|
|
41676
41749
|
__expose({
|
|
41677
41750
|
getValue: () => {
|
|
41678
|
-
|
|
41679
|
-
const
|
|
41680
|
-
|
|
41751
|
+
const input = getInnerInput();
|
|
41752
|
+
const typed = input?.value ?? "";
|
|
41753
|
+
const parsed = parseLooseDateInput(typed);
|
|
41754
|
+
if (parsed) return parsed;
|
|
41755
|
+
return dateValue.value;
|
|
41681
41756
|
},
|
|
41682
41757
|
isPopup: () => true
|
|
41683
41758
|
});
|
|
41684
41759
|
return (_ctx, _cache) => {
|
|
41685
41760
|
const _component_el_date_picker = resolveComponent("el-date-picker");
|
|
41686
|
-
return openBlock(), createElementBlock("div",
|
|
41761
|
+
return openBlock(), createElementBlock("div", {
|
|
41762
|
+
ref_key: "wrapperRef",
|
|
41763
|
+
ref: wrapperRef,
|
|
41764
|
+
class: "datastore-datepicker-wrapper"
|
|
41765
|
+
}, [
|
|
41687
41766
|
createVNode(_component_el_date_picker, {
|
|
41767
|
+
id: "datastore-datepicker",
|
|
41688
41768
|
ref_key: "pickerRef",
|
|
41689
41769
|
ref: pickerRef,
|
|
41690
41770
|
modelValue: dateValue.value,
|
|
@@ -41692,19 +41772,24 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
|
|
|
41692
41772
|
type: "datetime",
|
|
41693
41773
|
style: normalizeStyle({ width: `${inputWidth.value}px` }),
|
|
41694
41774
|
clearable: true,
|
|
41695
|
-
editable:
|
|
41775
|
+
editable: true,
|
|
41696
41776
|
teleported: false,
|
|
41697
|
-
|
|
41777
|
+
"popper-class": "ag-custom-component-popup datastore-datepicker-popper",
|
|
41778
|
+
placeholder: "YYYY-MM-DD (HH:mm:ss)",
|
|
41779
|
+
size: "small",
|
|
41698
41780
|
onChange,
|
|
41699
41781
|
onClear,
|
|
41700
41782
|
onKeydown
|
|
41701
41783
|
}, null, 8, ["modelValue", "style"])
|
|
41702
|
-
]);
|
|
41784
|
+
], 512);
|
|
41703
41785
|
};
|
|
41704
41786
|
}
|
|
41705
41787
|
});
|
|
41706
41788
|
const _hoisted_1$2 = { class: "add-column-header-component-wrapper" };
|
|
41707
|
-
const _hoisted_2$1 = {
|
|
41789
|
+
const _hoisted_2$1 = {
|
|
41790
|
+
class: "add-ds-column-header-popover-content",
|
|
41791
|
+
"data-test-id": "add-column-popover-content"
|
|
41792
|
+
};
|
|
41708
41793
|
const _hoisted_3 = { class: "popover-body" };
|
|
41709
41794
|
const _hoisted_4 = {
|
|
41710
41795
|
key: 0,
|
|
@@ -41726,21 +41811,39 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
41726
41811
|
const nameInputRef = ref(null);
|
|
41727
41812
|
const columnName = ref("");
|
|
41728
41813
|
const columnType = ref("string");
|
|
41729
|
-
const columnTypes = [
|
|
41814
|
+
const columnTypes = [...DATA_STORE_COLUMN_TYPES];
|
|
41730
41815
|
const error = ref(null);
|
|
41731
41816
|
const popoverOpen = ref(false);
|
|
41732
41817
|
const isSelectOpen = ref(false);
|
|
41733
41818
|
const popoverId = computed(() => props.popoverId ?? "add-column-popover");
|
|
41819
|
+
const columnTypeOptions = computed(() => {
|
|
41820
|
+
return columnTypes.map((type) => ({
|
|
41821
|
+
label: type === "date" ? "datetime" : type,
|
|
41822
|
+
value: type
|
|
41823
|
+
}));
|
|
41824
|
+
});
|
|
41734
41825
|
const onAddButtonClicked = async () => {
|
|
41735
41826
|
validateName();
|
|
41736
41827
|
if (!columnName.value || !columnType.value || error.value) {
|
|
41737
41828
|
return;
|
|
41738
41829
|
}
|
|
41739
|
-
const
|
|
41830
|
+
const response = await props.params.onAddColumn({
|
|
41740
41831
|
name: columnName.value,
|
|
41741
41832
|
type: columnType.value
|
|
41742
41833
|
});
|
|
41743
|
-
if (!success) {
|
|
41834
|
+
if (!response.success) {
|
|
41835
|
+
let errorMessage = i18n.baseText("dataStore.addColumn.error");
|
|
41836
|
+
let errorDescription = response.errorMessage;
|
|
41837
|
+
if (response.httpStatus === 409) {
|
|
41838
|
+
errorMessage = i18n.baseText("dataStore.addColumn.alreadyExistsError", {
|
|
41839
|
+
interpolate: { name: columnName.value }
|
|
41840
|
+
});
|
|
41841
|
+
errorDescription = i18n.baseText("dataStore.addColumn.alreadyExistsDescription");
|
|
41842
|
+
}
|
|
41843
|
+
error.value = {
|
|
41844
|
+
message: errorMessage,
|
|
41845
|
+
description: errorDescription
|
|
41846
|
+
};
|
|
41744
41847
|
return;
|
|
41745
41848
|
}
|
|
41746
41849
|
columnName.value = "";
|
|
@@ -41763,7 +41866,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
41763
41866
|
error.value = null;
|
|
41764
41867
|
}
|
|
41765
41868
|
if (columnName.value && !COLUMN_NAME_REGEX.test(columnName.value)) {
|
|
41766
|
-
error.value =
|
|
41869
|
+
error.value = {
|
|
41870
|
+
message: i18n.baseText("dataStore.addColumn.invalidName.error"),
|
|
41871
|
+
description: i18n.baseText("dataStore.addColumn.invalidName.description")
|
|
41872
|
+
};
|
|
41767
41873
|
}
|
|
41768
41874
|
};
|
|
41769
41875
|
const onInput = debounce(validateName, { debounceTime: 100 });
|
|
@@ -41830,18 +41936,21 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
41830
41936
|
onInput: unref(onInput)
|
|
41831
41937
|
}, null, 8, ["modelValue", "placeholder", "maxlength", "onInput"]),
|
|
41832
41938
|
error.value ? (openBlock(), createElementBlock("div", _hoisted_4, [
|
|
41833
|
-
|
|
41939
|
+
error.value.message ? (openBlock(), createBlock(_component_n8n_text, {
|
|
41940
|
+
key: 0,
|
|
41834
41941
|
size: "small",
|
|
41835
41942
|
color: "danger",
|
|
41836
41943
|
tag: "span"
|
|
41837
41944
|
}, {
|
|
41838
41945
|
default: withCtx(() => [
|
|
41839
|
-
createTextVNode(toDisplayString(error.value), 1)
|
|
41946
|
+
createTextVNode(toDisplayString(error.value.message), 1)
|
|
41840
41947
|
]),
|
|
41841
41948
|
_: 1
|
|
41842
|
-
}),
|
|
41949
|
+
})) : createCommentVNode("", true),
|
|
41843
41950
|
createVNode(Tooltip, {
|
|
41844
|
-
content:
|
|
41951
|
+
content: error.value.description,
|
|
41952
|
+
placement: "top",
|
|
41953
|
+
disabled: !error.value.description
|
|
41845
41954
|
}, {
|
|
41846
41955
|
default: withCtx(() => [
|
|
41847
41956
|
createVNode(_component_N8nIcon, {
|
|
@@ -41853,7 +41962,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
41853
41962
|
})
|
|
41854
41963
|
]),
|
|
41855
41964
|
_: 1
|
|
41856
|
-
}, 8, ["content"])
|
|
41965
|
+
}, 8, ["content", "disabled"])
|
|
41857
41966
|
])) : createCommentVNode("", true)
|
|
41858
41967
|
]),
|
|
41859
41968
|
_: 1
|
|
@@ -41871,27 +41980,28 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
41871
41980
|
onVisibleChange: _cache[2] || (_cache[2] = ($event) => isSelectOpen.value = $event)
|
|
41872
41981
|
}, {
|
|
41873
41982
|
default: withCtx(() => [
|
|
41874
|
-
(openBlock(), createElementBlock(Fragment, null, renderList(
|
|
41875
|
-
return
|
|
41876
|
-
key:
|
|
41877
|
-
|
|
41983
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(columnTypeOptions.value, (option) => {
|
|
41984
|
+
return openBlock(), createBlock(_component_N8nOption, {
|
|
41985
|
+
key: option.value,
|
|
41986
|
+
label: option.label,
|
|
41987
|
+
value: option.value
|
|
41878
41988
|
}, {
|
|
41879
41989
|
default: withCtx(() => [
|
|
41880
41990
|
createBaseVNode("div", _hoisted_5, [
|
|
41881
41991
|
createVNode(_component_N8nIcon, {
|
|
41882
|
-
icon: unref(getIconForType)(
|
|
41992
|
+
icon: unref(getIconForType)(option.value)
|
|
41883
41993
|
}, null, 8, ["icon"]),
|
|
41884
41994
|
createVNode(_component_N8nText, null, {
|
|
41885
41995
|
default: withCtx(() => [
|
|
41886
|
-
createTextVNode(toDisplayString(
|
|
41996
|
+
createTextVNode(toDisplayString(option.label), 1)
|
|
41887
41997
|
]),
|
|
41888
41998
|
_: 2
|
|
41889
41999
|
}, 1024)
|
|
41890
42000
|
])
|
|
41891
42001
|
]),
|
|
41892
42002
|
_: 2
|
|
41893
|
-
}, 1032, ["value"]);
|
|
41894
|
-
}),
|
|
42003
|
+
}, 1032, ["label", "value"]);
|
|
42004
|
+
}), 128))
|
|
41895
42005
|
]),
|
|
41896
42006
|
_: 1
|
|
41897
42007
|
}, 8, ["modelValue", "append-to"])
|
|
@@ -42023,7 +42133,17 @@ const stringCellEditorParams = (params) => ({
|
|
|
42023
42133
|
const dateValueFormatter = (params) => {
|
|
42024
42134
|
const value = params.value;
|
|
42025
42135
|
if (value === null || value === void 0) return "";
|
|
42026
|
-
return value.
|
|
42136
|
+
return DateTime.fromJSDate(value).toISO() ?? "";
|
|
42137
|
+
};
|
|
42138
|
+
const numberWithSpaces = (num) => {
|
|
42139
|
+
const parts = num.toString().split(".");
|
|
42140
|
+
parts[0] = parts[0].replace(NUMBER_WITH_SPACES_REGEX, NUMBER_THOUSAND_SEPARATOR);
|
|
42141
|
+
return parts.join(NUMBER_DECIMAL_SEPARATOR);
|
|
42142
|
+
};
|
|
42143
|
+
const numberValueFormatter = (params) => {
|
|
42144
|
+
const value = params.value;
|
|
42145
|
+
if (value === null || value === void 0) return "";
|
|
42146
|
+
return numberWithSpaces(value);
|
|
42027
42147
|
};
|
|
42028
42148
|
const useDataStoreGridBase = ({
|
|
42029
42149
|
gridContainerRef,
|
|
@@ -42066,13 +42186,25 @@ const useDataStoreGridBase = ({
|
|
|
42066
42186
|
const focusFirstEditableCell = (rowId) => {
|
|
42067
42187
|
const rowNode = initializedGridApi.value.getRowNode(String(rowId));
|
|
42068
42188
|
if (rowNode?.rowIndex === null) return;
|
|
42069
|
-
const
|
|
42070
|
-
|
|
42071
|
-
|
|
42072
|
-
|
|
42073
|
-
|
|
42074
|
-
|
|
42075
|
-
|
|
42189
|
+
const rowIndex = rowNode.rowIndex;
|
|
42190
|
+
const displayed = initializedGridApi.value.getAllDisplayedColumns();
|
|
42191
|
+
const firstEditable = displayed.find((col) => {
|
|
42192
|
+
const def = col.getColDef();
|
|
42193
|
+
if (!def) return false;
|
|
42194
|
+
if (def.colId === DEFAULT_ID_COLUMN_NAME) return false;
|
|
42195
|
+
return !!def.editable;
|
|
42196
|
+
});
|
|
42197
|
+
if (!firstEditable) return;
|
|
42198
|
+
const columnId = firstEditable.getColId();
|
|
42199
|
+
requestAnimationFrame(() => {
|
|
42200
|
+
initializedGridApi.value.ensureIndexVisible(rowIndex);
|
|
42201
|
+
requestAnimationFrame(() => {
|
|
42202
|
+
initializedGridApi.value.setFocusedCell(rowIndex, columnId);
|
|
42203
|
+
initializedGridApi.value.startEditingCell({
|
|
42204
|
+
rowIndex,
|
|
42205
|
+
colKey: columnId
|
|
42206
|
+
});
|
|
42207
|
+
});
|
|
42076
42208
|
});
|
|
42077
42209
|
};
|
|
42078
42210
|
const createColumnDef = (col, extraProps = {}) => {
|
|
@@ -42081,7 +42213,6 @@ const useDataStoreGridBase = ({
|
|
|
42081
42213
|
field: col.name,
|
|
42082
42214
|
headerName: col.name,
|
|
42083
42215
|
sortable: true,
|
|
42084
|
-
flex: 1,
|
|
42085
42216
|
editable: (params) => params.data?.id !== ADD_ROW_ROW_ID,
|
|
42086
42217
|
resizable: true,
|
|
42087
42218
|
lockPinned: true,
|
|
@@ -42091,7 +42222,8 @@ const useDataStoreGridBase = ({
|
|
|
42091
42222
|
cellDataType: mapToAGCellType(col.type),
|
|
42092
42223
|
cellClass: getCellClass,
|
|
42093
42224
|
valueGetter: createValueGetter(col),
|
|
42094
|
-
cellRendererSelector: createCellRendererSelector(col)
|
|
42225
|
+
cellRendererSelector: createCellRendererSelector(col),
|
|
42226
|
+
width: DEFAULT_COLUMN_WIDTH
|
|
42095
42227
|
};
|
|
42096
42228
|
if (col.type === "string") {
|
|
42097
42229
|
columnDef.cellEditor = "agLargeTextCellEditor";
|
|
@@ -42104,6 +42236,9 @@ const useDataStoreGridBase = ({
|
|
|
42104
42236
|
component: _sfc_main$5
|
|
42105
42237
|
});
|
|
42106
42238
|
columnDef.valueFormatter = dateValueFormatter;
|
|
42239
|
+
columnDef.cellEditorPopup = true;
|
|
42240
|
+
} else if (col.type === "number") {
|
|
42241
|
+
columnDef.valueFormatter = numberValueFormatter;
|
|
42107
42242
|
}
|
|
42108
42243
|
return {
|
|
42109
42244
|
...columnDef,
|
|
@@ -42130,7 +42265,10 @@ const useDataStoreGridBase = ({
|
|
|
42130
42265
|
lockPosition: "right",
|
|
42131
42266
|
headerComponentParams: {
|
|
42132
42267
|
allowMenuActions: false
|
|
42133
|
-
}
|
|
42268
|
+
},
|
|
42269
|
+
cellClass: (params) => params.data?.id === ADD_ROW_ROW_ID ? "add-row-cell" : "system-cell",
|
|
42270
|
+
headerClass: "system-column",
|
|
42271
|
+
width: DEFAULT_COLUMN_WIDTH
|
|
42134
42272
|
};
|
|
42135
42273
|
return [
|
|
42136
42274
|
// Always add the ID column, it's not returned by the back-end but all data stores have it
|
|
@@ -42143,13 +42281,14 @@ const useDataStoreGridBase = ({
|
|
|
42143
42281
|
},
|
|
42144
42282
|
{
|
|
42145
42283
|
editable: false,
|
|
42146
|
-
sortable:
|
|
42284
|
+
sortable: true,
|
|
42147
42285
|
suppressMovable: true,
|
|
42148
42286
|
headerComponent: null,
|
|
42149
42287
|
lockPosition: true,
|
|
42150
42288
|
minWidth: DATA_STORE_ID_COLUMN_WIDTH,
|
|
42151
42289
|
maxWidth: DATA_STORE_ID_COLUMN_WIDTH,
|
|
42152
42290
|
resizable: false,
|
|
42291
|
+
headerClass: "system-column",
|
|
42153
42292
|
cellClass: (params) => params.data?.id === ADD_ROW_ROW_ID ? "add-row-cell" : "id-column",
|
|
42154
42293
|
cellRendererSelector: (params) => {
|
|
42155
42294
|
if (params.value === ADD_ROW_ROW_ID) {
|
|
@@ -42195,6 +42334,7 @@ const useDataStoreGridBase = ({
|
|
|
42195
42334
|
lockPinned: true,
|
|
42196
42335
|
lockPosition: "right",
|
|
42197
42336
|
resizable: false,
|
|
42337
|
+
flex: 1,
|
|
42198
42338
|
headerComponent: _sfc_main$4,
|
|
42199
42339
|
headerComponentParams: { onAddColumn }
|
|
42200
42340
|
}
|
|
@@ -42390,6 +42530,7 @@ const useDataStoreOperations = ({
|
|
|
42390
42530
|
const dataStoreStore = useDataStoreStore();
|
|
42391
42531
|
const contentLoading = ref(false);
|
|
42392
42532
|
const telemetry2 = useTelemetry();
|
|
42533
|
+
const dataStoreTypes = useDataStoreTypes();
|
|
42393
42534
|
async function onDeleteColumn(columnId) {
|
|
42394
42535
|
const columnToDelete = colDefs.value.find((col) => col.colId === columnId);
|
|
42395
42536
|
if (!columnToDelete) return;
|
|
@@ -42441,10 +42582,14 @@ const useDataStoreOperations = ({
|
|
|
42441
42582
|
column_type: newColumn.type,
|
|
42442
42583
|
data_table_id: dataStoreId
|
|
42443
42584
|
});
|
|
42444
|
-
return true;
|
|
42585
|
+
return { success: true, httpStatus: 200 };
|
|
42445
42586
|
} catch (error) {
|
|
42446
|
-
|
|
42447
|
-
return
|
|
42587
|
+
const addColumnError = dataStoreTypes.getAddColumnError(error);
|
|
42588
|
+
return {
|
|
42589
|
+
success: false,
|
|
42590
|
+
httpStatus: addColumnError.httpStatus,
|
|
42591
|
+
errorMessage: addColumnError.message
|
|
42592
|
+
};
|
|
42448
42593
|
}
|
|
42449
42594
|
}
|
|
42450
42595
|
const onColumnMoved = async (moveEvent) => {
|
|
@@ -42490,7 +42635,8 @@ const useDataStoreOperations = ({
|
|
|
42490
42635
|
const onCellValueChanged = async (params) => {
|
|
42491
42636
|
const { data, api, oldValue, colDef } = params;
|
|
42492
42637
|
const value = params.data[colDef.field];
|
|
42493
|
-
|
|
42638
|
+
const cellType = isAGGridCellType(colDef.cellDataType) ? dataStoreTypes.mapToDataStoreColumnType(colDef.cellDataType) : void 0;
|
|
42639
|
+
if (value === void 0 || areValuesEqual(oldValue, value, cellType)) {
|
|
42494
42640
|
return;
|
|
42495
42641
|
}
|
|
42496
42642
|
if (typeof data.id !== "number") {
|
|
@@ -42560,11 +42706,6 @@ const useDataStoreOperations = ({
|
|
|
42560
42706
|
const idsToDelete = Array.from(selectedRowIds.value);
|
|
42561
42707
|
await dataStoreStore.deleteRows(dataStoreId, projectId, idsToDelete);
|
|
42562
42708
|
await fetchDataStoreRows();
|
|
42563
|
-
toast.showToast({
|
|
42564
|
-
title: i18n.baseText("dataStore.deleteRows.success"),
|
|
42565
|
-
message: "",
|
|
42566
|
-
type: "success"
|
|
42567
|
-
});
|
|
42568
42709
|
telemetry2.track("User deleted rows in data table", {
|
|
42569
42710
|
data_table_id: dataStoreId,
|
|
42570
42711
|
deleted_row_count: idsToDelete.length
|
|
@@ -42576,15 +42717,22 @@ const useDataStoreOperations = ({
|
|
|
42576
42717
|
}
|
|
42577
42718
|
};
|
|
42578
42719
|
const onCellKeyDown = async (params) => {
|
|
42579
|
-
|
|
42720
|
+
const event = params.event;
|
|
42721
|
+
const target = event.target;
|
|
42722
|
+
const isSelectionColumn = params.column.getColId() === "ag-Grid-SelectionColumn";
|
|
42723
|
+
const isEditing2 = params.api.getEditingCells().length > 0 || target instanceof HTMLInputElement && !isSelectionColumn;
|
|
42724
|
+
if (isEditing2) {
|
|
42580
42725
|
return;
|
|
42581
42726
|
}
|
|
42582
|
-
const event = params.event;
|
|
42583
42727
|
if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "c") {
|
|
42584
42728
|
event.preventDefault();
|
|
42585
42729
|
await handleCopyFocusedCell(params);
|
|
42586
42730
|
return;
|
|
42587
42731
|
}
|
|
42732
|
+
if (event.key === "Escape") {
|
|
42733
|
+
handleClearSelection();
|
|
42734
|
+
return;
|
|
42735
|
+
}
|
|
42588
42736
|
if (event.key !== "Delete" && event.key !== "Backspace" || selectedRowIds.value.size === 0) {
|
|
42589
42737
|
return;
|
|
42590
42738
|
}
|
|
@@ -42632,6 +42780,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
42632
42780
|
const props = __props;
|
|
42633
42781
|
const emit = __emit;
|
|
42634
42782
|
const gridContainerRef = useTemplateRef("gridContainerRef");
|
|
42783
|
+
const i18n = useI18n();
|
|
42635
42784
|
const dataStoreGridBase = useDataStoreGridBase({
|
|
42636
42785
|
gridContainerRef,
|
|
42637
42786
|
onDeleteColumn: onDeleteColumnFunction,
|
|
@@ -42640,7 +42789,18 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
42640
42789
|
});
|
|
42641
42790
|
const rowData = ref([]);
|
|
42642
42791
|
const hasRecords = computed(() => rowData.value.length > 0);
|
|
42643
|
-
const
|
|
42792
|
+
const {
|
|
42793
|
+
currentPage,
|
|
42794
|
+
pageSize,
|
|
42795
|
+
totalItems,
|
|
42796
|
+
pageSizeOptions,
|
|
42797
|
+
ensureItemOnPage,
|
|
42798
|
+
setTotalItems,
|
|
42799
|
+
setCurrentPage,
|
|
42800
|
+
setPageSize
|
|
42801
|
+
} = useDataStorePagination({
|
|
42802
|
+
onChange: fetchDataStoreRowsFunction
|
|
42803
|
+
});
|
|
42644
42804
|
const selection = useDataStoreSelection({
|
|
42645
42805
|
gridApi: dataStoreGridBase.gridApi
|
|
42646
42806
|
});
|
|
@@ -42655,13 +42815,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
42655
42815
|
addGridColumn: dataStoreGridBase.addColumn,
|
|
42656
42816
|
moveGridColumn: dataStoreGridBase.moveColumn,
|
|
42657
42817
|
gridApi: dataStoreGridBase.gridApi,
|
|
42658
|
-
totalItems
|
|
42659
|
-
setTotalItems
|
|
42660
|
-
ensureItemOnPage
|
|
42818
|
+
totalItems,
|
|
42819
|
+
setTotalItems,
|
|
42820
|
+
ensureItemOnPage,
|
|
42661
42821
|
focusFirstEditableCell: dataStoreGridBase.focusFirstEditableCell,
|
|
42662
42822
|
toggleSave: emit.bind(null, "toggleSave"),
|
|
42663
|
-
currentPage
|
|
42664
|
-
pageSize
|
|
42823
|
+
currentPage,
|
|
42824
|
+
pageSize,
|
|
42665
42825
|
currentSortBy: dataStoreGridBase.currentSortBy,
|
|
42666
42826
|
currentSortOrder: dataStoreGridBase.currentSortOrder,
|
|
42667
42827
|
handleClearSelection: selection.handleClearSelection,
|
|
@@ -42685,8 +42845,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
42685
42845
|
dataStoreGridBase.loadColumns(props.dataStore.columns);
|
|
42686
42846
|
await dataStoreOperations.fetchDataStoreRows();
|
|
42687
42847
|
};
|
|
42848
|
+
const customNoRowsOverlay = `<div class="no-rows-overlay ag-overlay-no-rows-center" data-test-id="data-store-no-rows-overlay">${i18n.baseText("dataStore.noRows")}</div>`;
|
|
42688
42849
|
watch([dataStoreGridBase.currentSortBy, dataStoreGridBase.currentSortOrder], async () => {
|
|
42689
|
-
await
|
|
42850
|
+
await setCurrentPage(1);
|
|
42690
42851
|
});
|
|
42691
42852
|
__expose({
|
|
42692
42853
|
addRow: dataStoreOperations.onAddRowClick,
|
|
@@ -42717,6 +42878,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
42717
42878
|
"stop-editing-when-cells-lose-focus": true,
|
|
42718
42879
|
"undo-redo-cell-editing": true,
|
|
42719
42880
|
"suppress-multi-sort": true,
|
|
42881
|
+
"overlay-no-rows-template": customNoRowsOverlay,
|
|
42720
42882
|
onGridReady: initialize,
|
|
42721
42883
|
onCellValueChanged: unref(dataStoreOperations).onCellValueChanged,
|
|
42722
42884
|
onColumnMoved: unref(dataStoreOperations).onColumnMoved,
|
|
@@ -42733,19 +42895,19 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
42733
42895
|
class: normalizeClass(_ctx.$style.footer)
|
|
42734
42896
|
}, [
|
|
42735
42897
|
createVNode(_component_el_pagination, {
|
|
42736
|
-
"current-page": unref(
|
|
42898
|
+
"current-page": unref(currentPage),
|
|
42737
42899
|
"onUpdate:currentPage": [
|
|
42738
|
-
_cache[0] || (_cache[0] = ($event) =>
|
|
42739
|
-
unref(
|
|
42900
|
+
_cache[0] || (_cache[0] = ($event) => isRef(currentPage) ? currentPage.value = $event : null),
|
|
42901
|
+
unref(setCurrentPage)
|
|
42740
42902
|
],
|
|
42741
|
-
"page-size": unref(
|
|
42742
|
-
"onUpdate:pageSize": _cache[1] || (_cache[1] = ($event) =>
|
|
42903
|
+
"page-size": unref(pageSize),
|
|
42904
|
+
"onUpdate:pageSize": _cache[1] || (_cache[1] = ($event) => isRef(pageSize) ? pageSize.value = $event : null),
|
|
42743
42905
|
"data-test-id": "data-store-content-pagination",
|
|
42744
42906
|
background: "",
|
|
42745
|
-
total: unref(
|
|
42746
|
-
"page-sizes": unref(
|
|
42907
|
+
total: unref(totalItems),
|
|
42908
|
+
"page-sizes": unref(pageSizeOptions),
|
|
42747
42909
|
layout: "total, prev, pager, next, sizes",
|
|
42748
|
-
onSizeChange: unref(
|
|
42910
|
+
onSizeChange: unref(setPageSize)
|
|
42749
42911
|
}, null, 8, ["current-page", "page-size", "total", "page-sizes", "onUpdate:currentPage", "onSizeChange"])
|
|
42750
42912
|
], 2),
|
|
42751
42913
|
createVNode(SelectedItemsInfo, {
|
|
@@ -42757,12 +42919,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
42757
42919
|
};
|
|
42758
42920
|
}
|
|
42759
42921
|
});
|
|
42760
|
-
const wrapper = "
|
|
42761
|
-
const footer = "
|
|
42922
|
+
const wrapper = "_wrapper_1x5db_123";
|
|
42923
|
+
const footer = "_footer_1x5db_252";
|
|
42762
42924
|
const style0$1 = {
|
|
42763
42925
|
wrapper,
|
|
42764
|
-
"grid-container": "_grid-
|
|
42765
|
-
"has-records": "_has-
|
|
42926
|
+
"grid-container": "_grid-container_1x5db_130",
|
|
42927
|
+
"has-records": "_has-records_1x5db_242",
|
|
42766
42928
|
footer
|
|
42767
42929
|
};
|
|
42768
42930
|
const cssModules$1 = {
|
|
@@ -42836,7 +42998,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
42836
42998
|
};
|
|
42837
42999
|
const onAddColumn = async (column) => {
|
|
42838
43000
|
if (!dataStoreTableRef.value) {
|
|
42839
|
-
return
|
|
43001
|
+
return {
|
|
43002
|
+
success: false,
|
|
43003
|
+
errorMessage: i18n.baseText("dataStore.error.tableNotInitialized")
|
|
43004
|
+
};
|
|
42840
43005
|
}
|
|
42841
43006
|
return await dataStoreTableRef.value.addColumn(column);
|
|
42842
43007
|
};
|