diff --git a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/utils/common.tsx b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/utils/common.tsx index 9b1f9e09eaf5..632db8d94073 100644 --- a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/utils/common.tsx +++ b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/utils/common.tsx @@ -66,6 +66,16 @@ export const byteToSize = (bytes: number, decimals: number) => { return isNaN(i) ? `Not Defined` : `${Number.parseFloat((bytes / (k ** i)).toFixed(dm))} ${sizes[i]}`; }; +/** + * The function transforms the provided number to a comma separated value + * Ex: 1000 will be 1,000 + * @param num The number to convert + * @returns The number separated at every thousandth place by commas + */ +export function numberWithCommas(num: number) { + return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); +} + export const nullAwareLocaleCompare = (a: string, b: string) => { if (!a && !b) { return 0; diff --git a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/v2/components/overviewCard/overviewSimpleCard.tsx b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/v2/components/overviewCard/overviewSimpleCard.tsx index a685e3a2bcd9..2269ad9663a4 100644 --- a/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/v2/components/overviewCard/overviewSimpleCard.tsx +++ b/hadoop-ozone/recon/src/main/resources/webapps/recon/ozone-recon-web/src/v2/components/overviewCard/overviewSimpleCard.tsx @@ -30,6 +30,7 @@ import { InboxOutlined, QuestionCircleOutlined } from '@ant-design/icons'; +import { numberWithCommas } from '@/utils/common'; // ------------- Types -------------- // @@ -138,7 +139,7 @@ const OverviewSimpleCard: React.FC = ({ - {data} + {numberWithCommas(data)}