mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-26 17:37:33 +00:00
style(ui): humanise duration shown on ingestion page (#9530)
This commit is contained in:
parent
4de2c24249
commit
5321352852
@ -4,6 +4,7 @@ import { StyledTable } from '../../../entity/shared/components/styled/StyledTabl
|
||||
import { ExecutionRequest } from '../../../../types.generated';
|
||||
import { ButtonsColumn, SourceColumn, StatusColumn, TimeColumn } from './IngestionExecutionTableColumns';
|
||||
import { SUCCESS } from '../utils';
|
||||
import { formatDuration } from '../../../shared/formatDuration';
|
||||
|
||||
interface Props {
|
||||
executionRequests: ExecutionRequest[];
|
||||
@ -34,13 +35,10 @@ export default function IngestionExecutionTable({
|
||||
render: TimeColumn,
|
||||
},
|
||||
{
|
||||
title: 'Duration (s)',
|
||||
title: 'Duration',
|
||||
dataIndex: 'duration',
|
||||
key: 'duration',
|
||||
render: (durationMs: number) => {
|
||||
const seconds = (durationMs && `${durationMs / 1000}s`) || 'None';
|
||||
return seconds;
|
||||
},
|
||||
render: (durationMs: number) => formatDuration(durationMs),
|
||||
},
|
||||
{
|
||||
title: 'Status',
|
||||
|
||||
21
datahub-web-react/src/app/shared/formatDuration.ts
Normal file
21
datahub-web-react/src/app/shared/formatDuration.ts
Normal file
@ -0,0 +1,21 @@
|
||||
export const formatDuration = (durationMs: number): string => {
|
||||
if (!durationMs) return 'None';
|
||||
|
||||
const seconds = durationMs / 1000;
|
||||
|
||||
if (seconds < 60) {
|
||||
return `${seconds.toFixed(1)} s`;
|
||||
}
|
||||
|
||||
const minutes = Math.floor(seconds / 60);
|
||||
const remainingSeconds = Math.round(seconds % 60);
|
||||
|
||||
if (minutes < 60) {
|
||||
return `${minutes} min ${remainingSeconds} s`;
|
||||
}
|
||||
|
||||
const hours = Math.floor(minutes / 60);
|
||||
const remainingMinutes = Math.round(minutes % 60);
|
||||
|
||||
return `${hours} hr ${remainingMinutes} min`;
|
||||
};
|
||||
Loading…
x
Reference in New Issue
Block a user