Skip to content

Commit

Permalink
Centrelize source and report status as constant
Browse files Browse the repository at this point in the history
  • Loading branch information
Cédric Farcy committed Dec 4, 2023
1 parent 74762df commit 0efb222
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 28 deletions.
7 changes: 7 additions & 0 deletions src/modules/RA/DataSource/components/DataSourceStatus.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,10 @@ export const sourceStatus = {
2: 'done',
3: 'inProgress',
};

export const reportStatus = {
0: 'success',
1: 'error',
2: 'warning',
3: 'pending',
};
12 changes: 2 additions & 10 deletions src/modules/RA/DataSource/components/ReportTab.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
Description as DescriptionIcon,
} from '@material-ui/icons';

import STATUS from './DataSourceStatus';
import STATUS, { reportStatus } from './DataSourceStatus';

const useStyles = makeStyles(theme => ({
container: {
Expand Down Expand Up @@ -77,15 +77,7 @@ const ReportTab = ({ report, translate }) => {
</ListItem>
), [report, classes.errorItemEven, classes.errorItemOdd]);

const status = React.useMemo(() => {
const statusChoices = {
0: 'success',
1: 'error',
2: 'warning',
3: 'pending',
};
return statusChoices[report.status];
}, [report.status]);
const status = React.useMemo(() => reportStatus[report.status], [report.status]);
const statusKey = STATUS[status];

return (
Expand Down
10 changes: 3 additions & 7 deletions src/modules/RA/DataSource/components/StatusChip/Tooltip.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ import {
DoneAllOutlined as DoneAllOutlinedIcon,
} from '@material-ui/icons';

import { reportStatus } from '../DataSourceStatus';

const useStyles = makeStyles(theme => ({
nested: {
paddingLeft: theme.spacing(6),
Expand Down Expand Up @@ -55,19 +57,13 @@ const Tooltip = ({
? `${translate('datasource.tooltip.finished')} ${endingDate.toLocaleString()}`
: translate('datasource.tooltip.notFinished');

const statusChoices = {
0: 'success',
1: 'error',
2: 'warning',
3: 'pending',
};

return (
<div>
<List disablePadding dense>
<ListItem>
<ListItemIcon><FlashOnOutlinedIcon fontSize="small" /></ListItemIcon>
<ListItemText primary={status && translate(`datasource.refreshStatus.${statusChoices[status]}`)} />
<ListItemText primary={status && translate(`datasource.refreshStatus.${reportStatus[status]}`)} />
</ListItem>

<Divider variant="middle" />
Expand Down
16 changes: 5 additions & 11 deletions src/modules/RA/DataSource/components/StatusChip/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ import WarningIcon from '@material-ui/icons/Warning';

import TooltipStatus from './Tooltip';

import {
SYNC_NEEDED,
import STATUS, {
PENDING,
DONE,
NOT_NEEDED,
IN_PROGRESS,
sourceStatus,
} from '../DataSourceStatus';

const useStyles = makeStyles({
Expand Down Expand Up @@ -70,14 +70,8 @@ const StatusChip = ({
const translate = useTranslate();
const classes = useStyles();
const stateKey = React.useMemo(() => {
const choices = {
0: SYNC_NEEDED,
1: PENDING,
2: DONE,
3: IN_PROGRESS,
default: NOT_NEEDED,
};
return choices[state] || choices.default;
const statusName = sourceStatus[state];
return STATUS[statusName] || NOT_NEEDED;
}, [state]);

const redirectToReport = React.useCallback(e => {
Expand All @@ -97,7 +91,7 @@ const StatusChip = ({

return (
<Tooltip
title={report && <TooltipStatus translate={translate} {...status} />}
title={report && <TooltipStatus translate={translate} {...report} />}
disableHoverListener={!report}
>
<Chip
Expand Down

0 comments on commit 0efb222

Please sign in to comment.