Use view filters operands in step filters + migrate to twenty-shared (#13137)

Step operand will more or less be the same as view filter operand. 

This PR:
- moves `ViewFilterOperand` to twenty-shared
- use it as step operand
- check what operand should be available based on the selected field
type in filter action
- rewrite the function that evaluates filters so it uses
ViewFilterOperand instead

ViewFilterOperand may be renamed in a future PR.
This commit is contained in:
Thomas Trompette
2025-07-10 10:36:37 +02:00
committed by GitHub
parent d808cbeed9
commit 50e402af07
55 changed files with 677 additions and 665 deletions
@@ -1,5 +1,5 @@
import { ViewFilter } from '@/views/types/ViewFilter';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { ViewFilterOperand } from 'twenty-shared/src/types/ViewFilterOperand';
import { areViewFiltersEqual } from '../areViewFiltersEqual';
describe('areViewFiltersEqual', () => {
@@ -1,5 +1,5 @@
import { ViewFilter } from '@/views/types/ViewFilter';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { ViewFilterOperand } from 'twenty-shared/src/types/ViewFilterOperand';
import { getViewFiltersToCreate } from '../getViewFiltersToCreate';
describe('getViewFiltersToCreate', () => {
@@ -1,5 +1,5 @@
import { ViewFilter } from '@/views/types/ViewFilter';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { ViewFilterOperand } from 'twenty-shared/src/types/ViewFilterOperand';
import { getViewFiltersToDelete } from '../getViewFiltersToDelete';
describe('getViewFiltersToDelete', () => {
@@ -1,5 +1,5 @@
import { ViewFilter } from '@/views/types/ViewFilter';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { ViewFilterOperand } from 'twenty-shared/src/types/ViewFilterOperand';
import { getViewFiltersToUpdate } from '../getViewFiltersToUpdate';
describe('getViewFiltersToUpdate', () => {
@@ -4,12 +4,12 @@ import { RecordSort } from '@/object-record/record-sort/types/RecordSort';
import { ColumnDefinition } from '@/object-record/record-table/types/ColumnDefinition';
import { ViewField } from '@/views/types/ViewField';
import { ViewFilter } from '@/views/types/ViewFilter';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { ViewSort } from '@/views/types/ViewSort';
import { mapColumnDefinitionsToViewFields } from '@/views/utils/mapColumnDefinitionToViewField';
import { mapViewFieldsToColumnDefinitions } from '@/views/utils/mapViewFieldsToColumnDefinitions';
import { mapViewFiltersToFilters } from '@/views/utils/mapViewFiltersToFilters';
import { mapViewSortsToSorts } from '@/views/utils/mapViewSortsToSorts';
import { ViewFilterOperand } from 'twenty-shared/src/types/ViewFilterOperand';
import { FieldMetadataType } from '~/generated-metadata/graphql';
@@ -1,5 +1,5 @@
import { RecordFilter } from '@/object-record/record-filter/types/RecordFilter';
import { ViewFilterOperand } from '@/views/types/ViewFilterOperand';
import { ViewFilterOperand } from 'twenty-shared/src/types/ViewFilterOperand';
export const isVectorSearchFilter = (filter: RecordFilter) => {
return filter.operand === ViewFilterOperand.VectorSearch;