fixed datetime filtering #912

This commit is contained in:
SPRINX0\prochazka
2024-10-08 14:38:46 +02:00
parent 4459347169
commit 6806620d90
6 changed files with 19 additions and 7 deletions

View File

@@ -24,6 +24,7 @@
"@types/parsimmon": "^1.10.1",
"dbgate-tools": "^5.0.0-alpha.1",
"lodash": "^4.17.21",
"date-fns": "^4.1.0",
"moment": "^2.24.0",
"parsimmon": "^1.13.0"
}

View File

@@ -1,11 +1,19 @@
import { arrayToHexString, isTypeDateTime } from 'dbgate-tools';
import moment from 'moment';
import { format, toDate } from 'date-fns';
import _isString from 'lodash/isString';
export type FilterMultipleValuesMode = 'is' | 'is_not' | 'contains' | 'begins' | 'ends';
function getDateStringWithoutTimeZone(dateString) {
if (_isString(dateString)) {
return dateString.replace(/Z|([+-]\d{2}:\d{2})$/, '');
}
return dateString;
}
export function getFilterValueExpression(value, dataType?) {
if (value == null) return 'NULL';
if (isTypeDateTime(dataType)) return moment(value).format('YYYY-MM-DD HH:mm:ss');
if (isTypeDateTime(dataType)) return format(toDate(getDateStringWithoutTimeZone(value)), 'yyyy-MM-dd HH:mm:ss');
if (value === true) return 'TRUE';
if (value === false) return 'FALSE';
if (value.$oid) return `ObjectId("${value.$oid}")`;

View File

@@ -58,7 +58,7 @@
},
"dependencies": {
"chartjs-plugin-zoom": "^1.2.0",
"date-fns": "^2.28.0",
"date-fns": "^4.1.0",
"debug": "^4.3.4",
"fuzzy": "^0.1.3",
"interval-operations": "^1.0.7",

View File

@@ -1,4 +1,3 @@
import { ca } from 'date-fns/locale';
import { apiCall, enableApi, getAuthCategory } from './utility/api';
import { getConfig } from './utility/metadataLoaders';
import { isAdminPage } from './utility/pageDefs';

View File

@@ -13,8 +13,7 @@
import { parseCellValue, safeJsonParse, stringifyCellValue } from 'dbgate-tools';
import { showSnackbarError } from '../utility/snackbar';
import ErrorMessageModal from './ErrorMessageModal.svelte';
import da from 'date-fns/locale/da';
export let onSave;
export let value;

View File

@@ -4093,13 +4093,18 @@ data-view-byte-offset@^1.0.0:
es-errors "^1.3.0"
is-data-view "^1.0.1"
date-fns@^2.0.1, date-fns@^2.28.0:
date-fns@^2.0.1:
version "2.30.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0"
integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==
dependencies:
"@babel/runtime" "^7.21.0"
date-fns@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-4.1.0.tgz#64b3d83fff5aa80438f5b1a633c2e83b8a1c2d14"
integrity sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==
dateformat@^4.6.3:
version "4.6.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.6.3.tgz#556fa6497e5217fedb78821424f8a1c22fa3f4b5"