61 lines
1.5 KiB
JavaScript
61 lines
1.5 KiB
JavaScript
/**
|
|
* External dependencies
|
|
*/
|
|
import { Component, Fragment } from '@wordpress/element';
|
|
import PropTypes from 'prop-types';
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
import { advancedFilters, charts, filters } from './config';
|
|
import getSelectedChart from 'lib/get-selected-chart';
|
|
import ReportChart from 'analytics/components/report-chart';
|
|
import ReportSummary from 'analytics/components/report-summary';
|
|
import RevenueReportTable from './table';
|
|
import ReportFilters from 'analytics/components/report-filters';
|
|
|
|
export default class RevenueReport extends Component {
|
|
render() {
|
|
const { path, query } = this.props;
|
|
|
|
return (
|
|
<Fragment>
|
|
<ReportFilters
|
|
query={ query }
|
|
path={ path }
|
|
report="revenue"
|
|
filters={ filters }
|
|
advancedFilters={ advancedFilters }
|
|
/>
|
|
<ReportSummary
|
|
charts={ charts }
|
|
endpoint="revenue"
|
|
query={ query }
|
|
selectedChart={ getSelectedChart( query.chart, charts ) }
|
|
filters={ filters }
|
|
advancedFilters={ advancedFilters }
|
|
/>
|
|
<ReportChart
|
|
charts={ charts }
|
|
endpoint="revenue"
|
|
path={ path }
|
|
query={ query }
|
|
selectedChart={ getSelectedChart( query.chart, charts ) }
|
|
filters={ filters }
|
|
advancedFilters={ advancedFilters }
|
|
/>
|
|
<RevenueReportTable
|
|
query={ query }
|
|
filters={ filters }
|
|
advancedFilters={ advancedFilters }
|
|
/>
|
|
</Fragment>
|
|
);
|
|
}
|
|
}
|
|
|
|
RevenueReport.propTypes = {
|
|
path: PropTypes.string.isRequired,
|
|
query: PropTypes.object.isRequired,
|
|
};
|