From adeaa35e8dde1317efec745fe9b6ac8ce0a7e554 Mon Sep 17 00:00:00 2001 From: bosiraphael <71827178+bosiraphael@users.noreply.github.com> Date: Tue, 31 Oct 2023 12:32:16 +0100 Subject: [PATCH] 2282 Rename components to use the new naming convention part 2 (#2295) renaming part 2 --- front/src/App.tsx | 4 +- .../tasks/components/PageAddTaskButton.tsx | 2 +- .../tasks/hooks/useCurrentUserDueTaskCount.ts | 2 +- .../activities/tasks/hooks/useTasks.ts | 4 +- .../FilterDropdownCompanySearchSelect.tsx | 20 +++--- .../components/HooksCompanyBoardEffect.tsx | 2 +- .../metadata/components/RecordShowPage.tsx | 2 +- .../metadata/components/RecordTableEffect.tsx | 4 +- .../hooks/useFindOneMetadataObject.ts | 4 +- .../formatMetadataFieldAsFilterDefinition.ts | 2 +- .../formatMetadataFieldAsSortDefinition.ts | 2 +- .../FilterDropdownPeopleSearchSelect.tsx | 20 +++--- front/src/modules/types/AppPath.ts | 2 +- .../ui/layout/board/types/BoardOptions.ts | 4 +- .../MultipleFiltersDropdownContent.tsx | 58 ---------------- .../filter/constants/FilterDropdownId.ts | 1 - .../ui/object/filter/hooks/useFilterStates.ts | 62 ----------------- .../ui/object/filter/scopes/FilterScope.tsx | 34 ---------- .../filterDropdownSearchInputScopedState.ts | 6 -- ...lterDropdownSelectedEntityIdScopedState.ts | 8 --- .../isFilterDropdownUnfoldedScopedState.ts | 6 -- .../object/filter/types/FiltersHotkeyScope.ts | 4 -- .../AddObjectFilterFromDetailsButton.tsx} | 6 +- .../components/GenericEntityFilterChip.tsx | 0 .../components/MultipleFiltersButton.tsx | 12 ++-- .../MultipleFiltersDropdownButton.tsx | 4 +- .../MultipleFiltersDropdownContent.tsx | 58 ++++++++++++++++ ...ersDropdownFilterOnFilterChangedEffect.tsx | 0 .../ObjectFilterDropdownButton.tsx} | 10 +-- .../ObjectFilterDropdownDateSearchInput.tsx} | 6 +- ...ObjectFilterDropdownEntitySearchInput.tsx} | 10 +-- ...bjectFilterDropdownEntitySearchSelect.tsx} | 18 ++--- .../ObjectFilterDropdownEntitySelect.tsx} | 2 +- .../ObjectFilterDropdownFilterSelect.tsx} | 6 +- ...ObjectFilterDropdownNumberSearchInput.tsx} | 2 +- .../ObjectFilterDropdownOperandButton.tsx} | 10 +-- .../ObjectFilterDropdownOperandSelect.tsx} | 10 +-- .../ObjectFilterDropdownTextSearchInput.tsx} | 10 +-- ...ingleEntityObjectFilterDropdownButton.tsx} | 10 +-- .../constants/ObjectFilterDropdownId.ts | 1 + .../hooks/useFilter.ts | 38 +++++------ .../hooks/useFilterStates.ts | 67 +++++++++++++++++++ .../scopes/ObjectFilterDropdownScope.tsx | 34 ++++++++++ .../ObjectFilterDropdownScopeInitEffect.tsx} | 8 +-- ...jectFilterDropdownScopeInternalContext.ts} | 6 +- .../availableFilterDefinitionsScopedState.ts | 2 +- ...lterDefinitionUsedInDropdownScopedState.ts | 0 ...ropdownOperandSelectUnfoldedScopedState.ts | 7 ++ ...bjectFilterDropdownUnfoldedScopedState.ts} | 4 +- ...ectFilterDropdownSearchInputScopedState.ts | 7 ++ ...lterDropdownSelectedEntityIdScopedState.ts | 7 ++ .../states/selectedFilterScopedState.ts | 0 .../selectedOperandInDropdownScopedState.ts | 0 .../types/Filter.ts | 0 .../types/FilterDefinition.ts | 0 .../types/FilterDefinitionByEntity.ts | 0 .../types/FilterOperand.ts | 0 .../types/FilterType.ts | 0 .../types/FiltersHotkeyScope.ts | 4 ++ .../utils/getOperandLabel.ts | 0 .../utils/getOperandsForFilterType.ts | 0 .../utils/turnFilterIntoWhereClause.ts | 0 .../utils/turnFiltersIntoWhereClauseV2.ts | 0 .../components/ObjectSortDropdownButton.tsx} | 17 ++--- .../constants/ObjectSortDropdownId.ts | 1 + .../hooks/useObjectSortDropdown.ts} | 14 ++-- .../hooks/useObjectSortDropdownStates.ts} | 2 +- .../scopes/ObjectSortDropdownScope.tsx} | 16 ++--- .../ObjectSortDropdownScopeInitEffect.tsx | 26 +++++++ ...ObjectSortDropdownScopeInternalContext.ts} | 6 +- .../availableSortDefinitionsScopedState.ts | 0 .../states/isSortSelectedScopedState.ts | 0 .../types/Sort.ts | 0 .../types/SortDefinition.ts | 0 .../types/SortDirection.ts | 0 .../types/interface.ts | 0 .../utils/helpers.ts | 0 .../utils/turnSortsIntoOrderByV2.ts | 0 .../components/RecordTableEffect.tsx | 4 +- .../tableSortsOrderByScopedSelector.ts | 2 +- .../tablefiltersWhereScopedSelector.ts | 2 +- .../states/tableFiltersScopedState.ts | 2 +- .../states/tableSortsScopedState.ts | 2 +- .../object/sort/constants/SortDropdownId.ts | 1 - .../init-effect/SortScopeInitEffect.tsx | 25 ------- .../FilterDropdownUserSearchSelect.tsx | 20 +++--- .../src/modules/views/components/ViewBar.tsx | 30 +++++---- .../views/components/ViewBarDetails.tsx | 6 +- .../views/hooks/internal/useViewFilters.ts | 2 +- .../views/hooks/internal/useViewSorts.ts | 2 +- front/src/modules/views/scopes/ViewScope.tsx | 4 +- .../init-effect/ViewScopeInitEffect.tsx | 4 +- .../availableFilterDefinitionsScopedState.ts | 2 +- .../availableSortDefinitionsScopedState.ts | 2 +- .../states/onViewFiltersChangeScopedState.ts | 2 +- .../states/onViewSortsChangeScopedState.ts | 2 +- front/src/modules/views/types/ViewFilter.ts | 2 +- front/src/modules/views/types/ViewSort.ts | 4 +- .../views/utils/viewFiltersToFilters.ts | 2 +- .../modules/views/utils/viewSortsToSorts.ts | 2 +- .../companyTableFilterDefinitions.tsx | 2 +- .../constants/companyTableSortDefinitions.tsx | 2 +- .../opportunityBoardFilterDefinitions.tsx | 2 +- .../opportunityBoardSortDefinitions.tsx | 2 +- .../personTableFilterDefinitions.tsx | 2 +- .../constants/personTableSortDefinitions.tsx | 4 +- front/src/pages/tasks/Tasks.tsx | 10 +-- front/src/pages/tasks/TasksEffect.tsx | 2 +- .../pages/tasks/tasks-filter-definitions.tsx | 2 +- 109 files changed, 435 insertions(+), 411 deletions(-) delete mode 100644 front/src/modules/ui/object/filter/components/MultipleFiltersDropdownContent.tsx delete mode 100644 front/src/modules/ui/object/filter/constants/FilterDropdownId.ts delete mode 100644 front/src/modules/ui/object/filter/hooks/useFilterStates.ts delete mode 100644 front/src/modules/ui/object/filter/scopes/FilterScope.tsx delete mode 100644 front/src/modules/ui/object/filter/states/filterDropdownSearchInputScopedState.ts delete mode 100644 front/src/modules/ui/object/filter/states/filterDropdownSelectedEntityIdScopedState.ts delete mode 100644 front/src/modules/ui/object/filter/states/isFilterDropdownUnfoldedScopedState.ts delete mode 100644 front/src/modules/ui/object/filter/types/FiltersHotkeyScope.ts rename front/src/modules/ui/object/{filter/components/AddFilterFromDetailsButton.tsx => object-filter-dropdown/components/AddObjectFilterFromDetailsButton.tsx} (71%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/components/GenericEntityFilterChip.tsx (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/components/MultipleFiltersButton.tsx (71%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/components/MultipleFiltersDropdownButton.tsx (85%) create mode 100644 front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx rename front/src/modules/ui/object/{filter => object-filter-dropdown}/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx (100%) rename front/src/modules/ui/object/{filter/components/FilterDropdownButton.tsx => object-filter-dropdown/components/ObjectFilterDropdownButton.tsx} (67%) rename front/src/modules/ui/object/{filter/components/FilterDropdownDateSearchInput.tsx => object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx} (84%) rename front/src/modules/ui/object/{filter/components/FilterDropdownEntitySearchInput.tsx => object-filter-dropdown/components/ObjectFilterDropdownEntitySearchInput.tsx} (70%) rename front/src/modules/ui/object/{filter/components/FilterDropdownEntitySearchSelect.tsx => object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx} (85%) rename front/src/modules/ui/object/{filter/components/FilterDropdownEntitySelect.tsx => object-filter-dropdown/components/ObjectFilterDropdownEntitySelect.tsx} (90%) rename front/src/modules/ui/object/{filter/components/FilterDropdownFilterSelect.tsx => object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx} (90%) rename front/src/modules/ui/object/{filter/components/FilterDropdownNumberSearchInput.tsx => object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx} (93%) rename front/src/modules/ui/object/{filter/components/FilterDropdownOperandButton.tsx => object-filter-dropdown/components/ObjectFilterDropdownOperandButton.tsx} (64%) rename front/src/modules/ui/object/{filter/components/FilterDropdownOperandSelect.tsx => object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx} (84%) rename front/src/modules/ui/object/{filter/components/FilterDropdownTextSearchInput.tsx => object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx} (77%) rename front/src/modules/ui/object/{filter/components/SingleEntityFilterDropdownButton.tsx => object-filter-dropdown/components/SingleEntityObjectFilterDropdownButton.tsx} (86%) create mode 100644 front/src/modules/ui/object/object-filter-dropdown/constants/ObjectFilterDropdownId.ts rename front/src/modules/ui/object/{filter => object-filter-dropdown}/hooks/useFilter.ts (60%) create mode 100644 front/src/modules/ui/object/object-filter-dropdown/hooks/useFilterStates.ts create mode 100644 front/src/modules/ui/object/object-filter-dropdown/scopes/ObjectFilterDropdownScope.tsx rename front/src/modules/ui/object/{filter/scopes/init-effect/FilterScopeInitEffect.tsx => object-filter-dropdown/scopes/init-effect/ObjectFilterDropdownScopeInitEffect.tsx} (67%) rename front/src/modules/ui/object/{filter/scopes/scope-internal-context/FilterScopeInternalContext.ts => object-filter-dropdown/scopes/scope-internal-context/ObjectFilterDropdownScopeInternalContext.ts} (60%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/states/availableFilterDefinitionsScopedState.ts (73%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/states/filterDefinitionUsedInDropdownScopedState.ts (100%) create mode 100644 front/src/modules/ui/object/object-filter-dropdown/states/isObjectFilterDropdownOperandSelectUnfoldedScopedState.ts rename front/src/modules/ui/object/{filter/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts => object-filter-dropdown/states/isObjectFilterDropdownUnfoldedScopedState.ts} (54%) create mode 100644 front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSearchInputScopedState.ts create mode 100644 front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdScopedState.ts rename front/src/modules/ui/object/{filter => object-filter-dropdown}/states/selectedFilterScopedState.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/states/selectedOperandInDropdownScopedState.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/types/Filter.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/types/FilterDefinition.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/types/FilterDefinitionByEntity.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/types/FilterOperand.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/types/FilterType.ts (100%) create mode 100644 front/src/modules/ui/object/object-filter-dropdown/types/FiltersHotkeyScope.ts rename front/src/modules/ui/object/{filter => object-filter-dropdown}/utils/getOperandLabel.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/utils/getOperandsForFilterType.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/utils/turnFilterIntoWhereClause.ts (100%) rename front/src/modules/ui/object/{filter => object-filter-dropdown}/utils/turnFiltersIntoWhereClauseV2.ts (100%) rename front/src/modules/ui/object/{sort/components/SortDropdownButton.tsx => object-sort-dropdown/components/ObjectSortDropdownButton.tsx} (90%) create mode 100644 front/src/modules/ui/object/object-sort-dropdown/constants/ObjectSortDropdownId.ts rename front/src/modules/ui/object/{sort/hooks/useSort.ts => object-sort-dropdown/hooks/useObjectSortDropdown.ts} (51%) rename front/src/modules/ui/object/{sort/hooks/useSortStates.ts => object-sort-dropdown/hooks/useObjectSortDropdownStates.ts} (91%) rename front/src/modules/ui/object/{sort/scopes/SortScope.tsx => object-sort-dropdown/scopes/ObjectSortDropdownScope.tsx} (53%) create mode 100644 front/src/modules/ui/object/object-sort-dropdown/scopes/init-effect/ObjectSortDropdownScopeInitEffect.tsx rename front/src/modules/ui/object/{sort/scopes/scope-internal-context/SortScopeInternalContext.ts => object-sort-dropdown/scopes/scope-internal-context/ObjectSortDropdownScopeInternalContext.ts} (60%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/states/availableSortDefinitionsScopedState.ts (100%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/states/isSortSelectedScopedState.ts (100%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/types/Sort.ts (100%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/types/SortDefinition.ts (100%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/types/SortDirection.ts (100%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/types/interface.ts (100%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/utils/helpers.ts (100%) rename front/src/modules/ui/object/{sort => object-sort-dropdown}/utils/turnSortsIntoOrderByV2.ts (100%) delete mode 100644 front/src/modules/ui/object/sort/constants/SortDropdownId.ts delete mode 100644 front/src/modules/ui/object/sort/scopes/init-effect/SortScopeInitEffect.tsx diff --git a/front/src/App.tsx b/front/src/App.tsx index e4dee8600..0663052db 100644 --- a/front/src/App.tsx +++ b/front/src/App.tsx @@ -1,6 +1,6 @@ import { Navigate, Route, Routes, useLocation } from 'react-router-dom'; -import { ObjectShowPage } from '@/metadata/components/RecordShowPage'; +import { RecordShowPage } from '@/metadata/components/RecordShowPage'; import { AppPath } from '@/types/AppPath'; import { SettingsPath } from '@/types/SettingsPath'; import { DefaultLayout } from '@/ui/layout/page/DefaultLayout'; @@ -64,7 +64,7 @@ export const App = () => { } /> } /> - } /> + } /> { diff --git a/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts b/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts index a5b37b86e..d3541e369 100644 --- a/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts +++ b/front/src/modules/activities/tasks/hooks/useCurrentUserDueTaskCount.ts @@ -2,7 +2,7 @@ import { DateTime } from 'luxon'; import { useRecoilState } from 'recoil'; import { currentUserState } from '@/auth/states/currentUserState'; -import { turnFilterIntoWhereClause } from '@/ui/object/filter/utils/turnFilterIntoWhereClause'; +import { turnFilterIntoWhereClause } from '@/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { ActivityType, useGetActivitiesQuery } from '~/generated/graphql'; import { parseDate } from '~/utils/date-utils'; diff --git a/front/src/modules/activities/tasks/hooks/useTasks.ts b/front/src/modules/activities/tasks/hooks/useTasks.ts index 4f5b4b20e..aa13336a9 100644 --- a/front/src/modules/activities/tasks/hooks/useTasks.ts +++ b/front/src/modules/activities/tasks/hooks/useTasks.ts @@ -1,8 +1,8 @@ import { DateTime } from 'luxon'; import { ActivityTargetableEntity } from '@/activities/types/ActivityTargetableEntity'; -import { useFilter } from '@/ui/object/filter/hooks/useFilter'; -import { turnFilterIntoWhereClause } from '@/ui/object/filter/utils/turnFilterIntoWhereClause'; +import { useFilter } from '@/ui/object/object-filter-dropdown/hooks/useFilter'; +import { turnFilterIntoWhereClause } from '@/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause'; import { ActivityType, useGetActivitiesQuery } from '~/generated/graphql'; import { parseDate } from '~/utils/date-utils'; diff --git a/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx b/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx index 1bc799b4a..6d45de671 100644 --- a/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx +++ b/front/src/modules/companies/components/FilterDropdownCompanySearchSelect.tsx @@ -1,20 +1,24 @@ -import { FilterDropdownEntitySearchSelect } from '@/ui/object/filter/components/FilterDropdownEntitySearchSelect'; -import { useFilter } from '@/ui/object/filter/hooks/useFilter'; +import { ObjectFilterDropdownEntitySearchSelect } from '@/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect'; +import { useFilter } from '@/ui/object/object-filter-dropdown/hooks/useFilter'; import { useFilteredSearchCompanyQuery } from '../hooks/useFilteredSearchCompanyQuery'; export const FilterDropdownCompanySearchSelect = () => { - const { filterDropdownSearchInput, filterDropdownSelectedEntityId } = - useFilter(); + const { + objectFilterDropdownSearchInput, + objectFilterDropdownSelectedEntityId, + } = useFilter(); const usersForSelect = useFilteredSearchCompanyQuery({ - searchFilter: filterDropdownSearchInput, - selectedIds: filterDropdownSelectedEntityId - ? [filterDropdownSelectedEntityId] + searchFilter: objectFilterDropdownSearchInput, + selectedIds: objectFilterDropdownSelectedEntityId + ? [objectFilterDropdownSelectedEntityId] : [], }); return ( - + ); }; diff --git a/front/src/modules/companies/components/HooksCompanyBoardEffect.tsx b/front/src/modules/companies/components/HooksCompanyBoardEffect.tsx index 0399645da..8ff2b37e4 100644 --- a/front/src/modules/companies/components/HooksCompanyBoardEffect.tsx +++ b/front/src/modules/companies/components/HooksCompanyBoardEffect.tsx @@ -9,7 +9,7 @@ import { useBoardContextMenuEntries } from '@/ui/layout/board/hooks/useBoardCont import { availableBoardCardFieldsScopedState } from '@/ui/layout/board/states/availableBoardCardFieldsScopedState'; import { boardCardFieldsScopedState } from '@/ui/layout/board/states/boardCardFieldsScopedState'; import { isBoardLoadedState } from '@/ui/layout/board/states/isBoardLoadedState'; -import { turnFilterIntoWhereClause } from '@/ui/object/filter/utils/turnFilterIntoWhereClause'; +import { turnFilterIntoWhereClause } from '@/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause'; import { useRecoilScopedState } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedState'; import { useView } from '@/views/hooks/useView'; import { useViewGetStates } from '@/views/hooks/useViewGetStates'; diff --git a/front/src/modules/metadata/components/RecordShowPage.tsx b/front/src/modules/metadata/components/RecordShowPage.tsx index 8333354f9..e0cee7789 100644 --- a/front/src/modules/metadata/components/RecordShowPage.tsx +++ b/front/src/modules/metadata/components/RecordShowPage.tsx @@ -28,7 +28,7 @@ import { useFindOneObject } from '../hooks/useFindOneObject'; import { useUpdateOneObject } from '../hooks/useUpdateOneObject'; import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition'; -export const ObjectShowPage = () => { +export const RecordShowPage = () => { const { objectNameSingular, objectId } = useParams<{ objectNameSingular: string; objectId: string; diff --git a/front/src/modules/metadata/components/RecordTableEffect.tsx b/front/src/modules/metadata/components/RecordTableEffect.tsx index 8c5e19495..fda70cdce 100644 --- a/front/src/modules/metadata/components/RecordTableEffect.tsx +++ b/front/src/modules/metadata/components/RecordTableEffect.tsx @@ -1,11 +1,11 @@ import { useEffect } from 'react'; -import { turnFiltersIntoWhereClauseV2 } from '@/ui/object/filter/utils/turnFiltersIntoWhereClauseV2'; +import { turnFiltersIntoWhereClauseV2 } from '@/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2'; +import { turnSortsIntoOrderByV2 } from '@/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2'; import { useSetRecordTableData } from '@/ui/object/record-table/hooks/useSetRecordTableData'; import { TableRecoilScopeContext } from '@/ui/object/record-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { tableFiltersScopedState } from '@/ui/object/record-table/states/tableFiltersScopedState'; import { tableSortsScopedState } from '@/ui/object/record-table/states/tableSortsScopedState'; -import { turnSortsIntoOrderByV2 } from '@/ui/object/sort/utils/turnSortsIntoOrderByV2'; import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue'; import { useFindManyObjects } from '../hooks/useFindManyObjects'; diff --git a/front/src/modules/metadata/hooks/useFindOneMetadataObject.ts b/front/src/modules/metadata/hooks/useFindOneMetadataObject.ts index 3ff79159b..3be29866e 100644 --- a/front/src/modules/metadata/hooks/useFindOneMetadataObject.ts +++ b/front/src/modules/metadata/hooks/useFindOneMetadataObject.ts @@ -2,9 +2,9 @@ import { gql } from '@apollo/client'; import { useLazyLoadIcons } from '@/ui/input/hooks/useLazyLoadIcons'; import { FieldMetadata } from '@/ui/object/field/types/FieldMetadata'; -import { FilterDefinition } from '@/ui/object/filter/types/FilterDefinition'; +import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; import { ColumnDefinition } from '@/ui/object/record-table/types/ColumnDefinition'; -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; import { MetadataObjectIdentifier } from '../types/MetadataObjectIdentifier'; import { formatMetadataFieldAsColumnDefinition } from '../utils/formatMetadataFieldAsColumnDefinition'; diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts b/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts index 6faa8b170..46c7f4053 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts +++ b/front/src/modules/metadata/utils/formatMetadataFieldAsFilterDefinition.ts @@ -1,4 +1,4 @@ -import { FilterDefinition } from '@/ui/object/filter/types/FilterDefinition'; +import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; import { MetadataObject } from '../types/MetadataObject'; diff --git a/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts b/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts index ea879681b..dc20463a6 100644 --- a/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts +++ b/front/src/modules/metadata/utils/formatMetadataFieldAsSortDefinition.ts @@ -1,4 +1,4 @@ -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; import { MetadataObject } from '../types/MetadataObject'; diff --git a/front/src/modules/people/components/FilterDropdownPeopleSearchSelect.tsx b/front/src/modules/people/components/FilterDropdownPeopleSearchSelect.tsx index fc7622ceb..f8db13285 100644 --- a/front/src/modules/people/components/FilterDropdownPeopleSearchSelect.tsx +++ b/front/src/modules/people/components/FilterDropdownPeopleSearchSelect.tsx @@ -1,19 +1,23 @@ import { useFilteredSearchPeopleQuery } from '@/people/hooks/useFilteredSearchPeopleQuery'; -import { FilterDropdownEntitySearchSelect } from '@/ui/object/filter/components/FilterDropdownEntitySearchSelect'; -import { useFilter } from '@/ui/object/filter/hooks/useFilter'; +import { ObjectFilterDropdownEntitySearchSelect } from '@/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect'; +import { useFilter } from '@/ui/object/object-filter-dropdown/hooks/useFilter'; export const FilterDropdownPeopleSearchSelect = () => { - const { filterDropdownSearchInput, filterDropdownSelectedEntityId } = - useFilter(); + const { + objectFilterDropdownSearchInput, + objectFilterDropdownSelectedEntityId, + } = useFilter(); const peopleForSelect = useFilteredSearchPeopleQuery({ - searchFilter: filterDropdownSearchInput, - selectedIds: filterDropdownSelectedEntityId - ? [filterDropdownSelectedEntityId] + searchFilter: objectFilterDropdownSearchInput, + selectedIds: objectFilterDropdownSelectedEntityId + ? [objectFilterDropdownSelectedEntityId] : [], }); return ( - + ); }; diff --git a/front/src/modules/types/AppPath.ts b/front/src/modules/types/AppPath.ts index 5700551fe..629c2ccb9 100644 --- a/front/src/modules/types/AppPath.ts +++ b/front/src/modules/types/AppPath.ts @@ -19,7 +19,7 @@ export enum AppPath { OpportunitiesPage = '/opportunities', RecordTablePage = '/objects/:objectNamePlural', - ObjectShowPage = '/object/:objectNameSingular/:objectId', + RecordShowPage = '/object/:objectNameSingular/:objectId', SettingsCatchAll = `/settings/*`, DevelopersCatchAll = `/developers/*`, diff --git a/front/src/modules/ui/layout/board/types/BoardOptions.ts b/front/src/modules/ui/layout/board/types/BoardOptions.ts index c970d5a2c..13f7c869a 100644 --- a/front/src/modules/ui/layout/board/types/BoardOptions.ts +++ b/front/src/modules/ui/layout/board/types/BoardOptions.ts @@ -1,7 +1,7 @@ import { ComponentType } from 'react'; -import { FilterDefinitionByEntity } from '@/ui/object/filter/types/FilterDefinitionByEntity'; -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; +import { FilterDefinitionByEntity } from '@/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; import { PipelineProgress } from '~/generated/graphql'; export type BoardOptions = { diff --git a/front/src/modules/ui/object/filter/components/MultipleFiltersDropdownContent.tsx b/front/src/modules/ui/object/filter/components/MultipleFiltersDropdownContent.tsx deleted file mode 100644 index 61ed8c50c..000000000 --- a/front/src/modules/ui/object/filter/components/MultipleFiltersDropdownContent.tsx +++ /dev/null @@ -1,58 +0,0 @@ -import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator'; - -import { useFilter } from '../hooks/useFilter'; - -import { FilterDropdownDateSearchInput } from './FilterDropdownDateSearchInput'; -import { FilterDropdownEntitySearchInput } from './FilterDropdownEntitySearchInput'; -import { FilterDropdownEntitySelect } from './FilterDropdownEntitySelect'; -import { FilterDropdownFilterSelect } from './FilterDropdownFilterSelect'; -import { FilterDropdownNumberSearchInput } from './FilterDropdownNumberSearchInput'; -import { FilterDropdownOperandButton } from './FilterDropdownOperandButton'; -import { FilterDropdownOperandSelect } from './FilterDropdownOperandSelect'; -import { FilterDropdownTextSearchInput } from './FilterDropdownTextSearchInput'; -import { MultipleFiltersDropdownFilterOnFilterChangedEffect } from './MultipleFiltersDropdownFilterOnFilterChangedEffect'; - -export const MultipleFiltersDropdownContent = () => { - const { - isFilterDropdownOperandSelectUnfolded, - filterDefinitionUsedInDropdown, - selectedOperandInDropdown, - } = useFilter(); - - return ( - <> - {!filterDefinitionUsedInDropdown ? ( - - ) : isFilterDropdownOperandSelectUnfolded ? ( - - ) : ( - selectedOperandInDropdown && ( - <> - - - {filterDefinitionUsedInDropdown.type === 'text' && ( - - )} - {filterDefinitionUsedInDropdown.type === 'number' && ( - - )} - {filterDefinitionUsedInDropdown.type === 'date' && ( - - )} - {filterDefinitionUsedInDropdown.type === 'entity' && ( - - )} - {filterDefinitionUsedInDropdown.type === 'entity' && ( - - )} - - ) - )} - - - ); -}; diff --git a/front/src/modules/ui/object/filter/constants/FilterDropdownId.ts b/front/src/modules/ui/object/filter/constants/FilterDropdownId.ts deleted file mode 100644 index cee540f7e..000000000 --- a/front/src/modules/ui/object/filter/constants/FilterDropdownId.ts +++ /dev/null @@ -1 +0,0 @@ -export const FilterDropdownId = 'filter'; diff --git a/front/src/modules/ui/object/filter/hooks/useFilterStates.ts b/front/src/modules/ui/object/filter/hooks/useFilterStates.ts deleted file mode 100644 index 3958b20f4..000000000 --- a/front/src/modules/ui/object/filter/hooks/useFilterStates.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { useRecoilScopedStateV2 } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedStateV2'; - -import { availableFilterDefinitionsScopedState } from '../states/availableFilterDefinitionsScopedState'; -import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState'; -import { filterDropdownSearchInputScopedState } from '../states/filterDropdownSearchInputScopedState'; -import { filterDropdownSelectedEntityIdScopedState } from '../states/filterDropdownSelectedEntityIdScopedState'; -import { isFilterDropdownOperandSelectUnfoldedScopedState } from '../states/isFilterDropdownOperandSelectUnfoldedScopedState'; -import { isFilterDropdownUnfoldedScopedState } from '../states/isFilterDropdownUnfoldedScopedState'; -import { selectedFilterScopedState } from '../states/selectedFilterScopedState'; -import { selectedOperandInDropdownScopedState } from '../states/selectedOperandInDropdownScopedState'; - -export const useFilterStates = (scopeId: string) => { - const [availableFilterDefinitions, setAvailableFilterDefinitions] = - useRecoilScopedStateV2(availableFilterDefinitionsScopedState, scopeId); - - const [filterDefinitionUsedInDropdown, setFilterDefinitionUsedInDropdown] = - useRecoilScopedStateV2(filterDefinitionUsedInDropdownScopedState, scopeId); - - const [filterDropdownSearchInput, setFilterDropdownSearchInput] = - useRecoilScopedStateV2(filterDropdownSearchInputScopedState, scopeId); - - const [filterDropdownSelectedEntityId, setFilterDropdownSelectedEntityId] = - useRecoilScopedStateV2(filterDropdownSelectedEntityIdScopedState, scopeId); - - const [ - isFilterDropdownOperandSelectUnfolded, - setIsFilterDropdownOperandSelectUnfolded, - ] = useRecoilScopedStateV2( - isFilterDropdownOperandSelectUnfoldedScopedState, - scopeId, - ); - - const [isFilterDropdownUnfolded, setIsFilterDropdownUnfolded] = - useRecoilScopedStateV2(isFilterDropdownUnfoldedScopedState, scopeId); - - const [selectedFilter, setSelectedFilter] = useRecoilScopedStateV2( - selectedFilterScopedState, - scopeId, - ); - - const [selectedOperandInDropdown, setSelectedOperandInDropdown] = - useRecoilScopedStateV2(selectedOperandInDropdownScopedState, scopeId); - - return { - availableFilterDefinitions, - setAvailableFilterDefinitions, - filterDefinitionUsedInDropdown, - setFilterDefinitionUsedInDropdown, - filterDropdownSearchInput, - setFilterDropdownSearchInput, - filterDropdownSelectedEntityId, - setFilterDropdownSelectedEntityId, - isFilterDropdownOperandSelectUnfolded, - setIsFilterDropdownOperandSelectUnfolded, - isFilterDropdownUnfolded, - setIsFilterDropdownUnfolded, - selectedFilter, - setSelectedFilter, - selectedOperandInDropdown, - setSelectedOperandInDropdown, - }; -}; diff --git a/front/src/modules/ui/object/filter/scopes/FilterScope.tsx b/front/src/modules/ui/object/filter/scopes/FilterScope.tsx deleted file mode 100644 index 3b8c4bdee..000000000 --- a/front/src/modules/ui/object/filter/scopes/FilterScope.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { ReactNode } from 'react'; - -import { FilterDefinition } from '@/ui/object/filter/types/FilterDefinition'; - -import { Filter } from '../types/Filter'; - -import { FilterScopeInitEffect } from './init-effect/FilterScopeInitEffect'; -import { FilterScopeInternalContext } from './scope-internal-context/FilterScopeInternalContext'; - -type FilterScopeProps = { - children: ReactNode; - filterScopeId: string; - availableFilterDefinitions?: FilterDefinition[]; - onFilterSelect?: (filter: Filter) => void; -}; - -export const FilterScope = ({ - children, - filterScopeId, - availableFilterDefinitions, - onFilterSelect, -}: FilterScopeProps) => { - return ( - - - {children} - - ); -}; diff --git a/front/src/modules/ui/object/filter/states/filterDropdownSearchInputScopedState.ts b/front/src/modules/ui/object/filter/states/filterDropdownSearchInputScopedState.ts deleted file mode 100644 index b81c820e5..000000000 --- a/front/src/modules/ui/object/filter/states/filterDropdownSearchInputScopedState.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; - -export const filterDropdownSearchInputScopedState = createScopedState({ - key: 'filterDropdownSearchInputScopedState', - defaultValue: '', -}); diff --git a/front/src/modules/ui/object/filter/states/filterDropdownSelectedEntityIdScopedState.ts b/front/src/modules/ui/object/filter/states/filterDropdownSelectedEntityIdScopedState.ts deleted file mode 100644 index 799c06481..000000000 --- a/front/src/modules/ui/object/filter/states/filterDropdownSelectedEntityIdScopedState.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; - -export const filterDropdownSelectedEntityIdScopedState = createScopedState< - string | null ->({ - key: 'filterDropdownSelectedEntityIdScopedState', - defaultValue: null, -}); diff --git a/front/src/modules/ui/object/filter/states/isFilterDropdownUnfoldedScopedState.ts b/front/src/modules/ui/object/filter/states/isFilterDropdownUnfoldedScopedState.ts deleted file mode 100644 index 57799a876..000000000 --- a/front/src/modules/ui/object/filter/states/isFilterDropdownUnfoldedScopedState.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; - -export const isFilterDropdownUnfoldedScopedState = createScopedState({ - key: 'isFilterDropdownUnfoldedScopedState', - defaultValue: false, -}); diff --git a/front/src/modules/ui/object/filter/types/FiltersHotkeyScope.ts b/front/src/modules/ui/object/filter/types/FiltersHotkeyScope.ts deleted file mode 100644 index 84c5dcbe6..000000000 --- a/front/src/modules/ui/object/filter/types/FiltersHotkeyScope.ts +++ /dev/null @@ -1,4 +0,0 @@ -export enum FiltersHotkeyScope { - FilterDropdownButton = 'filter-dropdown-button', - SortDropdownButton = 'sort-dropdown-button', -} diff --git a/front/src/modules/ui/object/filter/components/AddFilterFromDetailsButton.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/AddObjectFilterFromDetailsButton.tsx similarity index 71% rename from front/src/modules/ui/object/filter/components/AddFilterFromDetailsButton.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/AddObjectFilterFromDetailsButton.tsx index a1f3f01ce..6c9542741 100644 --- a/front/src/modules/ui/object/filter/components/AddFilterFromDetailsButton.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/AddObjectFilterFromDetailsButton.tsx @@ -2,11 +2,11 @@ import { IconPlus } from '@/ui/display/icon'; import { LightButton } from '@/ui/input/button/components/LightButton'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; -import { FilterDropdownId } from '../constants/FilterDropdownId'; +import { ObjectFilterDropdownId } from '../constants/ObjectFilterDropdownId'; -export const AddFilterFromDropdownButton = () => { +export const AddObjectFilterFromDetailsButton = () => { const { toggleDropdown } = useDropdown({ - dropdownScopeId: FilterDropdownId, + dropdownScopeId: ObjectFilterDropdownId, }); const handleClick = () => { diff --git a/front/src/modules/ui/object/filter/components/GenericEntityFilterChip.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/GenericEntityFilterChip.tsx similarity index 100% rename from front/src/modules/ui/object/filter/components/GenericEntityFilterChip.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/GenericEntityFilterChip.tsx diff --git a/front/src/modules/ui/object/filter/components/MultipleFiltersButton.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersButton.tsx similarity index 71% rename from front/src/modules/ui/object/filter/components/MultipleFiltersButton.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersButton.tsx index e00545af2..c5927d4e3 100644 --- a/front/src/modules/ui/object/filter/components/MultipleFiltersButton.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersButton.tsx @@ -1,26 +1,26 @@ import { StyledHeaderDropdownButton } from '@/ui/layout/dropdown/components/StyledHeaderDropdownButton'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; -import { FilterDropdownId } from '../constants/FilterDropdownId'; +import { ObjectFilterDropdownId } from '../constants/ObjectFilterDropdownId'; import { useFilter } from '../hooks/useFilter'; export const MultipleFiltersButton = () => { const { setFilterDefinitionUsedInDropdown, - setIsFilterDropdownOperandSelectUnfolded, - setFilterDropdownSearchInput, + setIsObjectFilterDropdownOperandSelectUnfolded, + setObjectFilterDropdownSearchInput, setSelectedOperandInDropdown, } = useFilter(); const { isDropdownOpen, toggleDropdown } = useDropdown({ - dropdownScopeId: FilterDropdownId, + dropdownScopeId: ObjectFilterDropdownId, }); const resetState = () => { - setIsFilterDropdownOperandSelectUnfolded(false); + setIsObjectFilterDropdownOperandSelectUnfolded(false); setFilterDefinitionUsedInDropdown(null); setSelectedOperandInDropdown(null); - setFilterDropdownSearchInput(''); + setObjectFilterDropdownSearchInput(''); }; const handleClick = () => { diff --git a/front/src/modules/ui/object/filter/components/MultipleFiltersDropdownButton.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownButton.tsx similarity index 85% rename from front/src/modules/ui/object/filter/components/MultipleFiltersDropdownButton.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownButton.tsx index 3e265274a..ad5aad163 100644 --- a/front/src/modules/ui/object/filter/components/MultipleFiltersDropdownButton.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownButton.tsx @@ -2,7 +2,7 @@ import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; import { DropdownScope } from '@/ui/layout/dropdown/scopes/DropdownScope'; import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope'; -import { FilterDropdownId } from '../constants/FilterDropdownId'; +import { ObjectFilterDropdownId } from '../constants/ObjectFilterDropdownId'; import { MultipleFiltersButton } from './MultipleFiltersButton'; import { MultipleFiltersDropdownContent } from './MultipleFiltersDropdownContent'; @@ -15,7 +15,7 @@ export const MultipleFiltersDropdownButton = ({ hotkeyScope, }: MultipleFiltersDropdownButtonProps) => { return ( - + } dropdownComponents={} diff --git a/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx new file mode 100644 index 000000000..71d01033a --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownContent.tsx @@ -0,0 +1,58 @@ +import { DropdownMenuSeparator } from '@/ui/layout/dropdown/components/DropdownMenuSeparator'; + +import { useFilter } from '../hooks/useFilter'; + +import { MultipleFiltersDropdownFilterOnFilterChangedEffect } from './MultipleFiltersDropdownFilterOnFilterChangedEffect'; +import { ObjectFilterDropdownDateSearchInput } from './ObjectFilterDropdownDateSearchInput'; +import { ObjectFilterDropdownEntitySearchInput } from './ObjectFilterDropdownEntitySearchInput'; +import { ObjectFilterDropdownEntitySelect } from './ObjectFilterDropdownEntitySelect'; +import { ObjectFilterDropdownFilterSelect } from './ObjectFilterDropdownFilterSelect'; +import { ObjectFilterDropdownNumberSearchInput } from './ObjectFilterDropdownNumberSearchInput'; +import { ObjectFilterDropdownOperandButton } from './ObjectFilterDropdownOperandButton'; +import { ObjectFilterDropdownOperandSelect } from './ObjectFilterDropdownOperandSelect'; +import { ObjectFilterDropdownTextSearchInput } from './ObjectFilterDropdownTextSearchInput'; + +export const MultipleFiltersDropdownContent = () => { + const { + isObjectFilterDropdownOperandSelectUnfolded, + filterDefinitionUsedInDropdown, + selectedOperandInDropdown, + } = useFilter(); + + return ( + <> + {!filterDefinitionUsedInDropdown ? ( + + ) : isObjectFilterDropdownOperandSelectUnfolded ? ( + + ) : ( + selectedOperandInDropdown && ( + <> + + + {filterDefinitionUsedInDropdown.type === 'text' && ( + + )} + {filterDefinitionUsedInDropdown.type === 'number' && ( + + )} + {filterDefinitionUsedInDropdown.type === 'date' && ( + + )} + {filterDefinitionUsedInDropdown.type === 'entity' && ( + + )} + {filterDefinitionUsedInDropdown.type === 'entity' && ( + + )} + + ) + )} + + + ); +}; diff --git a/front/src/modules/ui/object/filter/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx similarity index 100% rename from front/src/modules/ui/object/filter/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/MultipleFiltersDropdownFilterOnFilterChangedEffect.tsx diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownButton.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownButton.tsx similarity index 67% rename from front/src/modules/ui/object/filter/components/FilterDropdownButton.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownButton.tsx index 17082cf92..08e410035 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownButton.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownButton.tsx @@ -3,15 +3,15 @@ import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope'; import { useFilter } from '../hooks/useFilter'; import { MultipleFiltersDropdownButton } from './MultipleFiltersDropdownButton'; -import { SingleEntityFilterDropdownButton } from './SingleEntityFilterDropdownButton'; +import { SingleEntityObjectFilterDropdownButton } from './SingleEntityObjectFilterDropdownButton'; -type FilterDropdownButtonProps = { +type ObjectFilterDropdownButtonProps = { hotkeyScope: HotkeyScope; }; -export const FilterDropdownButton = ({ +export const ObjectFilterDropdownButton = ({ hotkeyScope, -}: FilterDropdownButtonProps) => { +}: ObjectFilterDropdownButtonProps) => { const { availableFilterDefinitions } = useFilter(); const hasOnlyOneEntityFilter = @@ -23,7 +23,7 @@ export const FilterDropdownButton = ({ } return hasOnlyOneEntityFilter ? ( - + ) : ( ); diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownDateSearchInput.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx similarity index 84% rename from front/src/modules/ui/object/filter/components/FilterDropdownDateSearchInput.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx index 09a994d3f..333d968d3 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownDateSearchInput.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownDateSearchInput.tsx @@ -2,11 +2,11 @@ import { InternalDatePicker } from '@/ui/input/components/internal/date/componen import { useFilter } from '../hooks/useFilter'; -export const FilterDropdownDateSearchInput = () => { +export const ObjectFilterDropdownDateSearchInput = () => { const { filterDefinitionUsedInDropdown, selectedOperandInDropdown, - setIsFilterDropdownUnfolded, + setIsObjectFilterDropdownUnfolded, selectFilter, } = useFilter(); @@ -21,7 +21,7 @@ export const FilterDropdownDateSearchInput = () => { definition: filterDefinitionUsedInDropdown, }); - setIsFilterDropdownUnfolded(false); + setIsObjectFilterDropdownUnfolded(false); }; return ( diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownEntitySearchInput.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchInput.tsx similarity index 70% rename from front/src/modules/ui/object/filter/components/FilterDropdownEntitySearchInput.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchInput.tsx index 849e4f5f4..44d6361a9 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownEntitySearchInput.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchInput.tsx @@ -4,12 +4,12 @@ import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/Dropdow import { useFilter } from '../hooks/useFilter'; -export const FilterDropdownEntitySearchInput = () => { +export const ObjectFilterDropdownEntitySearchInput = () => { const { filterDefinitionUsedInDropdown, selectedOperandInDropdown, - filterDropdownSearchInput, - setFilterDropdownSearchInput, + objectFilterDropdownSearchInput, + setObjectFilterDropdownSearchInput, } = useFilter(); return ( @@ -18,10 +18,10 @@ export const FilterDropdownEntitySearchInput = () => { ) => { - setFilterDropdownSearchInput(event.target.value); + setObjectFilterDropdownSearchInput(event.target.value); }} /> ) diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownEntitySearchSelect.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx similarity index 85% rename from front/src/modules/ui/object/filter/components/FilterDropdownEntitySearchSelect.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx index 2ce76876d..f697b541c 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownEntitySearchSelect.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect.tsx @@ -7,16 +7,16 @@ import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { useFilter } from '../hooks/useFilter'; -export const FilterDropdownEntitySearchSelect = ({ +export const ObjectFilterDropdownEntitySearchSelect = ({ entitiesForSelect, }: { entitiesForSelect: EntitiesForMultipleEntitySelect; }) => { const { - setFilterDropdownSelectedEntityId, + setObjectFilterDropdownSelectedEntityId, filterDefinitionUsedInDropdown, selectedOperandInDropdown, - filterDropdownSearchInput, + objectFilterDropdownSearchInput, selectedFilter, selectFilter, } = useFilter(); @@ -38,7 +38,7 @@ export const FilterDropdownEntitySearchSelect = ({ setIsAllEntitySelected(false); } - setFilterDropdownSelectedEntityId(selectedEntity.id); + setObjectFilterDropdownSelectedEntityId(selectedEntity.id); selectFilter?.({ displayValue: selectedEntity.name, @@ -56,7 +56,7 @@ export const FilterDropdownEntitySearchSelect = ({ (isAllEntitySelected || filterDefinitionUsedInDropdown?.selectAllLabel .toLocaleLowerCase() - .includes(filterDropdownSearchInput.toLocaleLowerCase())); + .includes(objectFilterDropdownSearchInput.toLocaleLowerCase())); const handleAllEntitySelectClick = () => { if ( @@ -68,7 +68,7 @@ export const FilterDropdownEntitySearchSelect = ({ } setIsAllEntitySelected(true); - setFilterDropdownSelectedEntityId(null); + setObjectFilterDropdownSelectedEntityId(null); selectFilter?.({ displayValue: filterDefinitionUsedInDropdown.selectAllLabel, @@ -81,16 +81,16 @@ export const FilterDropdownEntitySearchSelect = ({ useEffect(() => { if (!selectedFilter) { - setFilterDropdownSelectedEntityId(null); + setObjectFilterDropdownSelectedEntityId(null); } else { - setFilterDropdownSelectedEntityId(selectedFilter.value); + setObjectFilterDropdownSelectedEntityId(selectedFilter.value); setIsAllEntitySelected( selectedFilter.operand === ViewFilterOperand.IsNotNull, ); } }, [ selectedFilter, - setFilterDropdownSelectedEntityId, + setObjectFilterDropdownSelectedEntityId, entitiesForSelect.selectedEntities, ]); diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownEntitySelect.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySelect.tsx similarity index 90% rename from front/src/modules/ui/object/filter/components/FilterDropdownEntitySelect.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySelect.tsx index 5653685ef..62679648b 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownEntitySelect.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySelect.tsx @@ -3,7 +3,7 @@ import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope' import { useFilter } from '../hooks/useFilter'; -export const FilterDropdownEntitySelect = () => { +export const ObjectFilterDropdownEntitySelect = () => { const { filterDefinitionUsedInDropdown } = useFilter(); if (filterDefinitionUsedInDropdown?.type !== 'entity') { diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownFilterSelect.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx similarity index 90% rename from front/src/modules/ui/object/filter/components/FilterDropdownFilterSelect.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx index 6abe35548..4ab76b600 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownFilterSelect.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownFilterSelect.tsx @@ -6,11 +6,11 @@ import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope import { useFilter } from '../hooks/useFilter'; import { getOperandsForFilterType } from '../utils/getOperandsForFilterType'; -export const FilterDropdownFilterSelect = () => { +export const ObjectFilterDropdownFilterSelect = () => { const { setFilterDefinitionUsedInDropdown, setSelectedOperandInDropdown, - setFilterDropdownSearchInput, + setObjectFilterDropdownSearchInput, availableFilterDefinitions, } = useFilter(); @@ -33,7 +33,7 @@ export const FilterDropdownFilterSelect = () => { getOperandsForFilterType(availableFilterDefinition.type)?.[0], ); - setFilterDropdownSearchInput(''); + setObjectFilterDropdownSearchInput(''); }} LeftIcon={availableFilterDefinition.Icon} text={availableFilterDefinition.label} diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownNumberSearchInput.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx similarity index 93% rename from front/src/modules/ui/object/filter/components/FilterDropdownNumberSearchInput.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx index 7e12a60cd..a7130feb0 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownNumberSearchInput.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownNumberSearchInput.tsx @@ -4,7 +4,7 @@ import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/Dropdow import { useFilter } from '../hooks/useFilter'; -export const FilterDropdownNumberSearchInput = () => { +export const ObjectFilterDropdownNumberSearchInput = () => { const { selectedOperandInDropdown, filterDefinitionUsedInDropdown, diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownOperandButton.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandButton.tsx similarity index 64% rename from front/src/modules/ui/object/filter/components/FilterDropdownOperandButton.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandButton.tsx index 1aa96c3a5..74ed76f84 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownOperandButton.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandButton.tsx @@ -4,14 +4,14 @@ import { DropdownMenuHeader } from '@/ui/layout/dropdown/components/DropdownMenu import { useFilter } from '../hooks/useFilter'; import { getOperandLabel } from '../utils/getOperandLabel'; -export const FilterDropdownOperandButton = () => { +export const ObjectFilterDropdownOperandButton = () => { const { selectedOperandInDropdown, - setIsFilterDropdownOperandSelectUnfolded, - isFilterDropdownOperandSelectUnfolded, + setIsObjectFilterDropdownOperandSelectUnfolded, + isObjectFilterDropdownOperandSelectUnfolded, } = useFilter(); - if (isFilterDropdownOperandSelectUnfolded) { + if (isObjectFilterDropdownOperandSelectUnfolded) { return null; } @@ -19,7 +19,7 @@ export const FilterDropdownOperandButton = () => { setIsFilterDropdownOperandSelectUnfolded(true)} + onClick={() => setIsObjectFilterDropdownOperandSelectUnfolded(true)} > {getOperandLabel(selectedOperandInDropdown)} diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownOperandSelect.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx similarity index 84% rename from front/src/modules/ui/object/filter/components/FilterDropdownOperandSelect.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx index 83a511f16..82ca978d2 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownOperandSelect.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownOperandSelect.tsx @@ -6,12 +6,12 @@ import { useFilter } from '../hooks/useFilter'; import { getOperandLabel } from '../utils/getOperandLabel'; import { getOperandsForFilterType } from '../utils/getOperandsForFilterType'; -export const FilterDropdownOperandSelect = () => { +export const ObjectFilterDropdownOperandSelect = () => { const { filterDefinitionUsedInDropdown, setSelectedOperandInDropdown, - isFilterDropdownOperandSelectUnfolded, - setIsFilterDropdownOperandSelectUnfolded, + isObjectFilterDropdownOperandSelectUnfolded, + setIsObjectFilterDropdownOperandSelectUnfolded, selectedFilter, selectFilter, } = useFilter(); @@ -22,7 +22,7 @@ export const FilterDropdownOperandSelect = () => { const handleOperangeChange = (newOperand: ViewFilterOperand) => { setSelectedOperandInDropdown(newOperand); - setIsFilterDropdownOperandSelectUnfolded(false); + setIsObjectFilterDropdownOperandSelectUnfolded(false); if (filterDefinitionUsedInDropdown && selectedFilter) { selectFilter?.({ @@ -35,7 +35,7 @@ export const FilterDropdownOperandSelect = () => { } }; - if (!isFilterDropdownOperandSelectUnfolded) { + if (!isObjectFilterDropdownOperandSelectUnfolded) { return <>; } diff --git a/front/src/modules/ui/object/filter/components/FilterDropdownTextSearchInput.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx similarity index 77% rename from front/src/modules/ui/object/filter/components/FilterDropdownTextSearchInput.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx index 02b29946d..66811672b 100644 --- a/front/src/modules/ui/object/filter/components/FilterDropdownTextSearchInput.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/ObjectFilterDropdownTextSearchInput.tsx @@ -4,12 +4,12 @@ import { DropdownMenuSearchInput } from '@/ui/layout/dropdown/components/Dropdow import { useFilter } from '../hooks/useFilter'; -export const FilterDropdownTextSearchInput = () => { +export const ObjectFilterDropdownTextSearchInput = () => { const { filterDefinitionUsedInDropdown, selectedOperandInDropdown, - filterDropdownSearchInput, - setFilterDropdownSearchInput, + objectFilterDropdownSearchInput, + setObjectFilterDropdownSearchInput, selectedFilter, selectFilter, } = useFilter(); @@ -21,9 +21,9 @@ export const FilterDropdownTextSearchInput = () => { autoFocus type="text" placeholder={filterDefinitionUsedInDropdown.label} - value={selectedFilter?.value ?? filterDropdownSearchInput} + value={selectedFilter?.value ?? objectFilterDropdownSearchInput} onChange={(event: ChangeEvent) => { - setFilterDropdownSearchInput(event.target.value); + setObjectFilterDropdownSearchInput(event.target.value); selectFilter?.({ fieldId: filterDefinitionUsedInDropdown.fieldId, diff --git a/front/src/modules/ui/object/filter/components/SingleEntityFilterDropdownButton.tsx b/front/src/modules/ui/object/object-filter-dropdown/components/SingleEntityObjectFilterDropdownButton.tsx similarity index 86% rename from front/src/modules/ui/object/filter/components/SingleEntityFilterDropdownButton.tsx rename to front/src/modules/ui/object/object-filter-dropdown/components/SingleEntityObjectFilterDropdownButton.tsx index 2962868bd..a3f799a3b 100644 --- a/front/src/modules/ui/object/filter/components/SingleEntityFilterDropdownButton.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/components/SingleEntityObjectFilterDropdownButton.tsx @@ -11,11 +11,11 @@ import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { useFilter } from '../hooks/useFilter'; import { getOperandsForFilterType } from '../utils/getOperandsForFilterType'; -import { FilterDropdownEntitySearchInput } from './FilterDropdownEntitySearchInput'; -import { FilterDropdownEntitySelect } from './FilterDropdownEntitySelect'; import { GenericEntityFilterChip } from './GenericEntityFilterChip'; +import { ObjectFilterDropdownEntitySearchInput } from './ObjectFilterDropdownEntitySearchInput'; +import { ObjectFilterDropdownEntitySelect } from './ObjectFilterDropdownEntitySelect'; -export const SingleEntityFilterDropdownButton = ({ +export const SingleEntityObjectFilterDropdownButton = ({ hotkeyScope, }: { hotkeyScope: HotkeyScope; @@ -65,8 +65,8 @@ export const SingleEntityFilterDropdownButton = ({ } dropdownComponents={ <> - - + + } /> diff --git a/front/src/modules/ui/object/object-filter-dropdown/constants/ObjectFilterDropdownId.ts b/front/src/modules/ui/object/object-filter-dropdown/constants/ObjectFilterDropdownId.ts new file mode 100644 index 000000000..9371d0fdd --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/constants/ObjectFilterDropdownId.ts @@ -0,0 +1 @@ +export const ObjectFilterDropdownId = 'filter'; diff --git a/front/src/modules/ui/object/filter/hooks/useFilter.ts b/front/src/modules/ui/object/object-filter-dropdown/hooks/useFilter.ts similarity index 60% rename from front/src/modules/ui/object/filter/hooks/useFilter.ts rename to front/src/modules/ui/object/object-filter-dropdown/hooks/useFilter.ts index e6bf9e03e..686e38168 100644 --- a/front/src/modules/ui/object/filter/hooks/useFilter.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/hooks/useFilter.ts @@ -3,7 +3,7 @@ import { useCallback } from 'react'; import { useAvailableScopeIdOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useAvailableScopeId'; import { useScopeInternalContextOrThrow } from '@/ui/utilities/recoil-scope/scopes-internal/hooks/useScopeInternalContextOrThrow'; -import { FilterScopeInternalContext } from '../scopes/scope-internal-context/FilterScopeInternalContext'; +import { ObjectFilterDropdownScopeInternalContext } from '../scopes/scope-internal-context/ObjectFilterDropdownScopeInternalContext'; import { Filter } from '../types/Filter'; import { useFilterStates } from './useFilterStates'; @@ -14,7 +14,7 @@ type UseFilterProps = { export const useFilter = (props?: UseFilterProps) => { const scopeId = useAvailableScopeIdOrThrow( - FilterScopeInternalContext, + ObjectFilterDropdownScopeInternalContext, props?.filterScopeId, ); const { @@ -22,14 +22,14 @@ export const useFilter = (props?: UseFilterProps) => { setAvailableFilterDefinitions, filterDefinitionUsedInDropdown, setFilterDefinitionUsedInDropdown, - filterDropdownSearchInput, - setFilterDropdownSearchInput, - filterDropdownSelectedEntityId, - setFilterDropdownSelectedEntityId, - isFilterDropdownOperandSelectUnfolded, - setIsFilterDropdownOperandSelectUnfolded, - isFilterDropdownUnfolded, - setIsFilterDropdownUnfolded, + objectFilterDropdownSearchInput, + setObjectFilterDropdownSearchInput, + objectFilterDropdownSelectedEntityId, + setObjectFilterDropdownSelectedEntityId, + isObjectFilterDropdownOperandSelectUnfolded, + setIsObjectFilterDropdownOperandSelectUnfolded, + isObjectFilterDropdownUnfolded, + setIsObjectFilterDropdownUnfolded, selectedFilter, setSelectedFilter, selectedOperandInDropdown, @@ -37,7 +37,7 @@ export const useFilter = (props?: UseFilterProps) => { } = useFilterStates(scopeId); const { onFilterSelect } = useScopeInternalContextOrThrow( - FilterScopeInternalContext, + ObjectFilterDropdownScopeInternalContext, ); const selectFilter = useCallback( @@ -54,14 +54,14 @@ export const useFilter = (props?: UseFilterProps) => { setAvailableFilterDefinitions, filterDefinitionUsedInDropdown, setFilterDefinitionUsedInDropdown, - filterDropdownSearchInput, - setFilterDropdownSearchInput, - filterDropdownSelectedEntityId, - setFilterDropdownSelectedEntityId, - isFilterDropdownOperandSelectUnfolded, - setIsFilterDropdownOperandSelectUnfolded, - isFilterDropdownUnfolded, - setIsFilterDropdownUnfolded, + objectFilterDropdownSearchInput, + setObjectFilterDropdownSearchInput, + objectFilterDropdownSelectedEntityId, + setObjectFilterDropdownSelectedEntityId, + isObjectFilterDropdownOperandSelectUnfolded, + setIsObjectFilterDropdownOperandSelectUnfolded, + isObjectFilterDropdownUnfolded, + setIsObjectFilterDropdownUnfolded, selectedFilter, setSelectedFilter, selectedOperandInDropdown, diff --git a/front/src/modules/ui/object/object-filter-dropdown/hooks/useFilterStates.ts b/front/src/modules/ui/object/object-filter-dropdown/hooks/useFilterStates.ts new file mode 100644 index 000000000..e96273671 --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/hooks/useFilterStates.ts @@ -0,0 +1,67 @@ +import { useRecoilScopedStateV2 } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedStateV2'; + +import { availableFilterDefinitionsScopedState } from '../states/availableFilterDefinitionsScopedState'; +import { filterDefinitionUsedInDropdownScopedState } from '../states/filterDefinitionUsedInDropdownScopedState'; +import { isObjectFilterDropdownOperandSelectUnfoldedScopedState } from '../states/isObjectFilterDropdownOperandSelectUnfoldedScopedState'; +import { isObjectFilterDropdownUnfoldedScopedState } from '../states/isObjectFilterDropdownUnfoldedScopedState'; +import { objectFilterDropdownSearchInputScopedState } from '../states/objectFilterDropdownSearchInputScopedState'; +import { objectFilterDropdownSelectedEntityIdScopedState } from '../states/objectFilterDropdownSelectedEntityIdScopedState'; +import { selectedFilterScopedState } from '../states/selectedFilterScopedState'; +import { selectedOperandInDropdownScopedState } from '../states/selectedOperandInDropdownScopedState'; + +export const useFilterStates = (scopeId: string) => { + const [availableFilterDefinitions, setAvailableFilterDefinitions] = + useRecoilScopedStateV2(availableFilterDefinitionsScopedState, scopeId); + + const [filterDefinitionUsedInDropdown, setFilterDefinitionUsedInDropdown] = + useRecoilScopedStateV2(filterDefinitionUsedInDropdownScopedState, scopeId); + + const [objectFilterDropdownSearchInput, setObjectFilterDropdownSearchInput] = + useRecoilScopedStateV2(objectFilterDropdownSearchInputScopedState, scopeId); + + const [ + objectFilterDropdownSelectedEntityId, + setObjectFilterDropdownSelectedEntityId, + ] = useRecoilScopedStateV2( + objectFilterDropdownSelectedEntityIdScopedState, + scopeId, + ); + + const [ + isObjectFilterDropdownOperandSelectUnfolded, + setIsObjectFilterDropdownOperandSelectUnfolded, + ] = useRecoilScopedStateV2( + isObjectFilterDropdownOperandSelectUnfoldedScopedState, + scopeId, + ); + + const [isObjectFilterDropdownUnfolded, setIsObjectFilterDropdownUnfolded] = + useRecoilScopedStateV2(isObjectFilterDropdownUnfoldedScopedState, scopeId); + + const [selectedFilter, setSelectedFilter] = useRecoilScopedStateV2( + selectedFilterScopedState, + scopeId, + ); + + const [selectedOperandInDropdown, setSelectedOperandInDropdown] = + useRecoilScopedStateV2(selectedOperandInDropdownScopedState, scopeId); + + return { + availableFilterDefinitions, + setAvailableFilterDefinitions, + filterDefinitionUsedInDropdown, + setFilterDefinitionUsedInDropdown, + objectFilterDropdownSearchInput, + setObjectFilterDropdownSearchInput, + objectFilterDropdownSelectedEntityId, + setObjectFilterDropdownSelectedEntityId, + isObjectFilterDropdownOperandSelectUnfolded, + setIsObjectFilterDropdownOperandSelectUnfolded, + isObjectFilterDropdownUnfolded, + setIsObjectFilterDropdownUnfolded, + selectedFilter, + setSelectedFilter, + selectedOperandInDropdown, + setSelectedOperandInDropdown, + }; +}; diff --git a/front/src/modules/ui/object/object-filter-dropdown/scopes/ObjectFilterDropdownScope.tsx b/front/src/modules/ui/object/object-filter-dropdown/scopes/ObjectFilterDropdownScope.tsx new file mode 100644 index 000000000..b1417baef --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/scopes/ObjectFilterDropdownScope.tsx @@ -0,0 +1,34 @@ +import { ReactNode } from 'react'; + +import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; + +import { Filter } from '../types/Filter'; + +import { ObjectFilterDropdownScopeInitEffect } from './init-effect/ObjectFilterDropdownScopeInitEffect'; +import { ObjectFilterDropdownScopeInternalContext } from './scope-internal-context/ObjectFilterDropdownScopeInternalContext'; + +type ObjectFilterDropdownScopeProps = { + children: ReactNode; + filterScopeId: string; + availableFilterDefinitions?: FilterDefinition[]; + onFilterSelect?: (filter: Filter) => void; +}; + +export const ObjectFilterDropdownScope = ({ + children, + filterScopeId, + availableFilterDefinitions, + onFilterSelect, +}: ObjectFilterDropdownScopeProps) => { + return ( + + + {children} + + ); +}; diff --git a/front/src/modules/ui/object/filter/scopes/init-effect/FilterScopeInitEffect.tsx b/front/src/modules/ui/object/object-filter-dropdown/scopes/init-effect/ObjectFilterDropdownScopeInitEffect.tsx similarity index 67% rename from front/src/modules/ui/object/filter/scopes/init-effect/FilterScopeInitEffect.tsx rename to front/src/modules/ui/object/object-filter-dropdown/scopes/init-effect/ObjectFilterDropdownScopeInitEffect.tsx index e616f3a0a..af9373984 100644 --- a/front/src/modules/ui/object/filter/scopes/init-effect/FilterScopeInitEffect.tsx +++ b/front/src/modules/ui/object/object-filter-dropdown/scopes/init-effect/ObjectFilterDropdownScopeInitEffect.tsx @@ -1,18 +1,18 @@ import { useEffect } from 'react'; -import { FilterDefinition } from '@/ui/object/filter/types/FilterDefinition'; +import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; import { useFilterStates } from '../../hooks/useFilterStates'; -type FilterScopeInitEffectProps = { +type ObjectFilterDropdownScopeInitEffectProps = { filterScopeId: string; availableFilterDefinitions?: FilterDefinition[]; }; -export const FilterScopeInitEffect = ({ +export const ObjectFilterDropdownScopeInitEffect = ({ filterScopeId, availableFilterDefinitions, -}: FilterScopeInitEffectProps) => { +}: ObjectFilterDropdownScopeInitEffectProps) => { const { setAvailableFilterDefinitions } = useFilterStates(filterScopeId); useEffect(() => { diff --git a/front/src/modules/ui/object/filter/scopes/scope-internal-context/FilterScopeInternalContext.ts b/front/src/modules/ui/object/object-filter-dropdown/scopes/scope-internal-context/ObjectFilterDropdownScopeInternalContext.ts similarity index 60% rename from front/src/modules/ui/object/filter/scopes/scope-internal-context/FilterScopeInternalContext.ts rename to front/src/modules/ui/object/object-filter-dropdown/scopes/scope-internal-context/ObjectFilterDropdownScopeInternalContext.ts index b5326ad74..196018184 100644 --- a/front/src/modules/ui/object/filter/scopes/scope-internal-context/FilterScopeInternalContext.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/scopes/scope-internal-context/ObjectFilterDropdownScopeInternalContext.ts @@ -3,9 +3,9 @@ import { createScopeInternalContext } from '@/ui/utilities/recoil-scope/scopes-i import { Filter } from '../../types/Filter'; -type FilterScopeInternalContextProps = ScopedStateKey & { +type ObjectFilterDropdownScopeInternalContextProps = ScopedStateKey & { onFilterSelect?: (sort: Filter) => void; }; -export const FilterScopeInternalContext = - createScopeInternalContext(); +export const ObjectFilterDropdownScopeInternalContext = + createScopeInternalContext(); diff --git a/front/src/modules/ui/object/filter/states/availableFilterDefinitionsScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/availableFilterDefinitionsScopedState.ts similarity index 73% rename from front/src/modules/ui/object/filter/states/availableFilterDefinitionsScopedState.ts rename to front/src/modules/ui/object/object-filter-dropdown/states/availableFilterDefinitionsScopedState.ts index 2ca946ba4..9463e08d0 100644 --- a/front/src/modules/ui/object/filter/states/availableFilterDefinitionsScopedState.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/states/availableFilterDefinitionsScopedState.ts @@ -1,4 +1,4 @@ -import { FilterDefinition } from '@/ui/object/filter/types/FilterDefinition'; +import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; export const availableFilterDefinitionsScopedState = createScopedState< diff --git a/front/src/modules/ui/object/filter/states/filterDefinitionUsedInDropdownScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/filterDefinitionUsedInDropdownScopedState.ts similarity index 100% rename from front/src/modules/ui/object/filter/states/filterDefinitionUsedInDropdownScopedState.ts rename to front/src/modules/ui/object/object-filter-dropdown/states/filterDefinitionUsedInDropdownScopedState.ts diff --git a/front/src/modules/ui/object/object-filter-dropdown/states/isObjectFilterDropdownOperandSelectUnfoldedScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/isObjectFilterDropdownOperandSelectUnfoldedScopedState.ts new file mode 100644 index 000000000..ed25013a9 --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/states/isObjectFilterDropdownOperandSelectUnfoldedScopedState.ts @@ -0,0 +1,7 @@ +import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; + +export const isObjectFilterDropdownOperandSelectUnfoldedScopedState = + createScopedState({ + key: 'isObjectFilterDropdownOperandSelectUnfoldedScopedState', + defaultValue: false, + }); diff --git a/front/src/modules/ui/object/filter/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/isObjectFilterDropdownUnfoldedScopedState.ts similarity index 54% rename from front/src/modules/ui/object/filter/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts rename to front/src/modules/ui/object/object-filter-dropdown/states/isObjectFilterDropdownUnfoldedScopedState.ts index 3bda55bdf..178886c5a 100644 --- a/front/src/modules/ui/object/filter/states/isFilterDropdownOperandSelectUnfoldedScopedState.ts +++ b/front/src/modules/ui/object/object-filter-dropdown/states/isObjectFilterDropdownUnfoldedScopedState.ts @@ -1,7 +1,7 @@ import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; -export const isFilterDropdownOperandSelectUnfoldedScopedState = +export const isObjectFilterDropdownUnfoldedScopedState = createScopedState({ - key: 'isFilterDropdownOperandSelectUnfoldedScopedState', + key: 'isObjectFilterDropdownUnfoldedScopedState', defaultValue: false, }); diff --git a/front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSearchInputScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSearchInputScopedState.ts new file mode 100644 index 000000000..bfdd12e32 --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSearchInputScopedState.ts @@ -0,0 +1,7 @@ +import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; + +export const objectFilterDropdownSearchInputScopedState = + createScopedState({ + key: 'objectFilterDropdownSearchInputScopedState', + defaultValue: '', + }); diff --git a/front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdScopedState.ts new file mode 100644 index 000000000..a0bd47aa7 --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdScopedState.ts @@ -0,0 +1,7 @@ +import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; + +export const objectFilterDropdownSelectedEntityIdScopedState = + createScopedState({ + key: 'objectFilterDropdownSelectedEntityIdScopedState', + defaultValue: null, + }); diff --git a/front/src/modules/ui/object/filter/states/selectedFilterScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/selectedFilterScopedState.ts similarity index 100% rename from front/src/modules/ui/object/filter/states/selectedFilterScopedState.ts rename to front/src/modules/ui/object/object-filter-dropdown/states/selectedFilterScopedState.ts diff --git a/front/src/modules/ui/object/filter/states/selectedOperandInDropdownScopedState.ts b/front/src/modules/ui/object/object-filter-dropdown/states/selectedOperandInDropdownScopedState.ts similarity index 100% rename from front/src/modules/ui/object/filter/states/selectedOperandInDropdownScopedState.ts rename to front/src/modules/ui/object/object-filter-dropdown/states/selectedOperandInDropdownScopedState.ts diff --git a/front/src/modules/ui/object/filter/types/Filter.ts b/front/src/modules/ui/object/object-filter-dropdown/types/Filter.ts similarity index 100% rename from front/src/modules/ui/object/filter/types/Filter.ts rename to front/src/modules/ui/object/object-filter-dropdown/types/Filter.ts diff --git a/front/src/modules/ui/object/filter/types/FilterDefinition.ts b/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinition.ts similarity index 100% rename from front/src/modules/ui/object/filter/types/FilterDefinition.ts rename to front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinition.ts diff --git a/front/src/modules/ui/object/filter/types/FilterDefinitionByEntity.ts b/front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity.ts similarity index 100% rename from front/src/modules/ui/object/filter/types/FilterDefinitionByEntity.ts rename to front/src/modules/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity.ts diff --git a/front/src/modules/ui/object/filter/types/FilterOperand.ts b/front/src/modules/ui/object/object-filter-dropdown/types/FilterOperand.ts similarity index 100% rename from front/src/modules/ui/object/filter/types/FilterOperand.ts rename to front/src/modules/ui/object/object-filter-dropdown/types/FilterOperand.ts diff --git a/front/src/modules/ui/object/filter/types/FilterType.ts b/front/src/modules/ui/object/object-filter-dropdown/types/FilterType.ts similarity index 100% rename from front/src/modules/ui/object/filter/types/FilterType.ts rename to front/src/modules/ui/object/object-filter-dropdown/types/FilterType.ts diff --git a/front/src/modules/ui/object/object-filter-dropdown/types/FiltersHotkeyScope.ts b/front/src/modules/ui/object/object-filter-dropdown/types/FiltersHotkeyScope.ts new file mode 100644 index 000000000..69f8806ff --- /dev/null +++ b/front/src/modules/ui/object/object-filter-dropdown/types/FiltersHotkeyScope.ts @@ -0,0 +1,4 @@ +export enum FiltersHotkeyScope { + ObjectFilterDropdownButton = 'filter-dropdown-button', + ObjectSortDropdownButton = 'sort-dropdown-button', +} diff --git a/front/src/modules/ui/object/filter/utils/getOperandLabel.ts b/front/src/modules/ui/object/object-filter-dropdown/utils/getOperandLabel.ts similarity index 100% rename from front/src/modules/ui/object/filter/utils/getOperandLabel.ts rename to front/src/modules/ui/object/object-filter-dropdown/utils/getOperandLabel.ts diff --git a/front/src/modules/ui/object/filter/utils/getOperandsForFilterType.ts b/front/src/modules/ui/object/object-filter-dropdown/utils/getOperandsForFilterType.ts similarity index 100% rename from front/src/modules/ui/object/filter/utils/getOperandsForFilterType.ts rename to front/src/modules/ui/object/object-filter-dropdown/utils/getOperandsForFilterType.ts diff --git a/front/src/modules/ui/object/filter/utils/turnFilterIntoWhereClause.ts b/front/src/modules/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause.ts similarity index 100% rename from front/src/modules/ui/object/filter/utils/turnFilterIntoWhereClause.ts rename to front/src/modules/ui/object/object-filter-dropdown/utils/turnFilterIntoWhereClause.ts diff --git a/front/src/modules/ui/object/filter/utils/turnFiltersIntoWhereClauseV2.ts b/front/src/modules/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2.ts similarity index 100% rename from front/src/modules/ui/object/filter/utils/turnFiltersIntoWhereClauseV2.ts rename to front/src/modules/ui/object/object-filter-dropdown/utils/turnFiltersIntoWhereClauseV2.ts diff --git a/front/src/modules/ui/object/sort/components/SortDropdownButton.tsx b/front/src/modules/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton.tsx similarity index 90% rename from front/src/modules/ui/object/sort/components/SortDropdownButton.tsx rename to front/src/modules/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton.tsx index 9cfc6904e..1586f20af 100644 --- a/front/src/modules/ui/object/sort/components/SortDropdownButton.tsx +++ b/front/src/modules/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton.tsx @@ -11,19 +11,19 @@ import { DropdownScope } from '@/ui/layout/dropdown/scopes/DropdownScope'; import { MenuItem } from '@/ui/navigation/menu-item/components/MenuItem'; import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope'; -import { SortDropdownId } from '../constants/SortDropdownId'; -import { useSort } from '../hooks/useSort'; +import { ObjectSortDropdownId } from '../constants/ObjectSortDropdownId'; +import { useObjectSortDropdown } from '../hooks/useObjectSortDropdown'; import { SortDefinition } from '../types/SortDefinition'; import { SORT_DIRECTIONS, SortDirection } from '../types/SortDirection'; -export type SortDropdownButtonProps = { +export type ObjectSortDropdownButtonProps = { hotkeyScope: HotkeyScope; isPrimaryButton?: boolean; }; -export const SortDropdownButton = ({ +export const ObjectSortDropdownButton = ({ hotkeyScope, -}: SortDropdownButtonProps) => { +}: ObjectSortDropdownButtonProps) => { const [isSortDirectionMenuUnfolded, setIsSortDirectionMenuUnfolded] = useState(false); @@ -35,10 +35,11 @@ export const SortDropdownButton = ({ setSelectedSortDirection('asc'); }, []); - const { availableSortDefinitions, onSortSelect, isSortSelected } = useSort(); + const { availableSortDefinitions, onSortSelect, isSortSelected } = + useObjectSortDropdown(); const { toggleDropdown } = useDropdown({ - dropdownScopeId: SortDropdownId, + dropdownScopeId: ObjectSortDropdownId, }); const handleButtonClick = () => { @@ -60,7 +61,7 @@ export const SortDropdownButton = ({ }; return ( - + { +export const useObjectSortDropdown = (props?: UseSortProps) => { const scopeId = useAvailableScopeIdOrThrow( - SortScopeInternalContext, + ObjectSortDropdownScopeInternalContext, props?.sortScopeId, ); const { @@ -19,10 +19,10 @@ export const useSort = (props?: UseSortProps) => { setAvailableSortDefinitions, isSortSelected, setIsSortSelected, - } = useSortStates(scopeId); + } = useObjectSortDropdownStates(scopeId); const { onSortSelect } = useScopeInternalContextOrThrow( - SortScopeInternalContext, + ObjectSortDropdownScopeInternalContext, ); return { diff --git a/front/src/modules/ui/object/sort/hooks/useSortStates.ts b/front/src/modules/ui/object/object-sort-dropdown/hooks/useObjectSortDropdownStates.ts similarity index 91% rename from front/src/modules/ui/object/sort/hooks/useSortStates.ts rename to front/src/modules/ui/object/object-sort-dropdown/hooks/useObjectSortDropdownStates.ts index 4e4c79d74..1c5b5ee13 100644 --- a/front/src/modules/ui/object/sort/hooks/useSortStates.ts +++ b/front/src/modules/ui/object/object-sort-dropdown/hooks/useObjectSortDropdownStates.ts @@ -3,7 +3,7 @@ import { useRecoilScopedStateV2 } from '@/ui/utilities/recoil-scope/hooks/useRec import { availableSortDefinitionsScopedState } from '../states/availableSortDefinitionsScopedState'; import { isSortSelectedScopedState } from '../states/isSortSelectedScopedState'; -export const useSortStates = (scopeId: string) => { +export const useObjectSortDropdownStates = (scopeId: string) => { const [availableSortDefinitions, setAvailableSortDefinitions] = useRecoilScopedStateV2(availableSortDefinitionsScopedState, scopeId); diff --git a/front/src/modules/ui/object/sort/scopes/SortScope.tsx b/front/src/modules/ui/object/object-sort-dropdown/scopes/ObjectSortDropdownScope.tsx similarity index 53% rename from front/src/modules/ui/object/sort/scopes/SortScope.tsx rename to front/src/modules/ui/object/object-sort-dropdown/scopes/ObjectSortDropdownScope.tsx index 9b5a3509c..9bbde8b5c 100644 --- a/front/src/modules/ui/object/sort/scopes/SortScope.tsx +++ b/front/src/modules/ui/object/object-sort-dropdown/scopes/ObjectSortDropdownScope.tsx @@ -3,31 +3,31 @@ import { ReactNode } from 'react'; import { Sort } from '../types/Sort'; import { SortDefinition } from '../types/SortDefinition'; -import { SortScopeInitEffect } from './init-effect/SortScopeInitEffect'; -import { SortScopeInternalContext } from './scope-internal-context/SortScopeInternalContext'; +import { ObjectSortDropdownScopeInitEffect } from './init-effect/ObjectSortDropdownScopeInitEffect'; +import { ObjectSortDropdownScopeInternalContext } from './scope-internal-context/ObjectSortDropdownScopeInternalContext'; -type SortScopeProps = { +type ObjectSortDropdownScopeProps = { children: ReactNode; sortScopeId: string; availableSortDefinitions?: SortDefinition[]; onSortSelect?: (sort: Sort) => void | Promise; }; -export const SortScope = ({ +export const ObjectSortDropdownScope = ({ children, sortScopeId, availableSortDefinitions, onSortSelect, -}: SortScopeProps) => { +}: ObjectSortDropdownScopeProps) => { return ( - - {children} - + ); }; diff --git a/front/src/modules/ui/object/object-sort-dropdown/scopes/init-effect/ObjectSortDropdownScopeInitEffect.tsx b/front/src/modules/ui/object/object-sort-dropdown/scopes/init-effect/ObjectSortDropdownScopeInitEffect.tsx new file mode 100644 index 000000000..7211e11dd --- /dev/null +++ b/front/src/modules/ui/object/object-sort-dropdown/scopes/init-effect/ObjectSortDropdownScopeInitEffect.tsx @@ -0,0 +1,26 @@ +import { useEffect } from 'react'; + +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; + +import { useObjectSortDropdownStates } from '../../hooks/useObjectSortDropdownStates'; + +type ObjectSortDropdownScopeInitEffectProps = { + sortScopeId: string; + availableSortDefinitions?: SortDefinition[]; +}; + +export const ObjectSortDropdownScopeInitEffect = ({ + sortScopeId, + availableSortDefinitions, +}: ObjectSortDropdownScopeInitEffectProps) => { + const { setAvailableSortDefinitions } = + useObjectSortDropdownStates(sortScopeId); + + useEffect(() => { + if (availableSortDefinitions) { + setAvailableSortDefinitions(availableSortDefinitions); + } + }, [availableSortDefinitions, setAvailableSortDefinitions]); + + return <>; +}; diff --git a/front/src/modules/ui/object/sort/scopes/scope-internal-context/SortScopeInternalContext.ts b/front/src/modules/ui/object/object-sort-dropdown/scopes/scope-internal-context/ObjectSortDropdownScopeInternalContext.ts similarity index 60% rename from front/src/modules/ui/object/sort/scopes/scope-internal-context/SortScopeInternalContext.ts rename to front/src/modules/ui/object/object-sort-dropdown/scopes/scope-internal-context/ObjectSortDropdownScopeInternalContext.ts index 01fead48c..628b843a9 100644 --- a/front/src/modules/ui/object/sort/scopes/scope-internal-context/SortScopeInternalContext.ts +++ b/front/src/modules/ui/object/object-sort-dropdown/scopes/scope-internal-context/ObjectSortDropdownScopeInternalContext.ts @@ -3,9 +3,9 @@ import { createScopeInternalContext } from '@/ui/utilities/recoil-scope/scopes-i import { Sort } from '../../types/Sort'; -type SortScopeInternalContextProps = ScopedStateKey & { +type ObjectSortDropdownScopeInternalContextProps = ScopedStateKey & { onSortSelect?: (sort: Sort) => void; }; -export const SortScopeInternalContext = - createScopeInternalContext(); +export const ObjectSortDropdownScopeInternalContext = + createScopeInternalContext(); diff --git a/front/src/modules/ui/object/sort/states/availableSortDefinitionsScopedState.ts b/front/src/modules/ui/object/object-sort-dropdown/states/availableSortDefinitionsScopedState.ts similarity index 100% rename from front/src/modules/ui/object/sort/states/availableSortDefinitionsScopedState.ts rename to front/src/modules/ui/object/object-sort-dropdown/states/availableSortDefinitionsScopedState.ts diff --git a/front/src/modules/ui/object/sort/states/isSortSelectedScopedState.ts b/front/src/modules/ui/object/object-sort-dropdown/states/isSortSelectedScopedState.ts similarity index 100% rename from front/src/modules/ui/object/sort/states/isSortSelectedScopedState.ts rename to front/src/modules/ui/object/object-sort-dropdown/states/isSortSelectedScopedState.ts diff --git a/front/src/modules/ui/object/sort/types/Sort.ts b/front/src/modules/ui/object/object-sort-dropdown/types/Sort.ts similarity index 100% rename from front/src/modules/ui/object/sort/types/Sort.ts rename to front/src/modules/ui/object/object-sort-dropdown/types/Sort.ts diff --git a/front/src/modules/ui/object/sort/types/SortDefinition.ts b/front/src/modules/ui/object/object-sort-dropdown/types/SortDefinition.ts similarity index 100% rename from front/src/modules/ui/object/sort/types/SortDefinition.ts rename to front/src/modules/ui/object/object-sort-dropdown/types/SortDefinition.ts diff --git a/front/src/modules/ui/object/sort/types/SortDirection.ts b/front/src/modules/ui/object/object-sort-dropdown/types/SortDirection.ts similarity index 100% rename from front/src/modules/ui/object/sort/types/SortDirection.ts rename to front/src/modules/ui/object/object-sort-dropdown/types/SortDirection.ts diff --git a/front/src/modules/ui/object/sort/types/interface.ts b/front/src/modules/ui/object/object-sort-dropdown/types/interface.ts similarity index 100% rename from front/src/modules/ui/object/sort/types/interface.ts rename to front/src/modules/ui/object/object-sort-dropdown/types/interface.ts diff --git a/front/src/modules/ui/object/sort/utils/helpers.ts b/front/src/modules/ui/object/object-sort-dropdown/utils/helpers.ts similarity index 100% rename from front/src/modules/ui/object/sort/utils/helpers.ts rename to front/src/modules/ui/object/object-sort-dropdown/utils/helpers.ts diff --git a/front/src/modules/ui/object/sort/utils/turnSortsIntoOrderByV2.ts b/front/src/modules/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2.ts similarity index 100% rename from front/src/modules/ui/object/sort/utils/turnSortsIntoOrderByV2.ts rename to front/src/modules/ui/object/object-sort-dropdown/utils/turnSortsIntoOrderByV2.ts diff --git a/front/src/modules/ui/object/record-table/components/RecordTableEffect.tsx b/front/src/modules/ui/object/record-table/components/RecordTableEffect.tsx index 3569c5c72..d9a715c72 100644 --- a/front/src/modules/ui/object/record-table/components/RecordTableEffect.tsx +++ b/front/src/modules/ui/object/record-table/components/RecordTableEffect.tsx @@ -11,8 +11,8 @@ import { useGetPeopleQuery, } from '~/generated/graphql'; -import { FilterDefinition } from '../../filter/types/FilterDefinition'; -import { SortDefinition } from '../../sort/types/SortDefinition'; +import { FilterDefinition } from '../../object-filter-dropdown/types/FilterDefinition'; +import { SortDefinition } from '../../object-sort-dropdown/types/SortDefinition'; import { useSetRecordTableData } from '../hooks/useSetRecordTableData'; import { TableRecoilScopeContext } from '../states/recoil-scope-contexts/TableRecoilScopeContext'; import { tablefiltersWhereScopedSelector } from '../states/selectors/tablefiltersWhereScopedSelector'; diff --git a/front/src/modules/ui/object/record-table/states/selectors/tableSortsOrderByScopedSelector.ts b/front/src/modules/ui/object/record-table/states/selectors/tableSortsOrderByScopedSelector.ts index 6f508547d..b57c2437c 100644 --- a/front/src/modules/ui/object/record-table/states/selectors/tableSortsOrderByScopedSelector.ts +++ b/front/src/modules/ui/object/record-table/states/selectors/tableSortsOrderByScopedSelector.ts @@ -1,6 +1,6 @@ import { selectorFamily } from 'recoil'; -import { reduceSortsToOrderBy } from '@/ui/object/sort/utils/helpers'; +import { reduceSortsToOrderBy } from '@/ui/object/object-sort-dropdown/utils/helpers'; import { SortOrder } from '~/generated/graphql'; import { tableSortsScopedState } from '../tableSortsScopedState'; diff --git a/front/src/modules/ui/object/record-table/states/selectors/tablefiltersWhereScopedSelector.ts b/front/src/modules/ui/object/record-table/states/selectors/tablefiltersWhereScopedSelector.ts index 00c7b3038..0bdf3a711 100644 --- a/front/src/modules/ui/object/record-table/states/selectors/tablefiltersWhereScopedSelector.ts +++ b/front/src/modules/ui/object/record-table/states/selectors/tablefiltersWhereScopedSelector.ts @@ -1,6 +1,6 @@ import { selectorFamily } from 'recoil'; -import { turnFilterIntoWhereClause } from '../../../filter/utils/turnFilterIntoWhereClause'; +import { turnFilterIntoWhereClause } from '../../../object-filter-dropdown/utils/turnFilterIntoWhereClause'; import { tableFiltersScopedState } from '../tableFiltersScopedState'; export const tablefiltersWhereScopedSelector = selectorFamily({ diff --git a/front/src/modules/ui/object/record-table/states/tableFiltersScopedState.ts b/front/src/modules/ui/object/record-table/states/tableFiltersScopedState.ts index ef6de5348..9a54bbce6 100644 --- a/front/src/modules/ui/object/record-table/states/tableFiltersScopedState.ts +++ b/front/src/modules/ui/object/record-table/states/tableFiltersScopedState.ts @@ -1,6 +1,6 @@ import { atomFamily } from 'recoil'; -import { Filter } from '../../filter/types/Filter'; +import { Filter } from '../../object-filter-dropdown/types/Filter'; export const tableFiltersScopedState = atomFamily({ key: 'tableFiltersScopedState', diff --git a/front/src/modules/ui/object/record-table/states/tableSortsScopedState.ts b/front/src/modules/ui/object/record-table/states/tableSortsScopedState.ts index 611998da3..67c9a5e58 100644 --- a/front/src/modules/ui/object/record-table/states/tableSortsScopedState.ts +++ b/front/src/modules/ui/object/record-table/states/tableSortsScopedState.ts @@ -1,6 +1,6 @@ import { atomFamily } from 'recoil'; -import { Sort } from '../../sort/types/Sort'; +import { Sort } from '../../object-sort-dropdown/types/Sort'; export const tableSortsScopedState = atomFamily({ key: 'tableSortsScopedState', diff --git a/front/src/modules/ui/object/sort/constants/SortDropdownId.ts b/front/src/modules/ui/object/sort/constants/SortDropdownId.ts deleted file mode 100644 index e7427f674..000000000 --- a/front/src/modules/ui/object/sort/constants/SortDropdownId.ts +++ /dev/null @@ -1 +0,0 @@ -export const SortDropdownId = 'sort-dropdown'; diff --git a/front/src/modules/ui/object/sort/scopes/init-effect/SortScopeInitEffect.tsx b/front/src/modules/ui/object/sort/scopes/init-effect/SortScopeInitEffect.tsx deleted file mode 100644 index 57e9b6135..000000000 --- a/front/src/modules/ui/object/sort/scopes/init-effect/SortScopeInitEffect.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { useEffect } from 'react'; - -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; - -import { useSortStates } from '../../hooks/useSortStates'; - -type SortScopeInitEffectProps = { - sortScopeId: string; - availableSortDefinitions?: SortDefinition[]; -}; - -export const SortScopeInitEffect = ({ - sortScopeId, - availableSortDefinitions, -}: SortScopeInitEffectProps) => { - const { setAvailableSortDefinitions } = useSortStates(sortScopeId); - - useEffect(() => { - if (availableSortDefinitions) { - setAvailableSortDefinitions(availableSortDefinitions); - } - }, [availableSortDefinitions, setAvailableSortDefinitions]); - - return <>; -}; diff --git a/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx b/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx index e87ac6024..b334d142d 100644 --- a/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx +++ b/front/src/modules/users/components/FilterDropdownUserSearchSelect.tsx @@ -1,19 +1,21 @@ import { useFilteredSearchEntityQuery } from '@/search/hooks/useFilteredSearchEntityQuery'; import { Entity } from '@/ui/input/relation-picker/types/EntityTypeForSelect'; -import { FilterDropdownEntitySearchSelect } from '@/ui/object/filter/components/FilterDropdownEntitySearchSelect'; -import { useFilter } from '@/ui/object/filter/hooks/useFilter'; +import { ObjectFilterDropdownEntitySearchSelect } from '@/ui/object/object-filter-dropdown/components/ObjectFilterDropdownEntitySearchSelect'; +import { useFilter } from '@/ui/object/object-filter-dropdown/hooks/useFilter'; import { useSearchUserQuery } from '~/generated/graphql'; export const FilterDropdownUserSearchSelect = () => { - const { filterDropdownSearchInput, filterDropdownSelectedEntityId } = - useFilter(); + const { + objectFilterDropdownSearchInput, + objectFilterDropdownSelectedEntityId, + } = useFilter(); const usersForSelect = useFilteredSearchEntityQuery({ queryHook: useSearchUserQuery, filters: [ { fieldNames: ['firstName', 'lastName'], - filter: filterDropdownSearchInput, + filter: objectFilterDropdownSearchInput, }, ], orderByField: 'lastName', @@ -25,12 +27,14 @@ export const FilterDropdownUserSearchSelect = () => { avatarUrl: user.avatarUrl ?? '', originalEntity: user, }), - selectedIds: filterDropdownSelectedEntityId - ? [filterDropdownSelectedEntityId] + selectedIds: objectFilterDropdownSelectedEntityId + ? [objectFilterDropdownSelectedEntityId] : [], }); return ( - + ); }; diff --git a/front/src/modules/views/components/ViewBar.tsx b/front/src/modules/views/components/ViewBar.tsx index 09fbcf3e0..7b24cc7cd 100644 --- a/front/src/modules/views/components/ViewBar.tsx +++ b/front/src/modules/views/components/ViewBar.tsx @@ -2,11 +2,11 @@ import { ReactNode } from 'react'; import { useDropdown } from '@/ui/layout/dropdown/hooks/useDropdown'; import { TopBar } from '@/ui/layout/top-bar/TopBar'; -import { FilterDropdownButton } from '@/ui/object/filter/components/FilterDropdownButton'; -import { FilterScope } from '@/ui/object/filter/scopes/FilterScope'; -import { FiltersHotkeyScope } from '@/ui/object/filter/types/FiltersHotkeyScope'; -import { SortDropdownButton } from '@/ui/object/sort/components/SortDropdownButton'; -import { SortScope } from '@/ui/object/sort/scopes/SortScope'; +import { ObjectFilterDropdownButton } from '@/ui/object/object-filter-dropdown/components/ObjectFilterDropdownButton'; +import { ObjectFilterDropdownScope } from '@/ui/object/object-filter-dropdown/scopes/ObjectFilterDropdownScope'; +import { FiltersHotkeyScope } from '@/ui/object/object-filter-dropdown/types/FiltersHotkeyScope'; +import { ObjectSortDropdownButton } from '@/ui/object/object-sort-dropdown/components/ObjectSortDropdownButton'; +import { ObjectSortDropdownScope } from '@/ui/object/object-sort-dropdown/scopes/ObjectSortDropdownScope'; import { useView } from '../hooks/useView'; import { useViewGetStates } from '../hooks/useViewGetStates'; @@ -36,12 +36,12 @@ export const ViewBar = ({ useViewGetStates(); return ( - - - - {optionsDropdownButton} @@ -81,7 +85,7 @@ export const ViewBar = ({ /> } /> - - + + ); }; diff --git a/front/src/modules/views/components/ViewBarDetails.tsx b/front/src/modules/views/components/ViewBarDetails.tsx index de17bc41b..8b22c83a1 100644 --- a/front/src/modules/views/components/ViewBarDetails.tsx +++ b/front/src/modules/views/components/ViewBarDetails.tsx @@ -2,8 +2,8 @@ import { ReactNode } from 'react'; import styled from '@emotion/styled'; import { IconArrowDown, IconArrowUp } from '@/ui/display/icon/index'; -import { AddFilterFromDropdownButton } from '@/ui/object/filter/components/AddFilterFromDetailsButton'; -import { getOperandLabelShort } from '@/ui/object/filter/utils/getOperandLabel'; +import { AddObjectFilterFromDetailsButton } from '@/ui/object/object-filter-dropdown/components/AddObjectFilterFromDetailsButton'; +import { getOperandLabelShort } from '@/ui/object/object-filter-dropdown/utils/getOperandLabel'; import { useView } from '../hooks/useView'; import { useViewGetStates } from '../hooks/useViewGetStates'; @@ -152,7 +152,7 @@ export const ViewBarDetails = ({ {hasFilterButton && ( - + )} diff --git a/front/src/modules/views/hooks/internal/useViewFilters.ts b/front/src/modules/views/hooks/internal/useViewFilters.ts index 2cda6fbf5..846c509e2 100644 --- a/front/src/modules/views/hooks/internal/useViewFilters.ts +++ b/front/src/modules/views/hooks/internal/useViewFilters.ts @@ -3,7 +3,7 @@ import { produce } from 'immer'; import { useRecoilCallback } from 'recoil'; import { useFindOneMetadataObject } from '@/metadata/hooks/useFindOneMetadataObject'; -import { Filter } from '@/ui/object/filter/types/Filter'; +import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter'; import { currentViewFiltersScopedFamilyState } from '@/views/states/currentViewFiltersScopedFamilyState'; import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState'; import { onViewFiltersChangeScopedState } from '@/views/states/onViewFiltersChangeScopedState'; diff --git a/front/src/modules/views/hooks/internal/useViewSorts.ts b/front/src/modules/views/hooks/internal/useViewSorts.ts index deeb5e450..2ef554d6f 100644 --- a/front/src/modules/views/hooks/internal/useViewSorts.ts +++ b/front/src/modules/views/hooks/internal/useViewSorts.ts @@ -3,7 +3,7 @@ import { produce } from 'immer'; import { useRecoilCallback } from 'recoil'; import { useFindOneMetadataObject } from '@/metadata/hooks/useFindOneMetadataObject'; -import { Sort } from '@/ui/object/sort/types/Sort'; +import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort'; import { currentViewIdScopedState } from '@/views/states/currentViewIdScopedState'; import { currentViewSortsScopedFamilyState } from '@/views/states/currentViewSortsScopedFamilyState'; import { onViewSortsChangeScopedState } from '@/views/states/onViewSortsChangeScopedState'; diff --git a/front/src/modules/views/scopes/ViewScope.tsx b/front/src/modules/views/scopes/ViewScope.tsx index 9ba723b21..9e58f29e3 100644 --- a/front/src/modules/views/scopes/ViewScope.tsx +++ b/front/src/modules/views/scopes/ViewScope.tsx @@ -1,7 +1,7 @@ import { ReactNode } from 'react'; -import { Filter } from '@/ui/object/filter/types/Filter'; -import { Sort } from '@/ui/object/sort/types/Sort'; +import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter'; +import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort'; import { ViewField } from '../types/ViewField'; diff --git a/front/src/modules/views/scopes/init-effect/ViewScopeInitEffect.tsx b/front/src/modules/views/scopes/init-effect/ViewScopeInitEffect.tsx index be43f52b8..214134e17 100644 --- a/front/src/modules/views/scopes/init-effect/ViewScopeInitEffect.tsx +++ b/front/src/modules/views/scopes/init-effect/ViewScopeInitEffect.tsx @@ -1,7 +1,7 @@ import { useEffect } from 'react'; -import { Filter } from '@/ui/object/filter/types/Filter'; -import { Sort } from '@/ui/object/sort/types/Sort'; +import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter'; +import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort'; import { useView } from '@/views/hooks/useView'; import { ViewField } from '@/views/types/ViewField'; diff --git a/front/src/modules/views/states/availableFilterDefinitionsScopedState.ts b/front/src/modules/views/states/availableFilterDefinitionsScopedState.ts index 2ca946ba4..9463e08d0 100644 --- a/front/src/modules/views/states/availableFilterDefinitionsScopedState.ts +++ b/front/src/modules/views/states/availableFilterDefinitionsScopedState.ts @@ -1,4 +1,4 @@ -import { FilterDefinition } from '@/ui/object/filter/types/FilterDefinition'; +import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; export const availableFilterDefinitionsScopedState = createScopedState< diff --git a/front/src/modules/views/states/availableSortDefinitionsScopedState.ts b/front/src/modules/views/states/availableSortDefinitionsScopedState.ts index 69556860e..28aa81140 100644 --- a/front/src/modules/views/states/availableSortDefinitionsScopedState.ts +++ b/front/src/modules/views/states/availableSortDefinitionsScopedState.ts @@ -1,4 +1,4 @@ -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; export const availableSortDefinitionsScopedState = createScopedState< diff --git a/front/src/modules/views/states/onViewFiltersChangeScopedState.ts b/front/src/modules/views/states/onViewFiltersChangeScopedState.ts index bd42c8a43..251aa1c1d 100644 --- a/front/src/modules/views/states/onViewFiltersChangeScopedState.ts +++ b/front/src/modules/views/states/onViewFiltersChangeScopedState.ts @@ -1,4 +1,4 @@ -import { Filter } from '@/ui/object/filter/types/Filter'; +import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter'; import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; export const onViewFiltersChangeScopedState = createScopedState< diff --git a/front/src/modules/views/states/onViewSortsChangeScopedState.ts b/front/src/modules/views/states/onViewSortsChangeScopedState.ts index cc07aa76f..24e4df4a2 100644 --- a/front/src/modules/views/states/onViewSortsChangeScopedState.ts +++ b/front/src/modules/views/states/onViewSortsChangeScopedState.ts @@ -1,4 +1,4 @@ -import { Sort } from '@/ui/object/sort/types/Sort'; +import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort'; import { createScopedState } from '@/ui/utilities/recoil-scope/utils/createScopedState'; export const onViewSortsChangeScopedState = createScopedState< diff --git a/front/src/modules/views/types/ViewFilter.ts b/front/src/modules/views/types/ViewFilter.ts index d52de2773..44c3edb76 100644 --- a/front/src/modules/views/types/ViewFilter.ts +++ b/front/src/modules/views/types/ViewFilter.ts @@ -1,4 +1,4 @@ -import { FilterDefinition } from '@/ui/object/filter/types/FilterDefinition'; +import { FilterDefinition } from '@/ui/object/object-filter-dropdown/types/FilterDefinition'; import { ViewFilterOperand } from './ViewFilterOperand'; diff --git a/front/src/modules/views/types/ViewSort.ts b/front/src/modules/views/types/ViewSort.ts index 597612198..8e486c717 100644 --- a/front/src/modules/views/types/ViewSort.ts +++ b/front/src/modules/views/types/ViewSort.ts @@ -1,5 +1,5 @@ -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; -import { SortDirection } from '@/ui/object/sort/types/SortDirection'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; +import { SortDirection } from '@/ui/object/object-sort-dropdown/types/SortDirection'; export type ViewSort = { id?: string; diff --git a/front/src/modules/views/utils/viewFiltersToFilters.ts b/front/src/modules/views/utils/viewFiltersToFilters.ts index 8742aa377..eeb908914 100644 --- a/front/src/modules/views/utils/viewFiltersToFilters.ts +++ b/front/src/modules/views/utils/viewFiltersToFilters.ts @@ -1,4 +1,4 @@ -import { Filter } from '@/ui/object/filter/types/Filter'; +import { Filter } from '@/ui/object/object-filter-dropdown/types/Filter'; import { ViewFilter } from '../types/ViewFilter'; diff --git a/front/src/modules/views/utils/viewSortsToSorts.ts b/front/src/modules/views/utils/viewSortsToSorts.ts index 6d1123167..1a314c520 100644 --- a/front/src/modules/views/utils/viewSortsToSorts.ts +++ b/front/src/modules/views/utils/viewSortsToSorts.ts @@ -1,4 +1,4 @@ -import { Sort } from '@/ui/object/sort/types/Sort'; +import { Sort } from '@/ui/object/object-sort-dropdown/types/Sort'; import { ViewSort } from '../types/ViewSort'; diff --git a/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx b/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx index 3ebc106d1..d29bd0697 100644 --- a/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx +++ b/front/src/pages/companies/constants/companyTableFilterDefinitions.tsx @@ -6,7 +6,7 @@ import { IconUser, IconUsers, } from '@/ui/display/icon/index'; -import { FilterDefinitionByEntity } from '@/ui/object/filter/types/FilterDefinitionByEntity'; +import { FilterDefinitionByEntity } from '@/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity'; import { FilterDropdownUserSearchSelect } from '@/users/components/FilterDropdownUserSearchSelect'; import { Company } from '~/generated/graphql'; diff --git a/front/src/pages/companies/constants/companyTableSortDefinitions.tsx b/front/src/pages/companies/constants/companyTableSortDefinitions.tsx index c4447e026..b2e999338 100644 --- a/front/src/pages/companies/constants/companyTableSortDefinitions.tsx +++ b/front/src/pages/companies/constants/companyTableSortDefinitions.tsx @@ -5,7 +5,7 @@ import { IconMap, IconUsers, } from '@/ui/display/icon/index'; -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; export const companyTableSortDefinitions: SortDefinition[] = [ { diff --git a/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx b/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx index 8f631427e..fcaa7757b 100644 --- a/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx +++ b/front/src/pages/opportunities/constants/opportunityBoardFilterDefinitions.tsx @@ -5,7 +5,7 @@ import { IconCurrencyDollar, IconUser, } from '@/ui/display/icon/index'; -import { FilterDefinitionByEntity } from '@/ui/object/filter/types/FilterDefinitionByEntity'; +import { FilterDefinitionByEntity } from '@/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity'; import { PipelineProgress } from '~/generated/graphql'; import { FilterDropdownPeopleSearchSelect } from '../../../modules/people/components/FilterDropdownPeopleSearchSelect'; diff --git a/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx b/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx index 9c5d86219..4cd9de0d3 100644 --- a/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx +++ b/front/src/pages/opportunities/constants/opportunityBoardSortDefinitions.tsx @@ -1,5 +1,5 @@ import { IconCalendarEvent, IconCurrencyDollar } from '@/ui/display/icon/index'; -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; export const opportunityBoardSortDefinitions: SortDefinition[] = [ { diff --git a/front/src/pages/people/constants/personTableFilterDefinitions.tsx b/front/src/pages/people/constants/personTableFilterDefinitions.tsx index f6daeec92..2eb609ad8 100644 --- a/front/src/pages/people/constants/personTableFilterDefinitions.tsx +++ b/front/src/pages/people/constants/personTableFilterDefinitions.tsx @@ -7,7 +7,7 @@ import { IconPhone, IconUser, } from '@/ui/display/icon/index'; -import { FilterDefinitionByEntity } from '@/ui/object/filter/types/FilterDefinitionByEntity'; +import { FilterDefinitionByEntity } from '@/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity'; import { Person } from '~/generated/graphql'; export const personTableFilterDefinitions: FilterDefinitionByEntity[] = diff --git a/front/src/pages/people/constants/personTableSortDefinitions.tsx b/front/src/pages/people/constants/personTableSortDefinitions.tsx index 870370438..10e2e440e 100644 --- a/front/src/pages/people/constants/personTableSortDefinitions.tsx +++ b/front/src/pages/people/constants/personTableSortDefinitions.tsx @@ -6,8 +6,8 @@ import { IconPhone, IconUser, } from '@/ui/display/icon/index'; -import { SortDefinition } from '@/ui/object/sort/types/SortDefinition'; -import { SortDirection } from '@/ui/object/sort/types/SortDirection'; +import { SortDefinition } from '@/ui/object/object-sort-dropdown/types/SortDefinition'; +import { SortDirection } from '@/ui/object/object-sort-dropdown/types/SortDirection'; export const personTableSortDefinitions: SortDefinition[] = [ { diff --git a/front/src/pages/tasks/Tasks.tsx b/front/src/pages/tasks/Tasks.tsx index c9ac1c97a..b0bceebf4 100644 --- a/front/src/pages/tasks/Tasks.tsx +++ b/front/src/pages/tasks/Tasks.tsx @@ -10,8 +10,8 @@ import { PageContainer } from '@/ui/layout/page/PageContainer'; import { PageHeader } from '@/ui/layout/page/PageHeader'; import { TabList } from '@/ui/layout/tab/components/TabList'; import { TopBar } from '@/ui/layout/top-bar/TopBar'; -import { FilterDropdownButton } from '@/ui/object/filter/components/FilterDropdownButton'; -import { FilterScope } from '@/ui/object/filter/scopes/FilterScope'; +import { ObjectFilterDropdownButton } from '@/ui/object/object-filter-dropdown/components/ObjectFilterDropdownButton'; +import { ObjectFilterDropdownScope } from '@/ui/object/object-filter-dropdown/scopes/ObjectFilterDropdownScope'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { TasksEffect } from './TasksEffect'; @@ -48,7 +48,7 @@ export const Tasks = () => { return ( - + @@ -65,7 +65,7 @@ export const Tasks = () => { } rightComponent={ - { - + ); diff --git a/front/src/pages/tasks/TasksEffect.tsx b/front/src/pages/tasks/TasksEffect.tsx index 035c197ef..045fa758d 100644 --- a/front/src/pages/tasks/TasksEffect.tsx +++ b/front/src/pages/tasks/TasksEffect.tsx @@ -2,7 +2,7 @@ import { useEffect } from 'react'; import { useRecoilState } from 'recoil'; import { currentUserState } from '@/auth/states/currentUserState'; -import { useFilter } from '@/ui/object/filter/hooks/useFilter'; +import { useFilter } from '@/ui/object/object-filter-dropdown/hooks/useFilter'; import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; import { tasksFilterDefinitions } from './tasks-filter-definitions'; diff --git a/front/src/pages/tasks/tasks-filter-definitions.tsx b/front/src/pages/tasks/tasks-filter-definitions.tsx index bd448ed5e..4fd1788d3 100644 --- a/front/src/pages/tasks/tasks-filter-definitions.tsx +++ b/front/src/pages/tasks/tasks-filter-definitions.tsx @@ -1,5 +1,5 @@ import { IconUser, IconUserCircle } from '@/ui/display/icon'; -import { FilterDefinitionByEntity } from '@/ui/object/filter/types/FilterDefinitionByEntity'; +import { FilterDefinitionByEntity } from '@/ui/object/object-filter-dropdown/types/FilterDefinitionByEntity'; import { FilterDropdownUserSearchSelect } from '@/users/components/FilterDropdownUserSearchSelect'; import { Activity } from '~/generated/graphql';