From f89a3db4bed0cab7d353c337ad512cc1138cd0fc Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 6 Apr 2026 08:45:24 -0700 Subject: [PATCH 1/5] Issue 868: Add more nouns for count units --- packages/components/releaseNotes/components.md | 4 ++++ .../domainproperties/samples/SampleTypePropertiesPanel.tsx | 4 +++- packages/components/src/internal/util/measurement.test.ts | 4 ++++ packages/components/src/internal/util/measurement.ts | 2 +- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/components/releaseNotes/components.md b/packages/components/releaseNotes/components.md index 3c4f6d68e4..78447be4f5 100644 --- a/packages/components/releaseNotes/components.md +++ b/packages/components/releaseNotes/components.md @@ -1,6 +1,10 @@ # @labkey/components Components, models, actions, and utility functions for LabKey applications and pages +### version TBD +*Released*: TBD +- GitHub Issue 868: Add more nouns for count units + ### version 7.28.1 *Released*: 3 April 2026 - GitHub Issue 613: Use "Status" instead of "SampleState" in error messaging. 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/util/measurement.test.ts b/packages/components/src/internal/util/measurement.test.ts index 881733c8ef..e35c626321 100644 --- a/packages/components/src/internal/util/measurement.test.ts +++ b/packages/components/src/internal/util/measurement.test.ts @@ -197,11 +197,15 @@ 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 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'], }, }; From 195b41098ae6e9c1047d6b5f59eb2be95ad987fb Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 6 Apr 2026 08:48:37 -0700 Subject: [PATCH 2/5] Issue 868: Add more nouns for count units --- packages/components/package-lock.json | 4 ++-- packages/components/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index d0bd8ef1ce..513e5318ee 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.28.1", + "version": "7.28.2-moreCountUnits.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.28.1", + "version": "7.28.2-moreCountUnits.0", "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 c53395834b..2fec7c23ea 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.28.1", + "version": "7.28.2-moreCountUnits.0", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From 6661526906297d08cf06d04709cc618927edb481 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 6 Apr 2026 11:39:28 -0700 Subject: [PATCH 3/5] Update tests --- .../components/src/internal/util/measurement.test.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/components/src/internal/util/measurement.test.ts b/packages/components/src/internal/util/measurement.test.ts index e35c626321..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', () => { @@ -209,9 +209,9 @@ describe('MetricUnit utils', () => { ]); // 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', () => { From 885bb92052fc6d4a536a0ef2cf6a80e36905e530 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 6 Apr 2026 13:43:07 -0700 Subject: [PATCH 4/5] Use same maxRows in bulk update as in editable grid --- .../src/internal/components/forms/input/AmountUnitInput.tsx | 2 ++ 1 file changed, 2 insertions(+) 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} From 5e398dd78bac24d52595591926777102679ddd1c Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 6 Apr 2026 13:44:52 -0700 Subject: [PATCH 5/5] @labkey/components v7.28.2-moreCountUnits.1 --- packages/components/package-lock.json | 4 ++-- packages/components/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 513e5318ee..132df4f5db 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.28.2-moreCountUnits.0", + "version": "7.28.2-moreCountUnits.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.28.2-moreCountUnits.0", + "version": "7.28.2-moreCountUnits.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 2fec7c23ea..f30cda1909 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.28.2-moreCountUnits.0", + "version": "7.28.2-moreCountUnits.1", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [