cspace-ui
Version:
CollectionSpace user interface for browsers
46 lines (41 loc) • 1.17 kB
JSX
import React from 'react';
import { defineMessages, FormattedMessage } from 'react-intl';
import ContentViewerPage from './ContentViewerPage';
import getErrorDescription from '../../helpers/getErrorDescription';
import styles from '../../../styles/cspace-ui/ContentViewerPage.css';
const messages = defineMessages({
error: {
id: 'reportViewerPage.error',
description: 'Message displayed when a report invocation fails.',
defaultMessage: 'Error running report: {error}',
},
loading: {
id: 'reportViewerPage.loading',
description: 'Message displayed when a report is loading.',
defaultMessage: 'Generating report…',
},
});
const renderLoading = () => (
<div className={styles.pending}>
<FormattedMessage {...messages.loading} />
</div>
);
const renderError = (error) => (
<div className={styles.error}>
<FormattedMessage
{...messages.error}
values={{
error: getErrorDescription(error),
}}
/>
</div>
);
export default function ReportViewerPage(props) {
return (
<ContentViewerPage
renderError={renderError}
renderLoading={renderLoading}
{...props}
/>
);
}