Rename prefetchViewStates in coreViewStates (#14373)

## Context

View system used to rely on workspaceSchema views and was loaded in what
we called the "prefetch". We have recently migrated views to
core.coreViews and the states should now be named after coreViews

Fixes: https://github.com/twentyhq/twenty/issues/14349
This commit is contained in:
Charles Bochet
2025-09-09 19:11:17 +02:00
committed by GitHub
parent 9322853641
commit 002322c8e3
41 changed files with 251 additions and 138 deletions
@@ -4,9 +4,9 @@ import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/
import { useRecordIndexContextOrThrow } from '@/object-record/record-index/contexts/RecordIndexContext';
import { useLoadRecordIndexStates } from '@/object-record/record-index/hooks/useLoadRecordIndexStates';
import { recordIndexViewTypeState } from '@/object-record/record-index/states/recordIndexViewTypeState';
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
import { usePersistViewGroupRecords } from '@/views/hooks/internal/usePersistViewGroupRecords';
import { useUpdateCurrentView } from '@/views/hooks/useUpdateCurrentView';
import { coreViewFromViewIdFamilySelector } from '@/views/states/selectors/coreViewFromViewIdFamilySelector';
import { type GraphQLView } from '@/views/types/GraphQLView';
import { type ViewGroup } from '@/views/types/ViewGroup';
import { ViewType, viewTypeIconMapping } from '@/views/types/ViewType';
@@ -78,7 +78,7 @@ export const useSetViewTypeFromLayoutOptionsMenu = () => {
}
const currentView = snapshot
.getLoadable(
prefetchViewFromViewIdFamilySelector({ viewId: currentViewId }),
coreViewFromViewIdFamilySelector({ viewId: currentViewId }),
)
.getValue();
if (!isDefined(currentView)) {
@@ -19,10 +19,10 @@ import { getRecordFieldCardRelationPickerDropdownId } from '@/object-record/reco
import { recordStoreFamilySelector } from '@/object-record/record-store/states/selectors/recordStoreFamilySelector';
import { AggregateOperations } from '@/object-record/record-table/constants/AggregateOperations';
import { type ObjectRecord } from '@/object-record/types/ObjectRecord';
import { prefetchIndexViewIdFromObjectMetadataItemFamilySelector } from '@/prefetch/states/selector/prefetchIndexViewIdFromObjectMetadataItemFamilySelector';
import { isDropdownOpenComponentState } from '@/ui/layout/dropdown/states/isDropdownOpenComponentState';
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
import { coreIndexViewIdFromObjectMetadataItemFamilySelector } from '@/views/states/selectors/coreIndexViewIdFromObjectMetadataItemFamilySelector';
import { useLingui } from '@lingui/react/macro';
import { AppPath, ViewFilterOperand } from 'twenty-shared/types';
import { getAppPath } from 'twenty-shared/utils';
@@ -81,7 +81,7 @@ export const RecordDetailRelationSection = ({
);
const indexViewId = useRecoilValue(
prefetchIndexViewIdFromObjectMetadataItemFamilySelector({
coreIndexViewIdFromObjectMetadataItemFamilySelector({
objectMetadataItemId: relationObjectMetadataItem.id,
}),
);
@@ -26,7 +26,7 @@ export const useChangeRecordFieldVisibility = (
const { saveViewFields } = useSaveCurrentViewFields();
const changeRecordFieldVisibility = ({
const changeRecordFieldVisibility = async ({
fieldMetadataId,
isVisible,
}: {
@@ -56,7 +56,7 @@ export const useChangeRecordFieldVisibility = (
upsertRecordField(recordFieldToUpsert);
saveViewFields([mapRecordFieldToViewField(recordFieldToUpsert)]);
await saveViewFields([mapRecordFieldToViewField(recordFieldToUpsert)]);
} else {
updateRecordField(fieldMetadataId, {
isVisible: shouldShowFieldMetadataItem,
@@ -20,7 +20,7 @@ export const useMoveRecordField = (recordTableId?: string) => {
// because otherwise it will just do nothing while moving left and right of non visible record fields
const moveRecordField = useRecoilCallback(
({ snapshot }) =>
({
async ({
direction,
fieldMetadataItemIdToMove,
}: {
@@ -73,7 +73,7 @@ export const useMoveRecordField = (recordTableId?: string) => {
position: currentRecordFieldNewPosition,
});
saveViewFields([
await saveViewFields([
mapRecordFieldToViewField({
...targetRecordField,
position: targetRecordFieldNewPosition,
@@ -1,8 +1,8 @@
import { useContextStoreObjectMetadataItemOrThrow } from '@/context-store/hooks/useContextStoreObjectMetadataItemOrThrow';
import { contextStoreCurrentViewIdComponentState } from '@/context-store/states/contextStoreCurrentViewIdComponentState';
import { useLoadRecordIndexStates } from '@/object-record/record-index/hooks/useLoadRecordIndexStates';
import { prefetchViewFromViewIdFamilySelector } from '@/prefetch/states/selector/prefetchViewFromViewIdFamilySelector';
import { useRecoilComponentValue } from '@/ui/utilities/state/component-state/hooks/useRecoilComponentValue';
import { coreViewFromViewIdFamilySelector } from '@/views/states/selectors/coreViewFromViewIdFamilySelector';
import { useEffect, useState } from 'react';
import { useRecoilValue } from 'recoil';
import { isDefined } from 'twenty-shared/utils';
@@ -18,7 +18,7 @@ export const RecordIndexLoadBaseOnContextStoreEffect = () => {
);
const view = useRecoilValue(
prefetchViewFromViewIdFamilySelector({
coreViewFromViewIdFamilySelector({
viewId: contextStoreCurrentViewId ?? '',
}),
);
@@ -17,7 +17,7 @@ export const useMoveTableColumn = ({ recordTableId }: useRecordTableProps) => {
async (direction: 'left' | 'right', fieldMetadataItemId: string) => {
unfocusRecordTableCell();
moveRecordField({
await moveRecordField({
direction: direction === 'left' ? 'before' : 'after',
fieldMetadataItemIdToMove: fieldMetadataItemId,
});
@@ -98,9 +98,9 @@ export const RecordTableColumnHeadDropdownMenu = ({
moveTableColumn('right', recordField.fieldMetadataItemId);
};
const handleColumnVisibility = () => {
const handleColumnVisibility = async () => {
closeDropdownAndToggleScroll();
changeRecordFieldVisibility({
await changeRecordFieldVisibility({
fieldMetadataId: recordField.fieldMetadataItemId,
isVisible: false,
});
@@ -170,7 +170,7 @@ export const RecordTableColumnHeadDropdownMenu = ({
{canHide && (
<MenuItem
LeftIcon={IconEyeOff}
onClick={handleColumnVisibility}
onClick={async () => await handleColumnVisibility()}
text={t`Hide`}
/>
)}
@@ -31,9 +31,11 @@ export const RecordTableHeaderPlusButtonContent = () => {
useChangeRecordFieldVisibility(recordTableId);
const handleAddColumn = useCallback(
(column: Pick<ColumnDefinition<FieldMetadata>, 'fieldMetadataId'>) => {
async (
column: Pick<ColumnDefinition<FieldMetadata>, 'fieldMetadataId'>,
) => {
closeDropdown();
changeRecordFieldVisibility({ ...column, isVisible: true });
await changeRecordFieldVisibility({ ...column, isVisible: true });
},
[changeRecordFieldVisibility, closeDropdown],
);
@@ -60,8 +62,8 @@ export const RecordTableHeaderPlusButtonContent = () => {
{availableFieldMetadataItemsToShow.map((fieldMetadataItem) => (
<MenuItem
key={fieldMetadataItem.id}
onClick={() =>
handleAddColumn({
onClick={async () =>
await handleAddColumn({
fieldMetadataId: fieldMetadataItem.id,
})
}