diff --git a/src/react/databrowser/objects/ObjectLockSetting.tsx b/src/react/databrowser/objects/ObjectLockSetting.tsx index ed98264b8..73801b01b 100644 --- a/src/react/databrowser/objects/ObjectLockSetting.tsx +++ b/src/react/databrowser/objects/ObjectLockSetting.tsx @@ -137,7 +137,10 @@ export default function ObjectLockSetting() { useEffect(() => { setValue('isRetentionEnabled', isDefaultRetentionEnabled); setValue('retentionMode', defaultRetentionMode); - setValue('retentionUntilDate', defaultRetentionUntilDate); + setValue( + 'retentionUntilDate', + DateTime.fromJSDate(defaultRetentionUntilDate).toFormat('yyyy-LL-dd'), + ); }, [ setValue, isDefaultRetentionEnabled, @@ -285,9 +288,9 @@ export default function ObjectLockSetting() { type="date" name="retention-until-date" disabled={!isRetentionEnabled} - onChange={(e: ChangeEvent) => - onChange(e.target.value) - } + onChange={(e: ChangeEvent) => { + onChange(e.target.value); + }} value={retentionUntilDate} min={minRetainUtilDate} /> diff --git a/src/react/databrowser/objects/__tests__/ObjectLockSetting.test.tsx b/src/react/databrowser/objects/__tests__/ObjectLockSetting.test.tsx index f4c7bc834..86d5f1304 100644 --- a/src/react/databrowser/objects/__tests__/ObjectLockSetting.test.tsx +++ b/src/react/databrowser/objects/__tests__/ObjectLockSetting.test.tsx @@ -42,7 +42,7 @@ describe('ObjectLockSetting', () => { bucketName: 'test-bucket', objectRetention: { mode: 'GOVERNANCE', - retainUntilDate: '2022-01-31 00:00:00"', + retainUntilDate: new Date('2022-01-31 00:00:00'), }, }, }, @@ -72,7 +72,7 @@ describe('ObjectLockSetting', () => { bucketName: 'test-bucket', objectRetention: { mode: 'COMPLIANCE', - retainUntilDate: '2022-01-31 00:00:00"', + retainUntilDate: new Date('2022-01-31 00:00:00'), }, }, }, diff --git a/src/react/databrowser/objects/details/Properties.tsx b/src/react/databrowser/objects/details/Properties.tsx index 70eeb96bf..56ebcc1ae 100644 --- a/src/react/databrowser/objects/details/Properties.tsx +++ b/src/react/databrowser/objects/details/Properties.tsx @@ -1,8 +1,7 @@ -// @noflow import Table, * as T from '../../../ui-elements/TableKeyValue2'; import { Clipboard } from '../../../ui-elements/Clipboard'; import MiddleEllipsis from '../../../ui-elements/MiddleEllipsis'; -import { ObjectMetadata } from '../../../../types/s3'; +import { ObjectEntity, ObjectMetadata } from '../../../../types/s3'; import { FormattedDateTime, Icon, @@ -31,7 +30,7 @@ import { } from '../../../ui-elements/Veeam/VeeamConstants'; type Props = { - objectMetadata: ObjectMetadata; + objectMetadata: ObjectMetadata & { lockStatus?: ObjectEntity['lockStatus'] }; }; const TruncatedValue = styled.div` max-width: 18rem; @@ -203,47 +202,38 @@ function Properties({ objectMetadata }: Props) { Lock
- { - //@ts-expect-error fix this when you are working on it - objectMetadata.lockStatus === 'LOCKED' && ( - <> - Locked ( - {objectMetadata.objectRetention.mode.toLowerCase()}) -
- until{' '} - - - ) - } - { - //@ts-expect-error fix this when you are working on it - objectMetadata.lockStatus === 'RELEASED' && ( - <> - Released -
- since{' '} - - - ) - } - { - //@ts-expect-error fix this when you are working on it - objectMetadata.lockStatus === 'NONE' && 'No retention' - } + {objectMetadata.lockStatus === 'LOCKED' && ( + <> + Locked ( + {objectMetadata.objectRetention.mode.toLowerCase()}) +
+ until{' '} + + + )} + {objectMetadata.lockStatus === 'RELEASED' && ( + <> + Released +
+ since{' '} + + + )} + {objectMetadata.lockStatus === 'NONE' && 'No retention'}
{isObjectLockEnabled && (