From 2b5429aa1f0d8c25225e1d596854f16b5cfb0294 Mon Sep 17 00:00:00 2001 From: Aitor Alonso Date: Tue, 16 May 2023 21:02:56 +0200 Subject: [PATCH 1/2] fix: show year instead of epoch --- components/metrics/BarChart.js | 2 ++ 1 file changed, 2 insertions(+) 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; } From b48efef38b80d75c1da7e7ad202ccfa20d638752 Mon Sep 17 00:00:00 2001 From: Mike Cao Date: Tue, 16 May 2023 19:17:12 -0700 Subject: [PATCH 2/2] Allow multiple filters. --- components/metrics/MetricsTable.js | 19 +++++++++++++++---- components/metrics/QueryParametersTable.js | 2 +- 2 files changed, 16 insertions(+), 5 deletions(-) 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 }) {