diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 26bd5b2471..f097a92582 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -1,12 +1,12 @@ { "name": "@labkey/components", - "version": "7.5.1", + "version": "7.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@labkey/components", - "version": "7.5.1", + "version": "7.6.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 292f9e7eba..13dff1eef2 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@labkey/components", - "version": "7.5.1", + "version": "7.6.0", "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 ed811ff4de..1fa4dd8131 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.6.0 +*Released*: 29 December 2025 +- Copy folder access settings when copying freezers and assay designs + - GitHub Issue #284: Freezer copy + - GitHub Issue #305: Assay design copy + ### version 7.5.1 *Released*: 24 December 2025 - Add `displaySelectedOptions` prop and respect setting when passing `selectedOptions` to the underlying `SelectInput` diff --git a/packages/components/src/internal/components/domainproperties/DataTypeFoldersPanel.tsx b/packages/components/src/internal/components/domainproperties/DataTypeFoldersPanel.tsx index 34c65f8832..97f60deb34 100644 --- a/packages/components/src/internal/components/domainproperties/DataTypeFoldersPanel.tsx +++ b/packages/components/src/internal/components/domainproperties/DataTypeFoldersPanel.tsx @@ -21,6 +21,7 @@ import { } from './DomainPropertiesPanelCollapse'; interface OwnProps { + dataTypeCopyId?: number; // RowId for the data type being copied, if applicable dataTypeName?: string; dataTypeRowId?: number; entityDataType: EntityDataType; @@ -30,11 +31,12 @@ interface OwnProps { } // export for jest testing -export const DataTypeFoldersPanelImpl: FC = memo(props => { +export const DataTypeFoldersPanelImpl: FC = memo(props => { const { collapsed, togglePanel, controlledCollapse, + dataTypeCopyId, dataTypeRowId, dataTypeName, onUpdateExcludedFolders, @@ -53,6 +55,8 @@ export const DataTypeFoldersPanelImpl: FC(); const [excludedContainerIds, setExcludedContainerIds] = useState(); const [relatedExcludedContainerIdsDB, setRelatedExcludedContainerIdsDB] = useState(); + const copy = !!dataTypeCopyId && !dataTypeRowId; + const isNewEntity = !dataTypeRowId && !copy; useEffect( () => { @@ -62,6 +66,7 @@ export const DataTypeFoldersPanelImpl: FC { return { @@ -77,10 +82,13 @@ export const DataTypeFoldersPanelImpl: FC
Select which folders can use this {entityDataType.typeNounSingular.toLowerCase()}. @@ -169,17 +177,17 @@ export const DataTypeFoldersPanelImpl: FC
)} @@ -187,29 +195,29 @@ export const DataTypeFoldersPanelImpl: FC
diff --git a/packages/components/src/internal/components/domainproperties/assay/AssayDesignerPanels.tsx b/packages/components/src/internal/components/domainproperties/assay/AssayDesignerPanels.tsx index 1d4ebdf723..6868ad5e86 100644 --- a/packages/components/src/internal/components/domainproperties/assay/AssayDesignerPanels.tsx +++ b/packages/components/src/internal/components/domainproperties/assay/AssayDesignerPanels.tsx @@ -163,6 +163,7 @@ export interface AssayDesignerPanelsProps { hideAdvancedProperties?: boolean; hideEmptyBatchDomain?: boolean; initModel: AssayProtocolModel; + initProtocolId?: number; // used for copy assay design since initModel will not have the protocolId in that case onCancel: () => void; onChange?: (model: AssayProtocolModel) => void; onComplete: (model: AssayProtocolModel) => void; @@ -392,6 +393,7 @@ export class AssayDesignerPanelsImpl extends React.PureComponent { appPropertiesOnly, hideAdvancedProperties, initModel, + initProtocolId, domainFormDisplayOptions, currentPanelIndex, validatePanel, @@ -475,6 +477,7 @@ export class AssayDesignerPanelsImpl extends React.PureComponent { {appPropertiesOnly && allowFolderExclusion && (