From 2900cd8593dbc0039cd7a6a91aab9e1721166f1b Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Tue, 27 Feb 2024 13:35:37 -0600 Subject: [PATCH] CE-798 follow-up - Prevent tab in date/date-time filter value input boxes from closing a quick-filter menu (via an onKeyDown handler) --- .../query/FilterCriteriaRowValues.tsx | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/qqq/components/query/FilterCriteriaRowValues.tsx b/src/qqq/components/query/FilterCriteriaRowValues.tsx index 90806be..38f0e66 100644 --- a/src/qqq/components/query/FilterCriteriaRowValues.tsx +++ b/src/qqq/components/query/FilterCriteriaRowValues.tsx @@ -94,6 +94,24 @@ export const makeTextField = (field: QFieldMetaData, criteria: QFilterCriteriaWi document.getElementById(`${idPrefix}${criteria.id}`).focus(); }; + + + /******************************************************************************* + ** Event handler for key-down events - specifically added here, to stop pressing + ** 'tab' in a date or date-time from closing the quick-filter... + *******************************************************************************/ + const handleKeyDown = (e: any) => + { + if (field.type == QFieldType.DATE || field.type == QFieldType.DATE_TIME) + { + if(e.code == "Tab") + { + console.log("Tab on date or date-time - don't close me, just move to the next sub-field!..."); + e.stopPropagation(); + } + } + }; + const inputProps: any = {}; inputProps.endAdornment = ( @@ -110,6 +128,7 @@ export const makeTextField = (field: QFieldMetaData, criteria: QFilterCriteriaWi autoComplete="off" type={type} onChange={(event) => valueChangeHandler(event, valueIndex)} + onKeyDown={handleKeyDown} value={value} InputLabelProps={inputLabelProps} InputProps={inputProps}