From 07b4dad4d36b68fcc2199975fa101e244b6cd345 Mon Sep 17 00:00:00 2001 From: Alex <33497058+bexsoft@users.noreply.github.com> Date: Wed, 27 Apr 2022 15:08:19 -0600 Subject: [PATCH] Fixed issues with Quota modal (#1911) Signed-off-by: Benjamin Perez --- portal-ui/src/common/utils.ts | 10 +++++++-- .../BucketDetails/BucketSummaryPanel.tsx | 2 +- .../Buckets/BucketDetails/EnableQuota.tsx | 22 +++++-------------- .../SummaryItems/BucketQuotaSize.tsx | 2 +- 4 files changed, 15 insertions(+), 21 deletions(-) diff --git a/portal-ui/src/common/utils.ts b/portal-ui/src/common/utils.ts index d1aab9676..889330971 100644 --- a/portal-ui/src/common/utils.ts +++ b/portal-ui/src/common/utils.ts @@ -585,12 +585,18 @@ export const getTimeFromTimestamp = ( }; export const calculateBytes = ( - x: string, + x: string | number, showDecimals = false, roundFloor = true, k8sUnit = false ) => { - const bytes = parseInt(x, 10); + let bytes; + + if (typeof x === "string") { + bytes = parseInt(x, 10); + } else { + bytes = x; + } if (bytes === 0) { return { total: 0, unit: units[0] }; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx index a1bbeaeed..3f38405c6 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx @@ -558,7 +558,7 @@ const BucketSummary = ({ iamScopes={[IAM_SCOPES.S3_PUT_BUCKET_VERSIONING]} resourceName={bucketName} property={"Current Status:"} - value={isVersioned ? "Enabled" : "Unversioned (Default)"} + value={isVersioned ? "Versioned" : "Unversioned (Default)"} onEdit={setBucketVersioning} isLoading={loadingVersioning} /> diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx index 17e655954..27a9044e5 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx @@ -22,9 +22,9 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import Grid from "@mui/material/Grid"; import { + calculateBytes, getBytes, k8sScalarUnitsExcluding, - units, } from "../../../../common/utils"; import { BucketQuota } from "../types"; import { setModalErrorSnackMessage } from "../../../../actions"; @@ -68,28 +68,16 @@ const EnableQuota = ({ const [loading, setLoading] = useState(false); const [quotaEnabled, setQuotaEnabled] = useState(false); const [quotaSize, setQuotaSize] = useState("1"); - const [quotaUnit, setQuotaUnit] = useState("TiB"); + const [quotaUnit, setQuotaUnit] = useState("Ti"); useEffect(() => { if (enabled) { setQuotaEnabled(true); if (cfg) { - setQuotaSize(`${cfg.quota}`); - setQuotaUnit(`Gi`); + const unitCalc = calculateBytes(cfg.quota, false, false, true); - let maxUnit = "B"; - let maxQuota = cfg.quota; - - for (let i = 0; i < units.length; i++) { - if (cfg.quota % Math.pow(1024, i) === 0) { - maxQuota = cfg.quota / Math.pow(1024, i); - maxUnit = units[i]; - } else { - break; - } - } - setQuotaSize(`${maxQuota}`); - setQuotaUnit(maxUnit); + setQuotaSize(unitCalc.total.toString()); + setQuotaUnit(unitCalc.unit); } } }, [enabled, cfg]); diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx index e48d7e13a..0e1d83936 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx @@ -52,7 +52,7 @@ const BucketQuotaSize = ({ quota }: { quota: any }) => { > {quota?.type} Quota - + );