diff --git a/front/src/effect-components/PageChangeEffect.tsx b/front/src/effect-components/PageChangeEffect.tsx index 7ab2bafab..dcbbd2b7e 100644 --- a/front/src/effect-components/PageChangeEffect.tsx +++ b/front/src/effect-components/PageChangeEffect.tsx @@ -12,9 +12,9 @@ import { AppBasePath } from '@/types/AppBasePath'; import { AppPath } from '@/types/AppPath'; import { PageHotkeyScope } from '@/types/PageHotkeyScope'; import { SettingsPath } from '@/types/SettingsPath'; +import { TableHotkeyScope } from '@/ui/data-table/types/TableHotkeyScope'; import { IconCheckbox, IconNotes } from '@/ui/icon'; import { useSnackBar } from '@/ui/snack-bar/hooks/useSnackBar'; -import { TableHotkeyScope } from '@/ui/table/types/TableHotkeyScope'; import { useSetHotkeyScope } from '@/ui/utilities/hotkey/hooks/useSetHotkeyScope'; import { ActivityType, diff --git a/front/src/modules/activities/hooks/useOpenCreateActivityDrawerForSelectedRowIds.ts b/front/src/modules/activities/hooks/useOpenCreateActivityDrawerForSelectedRowIds.ts index a9ad2b9e9..b94aa6477 100644 --- a/front/src/modules/activities/hooks/useOpenCreateActivityDrawerForSelectedRowIds.ts +++ b/front/src/modules/activities/hooks/useOpenCreateActivityDrawerForSelectedRowIds.ts @@ -1,6 +1,6 @@ import { useRecoilValue } from 'recoil'; -import { selectedRowIdsSelector } from '@/ui/table/states/selectors/selectedRowIdsSelector'; +import { selectedRowIdsSelector } from '@/ui/data-table/states/selectors/selectedRowIdsSelector'; import { ActivityType } from '~/generated/graphql'; import { diff --git a/front/src/modules/companies/constants/companiesAvailableColumnDefinitions.tsx b/front/src/modules/companies/constants/companiesAvailableColumnDefinitions.tsx index 7e9a583ac..b446fef95 100644 --- a/front/src/modules/companies/constants/companiesAvailableColumnDefinitions.tsx +++ b/front/src/modules/companies/constants/companiesAvailableColumnDefinitions.tsx @@ -1,3 +1,4 @@ +import { ColumnDefinition } from '@/ui/data-table/types/ColumnDefinition'; import { FieldBooleanMetadata, FieldChipMetadata, @@ -24,7 +25,6 @@ import { IconUsers, } from '@/ui/icon/index'; import { Entity } from '@/ui/input/relation-picker/types/EntityTypeForSelect'; -import { ColumnDefinition } from '@/ui/table/types/ColumnDefinition'; export const companiesAvailableColumnDefinitions: ColumnDefinition[] = [ diff --git a/front/src/modules/companies/hooks/useCompanyTableContextMenuEntries.tsx b/front/src/modules/companies/hooks/useCompanyTableContextMenuEntries.tsx index 534adf444..3d831cef6 100644 --- a/front/src/modules/companies/hooks/useCompanyTableContextMenuEntries.tsx +++ b/front/src/modules/companies/hooks/useCompanyTableContextMenuEntries.tsx @@ -4,6 +4,8 @@ import { useOpenCreateActivityDrawerForSelectedRowIds } from '@/activities/hooks import { ActivityTargetableEntityType } from '@/activities/types/ActivityTargetableEntity'; import { useFavorites } from '@/favorites/hooks/useFavorites'; import { contextMenuEntriesState } from '@/ui/context-menu/states/contextMenuEntriesState'; +import { useResetTableRowSelection } from '@/ui/data-table/hooks/useResetTableRowSelection'; +import { selectedRowIdsSelector } from '@/ui/data-table/states/selectors/selectedRowIdsSelector'; import { IconCheckbox, IconHeart, @@ -11,8 +13,6 @@ import { IconNotes, IconTrash, } from '@/ui/icon'; -import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection'; -import { selectedRowIdsSelector } from '@/ui/table/states/selectors/selectedRowIdsSelector'; import { ActivityType, useGetFavoritesQuery } from '~/generated/graphql'; import { useDeleteSelectedComapnies } from './useDeleteCompanies'; diff --git a/front/src/modules/companies/hooks/useDeleteCompanies.ts b/front/src/modules/companies/hooks/useDeleteCompanies.ts index d894a2df9..04a675903 100644 --- a/front/src/modules/companies/hooks/useDeleteCompanies.ts +++ b/front/src/modules/companies/hooks/useDeleteCompanies.ts @@ -3,9 +3,9 @@ import { useRecoilState, useRecoilValue } from 'recoil'; import { useOptimisticEvict } from '@/apollo/optimistic-effect/hooks/useOptimisticEvict'; import { GET_PIPELINES } from '@/pipeline/graphql/queries/getPipelines'; -import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection'; -import { selectedRowIdsSelector } from '@/ui/table/states/selectors/selectedRowIdsSelector'; -import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState'; +import { useResetTableRowSelection } from '@/ui/data-table/hooks/useResetTableRowSelection'; +import { selectedRowIdsSelector } from '@/ui/data-table/states/selectors/selectedRowIdsSelector'; +import { tableRowIdsState } from '@/ui/data-table/states/tableRowIdsState'; import { useDeleteManyCompaniesMutation } from '~/generated/graphql'; export const useDeleteSelectedComapnies = () => { diff --git a/front/src/modules/companies/table/components/CompanyTable.tsx b/front/src/modules/companies/table/components/CompanyTable.tsx index 1468fc05a..bc335b995 100644 --- a/front/src/modules/companies/table/components/CompanyTable.tsx +++ b/front/src/modules/companies/table/components/CompanyTable.tsx @@ -3,11 +3,11 @@ import { getCompaniesOptimisticEffectDefinition } from '@/companies/graphql/opti import { useCompanyTableActionBarEntries } from '@/companies/hooks/useCompanyTableActionBarEntries'; import { useCompanyTableContextMenuEntries } from '@/companies/hooks/useCompanyTableContextMenuEntries'; import { useSpreadsheetCompanyImport } from '@/companies/hooks/useSpreadsheetCompanyImport'; -import { EntityTable } from '@/ui/table/components/EntityTable'; -import { EntityTableEffect } from '@/ui/table/components/EntityTableEffect'; -import { TableContext } from '@/ui/table/contexts/TableContext'; -import { useUpsertEntityTableItem } from '@/ui/table/hooks/useUpsertEntityTableItem'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { EntityTable } from '@/ui/data-table/components/EntityTable'; +import { EntityTableEffect } from '@/ui/data-table/components/EntityTableEffect'; +import { TableContext } from '@/ui/data-table/contexts/TableContext'; +import { useUpsertEntityTableItem } from '@/ui/data-table/hooks/useUpsertEntityTableItem'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue'; import { ViewBarContext } from '@/ui/view-bar/contexts/ViewBarContext'; import { filtersWhereScopedSelector } from '@/ui/view-bar/states/selectors/filtersWhereScopedSelector'; diff --git a/front/src/modules/companies/table/components/CompanyTableMockDataEffect.tsx b/front/src/modules/companies/table/components/CompanyTableMockDataEffect.tsx index afdd8f1d5..f302b01b7 100644 --- a/front/src/modules/companies/table/components/CompanyTableMockDataEffect.tsx +++ b/front/src/modules/companies/table/components/CompanyTableMockDataEffect.tsx @@ -1,8 +1,8 @@ import { useEffect } from 'react'; -import { useSetEntityTableData } from '@/ui/table/hooks/useSetEntityTableData'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; -import { tableColumnsScopedState } from '@/ui/table/states/tableColumnsScopedState'; +import { useSetEntityTableData } from '@/ui/data-table/hooks/useSetEntityTableData'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { tableColumnsScopedState } from '@/ui/data-table/states/tableColumnsScopedState'; import { useRecoilScopedState } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedState'; import { companiesAvailableColumnDefinitions } from '../../constants/companiesAvailableColumnDefinitions'; diff --git a/front/src/modules/companies/table/components/CompanyTableMockMode.tsx b/front/src/modules/companies/table/components/CompanyTableMockMode.tsx index 404759618..967615b6c 100644 --- a/front/src/modules/companies/table/components/CompanyTableMockMode.tsx +++ b/front/src/modules/companies/table/components/CompanyTableMockMode.tsx @@ -1,5 +1,5 @@ -import { EntityTable } from '@/ui/table/components/EntityTable'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { EntityTable } from '@/ui/data-table/components/EntityTable'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { ViewBarContext } from '@/ui/view-bar/contexts/ViewBarContext'; import { useUpdateOneCompanyMutation } from '~/generated/graphql'; diff --git a/front/src/modules/people/constants/peopleAvailableColumnDefinitions.tsx b/front/src/modules/people/constants/peopleAvailableColumnDefinitions.tsx index af98d628a..818d6bc2b 100644 --- a/front/src/modules/people/constants/peopleAvailableColumnDefinitions.tsx +++ b/front/src/modules/people/constants/peopleAvailableColumnDefinitions.tsx @@ -1,3 +1,4 @@ +import { ColumnDefinition } from '@/ui/data-table/types/ColumnDefinition'; import { FieldDateMetadata, FieldDoubleTextChipMetadata, @@ -22,7 +23,6 @@ import { IconUser, } from '@/ui/icon/index'; import { Entity } from '@/ui/input/relation-picker/types/EntityTypeForSelect'; -import { ColumnDefinition } from '@/ui/table/types/ColumnDefinition'; export const peopleAvailableColumnDefinitions: ColumnDefinition[] = [ diff --git a/front/src/modules/people/hooks/useCreateActivityForPeople.ts b/front/src/modules/people/hooks/useCreateActivityForPeople.ts index 9fdc6aa17..018d7b90f 100644 --- a/front/src/modules/people/hooks/useCreateActivityForPeople.ts +++ b/front/src/modules/people/hooks/useCreateActivityForPeople.ts @@ -5,8 +5,8 @@ import { ActivityTargetableEntity, ActivityTargetableEntityType, } from '@/activities/types/ActivityTargetableEntity'; +import { selectedRowIdsSelector } from '@/ui/data-table/states/selectors/selectedRowIdsSelector'; import { entityFieldsFamilyState } from '@/ui/field/states/entityFieldsFamilyState'; -import { selectedRowIdsSelector } from '@/ui/table/states/selectors/selectedRowIdsSelector'; import { ActivityType, Person } from '~/generated/graphql'; export const useCreateActivityForPeople = () => { diff --git a/front/src/modules/people/hooks/usePeopleTableContextMenuEntries.tsx b/front/src/modules/people/hooks/usePeopleTableContextMenuEntries.tsx index 2407b3eb8..ad5ee7805 100644 --- a/front/src/modules/people/hooks/usePeopleTableContextMenuEntries.tsx +++ b/front/src/modules/people/hooks/usePeopleTableContextMenuEntries.tsx @@ -3,6 +3,9 @@ import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil'; import { useFavorites } from '@/favorites/hooks/useFavorites'; import { contextMenuEntriesState } from '@/ui/context-menu/states/contextMenuEntriesState'; +import { useResetTableRowSelection } from '@/ui/data-table/hooks/useResetTableRowSelection'; +import { selectedRowIdsSelector } from '@/ui/data-table/states/selectors/selectedRowIdsSelector'; +import { tableRowIdsState } from '@/ui/data-table/states/tableRowIdsState'; import { IconCheckbox, IconHeart, @@ -10,9 +13,6 @@ import { IconNotes, IconTrash, } from '@/ui/icon'; -import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection'; -import { selectedRowIdsSelector } from '@/ui/table/states/selectors/selectedRowIdsSelector'; -import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState'; import { ActivityType, useDeleteManyPersonMutation, diff --git a/front/src/modules/people/hooks/usePersonTableActionBarEntries.tsx b/front/src/modules/people/hooks/usePersonTableActionBarEntries.tsx index e03b7eccb..77df3e860 100644 --- a/front/src/modules/people/hooks/usePersonTableActionBarEntries.tsx +++ b/front/src/modules/people/hooks/usePersonTableActionBarEntries.tsx @@ -2,10 +2,10 @@ import { getOperationName } from '@apollo/client/utilities'; import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil'; import { actionBarEntriesState } from '@/ui/action-bar/states/actionBarEntriesState'; +import { useResetTableRowSelection } from '@/ui/data-table/hooks/useResetTableRowSelection'; +import { selectedRowIdsSelector } from '@/ui/data-table/states/selectors/selectedRowIdsSelector'; +import { tableRowIdsState } from '@/ui/data-table/states/tableRowIdsState'; import { IconCheckbox, IconNotes, IconTrash } from '@/ui/icon'; -import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection'; -import { selectedRowIdsSelector } from '@/ui/table/states/selectors/selectedRowIdsSelector'; -import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState'; import { ActivityType, useDeleteManyPersonMutation } from '~/generated/graphql'; import { GET_PEOPLE } from '../graphql/queries/getPeople'; diff --git a/front/src/modules/people/hooks/useSetPeopleEntityTable.ts b/front/src/modules/people/hooks/useSetPeopleEntityTable.ts index 54c44d42f..22d5f6d0e 100644 --- a/front/src/modules/people/hooks/useSetPeopleEntityTable.ts +++ b/front/src/modules/people/hooks/useSetPeopleEntityTable.ts @@ -1,11 +1,11 @@ import { useLocation } from 'react-router-dom'; import { useRecoilCallback } from 'recoil'; -import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection'; -import { isFetchingEntityTableDataState } from '@/ui/table/states/isFetchingEntityTableDataState'; -import { numberOfTableRowsState } from '@/ui/table/states/numberOfTableRowsState'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; -import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState'; +import { useResetTableRowSelection } from '@/ui/data-table/hooks/useResetTableRowSelection'; +import { isFetchingEntityTableDataState } from '@/ui/data-table/states/isFetchingEntityTableDataState'; +import { numberOfTableRowsState } from '@/ui/data-table/states/numberOfTableRowsState'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { tableRowIdsState } from '@/ui/data-table/states/tableRowIdsState'; import { currentPageLocationState } from '@/ui/utilities/loading-state/states/currentPageLocationState'; import { useRecoilScopeId } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopeId'; import { availableFiltersScopedState } from '@/ui/view-bar/states/availableFiltersScopedState'; diff --git a/front/src/modules/people/table/components/PeopleTable.tsx b/front/src/modules/people/table/components/PeopleTable.tsx index 1ec2b5f2a..d0ec8454b 100644 --- a/front/src/modules/people/table/components/PeopleTable.tsx +++ b/front/src/modules/people/table/components/PeopleTable.tsx @@ -3,11 +3,11 @@ import { getPeopleOptimisticEffectDefinition } from '@/people/graphql/optimistic import { usePersonTableContextMenuEntries } from '@/people/hooks/usePeopleTableContextMenuEntries'; import { usePersonTableActionBarEntries } from '@/people/hooks/usePersonTableActionBarEntries'; import { useSpreadsheetPersonImport } from '@/people/hooks/useSpreadsheetPersonImport'; -import { EntityTable } from '@/ui/table/components/EntityTable'; -import { EntityTableEffect } from '@/ui/table/components/EntityTableEffect'; -import { TableContext } from '@/ui/table/contexts/TableContext'; -import { useUpsertEntityTableItem } from '@/ui/table/hooks/useUpsertEntityTableItem'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { EntityTable } from '@/ui/data-table/components/EntityTable'; +import { EntityTableEffect } from '@/ui/data-table/components/EntityTableEffect'; +import { TableContext } from '@/ui/data-table/contexts/TableContext'; +import { useUpsertEntityTableItem } from '@/ui/data-table/hooks/useUpsertEntityTableItem'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue'; import { ViewBarContext } from '@/ui/view-bar/contexts/ViewBarContext'; import { filtersWhereScopedSelector } from '@/ui/view-bar/states/selectors/filtersWhereScopedSelector'; diff --git a/front/src/modules/ui/action-bar/components/__stories__/ActionBar.stories.tsx b/front/src/modules/ui/action-bar/components/__stories__/ActionBar.stories.tsx index 3e9a3b49c..863083965 100644 --- a/front/src/modules/ui/action-bar/components/__stories__/ActionBar.stories.tsx +++ b/front/src/modules/ui/action-bar/components/__stories__/ActionBar.stories.tsx @@ -4,7 +4,7 @@ import { useSetRecoilState } from 'recoil'; import { useCompanyTableActionBarEntries } from '@/companies/hooks/useCompanyTableActionBarEntries'; import { CompanyTableMockMode } from '@/companies/table/components/CompanyTableMockMode'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator'; diff --git a/front/src/modules/ui/context-menu/components/__stories__/ContextMenu.stories.tsx b/front/src/modules/ui/context-menu/components/__stories__/ContextMenu.stories.tsx index 9631ad779..e382dfc21 100644 --- a/front/src/modules/ui/context-menu/components/__stories__/ContextMenu.stories.tsx +++ b/front/src/modules/ui/context-menu/components/__stories__/ContextMenu.stories.tsx @@ -4,7 +4,7 @@ import { useSetRecoilState } from 'recoil'; import { useCompanyTableContextMenuEntries } from '@/companies/hooks/useCompanyTableContextMenuEntries'; import { CompanyTableMockMode } from '@/companies/table/components/CompanyTableMockMode'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator'; diff --git a/front/src/modules/ui/table/action-bar/components/EntityTableActionBar.tsx b/front/src/modules/ui/data-table/action-bar/components/EntityTableActionBar.tsx similarity index 100% rename from front/src/modules/ui/table/action-bar/components/EntityTableActionBar.tsx rename to front/src/modules/ui/data-table/action-bar/components/EntityTableActionBar.tsx diff --git a/front/src/modules/ui/table/components/CheckboxCell.tsx b/front/src/modules/ui/data-table/components/CheckboxCell.tsx similarity index 100% rename from front/src/modules/ui/table/components/CheckboxCell.tsx rename to front/src/modules/ui/data-table/components/CheckboxCell.tsx diff --git a/front/src/modules/ui/table/components/ColumnHead.tsx b/front/src/modules/ui/data-table/components/ColumnHead.tsx similarity index 100% rename from front/src/modules/ui/table/components/ColumnHead.tsx rename to front/src/modules/ui/data-table/components/ColumnHead.tsx diff --git a/front/src/modules/ui/table/components/EntityTable.tsx b/front/src/modules/ui/data-table/components/EntityTable.tsx similarity index 100% rename from front/src/modules/ui/table/components/EntityTable.tsx rename to front/src/modules/ui/data-table/components/EntityTable.tsx diff --git a/front/src/modules/ui/table/components/EntityTableBody.tsx b/front/src/modules/ui/data-table/components/EntityTableBody.tsx similarity index 100% rename from front/src/modules/ui/table/components/EntityTableBody.tsx rename to front/src/modules/ui/data-table/components/EntityTableBody.tsx diff --git a/front/src/modules/ui/table/components/EntityTableCell.tsx b/front/src/modules/ui/data-table/components/EntityTableCell.tsx similarity index 100% rename from front/src/modules/ui/table/components/EntityTableCell.tsx rename to front/src/modules/ui/data-table/components/EntityTableCell.tsx diff --git a/front/src/modules/ui/table/components/EntityTableColumnMenu.tsx b/front/src/modules/ui/data-table/components/EntityTableColumnMenu.tsx similarity index 97% rename from front/src/modules/ui/table/components/EntityTableColumnMenu.tsx rename to front/src/modules/ui/data-table/components/EntityTableColumnMenu.tsx index ce9ac162d..5128688cc 100644 --- a/front/src/modules/ui/table/components/EntityTableColumnMenu.tsx +++ b/front/src/modules/ui/data-table/components/EntityTableColumnMenu.tsx @@ -6,13 +6,13 @@ import { StyledDropdownMenuItemsContainer } from '@/ui/dropdown/components/Style import { FieldMetadata } from '@/ui/field/types/FieldMetadata'; import { IconPlus } from '@/ui/icon'; import { MenuItem } from '@/ui/menu-item/components/MenuItem'; -import { ColumnDefinition } from '@/ui/table/types/ColumnDefinition'; import { useListenClickOutside } from '@/ui/utilities/pointer-event/hooks/useListenClickOutside'; import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue'; import { useTableColumns } from '../hooks/useTableColumns'; import { TableRecoilScopeContext } from '../states/recoil-scope-contexts/TableRecoilScopeContext'; import { hiddenTableColumnsScopedSelector } from '../states/selectors/hiddenTableColumnsScopedSelector'; +import { ColumnDefinition } from '../types/ColumnDefinition'; const StyledColumnMenu = styled(StyledDropdownMenu)` font-weight: ${({ theme }) => theme.font.weight.regular}; diff --git a/front/src/modules/ui/table/components/EntityTableEffect.tsx b/front/src/modules/ui/data-table/components/EntityTableEffect.tsx similarity index 97% rename from front/src/modules/ui/table/components/EntityTableEffect.tsx rename to front/src/modules/ui/data-table/components/EntityTableEffect.tsx index 0de8c5302..0e110ecaf 100644 --- a/front/src/modules/ui/table/components/EntityTableEffect.tsx +++ b/front/src/modules/ui/data-table/components/EntityTableEffect.tsx @@ -4,7 +4,6 @@ import { useRecoilCallback } from 'recoil'; import { useOptimisticEffect } from '@/apollo/optimistic-effect/hooks/useOptimisticEffect'; import { OptimisticEffectDefinition } from '@/apollo/optimistic-effect/types/OptimisticEffectDefinition'; -import { useSetEntityTableData } from '@/ui/table/hooks/useSetEntityTableData'; import { useRecoilScopeId } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopeId'; import { currentViewIdScopedState } from '@/ui/view-bar/states/currentViewIdScopedState'; import { filtersScopedState } from '@/ui/view-bar/states/filtersScopedState'; @@ -15,6 +14,7 @@ import { FilterDefinition } from '@/ui/view-bar/types/FilterDefinition'; import { SortDefinition } from '@/ui/view-bar/types/SortDefinition'; import { SortOrder } from '~/generated/graphql'; +import { useSetEntityTableData } from '../hooks/useSetEntityTableData'; import { TableRecoilScopeContext } from '../states/recoil-scope-contexts/TableRecoilScopeContext'; export const EntityTableEffect = ({ diff --git a/front/src/modules/ui/table/components/EntityTableHeader.tsx b/front/src/modules/ui/data-table/components/EntityTableHeader.tsx similarity index 100% rename from front/src/modules/ui/table/components/EntityTableHeader.tsx rename to front/src/modules/ui/data-table/components/EntityTableHeader.tsx diff --git a/front/src/modules/ui/table/components/EntityTableHeaderOptions.tsx b/front/src/modules/ui/data-table/components/EntityTableHeaderOptions.tsx similarity index 94% rename from front/src/modules/ui/table/components/EntityTableHeaderOptions.tsx rename to front/src/modules/ui/data-table/components/EntityTableHeaderOptions.tsx index a88dbc78c..75beae39d 100644 --- a/front/src/modules/ui/table/components/EntityTableHeaderOptions.tsx +++ b/front/src/modules/ui/data-table/components/EntityTableHeaderOptions.tsx @@ -1,10 +1,11 @@ import styled from '@emotion/styled'; import { DropdownButton } from '@/ui/dropdown/components/DropdownButton'; + import { EntityTableHeaderOptionsProps, TableColumnDropdownMenu, -} from '@/ui/table/components/TableColumnDropdownMenu'; +} from './TableColumnDropdownMenu'; const StyledDropdownContainer = styled.div` left: 0px; diff --git a/front/src/modules/ui/table/components/EntityTableRow.tsx b/front/src/modules/ui/data-table/components/EntityTableRow.tsx similarity index 100% rename from front/src/modules/ui/table/components/EntityTableRow.tsx rename to front/src/modules/ui/data-table/components/EntityTableRow.tsx diff --git a/front/src/modules/ui/table/components/SelectAllCheckbox.tsx b/front/src/modules/ui/data-table/components/SelectAllCheckbox.tsx similarity index 100% rename from front/src/modules/ui/table/components/SelectAllCheckbox.tsx rename to front/src/modules/ui/data-table/components/SelectAllCheckbox.tsx diff --git a/front/src/modules/ui/table/components/TableColumnDropdownMenu.tsx b/front/src/modules/ui/data-table/components/TableColumnDropdownMenu.tsx similarity index 100% rename from front/src/modules/ui/table/components/TableColumnDropdownMenu.tsx rename to front/src/modules/ui/data-table/components/TableColumnDropdownMenu.tsx diff --git a/front/src/modules/ui/table/constants/ColumnHeadDropdownId.ts b/front/src/modules/ui/data-table/constants/ColumnHeadDropdownId.ts similarity index 100% rename from front/src/modules/ui/table/constants/ColumnHeadDropdownId.ts rename to front/src/modules/ui/data-table/constants/ColumnHeadDropdownId.ts diff --git a/front/src/modules/ui/table/constants/TableOptionsDropdownId.ts b/front/src/modules/ui/data-table/constants/TableOptionsDropdownId.ts similarity index 100% rename from front/src/modules/ui/table/constants/TableOptionsDropdownId.ts rename to front/src/modules/ui/data-table/constants/TableOptionsDropdownId.ts diff --git a/front/src/modules/ui/table/constants/countries.json b/front/src/modules/ui/data-table/constants/countries.json similarity index 100% rename from front/src/modules/ui/table/constants/countries.json rename to front/src/modules/ui/data-table/constants/countries.json diff --git a/front/src/modules/ui/table/context-menu/components/EntityTableContextMenu.tsx b/front/src/modules/ui/data-table/context-menu/components/EntityTableContextMenu.tsx similarity index 100% rename from front/src/modules/ui/table/context-menu/components/EntityTableContextMenu.tsx rename to front/src/modules/ui/data-table/context-menu/components/EntityTableContextMenu.tsx diff --git a/front/src/modules/ui/table/contexts/CellHotkeyScopeContext.ts b/front/src/modules/ui/data-table/contexts/CellHotkeyScopeContext.ts similarity index 100% rename from front/src/modules/ui/table/contexts/CellHotkeyScopeContext.ts rename to front/src/modules/ui/data-table/contexts/CellHotkeyScopeContext.ts diff --git a/front/src/modules/ui/table/contexts/ColumnContext.ts b/front/src/modules/ui/data-table/contexts/ColumnContext.ts similarity index 100% rename from front/src/modules/ui/table/contexts/ColumnContext.ts rename to front/src/modules/ui/data-table/contexts/ColumnContext.ts diff --git a/front/src/modules/ui/table/contexts/ColumnIndexContext.ts b/front/src/modules/ui/data-table/contexts/ColumnIndexContext.ts similarity index 100% rename from front/src/modules/ui/table/contexts/ColumnIndexContext.ts rename to front/src/modules/ui/data-table/contexts/ColumnIndexContext.ts diff --git a/front/src/modules/ui/table/contexts/EntityUpdateMutationHookContext.ts b/front/src/modules/ui/data-table/contexts/EntityUpdateMutationHookContext.ts similarity index 100% rename from front/src/modules/ui/table/contexts/EntityUpdateMutationHookContext.ts rename to front/src/modules/ui/data-table/contexts/EntityUpdateMutationHookContext.ts diff --git a/front/src/modules/ui/table/contexts/RowIdContext.ts b/front/src/modules/ui/data-table/contexts/RowIdContext.ts similarity index 100% rename from front/src/modules/ui/table/contexts/RowIdContext.ts rename to front/src/modules/ui/data-table/contexts/RowIdContext.ts diff --git a/front/src/modules/ui/table/contexts/RowIndexContext.ts b/front/src/modules/ui/data-table/contexts/RowIndexContext.ts similarity index 100% rename from front/src/modules/ui/table/contexts/RowIndexContext.ts rename to front/src/modules/ui/data-table/contexts/RowIndexContext.ts diff --git a/front/src/modules/ui/table/contexts/TableContext.ts b/front/src/modules/ui/data-table/contexts/TableContext.ts similarity index 100% rename from front/src/modules/ui/table/contexts/TableContext.ts rename to front/src/modules/ui/data-table/contexts/TableContext.ts diff --git a/front/src/modules/ui/table/hooks/useCellInputEventHandlers.ts b/front/src/modules/ui/data-table/hooks/useCellInputEventHandlers.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useCellInputEventHandlers.ts rename to front/src/modules/ui/data-table/hooks/useCellInputEventHandlers.ts diff --git a/front/src/modules/ui/table/hooks/useCloseCurrentTableCellInEditMode.ts b/front/src/modules/ui/data-table/hooks/useCloseCurrentTableCellInEditMode.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useCloseCurrentTableCellInEditMode.ts rename to front/src/modules/ui/data-table/hooks/useCloseCurrentTableCellInEditMode.ts diff --git a/front/src/modules/ui/table/hooks/useCurrentEntityId.ts b/front/src/modules/ui/data-table/hooks/useCurrentEntityId.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useCurrentEntityId.ts rename to front/src/modules/ui/data-table/hooks/useCurrentEntityId.ts diff --git a/front/src/modules/ui/table/hooks/useCurrentRowSelected.ts b/front/src/modules/ui/data-table/hooks/useCurrentRowSelected.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useCurrentRowSelected.ts rename to front/src/modules/ui/data-table/hooks/useCurrentRowSelected.ts diff --git a/front/src/modules/ui/table/hooks/useDisableSoftFocus.ts b/front/src/modules/ui/data-table/hooks/useDisableSoftFocus.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useDisableSoftFocus.ts rename to front/src/modules/ui/data-table/hooks/useDisableSoftFocus.ts diff --git a/front/src/modules/ui/table/hooks/useLeaveTableFocus.ts b/front/src/modules/ui/data-table/hooks/useLeaveTableFocus.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useLeaveTableFocus.ts rename to front/src/modules/ui/data-table/hooks/useLeaveTableFocus.ts diff --git a/front/src/modules/ui/table/hooks/useMapKeyboardToSoftFocus.ts b/front/src/modules/ui/data-table/hooks/useMapKeyboardToSoftFocus.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useMapKeyboardToSoftFocus.ts rename to front/src/modules/ui/data-table/hooks/useMapKeyboardToSoftFocus.ts diff --git a/front/src/modules/ui/table/hooks/useMoveEditModeToCellPosition.ts b/front/src/modules/ui/data-table/hooks/useMoveEditModeToCellPosition.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useMoveEditModeToCellPosition.ts rename to front/src/modules/ui/data-table/hooks/useMoveEditModeToCellPosition.ts diff --git a/front/src/modules/ui/table/hooks/useMoveSoftFocus.ts b/front/src/modules/ui/data-table/hooks/useMoveSoftFocus.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useMoveSoftFocus.ts rename to front/src/modules/ui/data-table/hooks/useMoveSoftFocus.ts diff --git a/front/src/modules/ui/table/hooks/useResetTableRowSelection.ts b/front/src/modules/ui/data-table/hooks/useResetTableRowSelection.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useResetTableRowSelection.ts rename to front/src/modules/ui/data-table/hooks/useResetTableRowSelection.ts diff --git a/front/src/modules/ui/table/hooks/useSelectAllRows.ts b/front/src/modules/ui/data-table/hooks/useSelectAllRows.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useSelectAllRows.ts rename to front/src/modules/ui/data-table/hooks/useSelectAllRows.ts diff --git a/front/src/modules/ui/table/hooks/useSetEntityTableData.ts b/front/src/modules/ui/data-table/hooks/useSetEntityTableData.ts similarity index 89% rename from front/src/modules/ui/table/hooks/useSetEntityTableData.ts rename to front/src/modules/ui/data-table/hooks/useSetEntityTableData.ts index e0081561e..b437440cd 100644 --- a/front/src/modules/ui/table/hooks/useSetEntityTableData.ts +++ b/front/src/modules/ui/data-table/hooks/useSetEntityTableData.ts @@ -1,9 +1,6 @@ import { useRecoilCallback } from 'recoil'; import { entityFieldsFamilyState } from '@/ui/field/states/entityFieldsFamilyState'; -import { useResetTableRowSelection } from '@/ui/table/hooks/useResetTableRowSelection'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; -import { tableRowIdsState } from '@/ui/table/states/tableRowIdsState'; import { useRecoilScopeId } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopeId'; import { availableFiltersScopedState } from '@/ui/view-bar/states/availableFiltersScopedState'; import { availableSortsScopedState } from '@/ui/view-bar/states/availableSortsScopedState'; @@ -13,6 +10,10 @@ import { SortDefinition } from '@/ui/view-bar/types/SortDefinition'; import { isFetchingEntityTableDataState } from '../states/isFetchingEntityTableDataState'; import { numberOfTableRowsState } from '../states/numberOfTableRowsState'; +import { TableRecoilScopeContext } from '../states/recoil-scope-contexts/TableRecoilScopeContext'; +import { tableRowIdsState } from '../states/tableRowIdsState'; + +import { useResetTableRowSelection } from './useResetTableRowSelection'; export const useSetEntityTableData = () => { const resetTableRowSelection = useResetTableRowSelection(); diff --git a/front/src/modules/ui/table/hooks/useSetRowSelectedState.ts b/front/src/modules/ui/data-table/hooks/useSetRowSelectedState.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useSetRowSelectedState.ts rename to front/src/modules/ui/data-table/hooks/useSetRowSelectedState.ts diff --git a/front/src/modules/ui/table/hooks/useSetSoftFocusPosition.ts b/front/src/modules/ui/data-table/hooks/useSetSoftFocusPosition.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useSetSoftFocusPosition.ts rename to front/src/modules/ui/data-table/hooks/useSetSoftFocusPosition.ts diff --git a/front/src/modules/ui/table/hooks/useTableColumns.ts b/front/src/modules/ui/data-table/hooks/useTableColumns.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useTableColumns.ts rename to front/src/modules/ui/data-table/hooks/useTableColumns.ts diff --git a/front/src/modules/ui/table/hooks/useUpsertEntityTableItem.ts b/front/src/modules/ui/data-table/hooks/useUpsertEntityTableItem.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useUpsertEntityTableItem.ts rename to front/src/modules/ui/data-table/hooks/useUpsertEntityTableItem.ts diff --git a/front/src/modules/ui/table/hooks/useUpsertEntityTableItems.ts b/front/src/modules/ui/data-table/hooks/useUpsertEntityTableItems.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useUpsertEntityTableItems.ts rename to front/src/modules/ui/data-table/hooks/useUpsertEntityTableItems.ts diff --git a/front/src/modules/ui/table/hooks/useUpsertTableRowId.ts b/front/src/modules/ui/data-table/hooks/useUpsertTableRowId.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useUpsertTableRowId.ts rename to front/src/modules/ui/data-table/hooks/useUpsertTableRowId.ts diff --git a/front/src/modules/ui/table/hooks/useUpsertTableRowIds.ts b/front/src/modules/ui/data-table/hooks/useUpsertTableRowIds.ts similarity index 100% rename from front/src/modules/ui/table/hooks/useUpsertTableRowIds.ts rename to front/src/modules/ui/data-table/hooks/useUpsertTableRowIds.ts diff --git a/front/src/modules/ui/table/options/components/TableOptionsDropdown.tsx b/front/src/modules/ui/data-table/options/components/TableOptionsDropdown.tsx similarity index 100% rename from front/src/modules/ui/table/options/components/TableOptionsDropdown.tsx rename to front/src/modules/ui/data-table/options/components/TableOptionsDropdown.tsx diff --git a/front/src/modules/ui/table/options/components/TableOptionsDropdownButton.tsx b/front/src/modules/ui/data-table/options/components/TableOptionsDropdownButton.tsx similarity index 85% rename from front/src/modules/ui/table/options/components/TableOptionsDropdownButton.tsx rename to front/src/modules/ui/data-table/options/components/TableOptionsDropdownButton.tsx index 501fad642..6d0c591c6 100644 --- a/front/src/modules/ui/table/options/components/TableOptionsDropdownButton.tsx +++ b/front/src/modules/ui/data-table/options/components/TableOptionsDropdownButton.tsx @@ -1,6 +1,6 @@ +import { TableOptionsDropdownId } from '@/ui/data-table/constants/TableOptionsDropdownId'; import { StyledHeaderDropdownButton } from '@/ui/dropdown/components/StyledHeaderDropdownButton'; import { useDropdownButton } from '@/ui/dropdown/hooks/useDropdownButton'; -import { TableOptionsDropdownId } from '@/ui/table/constants/TableOptionsDropdownId'; export const TableOptionsDropdownButton = () => { const { isDropdownButtonOpen, toggleDropdownButton } = useDropdownButton({ diff --git a/front/src/modules/ui/table/options/components/TableOptionsDropdownContent.tsx b/front/src/modules/ui/data-table/options/components/TableOptionsDropdownContent.tsx similarity index 100% rename from front/src/modules/ui/table/options/components/TableOptionsDropdownContent.tsx rename to front/src/modules/ui/data-table/options/components/TableOptionsDropdownContent.tsx diff --git a/front/src/modules/ui/table/options/components/__stories__/TableOptionsDropdown.stories.tsx b/front/src/modules/ui/data-table/options/components/__stories__/TableOptionsDropdown.stories.tsx similarity index 100% rename from front/src/modules/ui/table/options/components/__stories__/TableOptionsDropdown.stories.tsx rename to front/src/modules/ui/data-table/options/components/__stories__/TableOptionsDropdown.stories.tsx diff --git a/front/src/modules/ui/table/states/availableTableColumnsScopedState.ts b/front/src/modules/ui/data-table/states/availableTableColumnsScopedState.ts similarity index 100% rename from front/src/modules/ui/table/states/availableTableColumnsScopedState.ts rename to front/src/modules/ui/data-table/states/availableTableColumnsScopedState.ts diff --git a/front/src/modules/ui/table/states/currentTableCellInEditModePositionState.ts b/front/src/modules/ui/data-table/states/currentTableCellInEditModePositionState.ts similarity index 100% rename from front/src/modules/ui/table/states/currentTableCellInEditModePositionState.ts rename to front/src/modules/ui/data-table/states/currentTableCellInEditModePositionState.ts diff --git a/front/src/modules/ui/table/states/isFetchingEntityTableDataState.ts b/front/src/modules/ui/data-table/states/isFetchingEntityTableDataState.ts similarity index 100% rename from front/src/modules/ui/table/states/isFetchingEntityTableDataState.ts rename to front/src/modules/ui/data-table/states/isFetchingEntityTableDataState.ts diff --git a/front/src/modules/ui/table/states/isRowSelectedFamilyState.ts b/front/src/modules/ui/data-table/states/isRowSelectedFamilyState.ts similarity index 100% rename from front/src/modules/ui/table/states/isRowSelectedFamilyState.ts rename to front/src/modules/ui/data-table/states/isRowSelectedFamilyState.ts diff --git a/front/src/modules/ui/table/states/isSoftFocusActiveState.ts b/front/src/modules/ui/data-table/states/isSoftFocusActiveState.ts similarity index 100% rename from front/src/modules/ui/table/states/isSoftFocusActiveState.ts rename to front/src/modules/ui/data-table/states/isSoftFocusActiveState.ts diff --git a/front/src/modules/ui/table/states/isSoftFocusOnTableCellFamilyState.ts b/front/src/modules/ui/data-table/states/isSoftFocusOnTableCellFamilyState.ts similarity index 100% rename from front/src/modules/ui/table/states/isSoftFocusOnTableCellFamilyState.ts rename to front/src/modules/ui/data-table/states/isSoftFocusOnTableCellFamilyState.ts diff --git a/front/src/modules/ui/table/states/isTableCellInEditModeFamilyState.ts b/front/src/modules/ui/data-table/states/isTableCellInEditModeFamilyState.ts similarity index 100% rename from front/src/modules/ui/table/states/isTableCellInEditModeFamilyState.ts rename to front/src/modules/ui/data-table/states/isTableCellInEditModeFamilyState.ts diff --git a/front/src/modules/ui/table/states/numberOfTableRowsState.ts b/front/src/modules/ui/data-table/states/numberOfTableRowsState.ts similarity index 100% rename from front/src/modules/ui/table/states/numberOfTableRowsState.ts rename to front/src/modules/ui/data-table/states/numberOfTableRowsState.ts diff --git a/front/src/modules/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext.ts b/front/src/modules/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext.ts similarity index 100% rename from front/src/modules/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext.ts rename to front/src/modules/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext.ts diff --git a/front/src/modules/ui/table/states/resizeFieldOffsetState.ts b/front/src/modules/ui/data-table/states/resizeFieldOffsetState.ts similarity index 100% rename from front/src/modules/ui/table/states/resizeFieldOffsetState.ts rename to front/src/modules/ui/data-table/states/resizeFieldOffsetState.ts diff --git a/front/src/modules/ui/table/states/savedTableColumnsFamilyState.ts b/front/src/modules/ui/data-table/states/savedTableColumnsFamilyState.ts similarity index 100% rename from front/src/modules/ui/table/states/savedTableColumnsFamilyState.ts rename to front/src/modules/ui/data-table/states/savedTableColumnsFamilyState.ts diff --git a/front/src/modules/ui/table/states/selectors/allRowsSelectedStatusSelector.ts b/front/src/modules/ui/data-table/states/selectors/allRowsSelectedStatusSelector.ts similarity index 100% rename from front/src/modules/ui/table/states/selectors/allRowsSelectedStatusSelector.ts rename to front/src/modules/ui/data-table/states/selectors/allRowsSelectedStatusSelector.ts diff --git a/front/src/modules/ui/table/states/selectors/hiddenTableColumnsScopedSelector.ts b/front/src/modules/ui/data-table/states/selectors/hiddenTableColumnsScopedSelector.ts similarity index 100% rename from front/src/modules/ui/table/states/selectors/hiddenTableColumnsScopedSelector.ts rename to front/src/modules/ui/data-table/states/selectors/hiddenTableColumnsScopedSelector.ts diff --git a/front/src/modules/ui/table/states/selectors/numberOfTableColumnsScopedSelector.ts b/front/src/modules/ui/data-table/states/selectors/numberOfTableColumnsScopedSelector.ts similarity index 100% rename from front/src/modules/ui/table/states/selectors/numberOfTableColumnsScopedSelector.ts rename to front/src/modules/ui/data-table/states/selectors/numberOfTableColumnsScopedSelector.ts diff --git a/front/src/modules/ui/table/states/selectors/savedTableColumnsByKeyFamilySelector.ts b/front/src/modules/ui/data-table/states/selectors/savedTableColumnsByKeyFamilySelector.ts similarity index 100% rename from front/src/modules/ui/table/states/selectors/savedTableColumnsByKeyFamilySelector.ts rename to front/src/modules/ui/data-table/states/selectors/savedTableColumnsByKeyFamilySelector.ts diff --git a/front/src/modules/ui/table/states/selectors/selectedRowIdsSelector.ts b/front/src/modules/ui/data-table/states/selectors/selectedRowIdsSelector.ts similarity index 100% rename from front/src/modules/ui/table/states/selectors/selectedRowIdsSelector.ts rename to front/src/modules/ui/data-table/states/selectors/selectedRowIdsSelector.ts diff --git a/front/src/modules/ui/table/states/selectors/tableColumnsByKeyScopedSelector.ts b/front/src/modules/ui/data-table/states/selectors/tableColumnsByKeyScopedSelector.ts similarity index 100% rename from front/src/modules/ui/table/states/selectors/tableColumnsByKeyScopedSelector.ts rename to front/src/modules/ui/data-table/states/selectors/tableColumnsByKeyScopedSelector.ts diff --git a/front/src/modules/ui/table/states/selectors/visibleTableColumnsScopedSelector.ts b/front/src/modules/ui/data-table/states/selectors/visibleTableColumnsScopedSelector.ts similarity index 100% rename from front/src/modules/ui/table/states/selectors/visibleTableColumnsScopedSelector.ts rename to front/src/modules/ui/data-table/states/selectors/visibleTableColumnsScopedSelector.ts diff --git a/front/src/modules/ui/table/states/softFocusPositionState.ts b/front/src/modules/ui/data-table/states/softFocusPositionState.ts similarity index 100% rename from front/src/modules/ui/table/states/softFocusPositionState.ts rename to front/src/modules/ui/data-table/states/softFocusPositionState.ts diff --git a/front/src/modules/ui/table/states/tableColumnsScopedState.ts b/front/src/modules/ui/data-table/states/tableColumnsScopedState.ts similarity index 100% rename from front/src/modules/ui/table/states/tableColumnsScopedState.ts rename to front/src/modules/ui/data-table/states/tableColumnsScopedState.ts diff --git a/front/src/modules/ui/table/states/tableRowIdsState.ts b/front/src/modules/ui/data-table/states/tableRowIdsState.ts similarity index 100% rename from front/src/modules/ui/table/states/tableRowIdsState.ts rename to front/src/modules/ui/data-table/states/tableRowIdsState.ts diff --git a/front/src/modules/ui/table/table-cell/components/TableCell.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCell.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCell.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCell.tsx diff --git a/front/src/modules/ui/table/table-cell/components/TableCellButton.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCellButton.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCellButton.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCellButton.tsx diff --git a/front/src/modules/ui/table/table-cell/components/TableCellContainer.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCellContainer.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCellContainer.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCellContainer.tsx diff --git a/front/src/modules/ui/table/table-cell/components/TableCellDisplayContainer.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCellDisplayContainer.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCellDisplayContainer.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCellDisplayContainer.tsx diff --git a/front/src/modules/ui/table/table-cell/components/TableCellDisplayMode.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCellDisplayMode.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCellDisplayMode.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCellDisplayMode.tsx diff --git a/front/src/modules/ui/table/table-cell/components/TableCellEditButton.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCellEditButton.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCellEditButton.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCellEditButton.tsx diff --git a/front/src/modules/ui/table/table-cell/components/TableCellEditMode.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCellEditMode.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCellEditMode.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCellEditMode.tsx diff --git a/front/src/modules/ui/table/table-cell/components/TableCellSoftFocusMode.tsx b/front/src/modules/ui/data-table/table-cell/components/TableCellSoftFocusMode.tsx similarity index 100% rename from front/src/modules/ui/table/table-cell/components/TableCellSoftFocusMode.tsx rename to front/src/modules/ui/data-table/table-cell/components/TableCellSoftFocusMode.tsx diff --git a/front/src/modules/ui/table/table-cell/hooks/useCurrentCellPosition.ts b/front/src/modules/ui/data-table/table-cell/hooks/useCurrentCellPosition.ts similarity index 100% rename from front/src/modules/ui/table/table-cell/hooks/useCurrentCellPosition.ts rename to front/src/modules/ui/data-table/table-cell/hooks/useCurrentCellPosition.ts diff --git a/front/src/modules/ui/table/table-cell/hooks/useCurrentTableCellEditMode.ts b/front/src/modules/ui/data-table/table-cell/hooks/useCurrentTableCellEditMode.ts similarity index 100% rename from front/src/modules/ui/table/table-cell/hooks/useCurrentTableCellEditMode.ts rename to front/src/modules/ui/data-table/table-cell/hooks/useCurrentTableCellEditMode.ts diff --git a/front/src/modules/ui/table/table-cell/hooks/useIsSoftFocusOnCurrentTableCell.ts b/front/src/modules/ui/data-table/table-cell/hooks/useIsSoftFocusOnCurrentTableCell.ts similarity index 100% rename from front/src/modules/ui/table/table-cell/hooks/useIsSoftFocusOnCurrentTableCell.ts rename to front/src/modules/ui/data-table/table-cell/hooks/useIsSoftFocusOnCurrentTableCell.ts diff --git a/front/src/modules/ui/table/table-cell/hooks/useSetSoftFocusOnCurrentTableCell.ts b/front/src/modules/ui/data-table/table-cell/hooks/useSetSoftFocusOnCurrentTableCell.ts similarity index 100% rename from front/src/modules/ui/table/table-cell/hooks/useSetSoftFocusOnCurrentTableCell.ts rename to front/src/modules/ui/data-table/table-cell/hooks/useSetSoftFocusOnCurrentTableCell.ts diff --git a/front/src/modules/ui/table/table-cell/hooks/useTableCell.ts b/front/src/modules/ui/data-table/table-cell/hooks/useTableCell.ts similarity index 100% rename from front/src/modules/ui/table/table-cell/hooks/useTableCell.ts rename to front/src/modules/ui/data-table/table-cell/hooks/useTableCell.ts diff --git a/front/src/modules/ui/table/table-cell/states/isCreateModeScopedState.ts b/front/src/modules/ui/data-table/table-cell/states/isCreateModeScopedState.ts similarity index 100% rename from front/src/modules/ui/table/table-cell/states/isCreateModeScopedState.ts rename to front/src/modules/ui/data-table/table-cell/states/isCreateModeScopedState.ts diff --git a/front/src/modules/ui/table/table-header/components/TableHeader.tsx b/front/src/modules/ui/data-table/table-header/components/TableHeader.tsx similarity index 100% rename from front/src/modules/ui/table/table-header/components/TableHeader.tsx rename to front/src/modules/ui/data-table/table-header/components/TableHeader.tsx diff --git a/front/src/modules/ui/table/types/AllRowSelectedStatus.ts b/front/src/modules/ui/data-table/types/AllRowSelectedStatus.ts similarity index 100% rename from front/src/modules/ui/table/types/AllRowSelectedStatus.ts rename to front/src/modules/ui/data-table/types/AllRowSelectedStatus.ts diff --git a/front/src/modules/ui/table/types/ColumnDefinition.ts b/front/src/modules/ui/data-table/types/ColumnDefinition.ts similarity index 100% rename from front/src/modules/ui/table/types/ColumnDefinition.ts rename to front/src/modules/ui/data-table/types/ColumnDefinition.ts diff --git a/front/src/modules/ui/table/types/TableCellPosition.ts b/front/src/modules/ui/data-table/types/TableCellPosition.ts similarity index 100% rename from front/src/modules/ui/table/types/TableCellPosition.ts rename to front/src/modules/ui/data-table/types/TableCellPosition.ts diff --git a/front/src/modules/ui/table/types/TableDimensions.ts b/front/src/modules/ui/data-table/types/TableDimensions.ts similarity index 100% rename from front/src/modules/ui/table/types/TableDimensions.ts rename to front/src/modules/ui/data-table/types/TableDimensions.ts diff --git a/front/src/modules/ui/table/types/TableHotkeyScope.ts b/front/src/modules/ui/data-table/types/TableHotkeyScope.ts similarity index 100% rename from front/src/modules/ui/table/types/TableHotkeyScope.ts rename to front/src/modules/ui/data-table/types/TableHotkeyScope.ts diff --git a/front/src/modules/ui/table/types/TableOptionsHotkeyScope.ts b/front/src/modules/ui/data-table/types/TableOptionsHotkeyScope.ts similarity index 100% rename from front/src/modules/ui/table/types/TableOptionsHotkeyScope.ts rename to front/src/modules/ui/data-table/types/TableOptionsHotkeyScope.ts diff --git a/front/src/modules/ui/icon/index.ts b/front/src/modules/ui/icon/index.ts index a38726aec..1cf545d93 100644 --- a/front/src/modules/ui/icon/index.ts +++ b/front/src/modules/ui/icon/index.ts @@ -26,6 +26,7 @@ export { IconChevronLeft, IconChevronRight, IconChevronsRight, + IconChevronUp, IconCircleDot, IconCirclePlus, IconColorSwatch, diff --git a/front/src/modules/ui/layout/components/PageHotkeysEffect.tsx b/front/src/modules/ui/layout/components/PageHotkeysEffect.tsx index cfd204680..772ca6024 100644 --- a/front/src/modules/ui/layout/components/PageHotkeysEffect.tsx +++ b/front/src/modules/ui/layout/components/PageHotkeysEffect.tsx @@ -1,4 +1,4 @@ -import { TableHotkeyScope } from '@/ui/table/types/TableHotkeyScope'; +import { TableHotkeyScope } from '@/ui/data-table/types/TableHotkeyScope'; import { useScopedHotkeys } from '@/ui/utilities/hotkey/hooks/useScopedHotkeys'; type OwnProps = { diff --git a/front/src/modules/ui/table/components/Table.tsx b/front/src/modules/ui/table/components/Table.tsx new file mode 100644 index 000000000..84b3498a4 --- /dev/null +++ b/front/src/modules/ui/table/components/Table.tsx @@ -0,0 +1,8 @@ +import styled from '@emotion/styled'; + +const StyledTable = styled.table` + border-collapse: collapse; + border-spacing: 0; +`; + +export { StyledTable as Table }; diff --git a/front/src/modules/ui/table/components/TableCell.tsx b/front/src/modules/ui/table/components/TableCell.tsx new file mode 100644 index 000000000..c5679187e --- /dev/null +++ b/front/src/modules/ui/table/components/TableCell.tsx @@ -0,0 +1,18 @@ +import { PropsWithChildren } from 'react'; +import styled from '@emotion/styled'; + +const StyledTableCell = styled.td` + padding: 0 ${({ theme }) => theme.spacing(2)}; +`; + +const StyledTableCellContent = styled.div` + align-items: center; + display: flex; + height: ${({ theme }) => theme.spacing(8)}; +`; + +export const TableCell = ({ children }: PropsWithChildren) => ( + + {children} + +); diff --git a/front/src/modules/ui/table/components/TableHeader.tsx b/front/src/modules/ui/table/components/TableHeader.tsx new file mode 100644 index 000000000..c8f8c07ca --- /dev/null +++ b/front/src/modules/ui/table/components/TableHeader.tsx @@ -0,0 +1,11 @@ +import styled from '@emotion/styled'; + +const StyledTableHeader = styled.th` + color: ${({ theme }) => theme.font.color.tertiary}; + font-weight: ${({ theme }) => theme.font.weight.medium}; + height: ${({ theme }) => theme.spacing(8)}; + padding: 0 ${({ theme }) => theme.spacing(2)}; + text-align: left; +`; + +export { StyledTableHeader as TableHeader }; diff --git a/front/src/modules/ui/table/components/TableSection.tsx b/front/src/modules/ui/table/components/TableSection.tsx new file mode 100644 index 000000000..d1f23bdd2 --- /dev/null +++ b/front/src/modules/ui/table/components/TableSection.tsx @@ -0,0 +1,75 @@ +import { ReactNode, useState } from 'react'; +import { useTheme } from '@emotion/react'; +import styled from '@emotion/styled'; + +import { IconChevronDown, IconChevronUp } from '@/ui/icon'; + +type TableSectionProps = { + children: ReactNode; + title: string; +}; + +const StyledTableBody = styled.tbody<{ isExpanded: boolean }>` + border-bottom: ${({ isExpanded, theme }) => + isExpanded ? `1px solid ${theme.border.color.light}` : 0}; + + &:first-of-type { + border-top: ${({ theme }) => `1px solid ${theme.border.color.light}`}; + } + + td > div { + ${({ isExpanded }) => (isExpanded ? '' : 'height: 0; opacity: 0;')}; + overflow: hidden; + transition: height ${({ theme }) => theme.animation.duration.normal}s, + opacity ${({ theme }) => theme.animation.duration.normal}s; + } +`; + +const StyledTh = styled.th` + padding: 0; +`; + +const StyledSectionHeader = styled.div<{ isExpanded: boolean }>` + align-items: center; + background-color: ${({ theme }) => theme.background.transparent.lighter}; + border-bottom: 1px solid ${({ theme }) => theme.border.color.light}; + color: ${({ theme }) => theme.font.color.light}; + cursor: pointer; + display: flex; + font-size: ${({ theme }) => theme.font.size.xs}; + font-weight: ${({ theme }) => theme.font.weight.semiBold}; + height: ${({ theme }) => theme.spacing(6)}; + justify-content: space-between; + padding: 0 ${({ theme }) => theme.spacing(2)}; + text-align: left; + text-transform: uppercase; +`; + +export const TableSection = ({ children, title }: TableSectionProps) => { + const theme = useTheme(); + const [isExpanded, setIsExpanded] = useState(true); + + const handleToggleSection = () => + setIsExpanded((previousIsExpanded) => !previousIsExpanded); + + return ( + + + + + {title} + {isExpanded ? ( + + ) : ( + + )} + + + + {children} + + ); +}; diff --git a/front/src/modules/ui/table/components/__stories__/Table.stories.tsx b/front/src/modules/ui/table/components/__stories__/Table.stories.tsx new file mode 100644 index 000000000..eb270fb7a --- /dev/null +++ b/front/src/modules/ui/table/components/__stories__/Table.stories.tsx @@ -0,0 +1,54 @@ +import { Meta, StoryObj } from '@storybook/react'; + +import { ComponentDecorator } from '~/testing/decorators/ComponentDecorator'; + +import { Table } from '../Table'; +import { TableCell } from '../TableCell'; +import { TableHeader } from '../TableHeader'; +import { TableSection } from '../TableSection'; + +const meta: Meta = { + title: 'UI/Table/Table', + component: Table, + decorators: [ComponentDecorator], + argTypes: { + as: { table: { disable: true } }, + theme: { table: { disable: true } }, + }, +}; + +export default meta; +type Story = StoryObj; + +export const Default: Story = { + render: () => ( + + + + Header 1 + Header 2 + Header 3 + + + + + Cell 1 + Cell 2 + Cell 3 + + + Cell 4 + Cell 5 + Cell 6 + + + + + Lorem ipsum dolor sit amet + Lorem ipsum + Lorem ipsum + + +
+ ), +}; diff --git a/front/src/modules/views/hooks/useTableViewFields.ts b/front/src/modules/views/hooks/useTableViewFields.ts index caac39b2d..54c29d334 100644 --- a/front/src/modules/views/hooks/useTableViewFields.ts +++ b/front/src/modules/views/hooks/useTableViewFields.ts @@ -2,13 +2,13 @@ import { useCallback, useState } from 'react'; import { getOperationName } from '@apollo/client/utilities'; import { useRecoilValue, useSetRecoilState } from 'recoil'; +import { availableTableColumnsScopedState } from '@/ui/data-table/states/availableTableColumnsScopedState'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { savedTableColumnsFamilyState } from '@/ui/data-table/states/savedTableColumnsFamilyState'; +import { savedTableColumnsByKeyFamilySelector } from '@/ui/data-table/states/selectors/savedTableColumnsByKeyFamilySelector'; +import { tableColumnsScopedState } from '@/ui/data-table/states/tableColumnsScopedState'; +import { ColumnDefinition } from '@/ui/data-table/types/ColumnDefinition'; import { FieldMetadata } from '@/ui/field/types/FieldMetadata'; -import { availableTableColumnsScopedState } from '@/ui/table/states/availableTableColumnsScopedState'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; -import { savedTableColumnsFamilyState } from '@/ui/table/states/savedTableColumnsFamilyState'; -import { savedTableColumnsByKeyFamilySelector } from '@/ui/table/states/selectors/savedTableColumnsByKeyFamilySelector'; -import { tableColumnsScopedState } from '@/ui/table/states/tableColumnsScopedState'; -import { ColumnDefinition } from '@/ui/table/types/ColumnDefinition'; import { useRecoilScopedState } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedState'; import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue'; import { currentViewIdScopedState } from '@/ui/view-bar/states/currentViewIdScopedState'; diff --git a/front/src/modules/views/hooks/useTableViews.ts b/front/src/modules/views/hooks/useTableViews.ts index 91f3e7d42..3bb495391 100644 --- a/front/src/modules/views/hooks/useTableViews.ts +++ b/front/src/modules/views/hooks/useTableViews.ts @@ -1,9 +1,9 @@ import { useSearchParams } from 'react-router-dom'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; +import { tableColumnsScopedState } from '@/ui/data-table/states/tableColumnsScopedState'; +import { ColumnDefinition } from '@/ui/data-table/types/ColumnDefinition'; import { FieldMetadata } from '@/ui/field/types/FieldMetadata'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; -import { tableColumnsScopedState } from '@/ui/table/states/tableColumnsScopedState'; -import { ColumnDefinition } from '@/ui/table/types/ColumnDefinition'; import { useRecoilScopedValue } from '@/ui/utilities/recoil-scope/hooks/useRecoilScopedValue'; import { filtersScopedState } from '@/ui/view-bar/states/filtersScopedState'; import { sortsScopedState } from '@/ui/view-bar/states/sortsScopedState'; diff --git a/front/src/pages/companies/Companies.tsx b/front/src/pages/companies/Companies.tsx index 865e97722..2d81b2421 100644 --- a/front/src/pages/companies/Companies.tsx +++ b/front/src/pages/companies/Companies.tsx @@ -6,6 +6,11 @@ import { useOptimisticEffect } from '@/apollo/optimistic-effect/hooks/useOptimis import { CompanyTable } from '@/companies/table/components/CompanyTable'; import { SEARCH_COMPANY_QUERY } from '@/search/graphql/queries/searchCompanyQuery'; import { SpreadsheetImportProvider } from '@/spreadsheet-import/provider/components/SpreadsheetImportProvider'; +import { EntityTableActionBar } from '@/ui/data-table/action-bar/components/EntityTableActionBar'; +import { EntityTableContextMenu } from '@/ui/data-table/context-menu/components/EntityTableContextMenu'; +import { useUpsertEntityTableItem } from '@/ui/data-table/hooks/useUpsertEntityTableItem'; +import { useUpsertTableRowId } from '@/ui/data-table/hooks/useUpsertTableRowId'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { DropdownRecoilScopeContext } from '@/ui/dropdown/states/recoil-scope-contexts/DropdownRecoilScopeContext'; import { IconBuildingSkyscraper } from '@/ui/icon'; import { PageAddButton } from '@/ui/layout/components/PageAddButton'; @@ -13,11 +18,6 @@ import { PageBody } from '@/ui/layout/components/PageBody'; import { PageContainer } from '@/ui/layout/components/PageContainer'; import { PageHeader } from '@/ui/layout/components/PageHeader'; import { PageHotkeysEffect } from '@/ui/layout/components/PageHotkeysEffect'; -import { EntityTableActionBar } from '@/ui/table/action-bar/components/EntityTableActionBar'; -import { EntityTableContextMenu } from '@/ui/table/context-menu/components/EntityTableContextMenu'; -import { useUpsertEntityTableItem } from '@/ui/table/hooks/useUpsertEntityTableItem'; -import { useUpsertTableRowId } from '@/ui/table/hooks/useUpsertTableRowId'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { useInsertOneCompanyMutation } from '~/generated/graphql'; diff --git a/front/src/pages/companies/CompaniesMockMode.tsx b/front/src/pages/companies/CompaniesMockMode.tsx index d46bae77e..a59230fd4 100644 --- a/front/src/pages/companies/CompaniesMockMode.tsx +++ b/front/src/pages/companies/CompaniesMockMode.tsx @@ -1,11 +1,11 @@ import styled from '@emotion/styled'; import { CompanyTableMockMode } from '@/companies/table/components/CompanyTableMockMode'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { IconBuildingSkyscraper } from '@/ui/icon'; import { PageBody } from '@/ui/layout/components/PageBody'; import { PageContainer } from '@/ui/layout/components/PageContainer'; import { PageHeader } from '@/ui/layout/components/PageHeader'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; const StyledTableContainer = styled.div` diff --git a/front/src/pages/companies/companies-filters.tsx b/front/src/pages/companies/companies-filters.tsx index 224a900bd..2e63a728c 100644 --- a/front/src/pages/companies/companies-filters.tsx +++ b/front/src/pages/companies/companies-filters.tsx @@ -1,3 +1,4 @@ +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { IconBuildingSkyscraper, IconCalendarEvent, @@ -6,7 +7,6 @@ import { IconUser, IconUsers, } from '@/ui/icon/index'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { FilterDefinitionByEntity } from '@/ui/view-bar/types/FilterDefinitionByEntity'; import { FilterDropdownUserSearchSelect } from '@/users/components/FilterDropdownUserSearchSelect'; import { Company } from '~/generated/graphql'; diff --git a/front/src/pages/people/People.tsx b/front/src/pages/people/People.tsx index d5e2b6a27..20f1579b3 100644 --- a/front/src/pages/people/People.tsx +++ b/front/src/pages/people/People.tsx @@ -4,6 +4,11 @@ import { v4 } from 'uuid'; import { useOptimisticEffect } from '@/apollo/optimistic-effect/hooks/useOptimisticEffect'; import { PeopleTable } from '@/people/table/components/PeopleTable'; import { SpreadsheetImportProvider } from '@/spreadsheet-import/provider/components/SpreadsheetImportProvider'; +import { EntityTableActionBar } from '@/ui/data-table/action-bar/components/EntityTableActionBar'; +import { EntityTableContextMenu } from '@/ui/data-table/context-menu/components/EntityTableContextMenu'; +import { useUpsertEntityTableItem } from '@/ui/data-table/hooks/useUpsertEntityTableItem'; +import { useUpsertTableRowId } from '@/ui/data-table/hooks/useUpsertTableRowId'; +import { TableRecoilScopeContext } from '@/ui/data-table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { DropdownRecoilScopeContext } from '@/ui/dropdown/states/recoil-scope-contexts/DropdownRecoilScopeContext'; import { IconUser } from '@/ui/icon'; import { PageAddButton } from '@/ui/layout/components/PageAddButton'; @@ -11,11 +16,6 @@ import { PageBody } from '@/ui/layout/components/PageBody'; import { PageContainer } from '@/ui/layout/components/PageContainer'; import { PageHeader } from '@/ui/layout/components/PageHeader'; import { PageHotkeysEffect } from '@/ui/layout/components/PageHotkeysEffect'; -import { EntityTableActionBar } from '@/ui/table/action-bar/components/EntityTableActionBar'; -import { EntityTableContextMenu } from '@/ui/table/context-menu/components/EntityTableContextMenu'; -import { useUpsertEntityTableItem } from '@/ui/table/hooks/useUpsertEntityTableItem'; -import { useUpsertTableRowId } from '@/ui/table/hooks/useUpsertTableRowId'; -import { TableRecoilScopeContext } from '@/ui/table/states/recoil-scope-contexts/TableRecoilScopeContext'; import { RecoilScope } from '@/ui/utilities/recoil-scope/components/RecoilScope'; import { useInsertOnePersonMutation } from '~/generated/graphql';