Fixed: Change RelativeDateCell to PureComponent

pull/756/head
Qstick 5 years ago
parent 9002dd67e1
commit 43f297099e

@ -1,42 +1,48 @@
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import React from 'react'; import React, { PureComponent } from 'react';
import formatDateTime from 'Utilities/Date/formatDateTime'; import formatDateTime from 'Utilities/Date/formatDateTime';
import getRelativeDate from 'Utilities/Date/getRelativeDate'; import getRelativeDate from 'Utilities/Date/getRelativeDate';
import TableRowCell from './TableRowCell'; import TableRowCell from './TableRowCell';
import styles from './RelativeDateCell.css'; import styles from './RelativeDateCell.css';
function RelativeDateCell(props) { class RelativeDateCell extends PureComponent {
const {
className, //
date, // Render
includeSeconds,
showRelativeDates, render() {
shortDateFormat, const {
longDateFormat, className,
timeFormat, date,
component: Component, includeSeconds,
dispatch, showRelativeDates,
...otherProps shortDateFormat,
} = props; longDateFormat,
timeFormat,
if (!date) { component: Component,
dispatch,
...otherProps
} = this.props;
if (!date) {
return (
<Component
className={className}
{...otherProps}
/>
);
}
return ( return (
<Component <Component
className={className} className={className}
title={formatDateTime(date, longDateFormat, timeFormat, { includeSeconds, includeRelativeDay: !showRelativeDates })}
{...otherProps} {...otherProps}
/> >
{getRelativeDate(date, shortDateFormat, showRelativeDates, { timeFormat, includeSeconds, timeForToday: true })}
</Component>
); );
} }
return (
<Component
className={className}
title={formatDateTime(date, longDateFormat, timeFormat, { includeSeconds, includeRelativeDay: !showRelativeDates })}
{...otherProps}
>
{getRelativeDate(date, shortDateFormat, showRelativeDates, { timeFormat, includeSeconds, timeForToday: true })}
</Component>
);
} }
RelativeDateCell.propTypes = { RelativeDateCell.propTypes = {

Loading…
Cancel
Save