Add support for different report components, and create revenue report component.

This commit is contained in:
Timmy Crawford 2018-06-14 13:15:11 -07:00
parent bc084b7302
commit 652fdd8be1
4 changed files with 126 additions and 30 deletions

View File

@ -0,0 +1,42 @@
/** @format */
/**
* External dependencies
*/
import { __ } from '@wordpress/i18n';
import { Component, Fragment } from '@wordpress/element';
/**
* Internal dependencies
*/
import Header from 'components/header';
import { SummaryList, SummaryNumber } from 'components/summary';
export default class extends Component {
render() {
return (
<Fragment>
<Header
sections={ [
[ '/analytics', __( 'Analytics', 'woo-dash' ) ],
__( 'Report Title', 'woo-dash' ),
] }
/>
<SummaryList>
<SummaryNumber
value={ '$829.40' }
label={ __( 'Gross Revenue', 'woo-dash' ) }
delta={ 29 }
/>
<SummaryNumber
value={ '$24.00' }
label={ __( 'Refunds', 'woo-dash' ) }
delta={ -10 }
selected
/>
<SummaryNumber value={ '$49.90' } label={ __( 'Coupons', 'woo-dash' ) } delta={ 15 } />
<SummaryNumber value={ '$66.39' } label={ __( 'Tax', 'woo-dash' ) } />
</SummaryList>
</Fragment>
);
}
}

View File

@ -2,41 +2,31 @@
/**
* External dependencies
*/
import { __ } from '@wordpress/i18n';
import { Component, Fragment } from '@wordpress/element';
import { Component } from '@wordpress/element';
import PropTypes from 'prop-types';
/**
* Internal dependencies
*/
import Header from 'components/header';
import { SummaryList, SummaryNumber } from 'components/summary';
import ExampleReport from './example';
import RevenueReport from './revenue';
export default class extends Component {
class Report extends Component {
render() {
return (
<Fragment>
<Header
sections={ [
[ '/analytics', __( 'Analytics', 'woo-dash' ) ],
__( 'Report Title', 'woo-dash' ),
] }
/>
<SummaryList>
<SummaryNumber
value={ '$829.40' }
label={ __( 'Gross Revenue', 'woo-dash' ) }
delta={ 29 }
/>
<SummaryNumber
value={ '$24.00' }
label={ __( 'Refunds', 'woo-dash' ) }
delta={ -10 }
selected
/>
<SummaryNumber value={ '$49.90' } label={ __( 'Coupons', 'woo-dash' ) } delta={ 15 } />
<SummaryNumber value={ '$66.39' } label={ __( 'Tax', 'woo-dash' ) } />
</SummaryList>
</Fragment>
);
const { params } = this.props;
switch ( params.report ) {
case 'revenue':
return <RevenueReport { ...this.props } />;
default:
return <ExampleReport />;
}
}
}
Report.propTypes = {
params: PropTypes.object.isRequired,
path: PropTypes.string.isRequired,
query: PropTypes.object.isRequired,
};
export default Report;

View File

@ -0,0 +1,55 @@
/** @format */
/**
* External dependencies
*/
import { __ } from '@wordpress/i18n';
import { Component, Fragment } from '@wordpress/element';
import PropTypes from 'prop-types';
/**
* Internal dependencies
*/
import DatePicker from 'components/date-picker';
import Header from 'components/header';
import { SummaryList, SummaryNumber } from 'components/summary';
class RevenueReport extends Component {
render() {
const { path, query } = this.props;
return (
<Fragment>
<Header
sections={ [
[ '/analytics', __( 'Analytics', 'woo-dash' ) ],
__( 'Revenue', 'woo-dash' ),
] }
/>
<DatePicker query={ query } path={ path } />
<SummaryList>
<SummaryNumber
value={ '$829.40' }
label={ __( 'Gross Revenue', 'woo-dash' ) }
delta={ 29 }
/>
<SummaryNumber
value={ '$24.00' }
label={ __( 'Refunds', 'woo-dash' ) }
delta={ -10 }
selected
/>
<SummaryNumber value={ '$49.90' } label={ __( 'Coupons', 'woo-dash' ) } delta={ 15 } />
<SummaryNumber value={ '$66.39' } label={ __( 'Taxes', 'woo-dash' ) } />
</SummaryList>
</Fragment>
);
}
}
RevenueReport.propTypes = {
params: PropTypes.object.isRequired,
path: PropTypes.string.isRequired,
query: PropTypes.object.isRequired,
};
export default RevenueReport;

View File

@ -48,6 +48,15 @@ function woo_dash_register_pages(){
'woodash#/analytics/test',
'woo_dash_page'
);
add_submenu_page(
'woodash#/analytics',
__( 'Revenue', 'woo-dash' ),
__( 'Revenue', 'woo-dash' ),
'manage_options',
'woodash#/analytics/revenue',
'woo_dash_page'
);
}
add_action( 'admin_menu', 'woo_dash_register_pages' );