diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 3c455ec912..35da6783aa 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.28.2", + "version": "7.29.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.28.2", + "version": "7.29.1", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", diff --git a/packages/components/package.json b/packages/components/package.json index cf648a7de8..dab6ae0948 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.28.2", + "version": "7.29.1", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ diff --git a/packages/components/releaseNotes/components.md b/packages/components/releaseNotes/components.md index 77a1e9adbb..32801773e0 100644 --- a/packages/components/releaseNotes/components.md +++ b/packages/components/releaseNotes/components.md @@ -1,9 +1,13 @@ # @labkey/components Components, models, actions, and utility functions for LabKey applications and pages +### version 7.29.1 +*Released*: 7 April 2026 +- GitHub Issue 868: Add more nouns for count units + ### version 7.28.2 *Released*: 7 April 2026 -- Update `FEEZER_ITEM_SAMPLE_MAPPER` to return undefined if not matched, for consistency with other mappers +- Update `FREEZER_ITEM_SAMPLE_MAPPER` to return undefined if not matched, for consistency with other mappers ### version 7.28.1 *Released*: 3 April 2026 diff --git a/packages/components/src/internal/components/domainproperties/samples/SampleTypePropertiesPanel.tsx b/packages/components/src/internal/components/domainproperties/samples/SampleTypePropertiesPanel.tsx index 8e8ef2ed02..71fbbe9c22 100644 --- a/packages/components/src/internal/components/domainproperties/samples/SampleTypePropertiesPanel.tsx +++ b/packages/components/src/internal/components/domainproperties/samples/SampleTypePropertiesPanel.tsx @@ -53,9 +53,11 @@ import { getMeasurementUnit, getMetricUnitOptions, getMetricUnitOptionsFromKind, + MEASUREMENT_UNITS, UNITS_KIND, } from '../../../util/measurement'; import { Alert } from '../../base/Alert'; +import { makeCommaSeparatedString } from '../../../util/utils'; const PROPERTIES_HEADER_ID = 'sample-type-properties-hdr'; const ALIQUOT_HELP_LINK = getHelpLink('aliquotIDs'); @@ -94,7 +96,7 @@ export const UnitKinds: Record = { value: UNITS_KIND.COUNT, label: 'Other', hideSubSelect: true, - msg: "Amounts can be entered as bottles, blocks, boxes, cells, kits, packs, pieces, slides, tests, or unit and won't be converted.", + msg: "Amounts can be entered as " + makeCommaSeparatedString(MEASUREMENT_UNITS.unit.altLabels, ', or ') + " and won't be converted", }, }; diff --git a/packages/components/src/internal/components/forms/input/AmountUnitInput.tsx b/packages/components/src/internal/components/forms/input/AmountUnitInput.tsx index 8d85c7bed3..71ad895c8c 100644 --- a/packages/components/src/internal/components/forms/input/AmountUnitInput.tsx +++ b/packages/components/src/internal/components/forms/input/AmountUnitInput.tsx @@ -11,6 +11,7 @@ import { FormsyInput } from './FormsyReactComponents'; import { Operation } from '../../../../public/QueryColumn'; import { STORED_AMOUNT_FIELDS } from '../../samples/constants'; import { Alert } from '../../base/Alert'; +import { LOOKUP_DEFAULT_SIZE } from '../../../constants'; export const AmountUnitInput: FC = memo(props => { const { @@ -102,6 +103,7 @@ export const AmountUnitInput: FC = memo(props => { id={id} inputClass={''} name={unitCol.fieldKey} + maxRows={LOOKUP_DEFAULT_SIZE} onQSChange={onSelectChange} placeholder="Select or type to search..." queryFilters={queryFilter} diff --git a/packages/components/src/internal/util/measurement.test.ts b/packages/components/src/internal/util/measurement.test.ts index 881733c8ef..fce2ffe409 100644 --- a/packages/components/src/internal/util/measurement.test.ts +++ b/packages/components/src/internal/util/measurement.test.ts @@ -134,9 +134,9 @@ describe('MetricUnit utils', () => { ]) ); - expect(getMetricUnitOptions(null).length).toBe(18); - expect(getMetricUnitOptions('').length).toBe(18); - expect(getMetricUnitOptions('bad').length).toBe(18); + expect(getMetricUnitOptions(null).length).toBe(22); + expect(getMetricUnitOptions('').length).toBe(22); + expect(getMetricUnitOptions('bad').length).toBe(22); }); test('getMetricUnitOptions with filterFn', () => { @@ -197,17 +197,21 @@ describe('MetricUnit utils', () => { 'boxes', 'cells', 'kits', + 'organisms', 'packs', 'pieces', 'slides', + 'syringes', 'tests', + 'tubes', 'unit', + 'vials', ]); // include all options when no unitTypeStr or an invalid unitTypeStr is provided - expect(getAltUnitKeys(null).length).toBe(18); - expect(getAltUnitKeys('').length).toBe(18); - expect(getAltUnitKeys('bad').length).toBe(18); + expect(getAltUnitKeys(null).length).toBe(22); + expect(getAltUnitKeys('').length).toBe(22); + expect(getAltUnitKeys('bad').length).toBe(22); }); test('getMeasurementUnit', () => { diff --git a/packages/components/src/internal/util/measurement.ts b/packages/components/src/internal/util/measurement.ts index a5141a46c6..0a5cdf386c 100644 --- a/packages/components/src/internal/util/measurement.ts +++ b/packages/components/src/internal/util/measurement.ts @@ -181,7 +181,7 @@ export const MEASUREMENT_UNITS: Record = { kind: UNITS_KIND.COUNT, ratio: 1, displayPrecision: 2, - altLabels: ['blocks', 'bottles', 'boxes', 'cells', 'kits', 'packs', 'pieces', 'slides', 'tests', 'unit'], + altLabels: ['blocks', 'bottles', 'boxes', 'cells', 'kits', 'organisms', 'packs', 'pieces', 'slides', 'syringes', 'tests', 'tubes', 'unit', 'vials'], }, };