From c87871860e09e843211fd1d5d0359eb3cea96b85 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Wed, 5 Oct 2022 12:34:27 -0500 Subject: [PATCH] Update to format dates (e.g., from query string), so that they show up --- src/qqq/pages/entity-list/index.tsx | 2 +- src/qqq/utils/QFilterUtils.ts | 27 ++++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/qqq/pages/entity-list/index.tsx b/src/qqq/pages/entity-list/index.tsx index a9dc386..1fae608 100644 --- a/src/qqq/pages/entity-list/index.tsx +++ b/src/qqq/pages/entity-list/index.tsx @@ -105,7 +105,7 @@ function getDefaultFilter(tableMetaData: QTableMetaData, searchParams: URLSearch defaultFilter.items.push({ columnField: criteria.fieldName, operatorValue: QFilterUtils.qqqCriteriaOperatorToGrid(criteria.operator, fieldType, criteria.values), - value: QFilterUtils.qqqCriteriaValuesToGrid(criteria.operator, criteria.values), + value: QFilterUtils.qqqCriteriaValuesToGrid(criteria.operator, criteria.values, fieldType), id: id++, // not sure what this id is!! }); }); diff --git a/src/qqq/utils/QFilterUtils.ts b/src/qqq/utils/QFilterUtils.ts index c51a8bc..c0c776e 100644 --- a/src/qqq/utils/QFilterUtils.ts +++ b/src/qqq/utils/QFilterUtils.ts @@ -231,7 +231,7 @@ class QFilterUtils /******************************************************************************* ** *******************************************************************************/ - public static qqqCriteriaValuesToGrid = (operator: QCriteriaOperator, values: any[]): any | any[] => + public static qqqCriteriaValuesToGrid = (operator: QCriteriaOperator, values: any[], fieldType: QFieldType): any | any[] => { if (operator === QCriteriaOperator.IS_BLANK || operator === QCriteriaOperator.IS_NOT_BLANK) { @@ -242,6 +242,31 @@ class QFilterUtils return (values); } + if(values.length > 0) + { + //////////////////////////////////////////////////////////////////////////////////////////////// + // make sure dates are formatted for the grid the way it expects - not the way we pass it in. // + //////////////////////////////////////////////////////////////////////////////////////////////// + if (fieldType === QFieldType.DATE_TIME) + { + const inputValue = values[0]; + if(inputValue.match(/^\d{4}-\d{2}-\d{2}$/)) + { + ////////////////////////////////////////////////////////////////// + // if we just passed in a date (w/o time), attach T00:00 to it. // + ////////////////////////////////////////////////////////////////// + values[0] = inputValue + "T00:00"; + } + else if(inputValue.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}.*/)) + { + /////////////////////////////////////////////////////////////////////////////////// + // if we passed in something too long (e.g., w/ seconds and fractions), trim it. // + /////////////////////////////////////////////////////////////////////////////////// + values[0] = inputValue.substring(0, 16); + } + } + } + return (values[0]); }; }