Add rating filter/sort + fix isEmpty/isNotEmpty + fix combinedViewFilters (#6310)

## Context
- Adding RATING sort and filter capabilities.
- Fixing isEmpty/isNotEmpty filters
- Fixing combined view filters so it combines filters per field metadata
and not per filter id. This is more a product question but to me it does
not make sense to apply multiples filters on the same field IF the
operations is wrapped in a AND. If at some point we want to put a OR
instead then that would make more sense
This commit is contained in:
Weiko
2024-07-17 17:54:37 +02:00
committed by GitHub
parent 47ddc7be83
commit efd932e99b
12 changed files with 172 additions and 14 deletions

View File

@ -8,19 +8,24 @@ export const combinedViewFilters = (
const toCreateViewFilters = toUpsertViewFilters.filter(
(toUpsertViewFilter) =>
!viewFilters.some(
(viewFilter) => viewFilter.id === toUpsertViewFilter.id,
(viewFilter) =>
viewFilter.fieldMetadataId === toUpsertViewFilter.fieldMetadataId,
),
);
const toUpdateViewFilters = toUpsertViewFilters.filter((toUpsertViewFilter) =>
viewFilters.some((viewFilter) => viewFilter.id === toUpsertViewFilter.id),
viewFilters.some(
(viewFilter) =>
viewFilter.fieldMetadataId === toUpsertViewFilter.fieldMetadataId,
),
);
const combinedViewFilters = viewFilters
.filter((viewFilter) => !toDeleteViewFilterIds.includes(viewFilter.id))
.map((viewFilter) => {
const toUpdateViewFilter = toUpdateViewFilters.find(
(toUpdateViewFilter) => toUpdateViewFilter.id === viewFilter.id,
(toUpdateViewFilter) =>
toUpdateViewFilter.fieldMetadataId === viewFilter.fieldMetadataId,
);
return toUpdateViewFilter ?? viewFilter;