Fix missing record field component instanceId
This commit is contained in:
@ -5,6 +5,7 @@ import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
||||
import { isLabelIdentifierField } from '@/object-metadata/utils/isLabelIdentifierField';
|
||||
import { FieldDisplay } from '@/object-record/record-field/components/FieldDisplay';
|
||||
import { FieldContext } from '@/object-record/record-field/contexts/FieldContext';
|
||||
import { RecordFieldComponentInstanceContext } from '@/object-record/record-field/states/contexts/RecordFieldComponentInstanceContext';
|
||||
|
||||
type EventFieldDiffValueProps = {
|
||||
diffArtificialRecordStoreId: string;
|
||||
@ -28,30 +29,36 @@ export const EventFieldDiffValue = ({
|
||||
}: EventFieldDiffValueProps) => {
|
||||
return (
|
||||
<StyledEventFieldDiffValue>
|
||||
<FieldContext.Provider
|
||||
<RecordFieldComponentInstanceContext.Provider
|
||||
value={{
|
||||
recordId: diffArtificialRecordStoreId,
|
||||
isLabelIdentifier: isLabelIdentifierField({
|
||||
fieldMetadataItem,
|
||||
objectMetadataItem: mainObjectMetadataItem,
|
||||
}),
|
||||
fieldDefinition: {
|
||||
type: fieldMetadataItem.type,
|
||||
iconName: fieldMetadataItem?.icon || 'FieldIcon',
|
||||
fieldMetadataId: fieldMetadataItem.id || '',
|
||||
label: fieldMetadataItem.label,
|
||||
metadata: {
|
||||
fieldName: fieldMetadataItem.name,
|
||||
objectMetadataNameSingular: mainObjectMetadataItem.nameSingular,
|
||||
options: fieldMetadataItem.options ?? [],
|
||||
},
|
||||
defaultValue: fieldMetadataItem.defaultValue,
|
||||
},
|
||||
hotkeyScope: 'field-event-diff',
|
||||
instanceId: `${diffArtificialRecordStoreId}-${fieldMetadataItem.name}`,
|
||||
}}
|
||||
>
|
||||
<FieldDisplay />
|
||||
</FieldContext.Provider>
|
||||
<FieldContext.Provider
|
||||
value={{
|
||||
recordId: diffArtificialRecordStoreId,
|
||||
isLabelIdentifier: isLabelIdentifierField({
|
||||
fieldMetadataItem,
|
||||
objectMetadataItem: mainObjectMetadataItem,
|
||||
}),
|
||||
fieldDefinition: {
|
||||
type: fieldMetadataItem.type,
|
||||
iconName: fieldMetadataItem?.icon || 'FieldIcon',
|
||||
fieldMetadataId: fieldMetadataItem.id || '',
|
||||
label: fieldMetadataItem.label,
|
||||
metadata: {
|
||||
fieldName: fieldMetadataItem.name,
|
||||
objectMetadataNameSingular: mainObjectMetadataItem.nameSingular,
|
||||
options: fieldMetadataItem.options ?? [],
|
||||
},
|
||||
defaultValue: fieldMetadataItem.defaultValue,
|
||||
},
|
||||
hotkeyScope: 'field-event-diff',
|
||||
}}
|
||||
>
|
||||
<FieldDisplay />
|
||||
</FieldContext.Provider>
|
||||
</RecordFieldComponentInstanceContext.Provider>
|
||||
</StyledEventFieldDiffValue>
|
||||
);
|
||||
};
|
||||
|
||||
@ -41,7 +41,6 @@ import { FieldInputEvent } from '../types/FieldInputEvent';
|
||||
import { isFieldText } from '../types/guards/isFieldText';
|
||||
|
||||
type FieldInputProps = {
|
||||
recordFieldInputdId: string;
|
||||
onSubmit?: FieldInputEvent;
|
||||
onCancel?: () => void;
|
||||
onClickOutside?: (
|
||||
|
||||
@ -12,7 +12,6 @@ import { useIsFieldInputOnly } from '@/object-record/record-field/hooks/useIsFie
|
||||
import { useIsFieldValueReadOnly } from '@/object-record/record-field/hooks/useIsFieldValueReadOnly';
|
||||
import { useOpenFieldInputEditMode } from '@/object-record/record-field/hooks/useOpenFieldInputEditMode';
|
||||
import { FieldInputClickOutsideEvent } from '@/object-record/record-field/meta-types/input/components/DateTimeFieldInput';
|
||||
import { RecordFieldComponentInstanceContext } from '@/object-record/record-field/states/contexts/RecordFieldComponentInstanceContext';
|
||||
import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition';
|
||||
import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata';
|
||||
import { isFieldRelation } from '@/object-record/record-field/types/guards/isFieldRelation';
|
||||
@ -23,7 +22,6 @@ import { MultipleRecordPickerHotkeyScope } from '@/object-record/record-picker/m
|
||||
import { SingleRecordPickerHotkeyScope } from '@/object-record/record-picker/single-record-picker/types/SingleRecordPickerHotkeyScope';
|
||||
import { SelectFieldHotkeyScope } from '@/object-record/select/types/SelectFieldHotkeyScope';
|
||||
import { currentHotkeyScopeState } from '@/ui/utilities/hotkey/states/internal/currentHotkeyScopeState';
|
||||
import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow';
|
||||
import { useRecoilCallback } from 'recoil';
|
||||
import { RelationDefinitionType } from '~/generated-metadata/graphql';
|
||||
import { RecordInlineCellContainer } from './RecordInlineCellContainer';
|
||||
@ -46,10 +44,6 @@ export const RecordInlineCell = ({ loading }: RecordInlineCellProps) => {
|
||||
onCloseEditMode,
|
||||
} = useContext(FieldContext);
|
||||
|
||||
const recordFieldComponentInstanceId = useAvailableComponentInstanceIdOrThrow(
|
||||
RecordFieldComponentInstanceContext,
|
||||
);
|
||||
|
||||
const buttonIcon = useGetButtonIcon();
|
||||
|
||||
const isFieldInputOnly = useIsFieldInputOnly();
|
||||
@ -147,7 +141,6 @@ export const RecordInlineCell = ({ loading }: RecordInlineCellProps) => {
|
||||
isCentered,
|
||||
editModeContent: (
|
||||
<FieldInput
|
||||
recordFieldInputdId={recordFieldComponentInstanceId}
|
||||
onEnter={handleEnter}
|
||||
onCancel={handleCancel}
|
||||
onEscape={handleEscape}
|
||||
|
||||
@ -9,7 +9,6 @@ import { useInitDraftValueV2 } from '@/object-record/record-field/hooks/useInitD
|
||||
import { RecordFieldComponentInstanceContext } from '@/object-record/record-field/states/contexts/RecordFieldComponentInstanceContext';
|
||||
import { useRecordInlineCellContext } from '@/object-record/record-inline-cell/components/RecordInlineCellContext';
|
||||
import { getDropdownFocusIdForRecordField } from '@/object-record/utils/getDropdownFocusIdForRecordField';
|
||||
import { getRecordFieldInputId } from '@/object-record/utils/getRecordFieldInputId';
|
||||
import { useGoBackToPreviousDropdownFocusId } from '@/ui/layout/dropdown/hooks/useGoBackToPreviousDropdownFocusId';
|
||||
import { useSetActiveDropdownFocusIdAndMemorizePrevious } from '@/ui/layout/dropdown/hooks/useSetFocusedDropdownIdAndMemorizePrevious';
|
||||
import { useAvailableComponentInstanceIdOrThrow } from '@/ui/utilities/state/component-state/hooks/useAvailableComponentInstanceIdOrThrow';
|
||||
@ -59,11 +58,7 @@ export const useInlineCell = (
|
||||
initFieldInputDraftValue({
|
||||
recordId,
|
||||
fieldDefinition,
|
||||
fieldComponentInstanceId: getRecordFieldInputId(
|
||||
recordId,
|
||||
fieldDefinition.metadata.fieldName,
|
||||
'inline-cell',
|
||||
),
|
||||
fieldComponentInstanceId: recordFieldComponentInstanceId,
|
||||
});
|
||||
|
||||
if (isDefined(customEditHotkeyScopeForField)) {
|
||||
|
||||
@ -1,19 +1,13 @@
|
||||
import { useContext } from 'react';
|
||||
|
||||
import { FieldInput } from '@/object-record/record-field/components/FieldInput';
|
||||
import { FieldContext } from '@/object-record/record-field/contexts/FieldContext';
|
||||
import { useIsFieldValueReadOnly } from '@/object-record/record-field/hooks/useIsFieldValueReadOnly';
|
||||
import { FieldInputClickOutsideEvent } from '@/object-record/record-field/meta-types/input/components/DateTimeFieldInput';
|
||||
import { FieldInputEvent } from '@/object-record/record-field/types/FieldInputEvent';
|
||||
import { useRecordTableBodyContextOrThrow } from '@/object-record/record-table/contexts/RecordTableBodyContext';
|
||||
import { TableHotkeyScope } from '@/object-record/record-table/types/TableHotkeyScope';
|
||||
import { getRecordFieldInputId } from '@/object-record/utils/getRecordFieldInputId';
|
||||
import { currentHotkeyScopeState } from '@/ui/utilities/hotkey/states/internal/currentHotkeyScopeState';
|
||||
import { useRecoilCallback } from 'recoil';
|
||||
|
||||
export const RecordTableCellFieldInput = () => {
|
||||
const { recordId, fieldDefinition } = useContext(FieldContext);
|
||||
|
||||
const { onMoveFocus, onCloseTableCell } = useRecordTableBodyContextOrThrow();
|
||||
|
||||
const isFieldReadOnly = useIsFieldValueReadOnly();
|
||||
@ -74,10 +68,6 @@ export const RecordTableCellFieldInput = () => {
|
||||
|
||||
return (
|
||||
<FieldInput
|
||||
recordFieldInputdId={getRecordFieldInputId(
|
||||
recordId,
|
||||
fieldDefinition?.metadata?.fieldName,
|
||||
)}
|
||||
onCancel={handleCancel}
|
||||
onClickOutside={handleClickOutside}
|
||||
onEnter={handleEnter}
|
||||
|
||||
Reference in New Issue
Block a user