woocommerce/plugins/woocommerce-admin/client/analytics/report
Albert Juhé Lluveras 666d8e4a3b Merge getOrders and getItems (https://github.com/woocommerce/woocommerce-admin/pull/1438)
* Move labels loading logic into a lib

* Move lib/labels into lib/async-requests

* Implement tabular data filtering

* Allow searching for string in report tables

* Add table filtering to customers table

* Get ids from searched string to populate the table

* Fix autocompleter keyboard interactions

* Improve props naming

* Cleanup report customers data store

* Prevent an edge case issue that might not update the selectedOptions when directily modifying the URL

* Fix wrong selected autocompleter option

* Add missing translation domain

* Move searchItemsByString to wc-api/items/utils.js

* Avoid autocompleter results appearing when there was no search string

* Alphabetically order 'allowFreeTextSearch' prop

* Reset selected table rows when directly modifying the URL

* Simplify props destructuring

* Undo customers data store change

* Simplify isProductDetailsView expression

* Improve order

* Merge getOrders and getItems
2019-02-01 11:01:42 +01:00
..
categories Merge getOrders and getItems (https://github.com/woocommerce/woocommerce-admin/pull/1438) 2019-02-01 11:01:42 +01:00
coupons Implement tabular data filtering (https://github.com/woocommerce/woocommerce-admin/pull/1381) 2019-02-01 10:55:19 +01:00
customers Implement tabular data filtering (https://github.com/woocommerce/woocommerce-admin/pull/1381) 2019-02-01 10:55:19 +01:00
downloads Update usage of lib/number to @woocommerce/number (https://github.com/woocommerce/woocommerce-admin/pull/1400) 2019-01-29 08:48:46 -08:00
orders Update usage of lib/number to @woocommerce/number (https://github.com/woocommerce/woocommerce-admin/pull/1400) 2019-01-29 08:48:46 -08:00
products Merge getOrders and getItems (https://github.com/woocommerce/woocommerce-admin/pull/1438) 2019-02-01 11:01:42 +01:00
revenue Finish cleaning up client/store. (https://github.com/woocommerce/woocommerce-admin/pull/1403) 2019-01-30 02:22:10 -05:00
stock Update usage of lib/number to @woocommerce/number (https://github.com/woocommerce/woocommerce-admin/pull/1400) 2019-01-29 08:48:46 -08:00
taxes Implement tabular data filtering (https://github.com/woocommerce/woocommerce-admin/pull/1381) 2019-02-01 10:55:19 +01:00
README.md Extensions: Add filter to allow third-party registration of reports (https://github.com/woocommerce/woocommerce-admin/pull/298) 2018-08-20 17:24:17 -04:00
index.js Implement tabular data filtering (https://github.com/woocommerce/woocommerce-admin/pull/1381) 2019-02-01 10:55:19 +01:00
style.scss Add loading indicators, error state, and EmptyContent to the revenue report. (#347, woocommerce/woocommerce-admin#348) 2018-09-05 12:45:49 -04: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 wc-admin, by hooking into the reports filter, woocommerce-reports-list. For example:

addFilter( 'woocommerce-reports-list', 'wc-example/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-reports-list does not add the item to the admin menu, you'll need to do that in PHP with wc_admin_register_page.