From 1e284eb6cfc134c083bf090d9c6fca63dbf04798 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 7 Jun 2022 11:55:52 +0100 Subject: [PATCH 1/5] ML: Fix various prop-types errors --- .../src/components/EditFolderDialog/EditFolderDialog.js | 6 ++++-- .../core/upload/admin/src/components/SelectTree/Option.js | 4 ++-- .../src/components/UploadAssetDialog/UploadAssetDialog.js | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/core/upload/admin/src/components/EditFolderDialog/EditFolderDialog.js b/packages/core/upload/admin/src/components/EditFolderDialog/EditFolderDialog.js index c72d0c4a3b..5212cd7819 100644 --- a/packages/core/upload/admin/src/components/EditFolderDialog/EditFolderDialog.js +++ b/packages/core/upload/admin/src/components/EditFolderDialog/EditFolderDialog.js @@ -54,7 +54,9 @@ export const EditFolderDialog = ({ onClose, folder, parentFolderId }) => { const initialFormData = !folderStructureIsLoading && { name: folder?.name ?? undefined, parent: { - value: parentFolderId ? parseInt(parentFolderId, 10) : folderStructure[0].value, + /* ideally we would use folderStructure[0].value, but since it is null + react complains about rendering null as field value */ + value: parentFolderId ? parseInt(parentFolderId, 10) : undefined, label: parentFolderId ? findRecursiveFolderByValue(folderStructure, parseInt(parentFolderId, 10))?.label : folderStructure[0].label, @@ -291,5 +293,5 @@ EditFolderDialog.defaultProps = { EditFolderDialog.propTypes = { folder: FolderDefinition, onClose: PropTypes.func.isRequired, - parentFolderId: PropTypes.number, + parentFolderId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), }; diff --git a/packages/core/upload/admin/src/components/SelectTree/Option.js b/packages/core/upload/admin/src/components/SelectTree/Option.js index 1e34a81794..cba20d071e 100644 --- a/packages/core/upload/admin/src/components/SelectTree/Option.js +++ b/packages/core/upload/admin/src/components/SelectTree/Option.js @@ -50,12 +50,12 @@ const Option = ({ children, data, selectProps, ...props }) => { }; Option.propTypes = { - children: PropTypes.arrayOf(PropTypes.element).isRequired, + children: PropTypes.node.isRequired, data: PropTypes.object.isRequired, onToggle: PropTypes.func.isRequired, selectProps: PropTypes.shape({ maxDisplayDepth: PropTypes.number, - openValues: PropTypes.arrayOf([PropTypes.string, PropTypes.number]), + openValues: PropTypes.oneOfType(PropTypes.string, PropTypes.number), onOptionToggle: PropTypes.func, }).isRequired, }; diff --git a/packages/core/upload/admin/src/components/UploadAssetDialog/UploadAssetDialog.js b/packages/core/upload/admin/src/components/UploadAssetDialog/UploadAssetDialog.js index 34a0a2b248..e8dd57f521 100644 --- a/packages/core/upload/admin/src/components/UploadAssetDialog/UploadAssetDialog.js +++ b/packages/core/upload/admin/src/components/UploadAssetDialog/UploadAssetDialog.js @@ -133,7 +133,7 @@ UploadAssetDialog.defaultProps = { UploadAssetDialog.propTypes = { addUploadedFiles: PropTypes.func, - folderId: PropTypes.number, + folderId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), initialAssetsToAdd: PropTypes.arrayOf(AssetDefinition), onClose: PropTypes.func.isRequired, trackedLocation: PropTypes.string, From 275c896052400d891ba155f62a5945799462e1b9 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 7 Jun 2022 12:02:32 +0100 Subject: [PATCH 2/5] SelectTree: Fix .oneOfType() prop-type check --- packages/core/upload/admin/src/components/SelectTree/Option.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/upload/admin/src/components/SelectTree/Option.js b/packages/core/upload/admin/src/components/SelectTree/Option.js index cba20d071e..353c086e4f 100644 --- a/packages/core/upload/admin/src/components/SelectTree/Option.js +++ b/packages/core/upload/admin/src/components/SelectTree/Option.js @@ -55,7 +55,7 @@ Option.propTypes = { onToggle: PropTypes.func.isRequired, selectProps: PropTypes.shape({ maxDisplayDepth: PropTypes.number, - openValues: PropTypes.oneOfType(PropTypes.string, PropTypes.number), + openValues: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), onOptionToggle: PropTypes.func, }).isRequired, }; From 1e9c66a351206be98f29dae47b302ba855d289c0 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 7 Jun 2022 12:19:17 +0100 Subject: [PATCH 3/5] SelectTree: Improve Option prop-types --- packages/core/upload/admin/src/components/SelectTree/Option.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/upload/admin/src/components/SelectTree/Option.js b/packages/core/upload/admin/src/components/SelectTree/Option.js index 353c086e4f..6a49b2f5e0 100644 --- a/packages/core/upload/admin/src/components/SelectTree/Option.js +++ b/packages/core/upload/admin/src/components/SelectTree/Option.js @@ -55,7 +55,7 @@ Option.propTypes = { onToggle: PropTypes.func.isRequired, selectProps: PropTypes.shape({ maxDisplayDepth: PropTypes.number, - openValues: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + openValues: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), onOptionToggle: PropTypes.func, }).isRequired, }; From 7ea93622fddcddc982b45f6f967d93cc522de2e7 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 7 Jun 2022 12:21:46 +0100 Subject: [PATCH 4/5] ML: Relax prop-types for UploadingAssetCard and PendingAssetStep --- .../upload/admin/src/components/AssetCard/UploadingAssetCard.js | 2 +- .../UploadAssetDialog/PendingAssetStep/PendingAssetStep.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js b/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js index 058c1b803a..7e602e65cb 100644 --- a/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js +++ b/packages/core/upload/admin/src/components/AssetCard/UploadingAssetCard.js @@ -130,7 +130,7 @@ UploadingAssetCard.propTypes = { rawFile: PropTypes.instanceOf(File), type: PropTypes.oneOf(Object.values(AssetType)), }).isRequired, - folderId: PropTypes.number, + folderId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), onCancel: PropTypes.func.isRequired, onStatusChange: PropTypes.func.isRequired, }; diff --git a/packages/core/upload/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js b/packages/core/upload/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js index 24ea8cc136..bf7ece6439 100644 --- a/packages/core/upload/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js +++ b/packages/core/upload/admin/src/components/UploadAssetDialog/PendingAssetStep/PendingAssetStep.js @@ -171,7 +171,7 @@ PendingAssetStep.defaultProps = { PendingAssetStep.propTypes = { addUploadedFiles: PropTypes.func, assets: PropTypes.arrayOf(AssetDefinition).isRequired, - folderId: PropTypes.number, + folderId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), onClose: PropTypes.func.isRequired, onEditAsset: PropTypes.func.isRequired, onRemoveAsset: PropTypes.func.isRequired, From 813aca387cd218b68d9466f9a574779ad0b3a8f7 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 7 Jun 2022 12:43:50 +0100 Subject: [PATCH 5/5] EditAssetDialog: Fix empty field value --- .../core/upload/admin/src/components/EditAssetDialog/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/upload/admin/src/components/EditAssetDialog/index.js b/packages/core/upload/admin/src/components/EditAssetDialog/index.js index 12827d8e37..dacd7afe16 100644 --- a/packages/core/upload/admin/src/components/EditAssetDialog/index.js +++ b/packages/core/upload/admin/src/components/EditAssetDialog/index.js @@ -108,7 +108,7 @@ export const EditAssetDialog = ({ alternativeText: asset.alternativeText ?? undefined, caption: asset.caption ?? undefined, parent: { - value: activeFolderId ?? null, + value: activeFolderId ?? undefined, label: findRecursiveFolderByValue(folderStructure, activeFolderId)?.label ?? folderStructure[0].label,