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:
@ -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,
|
||||
|
||||
@ -30,7 +30,7 @@ export const EventFieldDiffValue = ({
|
||||
<StyledEventFieldDiffValue>
|
||||
<FieldContext.Provider
|
||||
value={{
|
||||
entityId: diffArtificialRecordStoreId,
|
||||
recordId: diffArtificialRecordStoreId,
|
||||
isLabelIdentifier: isLabelIdentifierField({
|
||||
fieldMetadataItem,
|
||||
objectMetadataItem: mainObjectMetadataItem,
|
||||
|
||||
@ -66,7 +66,7 @@ export const useFieldContext = ({
|
||||
basePathToShowPage: isLabelIdentifier
|
||||
? basePathToShowPage
|
||||
: undefined,
|
||||
entityId: objectRecordId,
|
||||
recordId: objectRecordId,
|
||||
recoilScopeId: objectRecordId + fieldMetadataItem.id,
|
||||
isLabelIdentifier,
|
||||
fieldDefinition: formatFieldMetadataItemAsColumnDefinition({
|
||||
|
||||
@ -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,
|
||||
);
|
||||
});
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
import { createComponentState } from '@/ui/utilities/state/component-state/utils/createComponentState';
|
||||
|
||||
export const objectFilterDropdownSelectedEntityIdComponentState =
|
||||
createComponentState<string | null>({
|
||||
key: 'objectFilterDropdownSelectedEntityIdComponentState',
|
||||
defaultValue: null,
|
||||
});
|
||||
@ -263,7 +263,7 @@ export const RecordBoardCard = () => {
|
||||
>
|
||||
<FieldContext.Provider
|
||||
value={{
|
||||
entityId: recordId,
|
||||
recordId,
|
||||
maxWidth: 156,
|
||||
recoilScopeId: recordId + fieldDefinition.fieldMetadataId,
|
||||
isLabelIdentifier: false,
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
}}
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
}}
|
||||
|
||||
@ -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',
|
||||
}),
|
||||
);
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
}),
|
||||
)
|
||||
|
||||
@ -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 ?? '',
|
||||
);
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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',
|
||||
|
||||
@ -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: {
|
||||
|
||||
@ -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: '',
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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,
|
||||
}),
|
||||
);
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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');
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
}),
|
||||
);
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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,
|
||||
};
|
||||
};
|
||||
|
||||
@ -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,
|
||||
};
|
||||
};
|
||||
|
||||
@ -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,
|
||||
};
|
||||
};
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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,
|
||||
);
|
||||
|
||||
|
||||
@ -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());
|
||||
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
}),
|
||||
);
|
||||
|
||||
@ -36,7 +36,7 @@ export const RelationToOneFieldInput = ({
|
||||
<StyledRelationPickerContainer>
|
||||
<RelationPicker
|
||||
fieldDefinition={fieldDefinition}
|
||||
recordId={fieldValue?.id}
|
||||
selectedRecordId={fieldValue?.id}
|
||||
onSubmit={handleSubmit}
|
||||
onCancel={onCancel}
|
||||
initialSearchFilter={initialSearchValue}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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',
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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} />
|
||||
|
||||
@ -56,7 +56,7 @@ const RelationManyFieldInputWithContext = () => {
|
||||
relationFieldMetadataId: '20202020-8c37-4163-ba06-1dada334ce3e',
|
||||
},
|
||||
}}
|
||||
entityId={'entityId'}
|
||||
recordId={'recordId'}
|
||||
>
|
||||
<RelationWorkspaceSetterEffect />
|
||||
<RelationFromManyFieldInput />
|
||||
|
||||
@ -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'}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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 (
|
||||
|
||||
@ -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({
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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: {
|
||||
|
||||
@ -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: '',
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ export const RecordTableCellFieldContextWrapper = ({
|
||||
<FieldContext.Provider
|
||||
value={{
|
||||
recoilScopeId: recordId + columnDefinition.label,
|
||||
entityId: recordId,
|
||||
recordId,
|
||||
fieldDefinition: columnDefinition,
|
||||
useUpdateRecord: () => [updateRecord, {}],
|
||||
hotkeyScope: customHotkeyScope,
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -33,7 +33,7 @@ const Wrapper = ({ children }: { children: React.ReactNode }) => (
|
||||
<FieldContext.Provider
|
||||
value={{
|
||||
fieldDefinition: textfieldDefinition,
|
||||
entityId: 'entityId',
|
||||
recordId: 'recordId',
|
||||
hotkeyScope: TableHotkeyScope.Table,
|
||||
isLabelIdentifier: false,
|
||||
}}
|
||||
|
||||
@ -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',
|
||||
);
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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,
|
||||
});
|
||||
|
||||
|
||||
@ -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(
|
||||
|
||||
@ -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}
|
||||
/>
|
||||
);
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -37,7 +37,7 @@ export const useRelationPickerEntitiesOptions = ({
|
||||
],
|
||||
orderByField: 'createdAt',
|
||||
selectedIds: selectedRelationRecordIds,
|
||||
excludeEntityIds: excludedRelationRecordIds,
|
||||
excludeRecordIds: excludedRelationRecordIds,
|
||||
objectNameSingular: relationObjectNameSingular,
|
||||
});
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
export const getRecordFieldInputId = (recordId: string, fieldName?: string): string => {
|
||||
return `${recordId}-${fieldName}`;
|
||||
};
|
||||
|
||||
@ -87,7 +87,7 @@ describe('useFilteredSearchEntityQuery', () => {
|
||||
sortOrder: 'AscNullsLast',
|
||||
selectedIds: ['1'],
|
||||
limit: 10,
|
||||
excludeEntityIds: ['2'],
|
||||
excludeRecordIds: ['2'],
|
||||
objectNameSingular: 'person',
|
||||
});
|
||||
},
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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
Reference in New Issue
Block a user