Skip to content

Commit d665b5a

Browse files
committed
merge from develop
2 parents d57c8f9 + cd450eb commit d665b5a

10 files changed

Lines changed: 40 additions & 36 deletions

File tree

packages/components/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/components/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@labkey/components",
3-
"version": "6.66.1-fb-transactionAuditDetails.4",
3+
"version": "6.67.2-fb-transactionAuditDetails.1",
44
"description": "Components, models, actions, and utility functions for LabKey applications and pages",
55
"sideEffects": false,
66
"files": [

packages/components/releaseNotes/components.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# @labkey/components
22
Components, models, actions, and utility functions for LabKey applications and pages
33

4+
### version 6.67.1
5+
*Released* 29 October 2025
6+
- Issue 53563: Domain designer lookups don't show newly added entity types after initial load/view
7+
- Remove fetchQueries from client cache
8+
9+
### version 6.67.0
10+
*Released* 29 October 2025
11+
- Issue 52310: Change application single-value dropdowns to include the current value in the listed options
12+
413
### version 6.66.0
514
*Released*: 23 October 2025
615
- ChartBuilderModal support for bar/line chart aggregate method and error bar options

packages/components/src/internal/components/domainproperties/actions.ts

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -208,27 +208,20 @@ export function fetchDomainDetails(options: FetchDomainDetailsOptions): Promise<
208208
}
209209

210210
export function fetchQueries(containerPath: string, schemaName: string): Promise<QueryInfoLite[]> {
211-
const key = [containerPath, schemaName].join('|').toLowerCase();
212-
213-
return cache<QueryInfoLite[]>(
214-
'query-cache',
215-
key,
216-
() =>
217-
new Promise(resolve => {
218-
if (schemaName) {
219-
Query.getQueries({
220-
containerPath,
221-
schemaName,
222-
queryDetailColumns: true,
223-
success: data => {
224-
resolve(processQueries(data));
225-
},
226-
});
227-
} else {
228-
resolve(null);
229-
}
230-
})
231-
);
211+
return new Promise(resolve => {
212+
if (schemaName) {
213+
Query.getQueries({
214+
containerPath,
215+
schemaName,
216+
queryDetailColumns: true,
217+
success: data => {
218+
resolve(processQueries(data));
219+
},
220+
});
221+
} else {
222+
resolve(null);
223+
}
224+
});
232225
}
233226

