diff --git a/components/metrics/BarChart.js b/components/metrics/BarChart.js index cd7070e8..8e1784df 100644 --- a/components/metrics/BarChart.js +++ b/components/metrics/BarChart.js @@ -52,6 +52,8 @@ export function BarChart({ return dateFormat(d, 'MMM d', locale); case 'month': return dateFormat(d, 'MMM', locale); + case 'year': + return dateFormat(d, 'YYY', locale); default: return label; } diff --git a/components/metrics/MetricsTable.js b/components/metrics/MetricsTable.js index 3bb313cd..a918c0fb 100644 --- a/components/metrics/MetricsTable.js +++ b/components/metrics/MetricsTable.js @@ -73,16 +73,27 @@ export function MetricsTable({ const filteredData = useMemo(() => { if (data) { - const dataWithoutNullValues = data.filter(val => val.x !== null); - let items = percentFilter( - dataFilter ? dataFilter(dataWithoutNullValues, filterOptions) : dataWithoutNullValues, - ); + let items; + + if (dataFilter) { + if (Array.isArray(dataFilter)) { + items = dataFilter.reduce((arr, filter) => { + return filter(arr); + }, data); + } else { + items = dataFilter(data); + } + } + + items = percentFilter(items); + if (limit) { items = items.filter((e, i) => i < limit); } if (filterOptions?.sort === false) { return items; } + return items.sort(firstBy('y', -1).thenBy('x')); } return []; diff --git a/components/metrics/QueryParametersTable.js b/components/metrics/QueryParametersTable.js index c5f573e3..23193c2e 100644 --- a/components/metrics/QueryParametersTable.js +++ b/components/metrics/QueryParametersTable.js @@ -9,7 +9,7 @@ import styles from './QueryParametersTable.module.css'; const filters = { [FILTER_RAW]: emptyFilter, - [FILTER_COMBINED]: paramFilter, + [FILTER_COMBINED]: [emptyFilter, paramFilter], }; export function QueryParametersTable({ websiteId, showFilters, ...props }) {