woocommerce/plugins/woocommerce-admin/client/analytics/report
Daniel Rey López 08417da553 Allow each page to specify their breadcrumbs without having to render the Header component (https://github.com/woocommerce/woocommerce-admin/pull/2491)
* Simplify Header rendering, remove the use of react-slot-fill

* Remove the useless "/analytics" route

* Move all the <Header> renders to the new, declarative way of specifying breadcrumbs

* Re-render the Layout when a report is added using the REPORTS_FILTER, since that affects the breadcrumbs output

* Fix the base breadcrumb link and breadcrumbs on embedded pages

* Expanded Layout.propTypes to specify the breadcrumbs' shape
2019-07-05 09:15:49 +01:00
..
categories Tracks: add events to chart and table 2019-07-03 11:42:06 +12:00
coupons Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
customers Merge pull request woocommerce/woocommerce-admin#2525 from woocommerce/add/filters-tracks 2019-07-01 11:05:59 +12:00
downloads Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
orders Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
products Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
revenue Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
stock Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
taxes Advanced Filters: Add Tracks events 2019-06-28 12:34:41 +12:00
README.md update analytics report readme 2019-04-29 08:58:33 -03:00
index.js Allow each page to specify their breadcrumbs without having to render the Header component (https://github.com/woocommerce/woocommerce-admin/pull/2491) 2019-07-05 09:15:49 +01:00
style.scss Update Card component to use Muriel design (https://github.com/woocommerce/woocommerce-admin/pull/2252) 2019-05-22 16:38:25 +08:00

README.md

Reports

The core reports offered by WooCommerce live in this folder. The Header is added automatically by the parent Report component, each individual component should contain just the report contents.

Extending Reports

New reports can be added by third-parties without altering woocommerce-admin, by hooking into the reports filter, woocommerce_admin_reports_list. For example:

addFilter( 'woocommerce_admin_reports_list', 'analytics/my-report', pages => {
	return [
		...pages,
		{
			report: 'example',
			title: 'My Example Extension',
			component: Report,
		},
	];
} );

Each report is defined by an object containing report, title, component.

  • report (string): The path used to show the report, ex: /analytics/example
  • title (string): The title shown in the breadcrumbs & document title.
  • component (react component): The component containing the report content- everything on the page under the breadcrumbs header.

The component will get the following props:

  • query (object): The query string for the current view, can be used to paginate reports, or sort/filter report data.
  • path (string): The exact path for this view.
  • pathMatch (string): The route matched for this view, should always be /analytics/:report.
  • params (object): This will contain the report from the path, which should match report in the page object.

Note: Adding your page to woocommerce_admin_reports_list does not add the item to the admin menu, you'll need to do that in PHP with the woocommerce_admin_report_menu_items filter.