Replace entityId by recordId in the front end. (#6355)

Hey @lucasbordeau, I replaced every `entityId` with `recordId` in the
frontend.

### Some clarifications:

1. At [this
line](0b207d26b6 (diff-b4f415dd1f060307ad61f64394ee96b2912f6015e26c7fd2eab4b8c6a84d2d07L14)),
I changed `recordId` to `selectedRecordId` because that component has
`entityId` defined in code at [this
line](0b207d26b6 (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](0b207d26b6 (diff-52b780bdd4cfc582ca7e1b457dbbd63733bfbb7790fc421054bbd2dbf0389e16))
- [File
2](0b207d26b6 (diff-6d47cb9a59dfcf6b1495937084ae799a61da6afccb21208f04ce8e1f5afca0e4))
- [File
3](0b207d26b6 (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 <felix.malfait@gmail.com>
This commit is contained in:
nitin
2024-08-07 12:22:57 +05:30
committed by GitHub
parent 0c99bfbc31
commit a7941315e7
102 changed files with 303 additions and 310 deletions

View File

@ -100,7 +100,7 @@ export const CalendarEventDetails = ({
<StyledPropertyBox key={fieldName}>
<FieldContext.Provider
value={{
entityId: calendarEvent.id,
recordId: calendarEvent.id,
hotkeyScope: 'calendar-event-details',
recoilScopeId: `${calendarEvent.id}-${fieldName}`,
isLabelIdentifier: false,

View File

@ -30,7 +30,7 @@ export const EventFieldDiffValue = ({
<StyledEventFieldDiffValue>
<FieldContext.Provider
value={{
entityId: diffArtificialRecordStoreId,
recordId: diffArtificialRecordStoreId,
isLabelIdentifier: isLabelIdentifierField({
fieldMetadataItem,
objectMetadataItem: mainObjectMetadataItem,

View File

@ -66,7 +66,7 @@ export const useFieldContext = ({
basePathToShowPage: isLabelIdentifier
? basePathToShowPage
: undefined,
entityId: objectRecordId,
recordId: objectRecordId,
recoilScopeId: objectRecordId + fieldMetadataItem.id,
isLabelIdentifier,
fieldDefinition: formatFieldMetadataItemAsColumnDefinition({

View File

@ -178,31 +178,33 @@ describe('useFilterDropdown', () => {
});
});
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,
);
});

View File

@ -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,

View File

@ -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,

View File

@ -1,7 +0,0 @@
import { createComponentState } from '@/ui/utilities/state/component-state/utils/createComponentState';
export const objectFilterDropdownSelectedEntityIdComponentState =
createComponentState<string | null>({
key: 'objectFilterDropdownSelectedEntityIdComponentState',
defaultValue: null,
});

View File

@ -263,7 +263,7 @@ export const RecordBoardCard = () => {
>
<FieldContext.Provider
value={{
entityId: recordId,
recordId,
maxWidth: 156,
recoilScopeId: recordId + fieldDefinition.fieldMetadataId,
isLabelIdentifier: false,

View File

@ -22,7 +22,7 @@ export type RecordUpdateHook = () => [
export type GenericFieldContextType = {
fieldDefinition: FieldDefinition<FieldMetadata>;
useUpdateRecord?: RecordUpdateHook;
entityId: string;
recordId: string;
recoilScopeId?: string;
hotkeyScope: string;
isLabelIdentifier: boolean;

View File

@ -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<FieldMetadata>) =>
@ -20,7 +20,7 @@ const getWrapper =
<FieldContext.Provider
value={{
fieldDefinition,
entityId,
recordId,
hotkeyScope: 'hotkeyScope',
isLabelIdentifier: false,
}}

View File

@ -7,13 +7,13 @@ import { FieldContext } from '@/object-record/record-field/contexts/FieldContext
import { useIsFieldEmpty } from '@/object-record/record-field/hooks/useIsFieldEmpty';
import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState';
const entityId = 'entityId';
const recordId = 'recordId';
const Wrapper = ({ children }: { children: ReactNode }) => (
<FieldContext.Provider
value={{
fieldDefinition: phoneFieldDefinition,
entityId,
recordId,
hotkeyScope: 'hotkeyScope',
isLabelIdentifier: false,
}}
@ -27,7 +27,7 @@ describe('useIsFieldEmpty', () => {
const { result } = renderHook(
() => {
const setFieldState = useSetRecoilState(
recordStoreFamilyState(entityId),
recordStoreFamilyState(recordId),
);
return {
setFieldState,

View File

@ -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<FieldMetadata>) =>
@ -19,7 +19,7 @@ const getWrapper =
<FieldContext.Provider
value={{
fieldDefinition,
entityId,
recordId,
hotkeyScope: 'hotkeyScope',
isLabelIdentifier: false,
}}

View File

@ -55,12 +55,12 @@ const mocks: MockedResponse[] = [
{
request: {
query,
variables: { idToUpdate: 'entityId', input: { phone: '+1 123 456' } },
variables: { idToUpdate: 'recordId', input: { phone: '+1 123 456' } },
},
result: jest.fn(() => ({
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<FieldMetadata>) =>
@ -108,7 +108,7 @@ const getWrapper =
<FieldContext.Provider
value={{
fieldDefinition,
entityId,
recordId,
hotkeyScope: 'hotkeyScope',
isLabelIdentifier: false,
useUpdateRecord: useUpdateOneRecordMutation,
@ -128,7 +128,7 @@ describe('usePersistField', () => {
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',
}),
);

View File

@ -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 }) => {
<FieldContext.Provider
value={{
fieldDefinition: booleanFieldDefinition,
entityId,
recordId,
hotkeyScope: 'hotkeyScope',
isLabelIdentifier: false,
useUpdateRecord: useUpdateOneRecordMutation,

View File

@ -10,7 +10,7 @@ import { FieldContext } from '../contexts/FieldContext';
export const useClearField = () => {
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;

View File

@ -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 = <FieldValue>() => {
@ -16,14 +17,17 @@ export const useInitDraftValueV2 = <FieldValue>() => {
({ set, snapshot }) =>
({
value,
entityId,
recordId,
fieldDefinition,
}: {
value?: string;
entityId: string;
recordId: string;
fieldDefinition: FieldDefinition<FieldMetadata>;
}) => {
const recordFieldInputScopeId = `${entityId}-${fieldDefinition?.metadata?.fieldName}-scope`;
const recordFieldInputScopeId = `${getRecordFieldInputId(
recordId,
fieldDefinition?.metadata?.fieldName,
)}-scope`;
const getDraftValueSelector = extractComponentSelector<
FieldInputDraftValue<FieldValue> | undefined
@ -32,7 +36,7 @@ export const useInitDraftValueV2 = <FieldValue>() => {
const recordFieldValue = snapshot
.getLoadable(
recordStoreFamilySelector<FieldValue>({
recordId: entityId,
recordId,
fieldName: fieldDefinition.metadata.fieldName,
}),
)

View File

@ -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 ?? '',
);

View File

@ -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;

View File

@ -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;

View File

@ -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 (
<FieldContext.Provider
value={{
entityId: entityId ?? '1',
recordId: recordId ?? '1',
isLabelIdentifier: false,
recoilScopeId: '1',
hotkeyScope: 'hotkey-scope',

View File

@ -24,11 +24,11 @@ import {
const RelationFieldValueSetterEffect = () => {
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 = {
<RecordFieldValueSelectorContextProvider>
<FieldContext.Provider
value={{
entityId: relationFromManyFieldDisplayMock.entityId,
recordId: relationFromManyFieldDisplayMock.recordId,
basePathToShowPage: '/object-record/',
isLabelIdentifier: false,
fieldDefinition: {

View File

@ -114,8 +114,8 @@ export const otherPersonMock = {
};
export const relationFromManyFieldDisplayMock = {
entityId: '20202020-2d40-4e49-8df4-9c6a049191df',
relationEntityId: '20202020-c21e-4ec2-873b-de4264d89025',
recordId: '20202020-2d40-4e49-8df4-9c6a049191df',
relationRecordId: '20202020-c21e-4ec2-873b-de4264d89025',
entityValue: {
__typename: 'Person',
asd: '',

View File

@ -13,7 +13,7 @@ import { assertFieldMetadata } from '../../types/guards/assertFieldMetadata';
import { isFieldAddress } from '../../types/guards/isFieldAddress';
export const useAddressField = () => {
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<FieldAddressValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -41,7 +41,7 @@ export const useAddressField = () => {
};
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldAddressValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldAddressValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<FieldAddressValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<boolean>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);

View File

@ -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<boolean | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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,

View File

@ -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');

View File

@ -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<FieldCurrencyValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -56,7 +56,7 @@ export const useCurrencyField = () => {
};
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldCurrencyValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldCurrencyValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<FieldCurrencyValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<string>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
const { setDraftValue } = useRecordFieldInput<FieldDateValue>(
`${entityId}-${fieldName}`,
`${recordId}-${fieldName}`,
);
return {

View File

@ -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<string | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<string>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
const { setDraftValue } = useRecordFieldInput<FieldDateTimeValue>(
`${entityId}-${fieldName}`,
`${recordId}-${fieldName}`,
);
return {

View File

@ -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<string | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<string>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldEmailValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldEmailValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<string>(entityId, fieldName);
const fieldValue = useRecordFieldValue<string>(recordId, fieldName);
return {
fieldDefinition,

View File

@ -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<FieldFullNameValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -41,7 +41,7 @@ export const useFullNameField = () => {
};
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldFullNameValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldFullNameValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<FieldFullNameValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<FieldJsonValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -43,7 +43,7 @@ export const useJsonField = () => {
};
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldJsonValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldJsonValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<FieldJsonValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<FieldLinkValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldLinkValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldLinkValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<FieldLinkValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<FieldLinksValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldLinksValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldLinksValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<FieldLinksValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<FieldMultiSelectValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -35,7 +35,7 @@ export const useMultiSelectField = () => {
const persistField = usePersistField();
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldMultiSelectValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldMultiSelectValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());
return {

View File

@ -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<FieldMultiSelectValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<number | null>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -42,7 +42,7 @@ export const useNumberField = () => {
};
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldNumberValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldNumberValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<number | null>(entityId, fieldName);
const fieldValue = useRecordFieldValue<number | null>(recordId, fieldName);
return {
fieldDefinition,

View File

@ -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<string>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -45,7 +45,7 @@ export const usePhoneField = () => {
persistField(newPhoneValue);
};
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldPhoneValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldPhoneValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<string>(entityId, fieldName);
const fieldValue = useRecordFieldValue<string>(recordId, fieldName);
return {
fieldDefinition,

View File

@ -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<FieldRatingValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);

View File

@ -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;

View File

@ -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<FieldRelationValue<T>>(
recordStoreFamilySelector({ recordId: entityId, fieldName }),
recordStoreFamilySelector({ recordId, fieldName }),
);
const { getDraftValueSelector } = useRecordFieldInput<FieldRelationValue<T>>(
`${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,
};
};

View File

@ -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<ObjectRecord[] | undefined>(
entityId,
recordId,
fieldName,
);
@ -57,7 +57,7 @@ export const useRelationFromManyFieldDisplay = () => {
fieldDefinition,
fieldValue,
maxWidth: maxWidthForField,
entityId,
recordId,
generateRecordChipData,
};
};

View File

@ -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<ObjectRecord | undefined>(
entityId,
recordId,
fieldName,
);
@ -57,7 +57,7 @@ export const useRelationToOneFieldDisplay = () => {
fieldDefinition,
fieldValue,
maxWidth: maxWidthForField,
entityId,
recordId,
generateRecordChipData,
};
};

View File

@ -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<FieldSelectValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
@ -30,7 +30,7 @@ export const useSelectField = () => {
const persistField = usePersistField();
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldSelectValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldSelectValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());
return {

View File

@ -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<FieldSelectValue | undefined>(
entityId,
recordId,
fieldName,
);

View File

@ -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<FieldTextValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);
const fieldTextValue = isFieldTextValue(fieldValue) ? fieldValue : '';
const { setDraftValue, getDraftValueSelector } =
useRecordFieldInput<FieldTextValue>(`${entityId}-${fieldName}`);
useRecordFieldInput<FieldTextValue>(`${recordId}-${fieldName}`);
const draftValue = useRecoilValue(getDraftValueSelector());

View File

@ -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<string | undefined>(entityId, fieldName) ?? '';
useRecordFieldValue<string | undefined>(recordId, fieldName) ?? '';
return {
fieldDefinition,

View File

@ -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<FieldUUidValue>(
recordStoreFamilySelector({
recordId: entityId,
recordId,
fieldName: fieldName,
}),
);

View File

@ -36,7 +36,7 @@ export const RelationToOneFieldInput = ({
<StyledRelationPickerContainer>
<RelationPicker
fieldDefinition={fieldDefinition}
recordId={fieldValue?.id}
selectedRecordId={fieldValue?.id}
onSubmit={handleSubmit}
onCancel={onCancel}
initialSearchFilter={initialSearchValue}

View File

@ -29,11 +29,11 @@ const AddressValueSetterEffect = ({
type AddressInputWithContextProps = AddressInputProps & {
value: string;
entityId?: string;
recordId?: string;
};
const AddressInputWithContext = ({
entityId,
recordId,
value,
onEnter,
onEscape,
@ -61,7 +61,7 @@ const AddressInputWithContext = ({
objectMetadataNameSingular: 'person',
},
}}
entityId={entityId}
recordId={recordId}
>
<AddressValueSetterEffect value={value} />
<AddressInput

View File

@ -14,28 +14,28 @@ import {
const BooleanFieldValueSetterEffect = ({
value,
entityId,
recordId,
}: {
value: boolean;
entityId: string;
recordId: string;
}) => {
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}
>
<BooleanFieldValueSetterEffect value={value} entityId={entityId ?? ''} />
<BooleanFieldValueSetterEffect value={value} recordId={recordId ?? ''} />
<BooleanFieldInput onSubmit={onSubmit} testId="boolean-field-input" />
</FieldContextProvider>
);
@ -64,7 +64,7 @@ const meta: Meta = {
component: BooleanFieldInputWithContext,
args: {
value: true,
entityId: 'id-1',
recordId: 'id-1',
},
};

View File

@ -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}
>
<DateFieldValueSetterEffect value={value} />
<DateFieldValueGater

View File

@ -22,11 +22,11 @@ const EmailFieldValueSetterEffect = ({ value }: { value: string }) => {
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}
>
<EmailFieldValueSetterEffect value={value} />
<EmailFieldInput

View File

@ -22,11 +22,11 @@ const NumberFieldValueSetterEffect = ({ value }: { value: number }) => {
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}
>
<NumberFieldValueSetterEffect value={value} />
<NumberFieldInput

View File

@ -22,11 +22,11 @@ const PhoneFieldValueSetterEffect = ({ value }: { value: string }) => {
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}
>
<PhoneFieldValueSetterEffect value={value} />
<PhoneFieldInput

View File

@ -27,11 +27,11 @@ const RatingFieldValueSetterEffect = ({
type RatingFieldInputWithContextProps = RatingFieldInputProps & {
value: FieldRatingValue;
entityId?: string;
recordId?: string;
};
const RatingFieldInputWithContext = ({
entityId,
recordId,
value,
onSubmit,
}: RatingFieldInputWithContextProps) => {
@ -53,7 +53,7 @@ const RatingFieldInputWithContext = ({
objectMetadataNameSingular: 'person',
},
}}
entityId={entityId}
recordId={recordId}
>
<RatingFieldValueSetterEffect value={value} />
<RatingFieldInput onSubmit={onSubmit} />

View File

@ -56,7 +56,7 @@ const RelationManyFieldInputWithContext = () => {
relationFieldMetadataId: '20202020-8c37-4163-ba06-1dada334ce3e',
},
}}
entityId={'entityId'}
recordId={'recordId'}
>
<RelationWorkspaceSetterEffect />
<RelationFromManyFieldInput />

View File

@ -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}
>
<RelationPickerScope
relationPickerScopeId={'relation-to-one-field-input'}

View File

@ -22,11 +22,11 @@ const TextFieldValueSetterEffect = ({ value }: { value: string }) => {
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}
>
<TextFieldValueSetterEffect value={value} />
<TextFieldInput

View File

@ -14,7 +14,7 @@ export const useUpdateRelationFromManyFieldInput = ({
}: {
scopeId: string;
}) => {
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,

View File

@ -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={
<FieldInput
recordFieldInputdId={`${entityId}-${fieldDefinition?.metadata?.fieldName}`}
recordFieldInputdId={getRecordFieldInputId(recordId, fieldDefinition?.metadata?.fieldName)}
onEnter={handleEnter}
onCancel={handleCancel}
onEscape={handleEscape}

View File

@ -8,6 +8,7 @@ import { useFieldFocus } from '@/object-record/record-field/hooks/useFieldFocus'
import { RecordInlineCellValue } from '@/object-record/record-inline-cell/components/RecordInlineCellValue';
import { EllipsisDisplay } from '@/ui/field/display/components/EllipsisDisplay';
import { HotkeyScope } from '@/ui/utilities/hotkey/types/HotkeyScope';
import { getRecordFieldInputId } from '@/object-record/utils/getRecordFieldInputId';
const StyledIconContainer = styled.div`
align-items: center;
@ -94,7 +95,7 @@ export const RecordInlineCellContainer = ({
loading = false,
isCentered,
}: RecordInlineCellContainerProps) => {
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 (
<StyledInlineCellBaseContainer

View File

@ -13,7 +13,7 @@ import { InlineCellHotkeyScope } from '../types/InlineCellHotkeyScope';
export const useInlineCell = () => {
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(

View File

@ -163,7 +163,7 @@ export const RecordShowContainer = ({
title={
<FieldContext.Provider
value={{
entityId: objectRecordId,
recordId: objectRecordId,
recoilScopeId:
objectRecordId + labelIdentifierFieldMetadataItem?.id,
isLabelIdentifier: false,
@ -211,7 +211,7 @@ export const RecordShowContainer = ({
<FieldContext.Provider
key={objectRecordId + fieldMetadataItem.id}
value={{
entityId: objectRecordId,
recordId: objectRecordId,
maxWidth: 200,
recoilScopeId: objectRecordId + fieldMetadataItem.id,
isLabelIdentifier: false,
@ -244,7 +244,7 @@ export const RecordShowContainer = ({
<FieldContext.Provider
key={objectRecordId + fieldMetadataItem.id}
value={{
entityId: objectRecordId,
recordId: objectRecordId,
maxWidth: 200,
recoilScopeId: objectRecordId + fieldMetadataItem.id,
isLabelIdentifier: false,
@ -277,7 +277,7 @@ export const RecordShowContainer = ({
<FieldContext.Provider
key={objectRecordId + fieldMetadataItem.id}
value={{
entityId: objectRecordId,
recordId: objectRecordId,
recoilScopeId: objectRecordId + fieldMetadataItem.id,
isLabelIdentifier: false,
fieldDefinition: formatFieldMetadataItemAsColumnDefinition({

View File

@ -230,7 +230,7 @@ export const RecordDetailRelationRecordsListItem = ({
<FieldContext.Provider
key={fieldMetadataItem.id}
value={{
entityId: relationRecord.id,
recordId: relationRecord.id,
maxWidth: 200,
recoilScopeId: `${relationRecord.id}-${fieldMetadataItem.id}`,
isLabelIdentifier: false,

View File

@ -40,14 +40,14 @@ const StyledAddDropdown = styled(Dropdown)`
export const RecordDetailRelationSection = ({
loading,
}: RecordDetailRelationSectionProps) => {
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<string, any>) | 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 (

View File

@ -26,7 +26,7 @@ const meta: Meta<typeof RecordDetailRelationSection> = {
(Story) => (
<FieldContext.Provider
value={{
entityId: companiesMock[0].id,
recordId: companiesMock[0].id,
basePathToShowPage: '/object-record/',
isLabelIdentifier: false,
fieldDefinition: formatFieldMetadataItemAsFieldDefinition({

View File

@ -40,14 +40,14 @@ export const RecordTableContextProvider = ({
const handleUpsertRecord = ({
persistField,
entityId,
recordId,
fieldName,
}: {
persistField: () => void;
entityId: string;
recordId: string;
fieldName: string;
}) => {
upsertRecord(persistField, entityId, fieldName, recordTableId);
upsertRecord(persistField, recordId, fieldName, recordTableId);
};
const { openTableCell } = useOpenRecordTableCellV2(recordTableId);

View File

@ -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 = {
<RecordFieldValueSelectorContextProvider>
<RecordTableContext.Provider
value={{
viewBarId: mockPerformance.entityId,
viewBarId: mockPerformance.recordId,
objectMetadataItem: mockPerformance.objectMetadataItem as any,
onUpsertRecord: () => {},
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 = {
>
<FieldContext.Provider
value={{
entityId: mockPerformance.entityId,
recordId: mockPerformance.recordId,
basePathToShowPage: '/object-record/',
isLabelIdentifier: false,
fieldDefinition: {

View File

@ -771,8 +771,8 @@ export const mockPerformance = {
},
],
},
entityId: '20202020-2d40-4e49-8df4-9c6a049191df',
relationEntityId: '20202020-c21e-4ec2-873b-de4264d89025',
recordId: '20202020-2d40-4e49-8df4-9c6a049191df',
relationRecordId: '20202020-c21e-4ec2-873b-de4264d89025',
entityValue: {
__typename: 'Person',
asd: '',

View File

@ -13,11 +13,11 @@ export type RecordTableContextProps = {
objectMetadataItem: ObjectMetadataItem;
onUpsertRecord: ({
persistField,
entityId,
recordId,
fieldName,
}: {
persistField: () => void;
entityId: string;
recordId: string;
fieldName: string;
}) => void;
onOpenTableCell: (args: OpenTableCellArgs) => void;

View File

@ -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);
}
}

View File

@ -38,7 +38,7 @@ export const RecordTableCellFieldContextWrapper = ({
<FieldContext.Provider
value={{
recoilScopeId: recordId + columnDefinition.label,
entityId: recordId,
recordId,
fieldDefinition: columnDefinition,
useUpdateRecord: () => [updateRecord, {}],
hotkeyScope: customHotkeyScope,

View File

@ -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 (
<FieldInput
recordFieldInputdId={`${entityId}-${fieldDefinition?.metadata?.fieldName}`}
recordFieldInputdId={getRecordFieldInputId(
recordId,
fieldDefinition?.metadata?.fieldName,
)}
onCancel={handleCancel}
onClickOutside={handleClickOutside}
onEnter={handleEnter}

View File

@ -33,7 +33,7 @@ const Wrapper = ({ children }: { children: React.ReactNode }) => (
<FieldContext.Provider
value={{
fieldDefinition: textfieldDefinition,
entityId: 'entityId',
recordId: 'recordId',
hotkeyScope: TableHotkeyScope.Table,
isLabelIdentifier: false,
}}

View File

@ -75,7 +75,7 @@ const Wrapper = ({
>
<FieldContext.Provider
value={{
entityId: 'entityId',
recordId: 'recordId',
fieldDefinition: {
...textfieldDefinition,
metadata: {
@ -114,7 +114,7 @@ describe('useUpsertRecord', () => {
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',
);

View File

@ -23,14 +23,14 @@ export type OpenTableCellArgs = {
pathToShowPage: string;
customCellHotkeyScope: HotkeyScope | null;
fieldDefinition: FieldDefinition<FieldMetadata>;
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,

View File

@ -36,7 +36,7 @@ export type OpenTableCellArgs = {
objectNameSingular: string;
customCellHotkeyScope: HotkeyScope | null;
fieldDefinition: FieldDefinition<FieldMetadata>;
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,
});

View File

@ -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(

View File

@ -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}
/>
);

View File

@ -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,

View File

@ -37,7 +37,7 @@ export const useRelationPickerEntitiesOptions = ({
],
orderByField: 'createdAt',
selectedIds: selectedRelationRecordIds,
excludeEntityIds: excludedRelationRecordIds,
excludeRecordIds: excludedRelationRecordIds,
objectNameSingular: relationObjectNameSingular,
});

View File

@ -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;

View File

@ -0,0 +1,4 @@
export const getRecordFieldInputId = (recordId: string, fieldName?: string): string => {
return `${recordId}-${fieldName}`;
};

View File

@ -87,7 +87,7 @@ describe('useFilteredSearchEntityQuery', () => {
sortOrder: 'AscNullsLast',
selectedIds: ['1'],
limit: 10,
excludeEntityIds: ['2'],
excludeRecordIds: ['2'],
objectNameSingular: 'person',
});
},

View File

@ -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<EntityForSelect> => {
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;

View File

@ -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 = ({
<SettingsDataModelSetRecordEffect record={previewRecord} />
) : (
<SettingsDataModelSetFieldValueEffect
entityId={entityId}
recordId={recordId}
fieldName={fieldName}
value={fieldPreviewValue}
/>
@ -116,7 +116,7 @@ export const SettingsDataModelFieldPreview = ({
)}
<FieldContext.Provider
value={{
entityId,
recordId,
isLabelIdentifier,
fieldDefinition: {
type: fieldMetadataItem.type,

View File

@ -5,19 +5,19 @@ import { useSetRecordFieldValue } from '@/object-record/record-store/contexts/Re
import { recordStoreFamilySelector } from '@/object-record/record-store/states/selectors/recordStoreFamilySelector';
type SettingsDataModelSetFieldValueEffectProps = {
entityId: string;
recordId: string;
fieldName: string;
value: unknown;
};
export const SettingsDataModelSetFieldValueEffect = ({
entityId,
recordId,
fieldName,
value,
}: SettingsDataModelSetFieldValueEffectProps) => {
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;
};

Some files were not shown because too many files have changed in this diff Show More