1900bb0917
* Add aria roles to chart elements * Make individual points (in line charts) and individual bar (in bar charts) focusable * Remove methods which are never used * Reduce the number of parameters required by functions that display/hide the tooltip * Use tooltipFormat for accessibility dates * Rename 'formatVoiceDate' function to 'getTooltipDate' * Use string literals for aria-label * Remove table role which was no longer needed * Add aria-hidden to X-axis in charts * Remove 'key' from points/bar aria-label in charts * Set different ARIA properties depending on chart mode (time or item comparison) * Label should default to an empty string instead of a 0 * Use date format from params instead of hardcoded |
||
---|---|---|
.. | ||
coupons | ||
orders | ||
products | ||
revenue | ||
README.md | ||
index.js | ||
style.scss |
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 thereport
from the path, which should matchreport
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
.