woocommerce/plugins/woocommerce-admin/client/analytics/report
Darren Ethier dc5304823b Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714)
* add new woocommerce/eslint-plugin

* implement eslint-plugin (switch scripts to use wp-scripts etc)

* various linting fixes

* more lint fixes

* improve fix script

* more eslint fixes

* more eslint fixes

* temporary convert rules to warnings until they are all handled

* linting fixes

* update package-lock.json

* remove duplicates

* remove unnecessary `@wordpress/dependency-group` rule config

* add docs and adjust rules

* prettier fix

* fix merge artifact

* convert more rules to warnings

* change order to reflect importance

* install babel-preset-default

* remove unnecessary configuration for babel

* fix dependency group rule and test

* fix test

* handle collapsible whitespace

* add react testing library eslint plugin

* linter errors

* Add back in prettierrc

* package-lock update

* js lint fix with --fix

* disable whitespace in translation

* package-lock update

* make eslint actual dependency, not peer dependency

* pin eslint to v7

* I don't know why, but its working

* fix lint js

Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-07-28 14:32:58 +12:00
..
categories fix staticParams (https://github.com/woocommerce/woocommerce-admin/pull/4704) 2020-07-08 12:38:50 +12:00
coupons fix staticParams (https://github.com/woocommerce/woocommerce-admin/pull/4704) 2020-07-08 12:38:50 +12:00
customers fix staticParams (https://github.com/woocommerce/woocommerce-admin/pull/4704) 2020-07-08 12:38:50 +12:00
downloads Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714) 2020-07-28 14:32:58 +12:00
orders fix staticParams (https://github.com/woocommerce/woocommerce-admin/pull/4704) 2020-07-08 12:38:50 +12:00
products fix staticParams (https://github.com/woocommerce/woocommerce-admin/pull/4704) 2020-07-08 12:38:50 +12:00
revenue Currency package: make naming clearer (https://github.com/woocommerce/woocommerce-admin/pull/4560) 2020-06-18 11:33:40 +12:00
stock Currency package: make naming clearer (https://github.com/woocommerce/woocommerce-admin/pull/4560) 2020-06-18 11:33:40 +12:00
taxes Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714) 2020-07-28 14:32:58 +12:00
README.md update analytics report readme 2019-04-29 08:58:33 -03:00
get-reports.js Use Route based code splitting to optimize bundle size (https://github.com/woocommerce/woocommerce-admin/pull/4094) 2020-04-29 12:01:27 -06:00
index.js Add @woocommerce/eslint-plugin (https://github.com/woocommerce/woocommerce-admin/pull/4714) 2020-07-28 14:32:58 +12:00
style.scss Update @wordpress/base-styles and replace deprecated variables (https://github.com/woocommerce/woocommerce-admin/pull/4759) 2020-07-17 12:11:42 +12: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.