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