From 373ef606f1e9883ae1e658c02baba957feff08f4 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 22 Jul 2026 14:32:29 -0700 Subject: [PATCH 01/15] Export RadioGroupInput for use in ui-premium --- packages/components/src/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index bd738fbf34..56c9c44e2b 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -80,6 +80,7 @@ import { } from './internal/util/messaging'; import { WHERE_FILTER_TYPE } from './internal/url/WhereFilterType'; import { InternalSpacesWarning } from './internal/components/forms/InternalSpacesWarning'; +import { RadioGroupInput } from './internal/components/forms/input/RadioGroupInput'; import { AddEntityButton, AddEntityElement } from './internal/components/buttons/AddEntityButton'; import { RemoveEntityButton } from './internal/components/buttons/RemoveEntityButton'; import { Alert } from './internal/components/base/Alert'; @@ -1620,6 +1621,7 @@ export { QuerySelect, QuerySort, quoteValueWithDelimiters, + RadioGroupInput, RANGE_URIS, redirect, registerDefaultURLMappers, From 0e68b9c1371d3c8a6a0fcdc29e5fd41134acb21c Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 23 Jul 2026 06:40:58 -0700 Subject: [PATCH 02/15] @labkey/components v7.48.1-jobSourceActions.0 --- 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 0f7997c61d..c904f7e6cf 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.48.0", + "version": "7.48.1-jobSourceActions.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.48.0", + "version": "7.48.1-jobSourceActions.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 49fcfc1c63..1988894496 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.48.0", + "version": "7.48.1-jobSourceActions.0", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From 88f0d64a292932aae237838627e419ef1ffc6af7 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 23 Jul 2026 13:03:22 -0700 Subject: [PATCH 03/15] Rename hasSampleWorkflowDeletePermission to hasWorkflowDeletePermission --- .../components/base/models/User.test.ts | 22 +++++++++---------- .../internal/components/base/models/User.ts | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/components/src/internal/components/base/models/User.test.ts b/packages/components/src/internal/components/base/models/User.test.ts index 557f889071..ccb6fa9d22 100644 --- a/packages/components/src/internal/components/base/models/User.test.ts +++ b/packages/components/src/internal/components/base/models/User.test.ts @@ -182,16 +182,16 @@ describe('User permissions', () => { expect(TEST_USER_APP_ADMIN.hasAddUsersPermission()).toBeTruthy(); }); - test('hasSampleWorkflowDeletePermission', () => { - expect(TEST_USER_GUEST.hasSampleWorkflowDeletePermission()).toBeFalsy(); - expect(TEST_USER_READER.hasSampleWorkflowDeletePermission()).toBeFalsy(); - expect(TEST_USER_AUTHOR.hasSampleWorkflowDeletePermission()).toBeFalsy(); - expect(TEST_USER_EDITOR.hasSampleWorkflowDeletePermission()).toBeTruthy(); - expect(TEST_USER_EDITOR_WITHOUT_DELETE.hasSampleWorkflowDeletePermission()).toBeFalsy(); - expect(TEST_USER_WORKFLOW_EDITOR.hasSampleWorkflowDeletePermission()).toBeTruthy(); - expect(TEST_USER_ASSAY_DESIGNER.hasSampleWorkflowDeletePermission()).toBeFalsy(); - expect(TEST_USER_FOLDER_ADMIN.hasSampleWorkflowDeletePermission()).toBeTruthy(); - expect(TEST_USER_PROJECT_ADMIN.hasSampleWorkflowDeletePermission()).toBeTruthy(); - expect(TEST_USER_APP_ADMIN.hasSampleWorkflowDeletePermission()).toBeTruthy(); + test('hasWorkflowDeletePermission', () => { + expect(TEST_USER_GUEST.hasWorkflowDeletePermission()).toBeFalsy(); + expect(TEST_USER_READER.hasWorkflowDeletePermission()).toBeFalsy(); + expect(TEST_USER_AUTHOR.hasWorkflowDeletePermission()).toBeFalsy(); + expect(TEST_USER_EDITOR.hasWorkflowDeletePermission()).toBeTruthy(); + expect(TEST_USER_EDITOR_WITHOUT_DELETE.hasWorkflowDeletePermission()).toBeFalsy(); + expect(TEST_USER_WORKFLOW_EDITOR.hasWorkflowDeletePermission()).toBeTruthy(); + expect(TEST_USER_ASSAY_DESIGNER.hasWorkflowDeletePermission()).toBeFalsy(); + expect(TEST_USER_FOLDER_ADMIN.hasWorkflowDeletePermission()).toBeTruthy(); + expect(TEST_USER_PROJECT_ADMIN.hasWorkflowDeletePermission()).toBeTruthy(); + expect(TEST_USER_APP_ADMIN.hasWorkflowDeletePermission()).toBeTruthy(); }); }); diff --git a/packages/components/src/internal/components/base/models/User.ts b/packages/components/src/internal/components/base/models/User.ts index 74bdd45e1c..b896103fa7 100644 --- a/packages/components/src/internal/components/base/models/User.ts +++ b/packages/components/src/internal/components/base/models/User.ts @@ -113,7 +113,7 @@ export class User implements IUserProps { return hasAllPermissions(this, [PermissionTypes.AddUser], false); } - hasSampleWorkflowDeletePermission(): boolean { + hasWorkflowDeletePermission(): boolean { return hasAllPermissions(this, [PermissionTypes.SampleWorkflowDelete]); } } From babc66da883baa670e5e08a65ee1c62e5f6f119a Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 23 Jul 2026 13:14:31 -0700 Subject: [PATCH 04/15] @labkey/components v7.48.1-jobSourceActions.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 c904f7e6cf..cae4ec80af 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.48.1-jobSourceActions.0", + "version": "7.48.1-jobSourceActions.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.48.1-jobSourceActions.0", + "version": "7.48.1-jobSourceActions.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 1988894496..cbbafbb84b 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.48.1-jobSourceActions.0", + "version": "7.48.1-jobSourceActions.1", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From dd677d422a8523f4ecedabe0b395d596eee17512 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 23 Jul 2026 20:05:00 -0700 Subject: [PATCH 05/15] Use constant --- .../components/src/internal/components/entities/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/src/internal/components/entities/constants.ts b/packages/components/src/internal/components/entities/constants.ts index 0633bf4522..594f115acf 100644 --- a/packages/components/src/internal/components/entities/constants.ts +++ b/packages/components/src/internal/components/entities/constants.ts @@ -89,7 +89,7 @@ export const SamplePropertyDataType: EntityDataType = { instanceSchemaName: undefined, getInstanceSchemaQuery: (queryName: string) => { if (queryName === SAMPLE_PROPERTY_ALL_SAMPLE_TYPE.query) return SCHEMAS.EXP_TABLES.MATERIALS; - return new SchemaQuery('samples', queryName); + return new SchemaQuery(SCHEMAS.SAMPLE_SETS.SCHEMA, queryName); }, getInstanceDataType: (schemaQuery: SchemaQuery, altQueryName?: string) => { return altQueryName ?? schemaQuery.queryName; From c0428d1da94519d3e8a15f51fa1b2fab06bc4187 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Tue, 28 Jul 2026 11:38:09 -0700 Subject: [PATCH 06/15] @labkey/components v7.49.1-jobSourceActions.1 --- packages/components/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index cae4ec80af..c2b9b88e14 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.48.1-jobSourceActions.1", + "version": "7.49.1-jobSourceActions.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.48.1-jobSourceActions.1", + "version": "7.49.1-jobSourceActions.1", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", From 0e03ae31e044d796a015bb87481dca334ea3cc2d Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 29 Jul 2026 19:46:47 -0700 Subject: [PATCH 07/15] Support for multiple source parent types for sources and samples --- .../internal/components/entities/actions.ts | 81 ++++++++----------- .../src/internal/components/samples/utils.tsx | 16 +++- 2 files changed, 44 insertions(+), 53 deletions(-) diff --git a/packages/components/src/internal/components/entities/actions.ts b/packages/components/src/internal/components/entities/actions.ts index e5c68622a5..f37f47745f 100644 --- a/packages/components/src/internal/components/entities/actions.ts +++ b/packages/components/src/internal/components/entities/actions.ts @@ -24,7 +24,12 @@ import { import { SampleOperation } from '../samples/constants'; import { SchemaQuery } from '../../../public/SchemaQuery'; -import { getFilterForSampleOperation, isSamplesSchema, isWorkflowInputSamplesSchema } from '../samples/utils'; +import { + getFilterForSampleOperation, + isSamplesSchema, + isWorkflowInputSamplesSchema, + isWorkflowInputSourcesSchema +} from '../samples/utils'; import { getQueryDetails, getRequestAuditDetail, importData, InsertOptions, selectDistinctRows } from '../../query/api'; import { caseInsensitive, generateId } from '../../util/utils'; import { request } from '../../request'; @@ -275,17 +280,19 @@ async function getSelectedParents( const response = await selectRows({ columns, filterArray, schemaQuery }); - if (isSampleParent) { - return resolveSampleParentTypes(response, isAliquotParent, orderedRowIds); - } - - return resolveEntityParentTypeFromIds(schemaQuery, response, isAliquotParent, orderedRowIds); + return resolveEntityParentTypes( + response, + false, + orderedRowIds, + isSampleParent ? SCHEMAS.SAMPLE_SETS.SCHEMA : SCHEMAS.DATA_CLASSES.SCHEMA + ); } -function resolveSampleParentTypes( +function resolveEntityParentTypes( response: SelectRowsResponse, isAliquotParent?: boolean, - orderedRowIds?: string[] + orderedRowIds?: string[], + entitySchema = SCHEMAS.SAMPLE_SETS.SCHEMA ): List { const groups: Record = {}; const results = []; @@ -293,24 +300,27 @@ function resolveSampleParentTypes( // The transformation done here makes the entities compatible with the editable grid response.rows.forEach(row => { const displayValue = caseInsensitive(row, 'Name')?.value; - const sampleType = caseInsensitive(row, 'SampleSet')?.displayValue; + const entityType = + entitySchema == SCHEMAS.SAMPLE_SETS.SCHEMA + ? caseInsensitive(row, 'SampleSet')?.displayValue + : caseInsensitive(row, 'DataClass')?.displayValue; const value = caseInsensitive(row, 'RowId')?.value; - if (!groups.hasOwnProperty(sampleType)) { - groups[sampleType] = []; + if (!groups.hasOwnProperty(entityType)) { + groups[entityType] = []; } - groups[sampleType].push({ displayValue, value }); + groups[entityType].push({ displayValue, value }); }); let index = 1; - for (const [sampleType, data] of Object.entries(groups)) { + for (const [entityType, data] of Object.entries(groups)) { results.push( EntityParentType.create({ index, - schema: 'samples', - query: sampleType, - label: sampleType, + schema: entitySchema, + query: entityType, + label: entityType, value: orderedRowIds ? List(data.sort(_getEntitySort(orderedRowIds))) : List(data), @@ -365,12 +375,14 @@ async function initParents( Filter.create('RowId', selectionResponse.selected, Filter.Types.IN), Filter.create('Container', insertPermissionContainers, Filter.Types.IN), ]; - if (isWorkflowInputSamplesSchema(schemaQuery) && jobId) { + if (jobId && (isWorkflowInputSamplesSchema(schemaQuery) || isWorkflowInputSourcesSchema(schemaQuery))) { filterArray.push(Filter.create('JobId', jobId, Filter.Types.EQUAL)); } - const opFilter = getFilterForSampleOperation(SampleOperation.EditLineage); - if (opFilter) { - filterArray.push(opFilter); + if (isSamplesSchema(schemaQuery)) { + const opFilter = getFilterForSampleOperation(SampleOperation.EditLineage); + if (opFilter) { + filterArray.push(opFilter); + } } // Issue 48751 -- Always pass the selectionResponse.selected as the orderedRowIds because we use @@ -425,35 +437,6 @@ function _getEntitySort(orderedIds: string[]) { }; } -function resolveEntityParentTypeFromIds( - schemaQuery: SchemaQuery, - response: SelectRowsResponse, - isAliquotParent?: boolean, - orderedRowIds?: string[] -): List { - // The transformation done here makes the entities compatible with the editable grid - let data: DisplayObject[] = response.rows - .map(row => extractEntityTypeOptionFromRow(row)) - .map(({ label, rowId }) => ({ displayValue: label, value: rowId })); - if (orderedRowIds?.length > 1) data = data.sort(_getEntitySort(orderedRowIds)); - - // Issue 50389: use the data class display name if available - const dataClass = - response.rows.length > 0 ? caseInsensitive(response.rows[0], 'DataClass')?.displayValue : undefined; - - return List([ - EntityParentType.create({ - index: 1, - schema: schemaQuery.schemaName, - query: dataClass ?? schemaQuery.queryName, - label: dataClass, - value: List(data), - isAliquotParent, - required: isAliquotParent, - }), - ]); -} - // export for jest export function extractEntityTypeOptionFromRow( row: Row, diff --git a/packages/components/src/internal/components/samples/utils.tsx b/packages/components/src/internal/components/samples/utils.tsx index 504468f28d..cc22a015bd 100644 --- a/packages/components/src/internal/components/samples/utils.tsx +++ b/packages/components/src/internal/components/samples/utils.tsx @@ -266,14 +266,22 @@ export function isFindBySampleSchema(schemaQuery: SchemaQuery): boolean { return schemaQuery?.hasSchema(SCHEMAS.EXP_TABLES.SCHEMA) && schemaQuery.queryStartsWith('exp_temp_'); } -export function isSamplesSchema(schemaQuery: SchemaQuery): boolean { - return schemaQuery?.hasSchema(SCHEMAS.SAMPLE_SETS.SCHEMA) || isAllSamplesSchema(schemaQuery); -} - export function isWorkflowInputSamplesSchema(schemaQuery: SchemaQuery): boolean { return SCHEMAS.WORKFLOW.JOB_INPUT_SAMPLES.isEqual(schemaQuery, false); } +export function isWorkflowInputSourcesSchema(schemaQuery: SchemaQuery): boolean { + return SCHEMAS.WORKFLOW.JOB_INPUT_SOURCES.isEqual(schemaQuery, false); +} + +export function isSamplesSchema(schemaQuery: SchemaQuery): boolean { + return ( + schemaQuery?.hasSchema(SCHEMAS.SAMPLE_SETS.SCHEMA) || + isAllSamplesSchema(schemaQuery) || + isWorkflowInputSamplesSchema(schemaQuery) + ); +} + export function isAllSamplesSchema(schemaQuery: SchemaQuery): boolean { if (!schemaQuery) return false; if (SCHEMAS.EXP_TABLES.MATERIALS.isEqual(schemaQuery, false)) return true; From afdc6211f31bbebaa1f552ab49bff30769918118 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 29 Jul 2026 19:47:08 -0700 Subject: [PATCH 08/15] Add popoverPlacement property --- .../components/menus/SelectionMenuItem.tsx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/packages/components/src/internal/components/menus/SelectionMenuItem.tsx b/packages/components/src/internal/components/menus/SelectionMenuItem.tsx index ea5187574b..3863050250 100644 --- a/packages/components/src/internal/components/menus/SelectionMenuItem.tsx +++ b/packages/components/src/internal/components/menus/SelectionMenuItem.tsx @@ -11,6 +11,7 @@ import { MenuItem } from '../../dropdowns'; import { useOverlayTriggerState } from '../../OverlayTrigger'; import { Popover } from '../../Popover'; import { AppURL } from '../../url/AppURL'; +import { Placement } from '../../useOverlayPositioning'; interface Props { href?: string | AppURL; @@ -18,16 +19,22 @@ interface Props { maxSelectionDisabledMsg?: string; nounPlural: string; // always used, doesn't need default value onClick?: () => void; + popoverPlacement?: Placement; queryModel: QueryModel; text: React.ReactNode; } interface DisabledSelectionMenuItemProps { message: string; + popoverPlacement?: Placement; text: React.ReactNode; } -export const DisabledSelectionMenuItem: FC = ({ message, text }) => { +export const DisabledSelectionMenuItem: FC = ({ + message, + text, + popoverPlacement = 'right', +}) => { const { onMouseEnter, onMouseLeave, portalEl, show, targetRef } = useOverlayTriggerState( 'disabled-selection-menu-item', true, @@ -35,11 +42,11 @@ export const DisabledSelectionMenuItem: FC = ({ ); const overlay = useMemo( () => ( - + {message} ), - [message, targetRef] + [message, popoverPlacement, targetRef] ); return ( @@ -51,7 +58,7 @@ export const DisabledSelectionMenuItem: FC = ({ DisabledSelectionMenuItem.displayName = 'DisabledSelectionMenuItem'; export const SelectionMenuItem: FC = props => { - const { href, maxSelection, maxSelectionDisabledMsg, nounPlural, onClick, queryModel, text } = props; + const { href, maxSelection, maxSelectionDisabledMsg, nounPlural, onClick, popoverPlacement, queryModel, text } = props; const selectionSize = queryModel?.selections?.size; const { tooFewSelected, tooManySelected } = useMemo( () => ({ @@ -66,7 +73,7 @@ export const SelectionMenuItem: FC = props => { const message = tooFewSelected ? `Select one or more ${nounPlural}.` : maxSelectionDisabledMsg || `At most ${maxSelection?.toLocaleString()} ${nounPlural} can be selected.`; - return ; + return ; } return ( From c0e5bd00abd9effc86bbdb36cb3d3e907b33ad77 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 29 Jul 2026 19:49:15 -0700 Subject: [PATCH 09/15] @labkey/components v7.49.1-jobSourceActions.2 --- 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 c2b9b88e14..7aadcc4bbf 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.49.1-jobSourceActions.1", + "version": "7.49.1-jobSourceActions.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.49.1-jobSourceActions.1", + "version": "7.49.1-jobSourceActions.2", "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 710bf4a4f8..ef284997f9 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.49.1-jobSourceActions.1", + "version": "7.49.1-jobSourceActions.2", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From d40e0e66f044aea721bc55e88970545d0b086d0a Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 30 Jul 2026 11:20:04 -0700 Subject: [PATCH 10/15] v7.49.2-jobSourceActions.2 --- packages/components/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 7aadcc4bbf..b83c961726 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.49.1-jobSourceActions.2", + "version": "7.49.2-jobSourceActions.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.49.1-jobSourceActions.2", + "version": "7.49.2-jobSourceActions.2", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", From bd3279aae636f67ae48b11a0f014e605fcc079f2 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 3 Aug 2026 14:42:20 -0700 Subject: [PATCH 11/15] Pass through isAliquotParent prop --- .../components/src/internal/components/entities/actions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/src/internal/components/entities/actions.ts b/packages/components/src/internal/components/entities/actions.ts index aae7811cdf..1fd84a400c 100644 --- a/packages/components/src/internal/components/entities/actions.ts +++ b/packages/components/src/internal/components/entities/actions.ts @@ -281,7 +281,7 @@ export async function getSelectedParents( return resolveEntityParentTypes( response, - false, + isAliquotParent, orderedRowIds, isSampleParent ? SCHEMAS.SAMPLE_SETS.SCHEMA : SCHEMAS.DATA_CLASSES.SCHEMA ); @@ -300,7 +300,7 @@ function resolveEntityParentTypes( response.rows.forEach(row => { const displayValue = caseInsensitive(row, 'Name')?.value; const entityType = - entitySchema == SCHEMAS.SAMPLE_SETS.SCHEMA + entitySchema === SCHEMAS.SAMPLE_SETS.SCHEMA ? caseInsensitive(row, 'SampleSet')?.displayValue : caseInsensitive(row, 'DataClass')?.displayValue; const value = caseInsensitive(row, 'RowId')?.value; From ab9887a2ca7027507713b8d9db1f687f6d9ad787 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Mon, 3 Aug 2026 14:43:55 -0700 Subject: [PATCH 12/15] @labkey/components v7.51.1-jobSourceActions.3 --- 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 6081e80008..c482340d01 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.51.1-jobSourceActions.2", + "version": "7.51.1-jobSourceActions.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.51.1-jobSourceActions.2", + "version": "7.51.1-jobSourceActions.3", "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 4ba30b8b68..0af3c00818 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.51.1-jobSourceActions.2", + "version": "7.51.1-jobSourceActions.3", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From d530553d4b491f0cfea287081e81a3a0f105610d Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 5 Aug 2026 08:22:03 -0700 Subject: [PATCH 13/15] @labkey/components v7.54.2-jobSourceActions.3 --- packages/components/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index f8e56b5f8a..8b26b6f2bc 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.54.1", + "version": "7.54.2-jobSourceActions.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.54.1", + "version": "7.54.2-jobSourceActions.3", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", From a7f4b03bf667f060e3946639be670f48db9ab150 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 12 Aug 2026 09:00:33 -0700 Subject: [PATCH 14/15] @labkey/components v7.54.4-fb-jobSourceActions.0 --- packages/components/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index aa48dbc251..f5de5a8141 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.54.3-fb-jobSourceActions.0", + "version": "7.54.4-fb-jobSourceActions.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.54.3-fb-jobSourceActions.0", + "version": "7.54.4-fb-jobSourceActions.0", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@hello-pangea/dnd": "18.0.1", From 2f313ad94e71b04b949c3615872f40c6e3e6ab8e Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 12 Aug 2026 14:54:26 -0700 Subject: [PATCH 15/15] @labkey/components v7.55.0 --- 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 f5de5a8141..e87d0622bd 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.54.4-fb-jobSourceActions.0", + "version": "7.55.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.54.4-fb-jobSourceActions.0", + "version": "7.55.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 4425cdfd0f..de4ea125ca 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.54.4-fb-jobSourceActions.0", + "version": "7.55.0", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [