From 21e0b25c4f71f6931e337ebd04e5f68a747f853c Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 21 Jan 2026 17:28:35 -0800 Subject: [PATCH 1/6] Add product feature flag for Advanced Workflow --- packages/components/releaseNotes/components.md | 4 ++++ packages/components/src/index.ts | 2 ++ packages/components/src/internal/app/constants.ts | 1 + packages/components/src/internal/app/utils.ts | 7 +++++++ 4 files changed, 14 insertions(+) diff --git a/packages/components/releaseNotes/components.md b/packages/components/releaseNotes/components.md index fc3565b0bc..1cf7ba4105 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 7.7.5 +*Released*: TBD +- [GitHub Issue #798](https://github.com/LabKey/internal-issues/issues/798) - add product feature flag for advanced workflow + ### version 7.7.4 *Released*: 8 January 2026 - [GitHub Issue #723](https://github.com/LabKey/internal-issues/issues/723) diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index 0549a3b02a..79d473fea8 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -738,6 +738,7 @@ import { isSharedContainer, isSourceTypeEnabled, isWorkflowEnabled, + isAdvancedWorkflowEnabled, setFolderDataExclusion, setProductFolders, useMenuSectionConfigs, @@ -931,6 +932,7 @@ const App = { isConditionalFormattingEnabled, isMediaEnabled, isWorkflowEnabled, + isAdvancedWorkflowEnabled, isELNEnabled, isFreezerManagementEnabled, isPlatesEnabled, diff --git a/packages/components/src/internal/app/constants.ts b/packages/components/src/internal/app/constants.ts index 531745460c..07131d83fd 100644 --- a/packages/components/src/internal/app/constants.ts +++ b/packages/components/src/internal/app/constants.ts @@ -120,6 +120,7 @@ export const BASE_APP_HELP_LINK = 'https://www.labkey.org/SampleManagerHelp/wiki // The enum values here should align with the ProductFeature.java enum values (some not currently used but included for completeness) export enum ProductFeature { + AdvancedWorkflow = 'AdvancedWorkflow', ApiKeys = 'ApiKeys', Assay = 'Assay', AssayQC = 'AssayQC', diff --git a/packages/components/src/internal/app/utils.ts b/packages/components/src/internal/app/utils.ts index 7951db1094..daefea1f7f 100644 --- a/packages/components/src/internal/app/utils.ts +++ b/packages/components/src/internal/app/utils.ts @@ -384,6 +384,13 @@ export function isWorkflowEnabled(moduleContext?: ModuleContext): boolean { ); } +export function isAdvancedWorkflowEnabled(moduleContext?: ModuleContext): boolean { + return ( + hasModule(SAMPLE_MANAGER_APP_PROPERTIES.moduleName, moduleContext) && + isFeatureEnabled(ProductFeature.AdvancedWorkflow, moduleContext) + ); +} + export function isDataChangeCommentRequirementFeatureEnabled(moduleContext?: ModuleContext): boolean { return isFeatureEnabled(ProductFeature.DataChangeCommentRequirement, moduleContext); } From 9a546c03a436ebee1c2cb75af7118111fef9b141 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Wed, 21 Jan 2026 17:34:38 -0800 Subject: [PATCH 2/6] @labkey/components v7.7.5-advancedWorkForLims.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 d99ad12484..53de61b75d 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.7.4", + "version": "7.7.5-advancedWorkForLims.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.7.4", + "version": "7.7.5-advancedWorkForLims.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 fdb3cebc7f..601758431a 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.7.4", + "version": "7.7.5-advancedWorkForLims.0", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From 24b996a8162ae4150b470b1befc72ed94fe9db2a Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 22 Jan 2026 14:04:36 -0800 Subject: [PATCH 3/6] Add test fixture for LIMS --- packages/components/src/index.ts | 2 ++ .../src/internal/productFixtures.ts | 35 ++++++++++++++----- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index 79d473fea8..0a408789e3 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -854,6 +854,7 @@ import { TEST_BIO_LIMS_ENTERPRISE_MODULE_CONTEXT, TEST_BIO_LIMS_STARTER_MODULE_CONTEXT, TEST_LKS_STARTER_MODULE_CONTEXT, + TEST_LK_LIMS_MODULE_CONTEXT, TEST_LKSM_PROFESSIONAL_MODULE_CONTEXT, TEST_LKSM_STARTER_AND_WORKFLOW_MODULE_CONTEXT, TEST_LKSM_STARTER_MODULE_CONTEXT, @@ -1057,6 +1058,7 @@ const App = { TEST_LKSM_STARTER_MODULE_CONTEXT, TEST_LKSM_STARTER_AND_WORKFLOW_MODULE_CONTEXT, TEST_LKSM_PROFESSIONAL_MODULE_CONTEXT, + TEST_LK_LIMS_MODULE_CONTEXT, TEST_PROJECT, TEST_PROJECT_CONTAINER, TEST_PROJECT_CONTAINER_ADMIN, diff --git a/packages/components/src/internal/productFixtures.ts b/packages/components/src/internal/productFixtures.ts index 4db20a445d..ad0108e811 100644 --- a/packages/components/src/internal/productFixtures.ts +++ b/packages/components/src/internal/productFixtures.ts @@ -1,17 +1,36 @@ import { BIOLOGICS_APP_PROPERTIES, FREEZER_MANAGER_APP_PROPERTIES, + LIMS_APP_PROPERTIES, ProductFeature, SAMPLE_MANAGER_APP_PROPERTIES, } from './app/constants'; -import { - BIOLOGICS_ENTERPRISE_PRODUCT_KEY, - BIOLOGICS_PRODUCT_ID, - BIOLOGICS_STARTER_PRODUCT_KEY, - SAMPLE_MANAGER_PRODUCT_ID, - SAMPLE_MANAGER_PROFESSIONAL_PRODUCT_KEY, - SAMPLE_MANAGER_STARTER_PRODUCT_KEY -} from './app/products'; +import { BIOLOGICS_PRODUCT_ID, LIMS_PRODUCT_ID, SAMPLE_MANAGER_PRODUCT_ID } from './app/products'; + +export const TEST_LK_LIMS_MODULE_CONTEXT = { + api: { + moduleNames: ['samplemanagement', 'inventory', 'assay', 'labbook'], + }, + samplemanagement: { + productId: LIMS_APP_PROPERTIES.productId, + }, + inventory: { + productId: FREEZER_MANAGER_APP_PROPERTIES.productId, + }, + core: { + productFeatures: [ + ProductFeature.Workflow, + ProductFeature.ELN, + ProductFeature.Assay, + ProductFeature.ApiKeys, + ProductFeature.CalculatedFields, + ProductFeature.DataChangeCommentRequirement, + ProductFeature.CustomImportTemplates, + ProductFeature.AdvancedWorkflow, + ], + primaryApplicationId: LIMS_PRODUCT_ID, + } +}; export const TEST_LKSM_PROFESSIONAL_MODULE_CONTEXT = { api: { From 57a6f0655ffa7009cc7f8376b4bd3a4adf752f8b Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 22 Jan 2026 14:31:43 -0800 Subject: [PATCH 4/6] Add test fixture for LIMS and update tests --- 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 53de61b75d..01e533641a 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.7.5-advancedWorkForLims.0", + "version": "7.7.5-advancedWorkForLims.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.7.5-advancedWorkForLims.0", + "version": "7.7.5-advancedWorkForLims.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 601758431a..16e6b00bed 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.7.5-advancedWorkForLims.0", + "version": "7.7.5-advancedWorkForLims.1", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [ From fefe32a95110be34980f72a835d984c391be32fb Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 22 Jan 2026 17:46:41 -0800 Subject: [PATCH 5/6] release date --- packages/components/releaseNotes/components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/components/releaseNotes/components.md b/packages/components/releaseNotes/components.md index 1cf7ba4105..7f165fdd73 100644 --- a/packages/components/releaseNotes/components.md +++ b/packages/components/releaseNotes/components.md @@ -2,7 +2,7 @@ Components, models, actions, and utility functions for LabKey applications and pages ### version 7.7.5 -*Released*: TBD +*Released*: 22 January 2026 - [GitHub Issue #798](https://github.com/LabKey/internal-issues/issues/798) - add product feature flag for advanced workflow ### version 7.7.4 From ab7aeb3d7ed12583368670919d2489ac00067487 Mon Sep 17 00:00:00 2001 From: labkey-susanh Date: Thu, 22 Jan 2026 17:49:00 -0800 Subject: [PATCH 6/6] v7.7.5 --- 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 01e533641a..4123c6ff09 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.7.5-advancedWorkForLims.1", + "version": "7.7.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.7.5-advancedWorkForLims.1", + "version": "7.7.5", "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 16e6b00bed..51c01d530d 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.7.5-advancedWorkForLims.1", + "version": "7.7.5", "description": "Components, models, actions, and utility functions for LabKey applications and pages", "sideEffects": false, "files": [