Fix edit button missing in activity editor (#5757)

## Context
Fixing `setIsFocused is not a function` and the fact that edit buttons
were not showing up anymore.
A new FieldFocusContextProvider has been introduced and added to
RecordInlineCell but not ActivityTargetsInlineCell. This should fix the
issue.

<img width="523" alt="Screenshot 2024-06-05 at 17 42 07"
src="https://github.com/twentyhq/twenty/assets/1834158/1c1f919e-3829-4e40-b573-3b1b75b7c16f">
This commit is contained in:
Weiko
2024-06-05 18:14:09 +02:00
committed by GitHub
parent 89f914ebf8
commit fda0d2a170
2 changed files with 27 additions and 24 deletions

View File

@ -6,6 +6,7 @@ import { useActivityTargetObjectRecords } from '@/activities/hooks/useActivityTa
import { ActivityTargetInlineCellEditMode } from '@/activities/inline-cell/components/ActivityTargetInlineCellEditMode'; import { ActivityTargetInlineCellEditMode } from '@/activities/inline-cell/components/ActivityTargetInlineCellEditMode';
import { Activity } from '@/activities/types/Activity'; import { Activity } from '@/activities/types/Activity';
import { ActivityEditorHotkeyScope } from '@/activities/types/ActivityEditorHotkeyScope'; import { ActivityEditorHotkeyScope } from '@/activities/types/ActivityEditorHotkeyScope';
import { FieldFocusContextProvider } from '@/object-record/record-field/contexts/FieldFocusContextProvider';
import { RecordFieldInputScope } from '@/object-record/record-field/scopes/RecordFieldInputScope'; import { RecordFieldInputScope } from '@/object-record/record-field/scopes/RecordFieldInputScope';
import { RecordInlineCellContainer } from '@/object-record/record-inline-cell/components/RecordInlineCellContainer'; import { RecordInlineCellContainer } from '@/object-record/record-inline-cell/components/RecordInlineCellContainer';
import { useInlineCell } from '@/object-record/record-inline-cell/hooks/useInlineCell'; import { useInlineCell } from '@/object-record/record-inline-cell/hooks/useInlineCell';
@ -38,29 +39,31 @@ export const ActivityTargetsInlineCell = ({
return ( return (
<RecordFieldInputScope recordFieldInputScopeId={activity?.id ?? ''}> <RecordFieldInputScope recordFieldInputScopeId={activity?.id ?? ''}>
<RecordInlineCellContainer <FieldFocusContextProvider>
buttonIcon={IconPencil} <RecordInlineCellContainer
customEditHotkeyScope={{ buttonIcon={IconPencil}
scope: ActivityEditorHotkeyScope.ActivityTargets, customEditHotkeyScope={{
}} scope: ActivityEditorHotkeyScope.ActivityTargets,
IconLabel={showLabel ? IconArrowUpRight : undefined} }}
showLabel={showLabel} IconLabel={showLabel ? IconArrowUpRight : undefined}
readonly={readonly} showLabel={showLabel}
editModeContent={ readonly={readonly}
<ActivityTargetInlineCellEditMode editModeContent={
activity={activity} <ActivityTargetInlineCellEditMode
activityTargetWithTargetRecords={activityTargetObjectRecords} activity={activity}
/> activityTargetWithTargetRecords={activityTargetObjectRecords}
} />
label="Relations" }
displayModeContent={ label="Relations"
<ActivityTargetChips displayModeContent={
activityTargetObjectRecords={activityTargetObjectRecords} <ActivityTargetChips
maxWidth={maxWidth} activityTargetObjectRecords={activityTargetObjectRecords}
/> maxWidth={maxWidth}
} />
isDisplayModeContentEmpty={activityTargetObjectRecords.length === 0} }
/> isDisplayModeContentEmpty={activityTargetObjectRecords.length === 0}
/>
</FieldFocusContextProvider>
</RecordFieldInputScope> </RecordFieldInputScope>
); );
}; };

View File

@ -2,10 +2,10 @@ import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSi
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem'; import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
import { ObjectRecord } from '@/object-record/types/ObjectRecord'; import { ObjectRecord } from '@/object-record/types/ObjectRecord';
import { getLogoUrlFromDomainName } from '~/utils'; import { getLogoUrlFromDomainName } from '~/utils';
import { getImageAbsoluteURIOrBase64 } from '~/utils/image/getImageAbsoluteURIOrBase64';
import { isDefined } from '~/utils/isDefined'; import { isDefined } from '~/utils/isDefined';
import { getImageIdentifierFieldValue } from './getImageIdentifierFieldValue'; import { getImageIdentifierFieldValue } from './getImageIdentifierFieldValue';
import { getImageAbsoluteURIOrBase64 } from '~/utils/image/getImageAbsoluteURIOrBase64';
export const getAvatarUrl = ( export const getAvatarUrl = (
objectNameSingular: string, objectNameSingular: string,