From a7941315e72c453120b6038410863cece6a29af2 Mon Sep 17 00:00:00 2001 From: nitin <142569587+ehconitin@users.noreply.github.com> Date: Wed, 7 Aug 2024 12:22:57 +0530 Subject: [PATCH] Replace entityId by recordId in the front end. (#6355) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hey @lucasbordeau, I replaced every `entityId` with `recordId` in the frontend. ### Some clarifications: 1. At [this line](https://github.com/ehconitin/twenty/commit/0b207d26b6e78da349af34cf44585d89cb59adb7#diff-b4f415dd1f060307ad61f64394ee96b2912f6015e26c7fd2eab4b8c6a84d2d07L14), I changed `recordId` to `selectedRecordId` because that component has `entityId` defined in code at [this line](https://github.com/ehconitin/twenty/commit/0b207d26b6e78da349af34cf44585d89cb59adb7#diff-b4f415dd1f060307ad61f64394ee96b2912f6015e26c7fd2eab4b8c6a84d2d07L55) which was to be changed to `recordId`. To avoid repeated constants, I changed the arguments to `selectedRecordIds`. 2. At the following links: - [File 1](https://github.com/ehconitin/twenty/commit/0b207d26b6e78da349af34cf44585d89cb59adb7#diff-52b780bdd4cfc582ca7e1b457dbbd63733bfbb7790fc421054bbd2dbf0389e16) - [File 2](https://github.com/ehconitin/twenty/commit/0b207d26b6e78da349af34cf44585d89cb59adb7#diff-6d47cb9a59dfcf6b1495937084ae799a61da6afccb21208f04ce8e1f5afca0e4) - [File 3](https://github.com/ehconitin/twenty/commit/0b207d26b6e78da349af34cf44585d89cb59adb7#diff-821815783f9968f1da3cd437fc9d1d1666d12dc331d279cc5fbd9817bc2df2bf) It seems to be the tests. As I can see, it is checking for both `objectFilterDropdownSelectedEntityIdState` and `objectFilterDropdownSelectedRecordIdsState`. Since `entityIds` are supposed to be removed and `recordedId` state is already being checked, I commented out all the `entityidState` code. If they are to be removed or uncommented, please let me know, and I will do as expected. --------- Co-authored-by: Félix Malfait --- .../components/CalendarEventDetails.tsx | 2 +- .../components/EventFieldDiffValue.tsx | 2 +- .../object-record/hooks/useFieldContext.tsx | 2 +- .../__tests__/useFilterDropdown.test.tsx | 24 ++++++++++--------- .../hooks/useFilterDropdown.ts | 12 ++-------- .../hooks/useFilterDropdownStates.ts | 7 ------ ...rDropdownSelectedEntityIdComponentState.ts | 7 ------ .../components/RecordBoardCard.tsx | 2 +- .../record-field/contexts/FieldContext.ts | 2 +- .../hooks/__tests__/useGetButtonIcon.test.tsx | 4 ++-- .../hooks/__tests__/useIsFieldEmpty.test.tsx | 6 ++--- .../__tests__/useIsFieldInputOnly.test.tsx | 4 ++-- .../hooks/__tests__/usePersistField.test.tsx | 16 ++++++------- .../__tests__/useToggleEditOnlyInput.test.tsx | 8 +++---- .../record-field/hooks/useClearField.ts | 10 ++++---- .../record-field/hooks/useInitDraftValueV2.ts | 12 ++++++---- .../record-field/hooks/useIsFieldEmpty.ts | 4 ++-- .../record-field/hooks/usePersistField.ts | 10 ++++---- .../hooks/useToggleEditOnlyInput.ts | 12 ++++------ .../__stories__/FieldContextProvider.tsx | 6 ++--- ...ationFromManyFieldDisplay.perf.stories.tsx | 6 ++--- .../perf/relationFromManyFieldDisplayMock.ts | 4 ++-- .../meta-types/hooks/useAddressField.ts | 6 ++--- .../hooks/useAddressFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useBooleanField.ts | 4 ++-- .../hooks/useBooleanFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useChipField.ts | 4 ++-- .../meta-types/hooks/useChipFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useCurrencyField.ts | 6 ++--- .../hooks/useCurrencyFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useDateField.ts | 6 ++--- .../meta-types/hooks/useDateFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useDateTimeField.ts | 6 ++--- .../hooks/useDateTimeFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useEmailField.ts | 6 ++--- .../meta-types/hooks/useEmailFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useFullNameField.ts | 6 ++--- .../hooks/useFullNameFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useJsonField.ts | 6 ++--- .../meta-types/hooks/useJsonFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useLinkField.ts | 6 ++--- .../meta-types/hooks/useLinkFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useLinksField.ts | 6 ++--- .../meta-types/hooks/useLinksFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useMultiSelectField.ts | 6 ++--- .../hooks/useMultiSelectFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useNumberField.ts | 6 ++--- .../meta-types/hooks/useNumberFieldDisplay.ts | 4 ++-- .../meta-types/hooks/usePhoneField.ts | 6 ++--- .../meta-types/hooks/usePhoneFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useRatingField.ts | 4 ++-- .../meta-types/hooks/useRatingFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useRelationField.ts | 8 +++---- .../hooks/useRelationFromManyFieldDisplay.ts | 6 ++--- .../hooks/useRelationToOneFieldDisplay.ts | 6 ++--- .../meta-types/hooks/useSelectField.ts | 6 ++--- .../meta-types/hooks/useSelectFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useTextField.ts | 6 ++--- .../meta-types/hooks/useTextFieldDisplay.ts | 4 ++-- .../meta-types/hooks/useUuidField.ts | 4 ++-- .../components/RelationToOneFieldInput.tsx | 2 +- .../__stories__/AddressFieldInput.stories.tsx | 6 ++--- .../__stories__/BooleanFieldInput.stories.tsx | 20 ++++++++-------- .../DateTimeFieldInput.stories.tsx | 6 ++--- .../__stories__/EmailFieldInput.stories.tsx | 6 ++--- .../__stories__/NumberFieldInput.stories.tsx | 6 ++--- .../__stories__/PhoneFieldInput.stories.tsx | 6 ++--- .../__stories__/RatingFieldInput.stories.tsx | 6 ++--- .../RelationManyFieldInput.stories.tsx | 2 +- .../RelationToOneFieldInput.stories.tsx | 6 ++--- .../__stories__/TextFieldInput.stories.tsx | 6 ++--- .../useUpdateRelationFromManyFieldInput.tsx | 8 +++---- .../components/RecordInlineCell.tsx | 5 ++-- .../components/RecordInlineCellContainer.tsx | 5 ++-- .../record-inline-cell/hooks/useInlineCell.ts | 4 ++-- .../components/RecordShowContainer.tsx | 8 +++---- .../RecordDetailRelationRecordsListItem.tsx | 2 +- .../RecordDetailRelationSection.tsx | 12 +++++----- .../RecordDetailRelationSection.stories.tsx | 2 +- .../components/RecordTableContextProvider.tsx | 6 ++--- .../perf/RecordTableCell.perf.stories.tsx | 12 +++++----- .../components/__stories__/perf/mock.ts | 4 ++-- .../contexts/RecordTableContext.ts | 4 ++-- .../hooks/internal/useSetRecordTableData.ts | 8 +++---- .../RecordTableCellFieldContextWrapper.tsx | 2 +- .../components/RecordTableCellFieldInput.tsx | 21 +++++++++------- .../useCloseRecordTableCell.test.tsx | 2 +- .../hooks/__tests__/useUpsertRecord.test.tsx | 6 ++--- .../hooks/useOpenRecordTableCellFromCell.ts | 6 ++--- .../hooks/useOpenRecordTableCellV2.ts | 12 +++++----- .../hooks/useUpsertRecord.ts | 4 ++-- .../components/RelationPicker.tsx | 10 ++++---- .../useAddNewRecordAndOpenRightDrawer.ts | 8 +++---- .../hooks/useRelationPickerEntitiesOptions.ts | 2 +- .../select/hooks/useRecordsForSelect.ts | 6 ++--- .../utils/getRecordFieldInputId.ts | 4 ++++ .../useFilteredSearchEntityQuery.test.tsx | 2 +- .../hooks/useFilteredSearchEntityQuery.ts | 6 ++--- .../SettingsDataModelFieldPreview.tsx | 6 ++--- .../SettingsDataModelSetFieldValueEffect.tsx | 10 ++++---- .../testing/decorators/getFieldDecorator.tsx | 2 +- .../src/testing/hooks/useMockFieldContext.tsx | 2 +- 102 files changed, 303 insertions(+), 310 deletions(-) delete mode 100644 packages/twenty-front/src/modules/object-record/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdComponentState.ts create mode 100644 packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts diff --git a/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventDetails.tsx b/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventDetails.tsx index c147e1bf852d..581e6599eb1d 100644 --- a/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventDetails.tsx +++ b/packages/twenty-front/src/modules/activities/calendar/components/CalendarEventDetails.tsx @@ -100,7 +100,7 @@ export const CalendarEventDetails = ({ { }); }); - it('should set objectFilterDropdownSelectedEntityId', async () => { - const mockResult = 'value'; + it('should set objectFilterDropdownSelectedRecordId', async () => { + const mockResult = ['value']; const { result } = renderHook(() => { useFilterDropdown({ filterDropdownId }); - const { objectFilterDropdownSelectedEntityIdState } = + const { objectFilterDropdownSelectedRecordIdsState } = useFilterDropdownStates(filterDropdownId); const [ - objectFilterDropdownSelectedEntityId, - setObjectFilterDropdownSelectedEntityId, - ] = useRecoilState(objectFilterDropdownSelectedEntityIdState); + objectFilterDropdownSelectedRecordIds, + setObjectFilterDropdownSelectedRecordIds, + ] = useRecoilState(objectFilterDropdownSelectedRecordIdsState); return { - objectFilterDropdownSelectedEntityId, - setObjectFilterDropdownSelectedEntityId, + objectFilterDropdownSelectedRecordIds, + setObjectFilterDropdownSelectedRecordIds, }; }, renderHookConfig); - expect(result.current.objectFilterDropdownSelectedEntityId).toBeNull(); + expect( + JSON.stringify(result.current.objectFilterDropdownSelectedRecordIds), + ).toBe(JSON.stringify([])); act(() => { - result.current.setObjectFilterDropdownSelectedEntityId(mockResult); + result.current.setObjectFilterDropdownSelectedRecordIds(mockResult); }); await waitFor(() => { - expect(result.current.objectFilterDropdownSelectedEntityId).toBe( + expect(result.current.objectFilterDropdownSelectedRecordIds).toBe( mockResult, ); }); diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdown.ts b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdown.ts index 945d19c68954..8325af5e8085 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdown.ts +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdown.ts @@ -21,7 +21,6 @@ export const useFilterDropdown = (props?: UseFilterDropdownProps) => { availableFilterDefinitionsState, filterDefinitionUsedInDropdownState, objectFilterDropdownSearchInputState, - objectFilterDropdownSelectedEntityIdState, objectFilterDropdownSelectedRecordIdsState, objectFilterDropdownSelectedOptionValuesState, isObjectFilterDropdownOperandSelectUnfoldedState, @@ -46,13 +45,11 @@ export const useFilterDropdown = (props?: UseFilterDropdownProps) => { ({ set }) => () => { set(objectFilterDropdownSearchInputState, ''); - set(objectFilterDropdownSelectedEntityIdState, null); set(objectFilterDropdownSelectedRecordIdsState, []); set(selectedFilterState, undefined); }, [ objectFilterDropdownSearchInputState, - objectFilterDropdownSelectedEntityIdState, objectFilterDropdownSelectedRecordIdsState, selectedFilterState, ], @@ -62,7 +59,6 @@ export const useFilterDropdown = (props?: UseFilterDropdownProps) => { ({ set }) => () => { set(objectFilterDropdownSearchInputState, ''); - set(objectFilterDropdownSelectedEntityIdState, null); set(objectFilterDropdownSelectedRecordIdsState, []); set(selectedFilterState, undefined); set(filterDefinitionUsedInDropdownState, null); @@ -71,7 +67,6 @@ export const useFilterDropdown = (props?: UseFilterDropdownProps) => { [ filterDefinitionUsedInDropdownState, objectFilterDropdownSearchInputState, - objectFilterDropdownSelectedEntityIdState, objectFilterDropdownSelectedRecordIdsState, selectedFilterState, selectedOperandInDropdownState, @@ -91,9 +86,6 @@ export const useFilterDropdown = (props?: UseFilterDropdownProps) => { const setObjectFilterDropdownSearchInput = useSetRecoilState( objectFilterDropdownSearchInputState, ); - const setObjectFilterDropdownSelectedEntityId = useSetRecoilState( - objectFilterDropdownSelectedEntityIdState, - ); const setObjectFilterDropdownSelectedRecordIds = useSetRecoilState( objectFilterDropdownSelectedRecordIdsState, ); @@ -117,7 +109,7 @@ export const useFilterDropdown = (props?: UseFilterDropdownProps) => { setAvailableFilterDefinitions, setFilterDefinitionUsedInDropdown, setObjectFilterDropdownSearchInput, - setObjectFilterDropdownSelectedEntityId, + // setObjectFilterDropdownSelectedEntityId, setObjectFilterDropdownSelectedRecordIds, setObjectFilterDropdownSelectedOptionValues, setIsObjectFilterDropdownOperandSelectUnfolded, @@ -127,7 +119,7 @@ export const useFilterDropdown = (props?: UseFilterDropdownProps) => { availableFilterDefinitionsState, filterDefinitionUsedInDropdownState, objectFilterDropdownSearchInputState, - objectFilterDropdownSelectedEntityIdState, + // objectFilterDropdownSelectedEntityIdState, objectFilterDropdownSelectedRecordIdsState, objectFilterDropdownSelectedOptionValuesState, isObjectFilterDropdownOperandSelectUnfoldedState, diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdownStates.ts b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdownStates.ts index 47a4835c1d18..82888840c7b7 100644 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdownStates.ts +++ b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/hooks/useFilterDropdownStates.ts @@ -2,7 +2,6 @@ import { filterDefinitionUsedInDropdownComponentState } from '@/object-record/ob import { isObjectFilterDropdownOperandSelectUnfoldedComponentState } from '@/object-record/object-filter-dropdown/states/isObjectFilterDropdownOperandSelectUnfoldedComponentState'; import { isObjectFilterDropdownUnfoldedComponentState } from '@/object-record/object-filter-dropdown/states/isObjectFilterDropdownUnfoldedComponentState'; import { objectFilterDropdownSearchInputComponentState } from '@/object-record/object-filter-dropdown/states/objectFilterDropdownSearchInputComponentState'; -import { objectFilterDropdownSelectedEntityIdComponentState } from '@/object-record/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdComponentState'; import { objectFilterDropdownSelectedOptionValuesComponentState } from '@/object-record/object-filter-dropdown/states/objectFilterDropdownSelectedOptionValuesComponentState'; import { objectFilterDropdownSelectedRecordIdsComponentState } from '@/object-record/object-filter-dropdown/states/objectFilterDropdownSelectedRecordIdsComponentState'; import { onFilterSelectComponentState } from '@/object-record/object-filter-dropdown/states/onFilterSelectComponentState'; @@ -27,11 +26,6 @@ export const useFilterDropdownStates = (scopeId: string) => { scopeId, ); - const objectFilterDropdownSelectedEntityIdState = extractComponentState( - objectFilterDropdownSelectedEntityIdComponentState, - scopeId, - ); - const objectFilterDropdownSelectedRecordIdsState = extractComponentState( objectFilterDropdownSelectedRecordIdsComponentState, scopeId, @@ -72,7 +66,6 @@ export const useFilterDropdownStates = (scopeId: string) => { availableFilterDefinitionsState, filterDefinitionUsedInDropdownState, objectFilterDropdownSearchInputState, - objectFilterDropdownSelectedEntityIdState, objectFilterDropdownSelectedRecordIdsState, objectFilterDropdownSelectedOptionValuesState, isObjectFilterDropdownOperandSelectUnfoldedState, diff --git a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdComponentState.ts b/packages/twenty-front/src/modules/object-record/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdComponentState.ts deleted file mode 100644 index 3f62c3d65b1b..000000000000 --- a/packages/twenty-front/src/modules/object-record/object-filter-dropdown/states/objectFilterDropdownSelectedEntityIdComponentState.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { createComponentState } from '@/ui/utilities/state/component-state/utils/createComponentState'; - -export const objectFilterDropdownSelectedEntityIdComponentState = - createComponentState({ - key: 'objectFilterDropdownSelectedEntityIdComponentState', - defaultValue: null, - }); diff --git a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx index 39d458fce112..1e45cbb9fced 100644 --- a/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx +++ b/packages/twenty-front/src/modules/object-record/record-board/record-board-card/components/RecordBoardCard.tsx @@ -263,7 +263,7 @@ export const RecordBoardCard = () => { > [ export type GenericFieldContextType = { fieldDefinition: FieldDefinition; useUpdateRecord?: RecordUpdateHook; - entityId: string; + recordId: string; recoilScopeId?: string; hotkeyScope: string; isLabelIdentifier: boolean; diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useGetButtonIcon.test.tsx b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useGetButtonIcon.test.tsx index 877c7897ee02..8237c4ace637 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useGetButtonIcon.test.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useGetButtonIcon.test.tsx @@ -12,7 +12,7 @@ import { useGetButtonIcon } from '@/object-record/record-field/hooks/useGetButto import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition'; import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata'; -const entityId = 'entityId'; +const recordId = 'recordId'; const getWrapper = (fieldDefinition: FieldDefinition) => @@ -20,7 +20,7 @@ const getWrapper = ( { const { result } = renderHook( () => { const setFieldState = useSetRecoilState( - recordStoreFamilyState(entityId), + recordStoreFamilyState(recordId), ); return { setFieldState, diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useIsFieldInputOnly.test.tsx b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useIsFieldInputOnly.test.tsx index 3dd63ea2cf8d..50e39ac55cd9 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useIsFieldInputOnly.test.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useIsFieldInputOnly.test.tsx @@ -11,7 +11,7 @@ import { useIsFieldInputOnly } from '@/object-record/record-field/hooks/useIsFie import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition'; import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata'; -const entityId = 'entityId'; +const recordId = 'recordId'; const getWrapper = (fieldDefinition: FieldDefinition) => @@ -19,7 +19,7 @@ const getWrapper = ({ data: { updatePerson: { - id: 'entityId', + id: 'recordId', }, }, })), @@ -69,21 +69,21 @@ const mocks: MockedResponse[] = [ request: { query, variables: { - idToUpdate: 'entityId', + idToUpdate: 'recordId', input: { companyId: 'companyId' }, }, }, result: jest.fn(() => ({ data: { updatePerson: { - id: 'entityId', + id: 'recordId', }, }, })), }, ]; -const entityId = 'entityId'; +const recordId = 'recordId'; const getWrapper = (fieldDefinition: FieldDefinition) => @@ -108,7 +108,7 @@ const getWrapper = { const { result } = renderHook( () => { const entityFields = useRecoilValue( - recordStoreFamilySelector({ recordId: entityId, fieldName: 'phone' }), + recordStoreFamilySelector({ recordId, fieldName: 'phone' }), ); return { @@ -153,7 +153,7 @@ describe('usePersistField', () => { () => { const entityFields = useRecoilValue( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: 'company', }), ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx index da69d6e4bcdc..111dfaaefbf5 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/__tests__/useToggleEditOnlyInput.test.tsx @@ -14,7 +14,7 @@ import { } from '@/object-record/record-field/contexts/FieldContext'; import { useToggleEditOnlyInput } from '@/object-record/record-field/hooks/useToggleEditOnlyInput'; -const entityId = 'entityId'; +const recordId = 'recordId'; const mocks: MockedResponse[] = [ { @@ -66,14 +66,14 @@ const mocks: MockedResponse[] = [ } `, variables: { - idToUpdate: 'entityId', + idToUpdate: 'recordId', input: { idealCustomerProfile: true }, }, }, result: jest.fn(() => ({ data: { updateWorkspaceMember: { - id: 'entityId', + id: 'recordId', }, }, })), @@ -101,7 +101,7 @@ const Wrapper = ({ children }: { children: ReactNode }) => { { const { - entityId, + recordId, fieldDefinition, useUpdateRecord = () => [], } = useContext(FieldContext); @@ -45,22 +45,22 @@ export const useClearField = () => { const emptyFieldValue = generateEmptyFieldValue(foundFieldMetadataItem); set( - recordStoreFamilySelector({ recordId: entityId, fieldName }), + recordStoreFamilySelector({ recordId, fieldName }), emptyFieldValue, ); - setRecordFieldValue(entityId, fieldName, emptyFieldValue); + setRecordFieldValue(recordId, fieldName, emptyFieldValue); updateRecord?.({ variables: { - where: { id: entityId }, + where: { id: recordId }, updateOneRecordInput: { [fieldName]: emptyFieldValue, }, }, }); }, - [entityId, fieldDefinition, updateRecord, setRecordFieldValue], + [recordId, fieldDefinition, updateRecord, setRecordFieldValue], ); return clearField; diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/useInitDraftValueV2.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/useInitDraftValueV2.ts index 546a143d6cc7..5c7f8fb2dadc 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/useInitDraftValueV2.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/useInitDraftValueV2.ts @@ -9,6 +9,7 @@ import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata' import { computeDraftValueFromFieldValue } from '@/object-record/record-field/utils/computeDraftValueFromFieldValue'; import { computeDraftValueFromString } from '@/object-record/record-field/utils/computeDraftValueFromString'; import { recordStoreFamilySelector } from '@/object-record/record-store/states/selectors/recordStoreFamilySelector'; +import { getRecordFieldInputId } from '@/object-record/utils/getRecordFieldInputId'; import { extractComponentSelector } from '@/ui/utilities/state/component-state/utils/extractComponentSelector'; export const useInitDraftValueV2 = () => { @@ -16,14 +17,17 @@ export const useInitDraftValueV2 = () => { ({ set, snapshot }) => ({ value, - entityId, + recordId, fieldDefinition, }: { value?: string; - entityId: string; + recordId: string; fieldDefinition: FieldDefinition; }) => { - const recordFieldInputScopeId = `${entityId}-${fieldDefinition?.metadata?.fieldName}-scope`; + const recordFieldInputScopeId = `${getRecordFieldInputId( + recordId, + fieldDefinition?.metadata?.fieldName, + )}-scope`; const getDraftValueSelector = extractComponentSelector< FieldInputDraftValue | undefined @@ -32,7 +36,7 @@ export const useInitDraftValueV2 = () => { const recordFieldValue = snapshot .getLoadable( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }), ) diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts index f1e100566e72..446aeed8b73f 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/useIsFieldEmpty.ts @@ -7,11 +7,11 @@ import { isDefined } from '~/utils/isDefined'; import { FieldContext } from '../contexts/FieldContext'; export const useIsFieldEmpty = () => { - const { entityId, fieldDefinition, overridenIsFieldEmpty } = + const { recordId, fieldDefinition, overridenIsFieldEmpty } = useContext(FieldContext); const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldDefinition?.metadata?.fieldName ?? '', ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts index 946b6046dc10..670fa1b0cd2f 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/usePersistField.ts @@ -44,7 +44,7 @@ import { isFieldTextValue } from '../types/guards/isFieldTextValue'; export const usePersistField = () => { const { - entityId, + recordId, fieldDefinition, useUpdateRecord = () => [], } = useContext(FieldContext); @@ -136,7 +136,7 @@ export const usePersistField = () => { if (isValuePersistable) { const fieldName = fieldDefinition.metadata.fieldName; set( - recordStoreFamilySelector({ recordId: entityId, fieldName }), + recordStoreFamilySelector({ recordId, fieldName }), valueToPersist, ); @@ -144,7 +144,7 @@ export const usePersistField = () => { const value = valueToPersist as EntityForSelect; updateRecord?.({ variables: { - where: { id: entityId }, + where: { id: recordId }, updateOneRecordInput: { [fieldName]: value, [`${fieldName}Id`]: value?.id ?? null, @@ -156,7 +156,7 @@ export const usePersistField = () => { updateRecord?.({ variables: { - where: { id: entityId }, + where: { id: recordId }, updateOneRecordInput: { [fieldName]: valueToPersist, }, @@ -172,7 +172,7 @@ export const usePersistField = () => { ); } }, - [entityId, fieldDefinition, updateRecord], + [recordId, fieldDefinition, updateRecord], ); return persistField; diff --git a/packages/twenty-front/src/modules/object-record/record-field/hooks/useToggleEditOnlyInput.ts b/packages/twenty-front/src/modules/object-record/record-field/hooks/useToggleEditOnlyInput.ts index 2446bf27c588..571f1342463d 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/hooks/useToggleEditOnlyInput.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/hooks/useToggleEditOnlyInput.ts @@ -8,7 +8,7 @@ import { isFieldBoolean } from '../types/guards/isFieldBoolean'; export const useToggleEditOnlyInput = () => { const { - entityId, + recordId, fieldDefinition, useUpdateRecord = () => [], } = useContext(FieldContext); @@ -23,19 +23,17 @@ export const useToggleEditOnlyInput = () => { if (fieldIsBoolean) { const fieldName = fieldDefinition.metadata.fieldName; const oldValue = snapshot - .getLoadable( - recordStoreFamilySelector({ recordId: entityId, fieldName }), - ) + .getLoadable(recordStoreFamilySelector({ recordId, fieldName })) .getValue(); const valueToPersist = !oldValue; set( - recordStoreFamilySelector({ recordId: entityId, fieldName }), + recordStoreFamilySelector({ recordId, fieldName }), valueToPersist, ); updateRecord?.({ variables: { - where: { id: entityId }, + where: { id: recordId }, updateOneRecordInput: { [fieldName]: valueToPersist, }, @@ -47,7 +45,7 @@ export const useToggleEditOnlyInput = () => { ); } }, - [entityId, fieldDefinition, updateRecord], + [recordId, fieldDefinition, updateRecord], ); return toggleField; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/__stories__/FieldContextProvider.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/__stories__/FieldContextProvider.tsx index 7a7fb2a47506..65e207b3acfd 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/__stories__/FieldContextProvider.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/__stories__/FieldContextProvider.tsx @@ -6,18 +6,18 @@ import { type FieldContextProviderProps = { children: React.ReactNode; fieldDefinition: GenericFieldContextType['fieldDefinition']; - entityId?: string; + recordId?: string; }; export const FieldContextProvider = ({ children, fieldDefinition, - entityId, + recordId, }: FieldContextProviderProps) => { return ( { const setEntity = useSetRecoilState( - recordStoreFamilyState(relationFromManyFieldDisplayMock.entityId), + recordStoreFamilyState(relationFromManyFieldDisplayMock.recordId), ); const setRelationEntity = useSetRecoilState( - recordStoreFamilyState(relationFromManyFieldDisplayMock.relationEntityId), + recordStoreFamilyState(relationFromManyFieldDisplayMock.relationRecordId), ); const setRecordFieldValue = useSetRecordFieldValue(); @@ -64,7 +64,7 @@ const meta: Meta = { { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata( FieldMetadataType.Address, @@ -25,7 +25,7 @@ export const useAddressField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -41,7 +41,7 @@ export const useAddressField = () => { }; const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useAddressFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useAddressFieldDisplay.ts index c8cbccea3848..c14c1c8f5b13 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useAddressFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useAddressFieldDisplay.ts @@ -6,12 +6,12 @@ import { FieldContext } from '../../contexts/FieldContext'; import { FieldAddressValue } from '../../types/FieldMetadata'; export const useAddressFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanField.ts index 97284c649861..563688a85de0 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanField.ts @@ -9,7 +9,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldBoolean } from '../../types/guards/isFieldBoolean'; export const useBooleanField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata( FieldMetadataType.Boolean, @@ -21,7 +21,7 @@ export const useBooleanField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanFieldDisplay.ts index 755b59ba01a8..1639d424b143 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useBooleanFieldDisplay.ts @@ -5,12 +5,12 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useBooleanFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipField.ts index b5dcd36a62cc..bb878a0ad716 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipField.ts @@ -9,7 +9,7 @@ import { recordStoreFamilyState } from '@/object-record/record-store/states/reco import { FieldContext } from '../../contexts/FieldContext'; export const useChipField = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const objectNameSingular = isFieldText(fieldDefinition) || @@ -18,7 +18,7 @@ export const useChipField = () => { ? fieldDefinition.metadata.objectMetadataNameSingular : undefined; - const record = useRecoilValue(recordStoreFamilyState(entityId)); + const record = useRecoilValue(recordStoreFamilyState(recordId)); return { objectNameSingular, diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts index 18dc49289020..6451634ef5d7 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useChipFieldDisplay.ts @@ -12,7 +12,7 @@ import { isFieldActor } from '@/object-record/record-field/types/guards/isFieldA import { FieldContext } from '../../contexts/FieldContext'; export const useChipFieldDisplay = () => { - const { entityId, fieldDefinition, isLabelIdentifier } = + const { recordId, fieldDefinition, isLabelIdentifier } = useContext(FieldContext); const { chipGeneratorPerObjectPerField } = useContext( @@ -31,7 +31,7 @@ export const useChipFieldDisplay = () => { ? fieldDefinition.metadata.objectMetadataNameSingular : undefined; - const recordValue = useRecordValue(entityId); + const recordValue = useRecordValue(recordId); if (!isNonEmptyString(objectNameSingular)) { throw new Error('Object metadata name singular is not a non-empty string'); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyField.ts index 0f7af59ff0d4..7d6da2aae1ca 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyField.ts @@ -14,7 +14,7 @@ import { isFieldCurrency } from '../../types/guards/isFieldCurrency'; import { isFieldCurrencyValue } from '../../types/guards/isFieldCurrencyValue'; export const useCurrencyField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata( FieldMetadataType.Currency, @@ -26,7 +26,7 @@ export const useCurrencyField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -56,7 +56,7 @@ export const useCurrencyField = () => { }; const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyFieldDisplay.ts index fc70259cbd3d..7b78c9b11af9 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useCurrencyFieldDisplay.ts @@ -6,12 +6,12 @@ import { FieldContext } from '../../contexts/FieldContext'; import { FieldCurrencyValue } from '../../types/FieldMetadata'; export const useCurrencyFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateField.ts index 5505df67e091..0de3668ecf2b 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateField.ts @@ -11,7 +11,7 @@ import { FieldContext } from '../../contexts/FieldContext'; import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; export const useDateField = () => { - const { entityId, fieldDefinition, hotkeyScope, clearable } = + const { recordId, fieldDefinition, hotkeyScope, clearable } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Date, isFieldDate, fieldDefinition); @@ -20,13 +20,13 @@ export const useDateField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); const { setDraftValue } = useRecordFieldInput( - `${entityId}-${fieldName}`, + `${recordId}-${fieldName}`, ); return { diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateFieldDisplay.ts index ed6abb042ea8..3f7e5407f64c 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateFieldDisplay.ts @@ -5,13 +5,13 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useDateFieldDisplay = () => { - const { entityId, fieldDefinition, hotkeyScope, clearable } = + const { recordId, fieldDefinition, hotkeyScope, clearable } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeField.ts index 3043784fc325..1eaa509c1600 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeField.ts @@ -11,7 +11,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldDateTime } from '../../types/guards/isFieldDateTime'; export const useDateTimeField = () => { - const { entityId, fieldDefinition, hotkeyScope, clearable } = + const { recordId, fieldDefinition, hotkeyScope, clearable } = useContext(FieldContext); assertFieldMetadata( @@ -24,13 +24,13 @@ export const useDateTimeField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); const { setDraftValue } = useRecordFieldInput( - `${entityId}-${fieldName}`, + `${recordId}-${fieldName}`, ); return { diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeFieldDisplay.ts index c39d5e64074a..bc41e36a47f0 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useDateTimeFieldDisplay.ts @@ -5,13 +5,13 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useDateTimeFieldDisplay = () => { - const { entityId, fieldDefinition, hotkeyScope, clearable } = + const { recordId, fieldDefinition, hotkeyScope, clearable } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailField.ts index ba9ad1f8f66c..a12e4a54f609 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailField.ts @@ -11,7 +11,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldEmail } from '../../types/guards/isFieldEmail'; export const useEmailField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Email, isFieldEmail, fieldDefinition); @@ -19,13 +19,13 @@ export const useEmailField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailFieldDisplay.ts index d5e4c5dcc212..cb7684a4f493 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useEmailFieldDisplay.ts @@ -5,11 +5,11 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useEmailFieldDisplay = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; - const fieldValue = useRecordFieldValue(entityId, fieldName); + const fieldValue = useRecordFieldValue(recordId, fieldName); return { fieldDefinition, diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameField.ts index 553fdde86cca..2c19c725843b 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameField.ts @@ -13,7 +13,7 @@ import { isFieldFullName } from '../../types/guards/isFieldFullName'; import { isFieldFullNameValue } from '../../types/guards/isFieldFullNameValue'; export const useFullNameField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata( FieldMetadataType.FullName, @@ -25,7 +25,7 @@ export const useFullNameField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -41,7 +41,7 @@ export const useFullNameField = () => { }; const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameFieldDisplay.ts index 587a02c07616..22480c2ae249 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useFullNameFieldDisplay.ts @@ -6,12 +6,12 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useFullNameFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonField.ts index e9a771ee44ec..8da0e7962296 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonField.ts @@ -12,7 +12,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldRawJson } from '../../types/guards/isFieldRawJson'; export const useJsonField = () => { - const { entityId, fieldDefinition, hotkeyScope, maxWidth } = + const { recordId, fieldDefinition, hotkeyScope, maxWidth } = useContext(FieldContext); assertFieldMetadata( @@ -25,7 +25,7 @@ export const useJsonField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -43,7 +43,7 @@ export const useJsonField = () => { }; const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonFieldDisplay.ts index e71eba095f92..8453736b94f8 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useJsonFieldDisplay.ts @@ -6,12 +6,12 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useJsonFieldDisplay = () => { - const { entityId, fieldDefinition, maxWidth } = useContext(FieldContext); + const { recordId, fieldDefinition, maxWidth } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkField.ts index 7a422f72bd14..f1b5ed7e6a30 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkField.ts @@ -13,7 +13,7 @@ import { isFieldLink } from '../../types/guards/isFieldLink'; import { isFieldLinkValue } from '../../types/guards/isFieldLinkValue'; export const useLinkField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Link, isFieldLink, fieldDefinition); @@ -21,13 +21,13 @@ export const useLinkField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkFieldDisplay.ts index d4ca7aac37d3..570857ffae10 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinkFieldDisplay.ts @@ -6,11 +6,11 @@ import { FieldContext } from '../../contexts/FieldContext'; import { FieldLinkValue } from '../../types/FieldMetadata'; export const useLinkFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksField.ts index 9cec700b9043..f2314a191538 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksField.ts @@ -13,7 +13,7 @@ import { FieldContext } from '../../contexts/FieldContext'; import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; export const useLinksField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Links, isFieldLinks, fieldDefinition); @@ -21,13 +21,13 @@ export const useLinksField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksFieldDisplay.ts index 7727eff3a267..fcc9da3a05ea 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useLinksFieldDisplay.ts @@ -6,12 +6,12 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useLinksFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectField.ts index 39816a277e32..20c8dfb9f374 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectField.ts @@ -12,7 +12,7 @@ import { recordStoreFamilySelector } from '@/object-record/record-store/states/s import { FieldMetadataType } from '~/generated/graphql'; export const useMultiSelectField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata( FieldMetadataType.MultiSelect, @@ -24,7 +24,7 @@ export const useMultiSelectField = () => { const [fieldValues, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -35,7 +35,7 @@ export const useMultiSelectField = () => { const persistField = usePersistField(); const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); return { diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectFieldDisplay.ts index e96f71df492d..63079343b989 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useMultiSelectFieldDisplay.ts @@ -9,12 +9,12 @@ import { import { useRecordFieldValue } from '@/object-record/record-store/contexts/RecordFieldValueSelectorContext'; export const useMultiSelectFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const { fieldName } = fieldDefinition.metadata; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberField.ts index 9ae483bde854..5bdceda11e73 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberField.ts @@ -16,7 +16,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldNumber } from '../../types/guards/isFieldNumber'; export const useNumberField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Number, isFieldNumber, fieldDefinition); @@ -24,7 +24,7 @@ export const useNumberField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -42,7 +42,7 @@ export const useNumberField = () => { }; const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberFieldDisplay.ts index c50eade5af62..07bf63fee638 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useNumberFieldDisplay.ts @@ -8,12 +8,12 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldNumber } from '../../types/guards/isFieldNumber'; export const useNumberFieldDisplay = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Number, isFieldNumber, fieldDefinition); const fieldName = fieldDefinition.metadata.fieldName; - const fieldValue = useRecordFieldValue(entityId, fieldName); + const fieldValue = useRecordFieldValue(recordId, fieldName); return { fieldDefinition, diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneField.ts index ddc55be3b4d3..2e20254c82b7 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneField.ts @@ -14,7 +14,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldPhone } from '../../types/guards/isFieldPhone'; export const usePhoneField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); try { // TODO: temporary - remove when 'Phone' field in 'Person' object @@ -32,7 +32,7 @@ export const usePhoneField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -45,7 +45,7 @@ export const usePhoneField = () => { persistField(newPhoneValue); }; const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneFieldDisplay.ts index f4eaa468aea5..3ba7d4f1b25c 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/usePhoneFieldDisplay.ts @@ -5,11 +5,11 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const usePhoneFieldDisplay = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; - const fieldValue = useRecordFieldValue(entityId, fieldName); + const fieldValue = useRecordFieldValue(recordId, fieldName); return { fieldDefinition, diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingField.ts index 0c7211b321ae..c0413eb3085e 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingField.ts @@ -10,7 +10,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldRating } from '../../types/guards/isFieldRating'; export const useRatingField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Rating, isFieldRating, fieldDefinition); @@ -18,7 +18,7 @@ export const useRatingField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingFieldDisplay.ts index f6d0ff6603f2..55d2261315e8 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRatingFieldDisplay.ts @@ -6,11 +6,11 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useRatingFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; - const fieldValue = useRecordFieldValue(entityId, fieldName) as + const fieldValue = useRecordFieldValue(recordId, fieldName) as | FieldRatingValue | undefined; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationField.ts index 980f4c050205..3f2cee4a5205 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationField.ts @@ -15,7 +15,7 @@ import { isFieldRelation } from '../../types/guards/isFieldRelation'; export const useRelationField = < T extends EntityForSelect | EntityForSelect[], >() => { - const { entityId, fieldDefinition, maxWidth } = useContext(FieldContext); + const { recordId, fieldDefinition, maxWidth } = useContext(FieldContext); const button = useGetButtonIcon(); assertFieldMetadata( @@ -27,11 +27,11 @@ export const useRelationField = < const fieldName = fieldDefinition.metadata.fieldName; const [fieldValue, setFieldValue] = useRecoilState>( - recordStoreFamilySelector({ recordId: entityId, fieldName }), + recordStoreFamilySelector({ recordId, fieldName }), ); const { getDraftValueSelector } = useRecordFieldInput>( - `${entityId}-${fieldName}`, + `${recordId}-${fieldName}`, ); const draftValue = useRecoilValue(getDraftValueSelector()); @@ -43,6 +43,6 @@ export const useRelationField = < initialSearchValue, setFieldValue, maxWidth: button && maxWidth ? maxWidth - 28 : maxWidth, - entityId, + recordId, }; }; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts index 251852afd987..760a70b987ea 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationFromManyFieldDisplay.ts @@ -14,7 +14,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldRelation } from '../../types/guards/isFieldRelation'; export const useRelationFromManyFieldDisplay = () => { - const { entityId, fieldDefinition, maxWidth } = useContext(FieldContext); + const { recordId, fieldDefinition, maxWidth } = useContext(FieldContext); const { chipGeneratorPerObjectPerField } = useContext( PreComputedChipGeneratorsContext, @@ -35,7 +35,7 @@ export const useRelationFromManyFieldDisplay = () => { const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); @@ -57,7 +57,7 @@ export const useRelationFromManyFieldDisplay = () => { fieldDefinition, fieldValue, maxWidth: maxWidthForField, - entityId, + recordId, generateRecordChipData, }; }; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts index c33464dc37b3..85afbd90743d 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useRelationToOneFieldDisplay.ts @@ -14,7 +14,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldRelation } from '../../types/guards/isFieldRelation'; export const useRelationToOneFieldDisplay = () => { - const { entityId, fieldDefinition, maxWidth } = useContext(FieldContext); + const { recordId, fieldDefinition, maxWidth } = useContext(FieldContext); const { chipGeneratorPerObjectPerField } = useContext( PreComputedChipGeneratorsContext, @@ -35,7 +35,7 @@ export const useRelationToOneFieldDisplay = () => { const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); @@ -57,7 +57,7 @@ export const useRelationToOneFieldDisplay = () => { fieldDefinition, fieldValue, maxWidth: maxWidthForField, - entityId, + recordId, generateRecordChipData, }; }; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectField.ts index 545bf2b9f857..e1307281fd7a 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectField.ts @@ -13,7 +13,7 @@ import { isFieldSelect } from '../../types/guards/isFieldSelect'; import { isFieldSelectValue } from '../../types/guards/isFieldSelectValue'; export const useSelectField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Select, isFieldSelect, fieldDefinition); @@ -21,7 +21,7 @@ export const useSelectField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); @@ -30,7 +30,7 @@ export const useSelectField = () => { const persistField = usePersistField(); const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); return { diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectFieldDisplay.ts index c0a6ee7c2254..332ddbb1a679 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useSelectFieldDisplay.ts @@ -10,12 +10,12 @@ import { } from '../../types/FieldMetadata'; export const useSelectFieldDisplay = () => { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const { fieldName } = fieldDefinition.metadata; const fieldValue = useRecordFieldValue( - entityId, + recordId, fieldName, ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextField.ts index 6d3f36aacd52..e6af872b0af6 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextField.ts @@ -12,7 +12,7 @@ import { isFieldText } from '../../types/guards/isFieldText'; import { isFieldTextValue } from '../../types/guards/isFieldTextValue'; export const useTextField = () => { - const { entityId, fieldDefinition, hotkeyScope, maxWidth } = + const { recordId, fieldDefinition, hotkeyScope, maxWidth } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Text, isFieldText, fieldDefinition); @@ -21,14 +21,14 @@ export const useTextField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); const fieldTextValue = isFieldTextValue(fieldValue) ? fieldValue : ''; const { setDraftValue, getDraftValueSelector } = - useRecordFieldInput(`${entityId}-${fieldName}`); + useRecordFieldInput(`${recordId}-${fieldName}`); const draftValue = useRecoilValue(getDraftValueSelector()); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextFieldDisplay.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextFieldDisplay.ts index 6a9be34eb0fb..0eb831aea743 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextFieldDisplay.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useTextFieldDisplay.ts @@ -5,12 +5,12 @@ import { useRecordFieldValue } from '@/object-record/record-store/contexts/Recor import { FieldContext } from '../../contexts/FieldContext'; export const useTextFieldDisplay = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); const fieldName = fieldDefinition.metadata.fieldName; const fieldValue = - useRecordFieldValue(entityId, fieldName) ?? ''; + useRecordFieldValue(recordId, fieldName) ?? ''; return { fieldDefinition, diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useUuidField.ts b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useUuidField.ts index 8a3224c50f65..3e338275b34d 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useUuidField.ts +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/hooks/useUuidField.ts @@ -11,7 +11,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata'; import { isFieldTextValue } from '../../types/guards/isFieldTextValue'; export const useUuidField = () => { - const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext); + const { recordId, fieldDefinition, hotkeyScope } = useContext(FieldContext); assertFieldMetadata(FieldMetadataType.Uuid, isFieldUuid, fieldDefinition); @@ -19,7 +19,7 @@ export const useUuidField = () => { const [fieldValue, setFieldValue] = useRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldName, }), ); diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationToOneFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationToOneFieldInput.tsx index 5366907c9332..e901bfe74260 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationToOneFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/RelationToOneFieldInput.tsx @@ -36,7 +36,7 @@ export const RelationToOneFieldInput = ({ { - const setField = useSetRecoilState(recordStoreFamilyState(entityId)); + const setField = useSetRecoilState(recordStoreFamilyState(recordId)); useEffect(() => { - setField({ id: entityId, Boolean: value, __typename: 'Person' }); - }, [entityId, setField, value]); + setField({ id: recordId, Boolean: value, __typename: 'Person' }); + }, [recordId, setField, value]); return <>; }; type BooleanFieldInputWithContextProps = BooleanFieldInputProps & { value: boolean; - entityId?: string; + recordId?: string; }; const BooleanFieldInputWithContext = ({ value, - entityId, + recordId, onSubmit, }: BooleanFieldInputWithContextProps) => { return ( @@ -51,9 +51,9 @@ const BooleanFieldInputWithContext = ({ objectMetadataNameSingular: 'person', }, }} - entityId={entityId} + recordId={recordId} > - + ); @@ -64,7 +64,7 @@ const meta: Meta = { component: BooleanFieldInputWithContext, args: { value: true, - entityId: 'id-1', + recordId: 'id-1', }, }; diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/DateTimeFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/DateTimeFieldInput.stories.tsx index 5a8d23898b32..4c6c0d19a15f 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/DateTimeFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/DateTimeFieldInput.stories.tsx @@ -49,12 +49,12 @@ const DateFieldValueGater = ({ type DateFieldInputWithContextProps = DateTimeFieldInputProps & { value: Date; - entityId?: string; + recordId?: string; }; const DateFieldInputWithContext = ({ value, - entityId, + recordId, onEscape, onEnter, onClickOutside, @@ -79,7 +79,7 @@ const DateFieldInputWithContext = ({ objectMetadataNameSingular: 'person', }, }} - entityId={entityId} + recordId={recordId} > { type EmailFieldInputWithContextProps = EmailFieldInputProps & { value: string; - entityId?: string; + recordId?: string; }; const EmailFieldInputWithContext = ({ - entityId, + recordId, value, onEnter, onEscape, @@ -54,7 +54,7 @@ const EmailFieldInputWithContext = ({ objectMetadataNameSingular: 'person', }, }} - entityId={entityId} + recordId={recordId} > { type NumberFieldInputWithContextProps = NumberFieldInputProps & { value: number; - entityId?: string; + recordId?: string; }; const NumberFieldInputWithContext = ({ - entityId, + recordId, value, onEnter, onEscape, @@ -54,7 +54,7 @@ const NumberFieldInputWithContext = ({ objectMetadataNameSingular: 'person', }, }} - entityId={entityId} + recordId={recordId} > { type PhoneFieldInputWithContextProps = PhoneFieldInputProps & { value: string; - entityId?: string; + recordId?: string; }; const PhoneFieldInputWithContext = ({ - entityId, + recordId, value, onEnter, onEscape, @@ -54,7 +54,7 @@ const PhoneFieldInputWithContext = ({ objectMetadataNameSingular: 'person', }, }} - entityId={entityId} + recordId={recordId} > { @@ -53,7 +53,7 @@ const RatingFieldInputWithContext = ({ objectMetadataNameSingular: 'person', }, }} - entityId={entityId} + recordId={recordId} > diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationManyFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationManyFieldInput.stories.tsx index a02b1ffb38d1..97f8f7e206e7 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationManyFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationManyFieldInput.stories.tsx @@ -56,7 +56,7 @@ const RelationManyFieldInputWithContext = () => { relationFieldMetadataId: '20202020-8c37-4163-ba06-1dada334ce3e', }, }} - entityId={'entityId'} + recordId={'recordId'} > diff --git a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationToOneFieldInput.stories.tsx b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationToOneFieldInput.stories.tsx index 30b723880b7b..58de113f3113 100644 --- a/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationToOneFieldInput.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-field/meta-types/input/components/__stories__/RelationToOneFieldInput.stories.tsx @@ -47,11 +47,11 @@ const RelationWorkspaceSetterEffect = () => { type RelationToOneFieldInputWithContextProps = RelationToOneFieldInputProps & { value: number; - entityId?: string; + recordId?: string; }; const RelationToOneFieldInputWithContext = ({ - entityId, + recordId, onSubmit, onCancel, }: RelationToOneFieldInputWithContextProps) => { @@ -78,7 +78,7 @@ const RelationToOneFieldInputWithContext = ({ relationFieldMetadataId: '20202020-8c37-4163-ba06-1dada334ce3e', }, }} - entityId={entityId} + recordId={recordId} > { type TextFieldInputWithContextProps = TextFieldInputProps & { value: string; - entityId?: string; + recordId?: string; }; const TextFieldInputWithContext = ({ - entityId, + recordId, value, onEnter, onEscape, @@ -54,7 +54,7 @@ const TextFieldInputWithContext = ({ objectMetadataNameSingular: 'person', }, }} - entityId={entityId} + recordId={recordId} > { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); assertFieldMetadata( FieldMetadataType.Relation, @@ -71,18 +71,18 @@ export const useUpdateRelationFromManyFieldInput = ({ if (isNewlySelected) { await updateOneRecordAndAttachRelations({ - recordId: entityId, + recordId, relatedRecordId: objectRecordId, }); } else { await updateOneRecordAndDetachRelations({ - recordId: entityId, + recordId, relatedRecordId: objectRecordId, }); } }, [ - entityId, + recordId, scopeId, updateOneRecordAndAttachRelations, updateOneRecordAndDetachRelations, diff --git a/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx b/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx index deab92bb1802..7c22b077b611 100644 --- a/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx +++ b/packages/twenty-front/src/modules/object-record/record-inline-cell/components/RecordInlineCell.tsx @@ -15,6 +15,7 @@ import { useInlineCell } from '../hooks/useInlineCell'; import { useIsFieldReadOnly } from '@/object-record/record-field/hooks/useIsFieldReadOnly'; import { RecordInlineCellContainer } from './RecordInlineCellContainer'; +import { getRecordFieldInputId } from '@/object-record/utils/getRecordFieldInputId'; type RecordInlineCellProps = { readonly?: boolean; @@ -28,7 +29,7 @@ export const RecordInlineCell = ({ loading, isCentered, }: RecordInlineCellProps) => { - const { fieldDefinition, entityId } = useContext(FieldContext); + const { fieldDefinition, recordId } = useContext(FieldContext); const buttonIcon = useGetButtonIcon(); const isFieldInputOnly = useIsFieldInputOnly(); @@ -97,7 +98,7 @@ export const RecordInlineCell = ({ isCentered={isCentered} editModeContent={ { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const { setIsFocused } = useFieldFocus(); @@ -111,7 +112,7 @@ export const RecordInlineCellContainer = ({ }; const theme = useTheme(); - const labelId = `label-${entityId}-${fieldDefinition?.metadata?.fieldName}`; + const labelId = `label-${getRecordFieldInputId(recordId,fieldDefinition?.metadata?.fieldName)}`; return ( { const { recoilScopeId = '', - entityId, + recordId, fieldDefinition, } = useContext(FieldContext); @@ -36,7 +36,7 @@ export const useInlineCell = () => { const openInlineCell = (customEditHotkeyScopeForField?: HotkeyScope) => { setIsInlineCellInEditMode(true); - initFieldInputDraftValue({ entityId, fieldDefinition }); + initFieldInputDraftValue({ recordId, fieldDefinition }); if (isDefined(customEditHotkeyScopeForField)) { setHotkeyScopeAndMemorizePreviousScope( diff --git a/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx b/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx index cd18516253b5..602ea0caf01d 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/components/RecordShowContainer.tsx @@ -163,7 +163,7 @@ export const RecordShowContainer = ({ title={ { - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const { fieldName, relationFieldMetadataId, relationObjectMetadataNameSingular, relationType, } = fieldDefinition.metadata as FieldRelationMetadata; - const record = useRecoilValue(recordStoreFamilyState(entityId)); + const record = useRecoilValue(recordStoreFamilyState(recordId)); const { objectMetadataItem: relationObjectMetadataItem } = useObjectMetadataItem({ @@ -60,7 +60,7 @@ export const RecordDetailRelationSection = ({ const fieldValue = useRecoilValue< ({ id: string } & Record) | ObjectRecord[] | null - >(recordStoreFamilySelector({ recordId: entityId, fieldName })); + >(recordStoreFamilySelector({ recordId, fieldName })); // TODO: use new relation type const isToOneObject = relationType === 'TO_ONE_OBJECT'; @@ -73,7 +73,7 @@ export const RecordDetailRelationSection = ({ const relationRecordIds = relationRecords.map(({ id }) => id); - const dropdownId = `record-field-card-relation-picker-${fieldDefinition.label}-${entityId}`; + const dropdownId = `record-field-card-relation-picker-${fieldDefinition.label}-${recordId}`; const { closeDropdown, isDropdownOpen } = useDropdown(dropdownId); @@ -113,7 +113,7 @@ export const RecordDetailRelationSection = ({ const filterQueryParams: FilterQueryParams = { filter: { [relationFieldMetadataItem?.name || '']: { - [ViewFilterOperand.Is]: [entityId], + [ViewFilterOperand.Is]: [recordId], }, }, }; @@ -144,7 +144,7 @@ export const RecordDetailRelationSection = ({ relationObjectMetadataNameSingular, relationObjectMetadataItem, relationFieldMetadataItem, - entityId, + recordId, }); return ( diff --git a/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/__stories__/RecordDetailRelationSection.stories.tsx b/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/__stories__/RecordDetailRelationSection.stories.tsx index 388cf711ac06..06cb79025bc5 100644 --- a/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/__stories__/RecordDetailRelationSection.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-show/record-detail-section/components/__stories__/RecordDetailRelationSection.stories.tsx @@ -26,7 +26,7 @@ const meta: Meta = { (Story) => ( void; - entityId: string; + recordId: string; fieldName: string; }) => { - upsertRecord(persistField, entityId, fieldName, recordTableId); + upsertRecord(persistField, recordId, fieldName, recordTableId); }; const { openTableCell } = useOpenRecordTableCellV2(recordTableId); diff --git a/packages/twenty-front/src/modules/object-record/record-table/components/__stories__/perf/RecordTableCell.perf.stories.tsx b/packages/twenty-front/src/modules/object-record/record-table/components/__stories__/perf/RecordTableCell.perf.stories.tsx index add76f790a97..44002bd598ab 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/components/__stories__/perf/RecordTableCell.perf.stories.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/components/__stories__/perf/RecordTableCell.perf.stories.tsx @@ -27,11 +27,11 @@ const objectMetadataItems = getObjectMetadataItemsMock(); const RelationFieldValueSetterEffect = () => { const setEntity = useSetRecoilState( - recordStoreFamilyState(mockPerformance.entityId), + recordStoreFamilyState(mockPerformance.recordId), ); const setRelationEntity = useSetRecoilState( - recordStoreFamilyState(mockPerformance.relationEntityId), + recordStoreFamilyState(mockPerformance.relationRecordId), ); const setRecordValue = useSetRecordValue(); @@ -64,7 +64,7 @@ const meta: Meta = { {}, onOpenTableCell: () => {}, @@ -87,13 +87,13 @@ const meta: Meta = { value={{ objectNameSingular: mockPerformance.entityValue.__typename.toLocaleLowerCase(), - recordId: mockPerformance.entityId, + recordId: mockPerformance.recordId, rowIndex: 0, pathToShowPage: getBasePathToShowPage({ objectNameSingular: mockPerformance.entityValue.__typename.toLocaleLowerCase(), - }) + mockPerformance.entityId, + }) + mockPerformance.recordId, isSelected: false, isReadOnly: false, isDragging: false, @@ -113,7 +113,7 @@ const meta: Meta = { > void; - entityId: string; + recordId: string; fieldName: string; }) => void; onOpenTableCell: (args: OpenTableCellArgs) => void; diff --git a/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts b/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts index c36df9f083d6..79deb4693a2c 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/hooks/internal/useSetRecordTableData.ts @@ -43,14 +43,14 @@ export const useSetRecordTableData = ({ hasUserSelectedAllRowsState, ); - const entityIds = newRecords.map((entity) => entity.id); + const recordIds = newRecords.map((record) => record.id); - if (!isDeeplyEqual(currentRowIds, entityIds)) { - set(tableRowIdsState, entityIds); + if (!isDeeplyEqual(currentRowIds, recordIds)) { + set(tableRowIdsState, recordIds); } if (hasUserSelectedAllRows) { - for (const rowId of entityIds) { + for (const rowId of recordIds) { set(isRowSelectedFamilyState(rowId), true); } } diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldContextWrapper.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldContextWrapper.tsx index 16a571fcd5cc..ea2558409dca 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldContextWrapper.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldContextWrapper.tsx @@ -38,7 +38,7 @@ export const RecordTableCellFieldContextWrapper = ({ [updateRecord, {}], hotkeyScope: customHotkeyScope, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldInput.tsx b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldInput.tsx index 10fd23c78487..3d5eafb92b94 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldInput.tsx +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/components/RecordTableCellFieldInput.tsx @@ -5,17 +5,19 @@ import { FieldContext } from '@/object-record/record-field/contexts/FieldContext import { useIsFieldReadOnly } from '@/object-record/record-field/hooks/useIsFieldReadOnly'; import { FieldInputEvent } from '@/object-record/record-field/types/FieldInputEvent'; import { RecordTableContext } from '@/object-record/record-table/contexts/RecordTableContext'; +import { getRecordFieldInputId } from '@/object-record/utils/getRecordFieldInputId'; export const RecordTableCellFieldInput = () => { const { onUpsertRecord, onMoveFocus, onCloseTableCell } = useContext(RecordTableContext); - const { entityId, fieldDefinition } = useContext(FieldContext); + + const { recordId, fieldDefinition } = useContext(FieldContext); const isFieldReadOnly = useIsFieldReadOnly(); const handleEnter: FieldInputEvent = (persistField) => { onUpsertRecord({ persistField, - entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }); @@ -26,7 +28,7 @@ export const RecordTableCellFieldInput = () => { const handleSubmit: FieldInputEvent = (persistField) => { onUpsertRecord({ persistField, - entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }); @@ -40,7 +42,7 @@ export const RecordTableCellFieldInput = () => { const handleClickOutside: FieldInputEvent = (persistField) => { onUpsertRecord({ persistField, - entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }); @@ -50,7 +52,7 @@ export const RecordTableCellFieldInput = () => { const handleEscape: FieldInputEvent = (persistField) => { onUpsertRecord({ persistField, - entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }); @@ -60,7 +62,7 @@ export const RecordTableCellFieldInput = () => { const handleTab: FieldInputEvent = (persistField) => { onUpsertRecord({ persistField, - entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }); @@ -71,7 +73,7 @@ export const RecordTableCellFieldInput = () => { const handleShiftTab: FieldInputEvent = (persistField) => { onUpsertRecord({ persistField, - entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }); @@ -81,7 +83,10 @@ export const RecordTableCellFieldInput = () => { return ( ( { await act(async () => { await result.current.upsertRecord( updateOneRecordMock, - 'entityId', + 'recordId', 'name', 'recordTableId', ); @@ -140,7 +140,7 @@ describe('useUpsertRecord', () => { await act(async () => { await result.current.upsertRecord( updateOneRecordMock, - 'entityId', + 'recordId', 'name', 'recordTableId', ); diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellFromCell.ts b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellFromCell.ts index af16309867fb..6c3bd3d90ece 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellFromCell.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellFromCell.ts @@ -23,14 +23,14 @@ export type OpenTableCellArgs = { pathToShowPage: string; customCellHotkeyScope: HotkeyScope | null; fieldDefinition: FieldDefinition; - entityId: string; + recordId: string; }; export const useOpenRecordTableCellFromCell = () => { const { onOpenTableCell } = useContext(RecordTableContext); const cellPosition = useCurrentTableCellPosition(); const customCellHotkeyScope = useContext(CellHotkeyScopeContext); - const { entityId, fieldDefinition } = useContext(FieldContext); + const { recordId, fieldDefinition } = useContext(FieldContext); const { isReadOnly, pathToShowPage, objectNameSingular } = useContext( RecordTableRowContext, ); @@ -42,7 +42,7 @@ export const useOpenRecordTableCellFromCell = () => { onOpenTableCell({ cellPosition, customCellHotkeyScope, - entityId, + recordId, fieldDefinition, isReadOnly, pathToShowPage, diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts index 2a379840276f..d25f41655f34 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useOpenRecordTableCellV2.ts @@ -36,7 +36,7 @@ export type OpenTableCellArgs = { objectNameSingular: string; customCellHotkeyScope: HotkeyScope | null; fieldDefinition: FieldDefinition; - entityId: string; + recordId: string; isActionButtonClick: boolean; }; @@ -70,7 +70,7 @@ export const useOpenRecordTableCellV2 = (tableScopeId: string) => { objectNameSingular, customCellHotkeyScope, fieldDefinition, - entityId, + recordId, isActionButtonClick, }: OpenTableCellArgs) => { if (isReadOnly) { @@ -82,7 +82,7 @@ export const useOpenRecordTableCellV2 = (tableScopeId: string) => { const fieldValue = getSnapshotValue( snapshot, recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName: fieldDefinition.metadata.fieldName, }), ); @@ -95,14 +95,14 @@ export const useOpenRecordTableCellV2 = (tableScopeId: string) => { if (isFirstColumnCell && !isEmpty && !isActionButtonClick) { leaveTableFocus(); - onIndexIdentifierClick(entityId); + onIndexIdentifierClick(recordId); return; } if (isFirstColumnCell && !isEmpty && isActionButtonClick) { leaveTableFocus(); - setViewableRecordId(entityId); + setViewableRecordId(recordId); setViewableRecordNameSingular(objectNameSingular); openRightDrawer(RightDrawerPages.ViewRecord); @@ -115,7 +115,7 @@ export const useOpenRecordTableCellV2 = (tableScopeId: string) => { initDraftValue({ value: initialValue, - entityId, + recordId, fieldDefinition, }); diff --git a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useUpsertRecord.ts b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useUpsertRecord.ts index db70da8c97e7..b181f4d466c6 100644 --- a/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useUpsertRecord.ts +++ b/packages/twenty-front/src/modules/object-record/record-table/record-table-cell/hooks/useUpsertRecord.ts @@ -24,7 +24,7 @@ export const useUpsertRecord = ({ ({ snapshot }) => ( persistField: () => void, - entityId: string, + recordId: string, fieldName: string, recordTableId: string, ) => { @@ -55,7 +55,7 @@ export const useUpsertRecord = ({ recordTablePendingRecordIdState, ); const fieldScopeId = getScopeIdFromComponentId( - `${entityId}-${fieldName}`, + `${recordId}-${fieldName}`, ); const draftValueSelector = extractComponentSelector( diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx index 18da2c62b7ec..af551f488721 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/RelationPicker.tsx @@ -11,7 +11,7 @@ import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRela import { EntityForSelect } from '@/object-record/relation-picker/types/EntityForSelect'; export type RelationPickerProps = { - recordId?: string; + selectedRecordId?: string; onSubmit: (selectedEntity: EntityForSelect | null) => void; onCancel?: () => void; width?: number; @@ -21,7 +21,7 @@ export type RelationPickerProps = { }; export const RelationPicker = ({ - recordId, + selectedRecordId, onSubmit, onCancel, excludeRecordIds, @@ -52,7 +52,7 @@ export const RelationPicker = ({ ({ id }) => id === fieldDefinition.metadata.relationFieldMetadataId, ); - const { entityId } = useContext(FieldContext); + const { recordId } = useContext(FieldContext); const { createNewRecordAndOpenRightDrawer } = useAddNewRecordAndOpenRightDrawer({ @@ -60,7 +60,7 @@ export const RelationPicker = ({ fieldDefinition.metadata.relationObjectMetadataNameSingular, relationObjectMetadataItem, relationFieldMetadataItem, - entityId, + recordId, }); return ( @@ -75,7 +75,7 @@ export const RelationPicker = ({ fieldDefinition.metadata.relationObjectMetadataNameSingular } relationPickerScopeId={relationPickerScopeId} - selectedRelationRecordIds={recordId ? [recordId] : []} + selectedRelationRecordIds={selectedRecordId ? [selectedRecordId] : []} excludedRelationRecordIds={excludeRecordIds} /> ); diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useAddNewRecordAndOpenRightDrawer.ts b/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useAddNewRecordAndOpenRightDrawer.ts index 183953019c38..9eef7d7a2429 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useAddNewRecordAndOpenRightDrawer.ts +++ b/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useAddNewRecordAndOpenRightDrawer.ts @@ -20,13 +20,13 @@ type RecordDetailRelationSectionProps = { relationObjectMetadataNameSingular: string; relationObjectMetadataItem: ObjectMetadataItem; relationFieldMetadataItem?: FieldMetadataItem; - entityId: string; + recordId: string; }; export const useAddNewRecordAndOpenRightDrawer = ({ relationObjectMetadataNameSingular, relationObjectMetadataItem, relationFieldMetadataItem, - entityId, + recordId, }: RecordDetailRelationSectionProps) => { const setViewableRecordId = useSetRecoilState(viewableRecordIdState); const setViewableRecordNameSingular = useSetRecoilState( @@ -89,7 +89,7 @@ export const useAddNewRecordAndOpenRightDrawer = ({ ) { createRecordPayload[ `${relationFieldMetadataItem?.relationDefinition?.sourceFieldMetadata.name}Id` - ] = entityId; + ] = recordId; } await createOneRecord(createRecordPayload); @@ -99,7 +99,7 @@ export const useAddNewRecordAndOpenRightDrawer = ({ RelationDefinitionType.OneToMany ) { await updateOneRecord({ - idToUpdate: entityId, + idToUpdate: recordId, updateOneRecordInput: { [`${relationFieldMetadataItem?.relationDefinition?.targetFieldMetadata.name}Id`]: newRecordId, diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useRelationPickerEntitiesOptions.ts b/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useRelationPickerEntitiesOptions.ts index efb3f9934267..cf484875ba26 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useRelationPickerEntitiesOptions.ts +++ b/packages/twenty-front/src/modules/object-record/relation-picker/hooks/useRelationPickerEntitiesOptions.ts @@ -37,7 +37,7 @@ export const useRelationPickerEntitiesOptions = ({ ], orderByField: 'createdAt', selectedIds: selectedRelationRecordIds, - excludeEntityIds: excludedRelationRecordIds, + excludeRecordIds: excludedRelationRecordIds, objectNameSingular: relationObjectNameSingular, }); diff --git a/packages/twenty-front/src/modules/object-record/select/hooks/useRecordsForSelect.ts b/packages/twenty-front/src/modules/object-record/select/hooks/useRecordsForSelect.ts index e12d3cec060b..cd759451c529 100644 --- a/packages/twenty-front/src/modules/object-record/select/hooks/useRecordsForSelect.ts +++ b/packages/twenty-front/src/modules/object-record/select/hooks/useRecordsForSelect.ts @@ -15,14 +15,14 @@ export const useRecordsForSelect = ({ sortOrder = 'AscNullsLast', selectedIds, limit, - excludeEntityIds = [], + excludeRecordIds = [], objectNameSingular, }: { searchFilterText: string; sortOrder?: OrderBy; selectedIds: string[]; limit?: number; - excludeEntityIds?: string[]; + excludeRecordIds?: string[]; objectNameSingular: string; }) => { const { mapToObjectRecordIdentifier } = useMapToObjectRecordIdentifier({ @@ -90,7 +90,7 @@ export const useRecordsForSelect = ({ skip: !selectedIds.length, }); - const notFilterIds = [...selectedIds, ...excludeEntityIds]; + const notFilterIds = [...selectedIds, ...excludeRecordIds]; const notFilter = notFilterIds.length ? { not: { id: { in: notFilterIds } } } : undefined; diff --git a/packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts b/packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts new file mode 100644 index 000000000000..e40d65a56157 --- /dev/null +++ b/packages/twenty-front/src/modules/object-record/utils/getRecordFieldInputId.ts @@ -0,0 +1,4 @@ +export const getRecordFieldInputId = (recordId: string, fieldName?: string): string => { + return `${recordId}-${fieldName}`; + }; + \ No newline at end of file diff --git a/packages/twenty-front/src/modules/search/hooks/__tests__/useFilteredSearchEntityQuery.test.tsx b/packages/twenty-front/src/modules/search/hooks/__tests__/useFilteredSearchEntityQuery.test.tsx index 51c7816007ab..23b7409799ca 100644 --- a/packages/twenty-front/src/modules/search/hooks/__tests__/useFilteredSearchEntityQuery.test.tsx +++ b/packages/twenty-front/src/modules/search/hooks/__tests__/useFilteredSearchEntityQuery.test.tsx @@ -87,7 +87,7 @@ describe('useFilteredSearchEntityQuery', () => { sortOrder: 'AscNullsLast', selectedIds: ['1'], limit: 10, - excludeEntityIds: ['2'], + excludeRecordIds: ['2'], objectNameSingular: 'person', }); }, diff --git a/packages/twenty-front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts b/packages/twenty-front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts index d43468a3ff37..d50f4bee0604 100644 --- a/packages/twenty-front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts +++ b/packages/twenty-front/src/modules/search/hooks/useFilteredSearchEntityQuery.ts @@ -24,7 +24,7 @@ export const useFilteredSearchEntityQuery = ({ sortOrder = 'AscNullsLast', selectedIds, limit, - excludeEntityIds = [], + excludeRecordIds = [], objectNameSingular, }: { orderByField: string; @@ -32,7 +32,7 @@ export const useFilteredSearchEntityQuery = ({ sortOrder?: OrderBy; selectedIds: string[]; limit?: number; - excludeEntityIds?: string[]; + excludeRecordIds?: string[]; objectNameSingular: string; }): EntitiesForMultipleEntitySelect => { const { mapToObjectRecordIdentifier } = useMapToObjectRecordIdentifier({ @@ -97,7 +97,7 @@ export const useFilteredSearchEntityQuery = ({ skip: !selectedIds.length, }); - const notFilterIds = [...selectedIds, ...excludeEntityIds]; + const notFilterIds = [...selectedIds, ...excludeRecordIds]; const notFilter = notFilterIds.length ? { not: { id: { in: notFilterIds } } } : undefined; diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelFieldPreview.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelFieldPreview.tsx index 2d44fe62f260..dcffc95b6891 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelFieldPreview.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/fields/preview/components/SettingsDataModelFieldPreview.tsx @@ -89,7 +89,7 @@ export const SettingsDataModelFieldPreview = ({ const fieldName = fieldMetadataItem.name || `${fieldMetadataItem.type}-new-field`; - const entityId = + const recordId = previewRecord?.id ?? `${objectMetadataItem.nameSingular}-${fieldName}-preview`; @@ -99,7 +99,7 @@ export const SettingsDataModelFieldPreview = ({ ) : ( @@ -116,7 +116,7 @@ export const SettingsDataModelFieldPreview = ({ )} { const setFieldValue = useSetRecoilState( recordStoreFamilySelector({ - recordId: entityId, + recordId, fieldName, }), ); @@ -26,8 +26,8 @@ export const SettingsDataModelSetFieldValueEffect = ({ useEffect(() => { setFieldValue(value); - setRecordFieldValue(entityId, fieldName, value); - }, [value, setFieldValue, setRecordFieldValue, entityId, fieldName]); + setRecordFieldValue(recordId, fieldName, value); + }, [value, setFieldValue, setRecordFieldValue, recordId, fieldName]); return null; }; diff --git a/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx b/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx index 139396948cc4..191957b4e24f 100644 --- a/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx +++ b/packages/twenty-front/src/testing/decorators/getFieldDecorator.tsx @@ -108,7 +108,7 @@ export const getFieldDecorator =