diff --git a/packages/components/jest.config.js b/packages/components/jest.config.js
index 01ac6e87bd..39fbf01ba8 100644
--- a/packages/components/jest.config.js
+++ b/packages/components/jest.config.js
@@ -7,7 +7,10 @@ module.exports = {
LABKEY: {
contextPath: '/labkey',
container: {
+ id: 'e28ed3a3-4d74-103b-9678-6554da263543',
path: '/DefaultTestContainer',
+ parentId: '01b94403-4179-1039-a799-ea54f212702c',
+ parentPath: '/ParentTestContainer',
formats: {
dateFormat: "yyyy-MM-dd",
dateTimeFormat: "yyyy-MM-dd HH:mm",
diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json
index bf2c0adf3a..e3c0b36f52 100644
--- a/packages/components/package-lock.json
+++ b/packages/components/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "@labkey/components",
- "version": "7.20.0",
+ "version": "7.20.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@labkey/components",
- "version": "7.20.0",
+ "version": "7.20.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 53b3e1755a..a9328638fb 100644
--- a/packages/components/package.json
+++ b/packages/components/package.json
@@ -1,6 +1,6 @@
{
"name": "@labkey/components",
- "version": "7.20.0",
+ "version": "7.20.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 c444a2a08f..1ff8cd2a19 100644
--- a/packages/components/releaseNotes/components.md
+++ b/packages/components/releaseNotes/components.md
@@ -1,6 +1,12 @@
# @labkey/components
Components, models, actions, and utility functions for LabKey applications and pages
+### version 7.20.1
+*Released*: 20 February 2026
+- GitHub Issue 830: Assay design add transform script webdav path doesn't resolve from subfolder
+ - AssayProtocolModel.container to compare domain id to the container.parentId to get parentPath when applicable
+ - TransformScriptsInput to resolve the domain containerId to the containerPath to use for webdav operations
+
### version 7.20.0
*Released*: 18 February 2026
- Multi value text choices: field type conversion
diff --git a/packages/components/src/internal/components/domainproperties/assay/AssayPropertiesInput.tsx b/packages/components/src/internal/components/domainproperties/assay/AssayPropertiesInput.tsx
index 2c3f515419..245e68a69f 100644
--- a/packages/components/src/internal/components/domainproperties/assay/AssayPropertiesInput.tsx
+++ b/packages/components/src/internal/components/domainproperties/assay/AssayPropertiesInput.tsx
@@ -33,6 +33,7 @@ import { AssayProtocolModel, ProtocolTransformScript } from './models';
import { FORM_IDS, SCRIPTS_DIR } from './constants';
import { getScriptEngineForExtension, getValidPublishTargets } from './actions';
import { useFilterCriteriaContext } from './FilterCriteriaContext';
+import { fetchContainers } from '../../permissions/actions';
interface AssayPropertiesInputProps extends DomainFieldLabelProps, PropsWithChildren {
colSize?: number;
@@ -75,32 +76,32 @@ interface InputProps {
}
export const NameInput: FC = memo(props => (
-
+
-
+
));
NameInput.displayName = 'NameInput';
export const DescriptionInput: FC = memo(props => (
A short description for this assay design.
}
+ hideAdvancedProperties={props.hideAdvancedProperties}
+ label="Description"
>
));
@@ -108,31 +109,31 @@ DescriptionInput.displayName = 'DescriptionInput';
export const QCStatesInput: FC = memo(props => (
If enabled, QC states can be configured and assigned on a per run basis to control the visibility of
imported run data. Users not in the QC Analyst role will not be able to view non-public data.
}
+ label="QC States"
>
-
+
));
QCStatesInput.displayName = 'QCStatesInput';
export const PlateTemplatesInput: FC = memo(props => (
Specify the plate template definition used to map spots or wells on the plate to data fields in this
assay design. More info
}
+ hideAdvancedProperties={props.hideAdvancedProperties}
+ label="Plate Template"
+ required={true}
>