234227
export function getRequiredParentTypes(

packages/components/src/internal/components/forms/QueryFormInputs.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import { TextChoiceInput } from './input/TextChoiceInput';
4242

4343
import { getQueryFormLabelFieldName, isQueryFormLabelField } from './utils';
4444
import { InternalSpacesWarning } from './InternalSpacesWarning';
45+
import { LOOKUP_DEFAULT_SIZE } from '../../constants';
4546

4647
export interface QueryFormInputsProps {
4748
allowFieldDisable?: boolean;
@@ -278,7 +279,7 @@ export class QueryFormInputs extends React.Component<QueryFormInputsProps, State
278279
joinValues={joinValues}
279280
label={col.caption}
280281
loadOnFocus
281-
maxRows={10}
282+
maxRows={LOOKUP_DEFAULT_SIZE}
282283
multiple={multiple}
283284
name={fieldKey}
284285
notFoundValuesEnabled={!(col.isExpInput() || col.isAliquotParent())} // Issue 53153

packages/components/src/internal/components/forms/detail/DetailDisplay.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import { ExpirationDateColumnRenderer } from '../../../renderers/ExpirationDateC
4141
import { getContainerFilterForLookups } from '../../../query/api';
4242
import { FolderColumnRenderer } from '../../../renderers/FolderColumnRenderer';
4343
import { FILELINK_RANGE_URI } from '../../domainproperties/constants';
44+
import { LOOKUP_DEFAULT_SIZE } from '../../../constants';
4445

4546
export type Renderer = (data: any, row?: any) => ReactNode;
4647

@@ -338,7 +339,7 @@ export function resolveDetailEditRenderer(
338339
joinValues={joinValues}
339340
key={col.fieldKey}
340341
label={col.caption}
341-
maxRows={10}
342+
maxRows={LOOKUP_DEFAULT_SIZE}
342343
multiple={multiple}
343344
name={col.fieldKey}
344345
notFoundValuesEnabled={!(col.isExpInput() || col.isAliquotParent())} // Issue 53153

packages/components/src/internal/components/forms/input/SelectInput.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ export interface SelectInputProps {
222222
formsy?: boolean;
223223
help?: ReactNode;
224224
helpTipRenderer?: string;
225+
hideSelectedOptions?: boolean;
225226
id?: any;
226227
initiallyDisabled?: boolean;
227228
inputClass?: string;
@@ -289,11 +290,12 @@ export class SelectInputImpl extends Component<SelectInputImplProps, State> {
289290
allowDisable: false,
290291
autoValue: true,
291292
clearable: true,
292-
clearCacheOnChange: true,
293+
clearCacheOnChange: false,
293294
closeMenuOnSelect: true,
294295
containerClass: INPUT_CONTAINER_CLASS_NAME,
295296
defaultOptions: true,
296297
delimiter: DELIMITER,
298+
hideSelectedOptions: false,
297299
initiallyDisabled: false,
298300
inputClass: INPUT_WRAPPER_CLASS_NAME,
299301
labelClass: INPUT_LABEL_CLASS_NAME,
@@ -306,7 +308,7 @@ export class SelectInputImpl extends Component<SelectInputImplProps, State> {
306308
showDropdownIndicator: true,
307309
showDropdownMenu: true,
308310
showIndicatorSeparator: true,
309-
tabSelectsValue: true,
311+
tabSelectsValue: false, // Issue 52310
310312
valueKey: 'value',
311313
};
312314

packages/components/src/internal/components/forms/model.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,19 +121,18 @@ export function formatSavedResults(
121121
result: ISelectRowsResult,
122122
token?: string
123123
): SelectInputOption[] {
124-
const { queryInfo, selectedItems } = model;
124+
const { queryInfo } = model;
125125

126126
if (!queryInfo) {
127127
return [];
128128
}
129129

130130
const { key, orderedModels } = result;
131131
const models = fromJS(result.models[key]);
132-
const filteredResults = orderedModels[key]
133-
.filter(k => !selectedItems.has(k))
132+
const orderedResults = orderedModels[key]
134133
.reduce((ordered, k) => ordered.set(k, models.get(k)), OrderedMap<string, any>());
135134

136-
return formatResults(model, filteredResults, token);
135+
return formatResults(model, orderedResults, token);
137136
}
138137

139138
export function saveSearchResults(model: QuerySelectModel, result: ISelectRowsResult): QuerySelectModel {

packages/components/src/internal/components/labelPrinting/PrintLabelsModal.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import { BarTenderResponse } from './models';
1717
import { BAR_TENDER_TOPIC, LABEL_NOT_FOUND_ERROR, LABEL_TEMPLATE_SQ } from './constants';
1818
import { ViewInfo } from '../../ViewInfo';
1919
import { SchemaQuery } from '../../../public/SchemaQuery';
20+
import { LOOKUP_DEFAULT_SIZE } from '../../constants';
2021

2122
export interface PrintModalProps {
2223
afterPrint?: (numSamples: number, numLabels: number) => void;
@@ -239,7 +240,7 @@ export class PrintLabelsModalImpl extends PureComponent<PrintModalProps & Inject
239240
fireQSChangeOnInit={true}
240241
showLabel={false}
241242
loadOnFocus
242-
maxRows={10}
243+
maxRows={LOOKUP_DEFAULT_SIZE}
243244
multiple={true}
244245
name="label-samples"
245246
onQSChange={this.changeSampleSelection}
@@ -259,7 +260,7 @@ export class PrintLabelsModalImpl extends PureComponent<PrintModalProps & Inject
259260
fireQSChangeOnInit
260261
showLabel={false}
261262
loadOnFocus
262-
maxRows={10}
263+
maxRows={LOOKUP_DEFAULT_SIZE}
263264
name="label-template"
264265
onQSChange={this.changeTemplateSelection}
265266
placeholder="Select or type to search..."

packages/components/src/internal/util/Date.test.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,8 +1093,6 @@ describe('Date Utilities', () => {
10931093
expect(isDateTimeInPast(datePlusHours(utcNow, -1), TZ)).toBeTruthy();
10941094
expect(isDateTimeInPast(datePlusHours(utcNow, 1), TZ)).toBeTruthy();
10951095
expect(isDateTimeInPast(datePlusHours(utcNow, 2), TZ)).toBeTruthy();
1096-
expect(isDateTimeInPast(datePlusHours(utcNow, 3), TZ)).toBeTruthy();
1097-
10981096
// Europe/Kyiv timezone is +3 hours UTC
10991097
expect(isDateTimeInPast(datePlusHours(utcNow, 4), TZ)).toBeFalsy();
11001098
expect(isDateTimeInPast(datePlusHours(utcNow, 5), TZ)).toBeFalsy();

0 commit comments

Comments
 (0)