Skip to content

Commit 2cf2ade

Browse files
committed
Merge branch 'develop' into feature/2.4.2-bug-fix-collection
2 parents fdc3be2 + f708147 commit 2cf2ade

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/chart/parameter/component/NodePropertyParameterSelect.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ const NodePropertyParameterSelectComponent = (props: ParameterSelectProps) => {
4343
const helperText = props.settings && props.settings.helperText ? props.settings.helperText : '';
4444
const clearParameterOnFieldClear =
4545
props.settings && props.settings.clearParameterOnFieldClear ? props.settings.clearParameterOnFieldClear : false;
46+
const autoSelectFirstValue =
47+
props.settings && props.settings.autoSelectFirstValue ? props.settings.autoSelectFirstValue : false;
4648

4749
// index of the display value in the resulting extra records retrieved by the component when the user types. equals '1' for NeoDash 2.2.2 and later.
4850
const displayValueRowIndex = props.compatibilityMode
@@ -190,6 +192,19 @@ const NodePropertyParameterSelectComponent = (props: ParameterSelectProps) => {
190192
debouncedQueryCallback(props.query, { input: `${inputDisplayText}`, ...allParameters }, setExtraRecords);
191193
}
192194
}}
195+
onBlur={() => {
196+
// If the user loses focus of the selector, and nothing is selected
197+
// We may want to auto-select the first value produced by the selector query (`autoSelectFirstValue == true`)
198+
if (autoSelectFirstValue && paramValueDisplayLocal == '') {
199+
debouncedQueryCallback(props.query, { input: '', ...allParameters }, (records) => {
200+
if (records && records.length > 0 && records[0] && records[0]._fields) {
201+
const values = records?.map((r) => r?._fields?.[displayValueRowIndex] || '(no data)').sort();
202+
setExtraRecords(records);
203+
propagateSelection(undefined, values[0]);
204+
}
205+
});
206+
}
207+
}}
193208
value={inputValue || ''}
194209
onChange={propagateSelection}
195210
renderInput={(params) => (

src/config/ReportConfig.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,12 @@ const _REPORT_TYPES = {
10701070
values: [true, false],
10711071
default: false,
10721072
},
1073+
autoSelectFirstValue: {
1074+
label: 'Auto-select first value on no selection',
1075+
type: SELECTION_TYPES.LIST,
1076+
values: [true, false],
1077+
default: false,
1078+
},
10731079
manualPropertyNameSpecification: {
10741080
label: 'Manual Label/Property Name Specification',
10751081
type: SELECTION_TYPES.LIST,

0 commit comments

Comments
 (0)