TWNTY-6808 - Ability to Filter by Creation Source (#7078)

### Description

- Ability to Filter by Creation Source

### Demo

LOOM:
<https://www.loom.com/share/dba9c3d37a4242fe90f977b1babffbde?sid=59b07c51-d245-43cc-bb38-7d898ef72878>

### Refs

#6808

Fixes #6808

---------

Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com>
Co-authored-by: gitstart-twenty <140154534+gitstart-twenty@users.noreply.github.com>
Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
This commit is contained in:
gitstart-app[bot]
2024-10-02 17:56:09 +02:00
committed by GitHub
parent 2cd3219636
commit 35788af351
27 changed files with 686 additions and 155 deletions

View File

@ -0,0 +1,17 @@
import { FilterDefinition } from '@/object-record/object-filter-dropdown/types/FilterDefinition';
import { hasSubMenuFilter } from '@/object-record/object-filter-dropdown/utils/hasSubMenuFilter';
import { ViewFilter } from '../types/ViewFilter';
export const getFilterDefinitionForViewFilter = (
viewFilter: ViewFilter,
availableFilterDefinition: FilterDefinition,
): FilterDefinition => {
return {
...availableFilterDefinition,
subFieldType:
hasSubMenuFilter(availableFilterDefinition.type) &&
viewFilter.definition?.type !== availableFilterDefinition.type
? viewFilter.definition?.type
: undefined,
};
};

View File

@ -2,6 +2,7 @@ import { Filter } from '@/object-record/object-filter-dropdown/types/Filter';
import { FilterDefinition } from '@/object-record/object-filter-dropdown/types/FilterDefinition';
import { isDefined } from '~/utils/isDefined';
import { getFilterDefinitionForViewFilter } from '@/views/utils/getFilterDefinitionForViewFilter';
import { ViewFilter } from '../types/ViewFilter';
export const mapViewFiltersToFilters = (
@ -23,7 +24,10 @@ export const mapViewFiltersToFilters = (
value: viewFilter.value,
displayValue: viewFilter.displayValue,
operand: viewFilter.operand,
definition: availableFilterDefinition,
definition: getFilterDefinitionForViewFilter(
viewFilter,
availableFilterDefinition,
),
};
})
.filter(isDefined);