/** * External dependencies */ import { __, _x } from '@wordpress/i18n'; import { applyFilters } from '@wordpress/hooks'; import { STORE_KEY as CES_STORE_KEY } from '@woocommerce/customer-effort-score'; import { NAMESPACE } from '@woocommerce/data'; import { dispatch } from '@wordpress/data'; /** * Internal dependencies */ import { getRequestByIdString } from '../../../lib/async-requests'; import { getTaxCode } from './utils'; const TAXES_REPORT_CHARTS_FILTER = 'woocommerce_admin_taxes_report_charts'; const TAXES_REPORT_FILTERS_FILTER = 'woocommerce_admin_taxes_report_filters'; const TAXES_REPORT_ADVANCED_FILTERS_FILTER = 'woocommerce_admin_taxes_report_advanced_filters'; const { addCesSurveyForAnalytics } = dispatch( CES_STORE_KEY ); /** * @typedef {import('../index.js').chart} chart */ /** * Taxes Report charts filter. * * @filter woocommerce_admin_taxes_report_charts * @param {Array.} charts Report charts. */ export const charts = applyFilters( TAXES_REPORT_CHARTS_FILTER, [ { key: 'total_tax', label: __( 'Total tax', 'woocommerce' ), order: 'desc', orderby: 'total_tax', type: 'currency', }, { key: 'order_tax', label: __( 'Order tax', 'woocommerce' ), order: 'desc', orderby: 'order_tax', type: 'currency', }, { key: 'shipping_tax', label: __( 'Shipping tax', 'woocommerce' ), order: 'desc', orderby: 'shipping_tax', type: 'currency', }, { key: 'orders_count', label: __( 'Orders', 'woocommerce' ), order: 'desc', orderby: 'orders_count', type: 'number', }, ] ); /** * Taxes Report Advanced Filters. * * @filter woocommerce_admin_taxes_report_advanced_filters * @param {Object} advancedFilters Report Advanced Filters. * @param {string} advancedFilters.title Interpolated component string for Advanced Filters title. * @param {Object} advancedFilters.filters An object specifying a report's Advanced Filters. */ export const advancedFilters = applyFilters( TAXES_REPORT_ADVANCED_FILTERS_FILTER, { filters: {}, title: _x( 'Taxes match