From 418f7957a2b1a23e2ab975c78b2306f78d76b10d Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 23 Aug 2024 08:51:24 -0500 Subject: [PATCH] CE-1646 pass useCase (filter or form) into DynamicSelect and down to possibleValue backend calls --- src/qqq/components/forms/DynamicForm.tsx | 1 + src/qqq/components/forms/DynamicSelect.tsx | 7 ++++--- src/qqq/components/query/FilterCriteriaRowValues.tsx | 2 ++ src/qqq/components/scripts/ScriptEditor.tsx | 4 ++-- src/qqq/components/sharing/ShareModal.tsx | 1 + src/qqq/pages/records/query/GridFilterOperators.tsx | 2 ++ 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/qqq/components/forms/DynamicForm.tsx b/src/qqq/components/forms/DynamicForm.tsx index f95d42d..0823648 100644 --- a/src/qqq/components/forms/DynamicForm.tsx +++ b/src/qqq/components/forms/DynamicForm.tsx @@ -183,6 +183,7 @@ function QDynamicForm({formData, formLabel, bulkEditMode, bulkEditSwitchChangeHa bulkEditMode={bulkEditMode} bulkEditSwitchChangeHandler={bulkEditSwitchChanged} otherValues={otherValuesMap} + useCase="form" /> {formattedHelpContent} diff --git a/src/qqq/components/forms/DynamicSelect.tsx b/src/qqq/components/forms/DynamicSelect.tsx index 35b3172..ca1e596 100644 --- a/src/qqq/components/forms/DynamicSelect.tsx +++ b/src/qqq/components/forms/DynamicSelect.tsx @@ -53,6 +53,7 @@ interface Props otherValues?: Map; variant: "standard" | "outlined"; initiallyOpen: boolean; + useCase: "form" | "filter"; } DynamicSelect.defaultProps = { @@ -102,7 +103,7 @@ export const getAutocompleteOutlinedStyle = (isDisabled: boolean) => const qController = Client.getInstance(); -function DynamicSelect({tableName, processName, fieldName, possibleValueSourceName, overrideId, fieldLabel, inForm, initialValue, initialDisplayValue, initialValues, onChange, isEditable, isMultiple, bulkEditMode, bulkEditSwitchChangeHandler, otherValues, variant, initiallyOpen}: Props) +function DynamicSelect({tableName, processName, fieldName, possibleValueSourceName, overrideId, fieldLabel, inForm, initialValue, initialDisplayValue, initialValues, onChange, isEditable, isMultiple, bulkEditMode, bulkEditSwitchChangeHandler, otherValues, variant, initiallyOpen, useCase}: Props) { const [open, setOpen] = useState(initiallyOpen); const [options, setOptions] = useState([]); @@ -194,7 +195,7 @@ function DynamicSelect({tableName, processName, fieldName, possibleValueSourceNa (async () => { // console.log(`doing a search with ${searchTerm}`); - const results: QPossibleValue[] = await qController.possibleValues(tableName, processName, possibleValueSourceName ?? fieldName, searchTerm ?? "", null, otherValues); + const results: QPossibleValue[] = await qController.possibleValues(tableName, processName, possibleValueSourceName ?? fieldName, searchTerm ?? "", null, otherValues, useCase); if (tableMetaData == null && tableName) { @@ -227,7 +228,7 @@ function DynamicSelect({tableName, processName, fieldName, possibleValueSourceNa setLoading(true); setOptions([]); console.log("Refreshing possible values..."); - const results: QPossibleValue[] = await qController.possibleValues(tableName, processName, possibleValueSourceName ?? fieldName, searchTerm ?? "", null, otherValues); + const results: QPossibleValue[] = await qController.possibleValues(tableName, processName, possibleValueSourceName ?? fieldName, searchTerm ?? "", null, otherValues, useCase); setLoading(false); setOptions([...results]); setOtherValuesWhenResultsWereLoaded(JSON.stringify(Object.fromEntries(otherValues))); diff --git a/src/qqq/components/query/FilterCriteriaRowValues.tsx b/src/qqq/components/query/FilterCriteriaRowValues.tsx index 5ace799..793497a 100644 --- a/src/qqq/components/query/FilterCriteriaRowValues.tsx +++ b/src/qqq/components/query/FilterCriteriaRowValues.tsx @@ -377,6 +377,7 @@ function FilterCriteriaRowValues({operatorOption, criteria, field, table, valueC inForm={false} onChange={(value: any) => valueChangeHandler(null, 0, value)} variant="standard" + useCase="filter" /> ) @@ -412,6 +413,7 @@ function FilterCriteriaRowValues({operatorOption, criteria, field, table, valueC inForm={false} onChange={(value: any) => valueChangeHandler(null, "all", value)} variant="standard" + useCase="filter" /> ; } diff --git a/src/qqq/components/scripts/ScriptEditor.tsx b/src/qqq/components/scripts/ScriptEditor.tsx index 9ee7ca1..b997759 100644 --- a/src/qqq/components/scripts/ScriptEditor.tsx +++ b/src/qqq/components/scripts/ScriptEditor.tsx @@ -440,10 +440,10 @@ function ScriptEditor({title, scriptId, scriptRevisionRecord, closeCallback, tab - + - + diff --git a/src/qqq/components/sharing/ShareModal.tsx b/src/qqq/components/sharing/ShareModal.tsx index 634b579..1a83082 100644 --- a/src/qqq/components/sharing/ShareModal.tsx +++ b/src/qqq/components/sharing/ShareModal.tsx @@ -397,6 +397,7 @@ export default function ShareModal({open, onClose, tableMetaData, record}: Share initialDisplayValue={selectedAudienceOption?.label} inForm={false} onChange={handleAudienceChange} + useCase="form" /> {/* diff --git a/src/qqq/pages/records/query/GridFilterOperators.tsx b/src/qqq/pages/records/query/GridFilterOperators.tsx index 6201609..c9b9517 100644 --- a/src/qqq/pages/records/query/GridFilterOperators.tsx +++ b/src/qqq/pages/records/query/GridFilterOperators.tsx @@ -786,6 +786,7 @@ function InputPossibleValueSourceSingle(tableName: string, field: QFieldMetaData initialDisplayValue={selectedPossibleValue?.label} inForm={false} onChange={handleChange} + useCase="filter" // InputProps={applying ? {endAdornment: sync} : {}} /> @@ -854,6 +855,7 @@ function InputPossibleValueSourceMultiple(tableName: string, field: QFieldMetaDa initialValues={selectedPossibleValues} inForm={false} onChange={handleChange} + useCase="filter" /> );