woocommerce/plugins/woocommerce-admin/client/analytics/report
David Stone 8ebd33fe6b Use Route based code splitting to optimize bundle size (https://github.com/woocommerce/woocommerce-admin/pull/4094)
* Use lazy loading to split up the size of the js downloaded

* Use lazy loading to split up the size of the js downloaded

* Add Moment Timezone plugin to reduce size of data file.

* Lazy load header panels and use Dashicons for faster loading

* Load assets from the correct publicPath

* Load assets from the correct publicPath

* PHP cs fixes

* Fix missing quotes on string literal.

* Fix PropType warning for lazy loaded component.

* Separate the task list and dashboard chunks.

* Lazy load dashboard sections.

* Restore original icons and reduce size by importing only the icons needed

* Lazy load alerts to save more Kb on initial load

* Minify built JS in production mode.

* Add preload tags for WC Admin assets. (https://github.com/woocommerce/woocommerce-admin/pull/4162)

* Fix linting errors.

* Add modified UnminifiedWebpackPlugin.

* Produce minified and unminified bundles for all builds.

* Remove unused variable from webpack config.

* Run unminify after sourcemap generation.

* Only hook after optimization if we're using a devtool.

* Add minification suffix in Loader::get_url().

* Lazy load OBW on new home screen.

* Move OBW style up a level to layout.

* Hydrate ProfileWizard independently of withSelect and withDispatch

* Fix order of composition and fallback function when using hydration.

Co-authored-by: Jeff Stieler <jeff.m.stieler@gmail.com>
Co-authored-by: Paul Sealock <psealock@gmail.com>
2020-04-29 12:01:27 -06:00
..
categories Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
coupons Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
customers Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
downloads Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
orders Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
products Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
revenue Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
stock Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13:00
taxes Dynamic Currency with Context API (https://github.com/woocommerce/woocommerce-admin/pull/4027) 2020-04-03 10:54:38 +13: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 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
style.scss Align WooCommerce javascript code standards/linting/styles with WordPress core. (https://github.com/woocommerce/woocommerce-admin/pull/3674) 2020-02-14 15:23:21 +13: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.