Fixed record inline cell fields on activity editor (#2634)
Created a generic useFieldContext hook to wrap RecordInlineCell anywhere in the app easily
This commit is contained in:
@ -7,7 +7,9 @@ import { ActivityTypeDropdown } from '@/activities/components/ActivityTypeDropdo
|
||||
import { Activity } from '@/activities/types/Activity';
|
||||
import { ActivityTarget } from '@/activities/types/ActivityTarget';
|
||||
import { Comment } from '@/activities/types/Comment';
|
||||
import { useFieldContext } from '@/object-record/hooks/useFieldContext';
|
||||
import { useUpdateOneObjectRecord } from '@/object-record/hooks/useUpdateOneObjectRecord';
|
||||
import { RecordInlineCell } from '@/ui/object/record-inline-cell/components/RecordInlineCell';
|
||||
import { PropertyBox } from '@/ui/object/record-inline-cell/property-box/components/PropertyBox';
|
||||
import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile';
|
||||
import { WorkspaceMember } from '@/workspace-member/types/WorkspaceMember';
|
||||
@ -73,10 +75,6 @@ export const ActivityEditor = ({
|
||||
const [hasUserManuallySetTitle, setHasUserManuallySetTitle] =
|
||||
useState<boolean>(false);
|
||||
|
||||
console.log({
|
||||
activity,
|
||||
});
|
||||
|
||||
const [title, setTitle] = useState<string | null>(activity.title ?? '');
|
||||
const [completedAt, setCompletedAt] = useState<string | null>(
|
||||
activity.completedAt ?? '',
|
||||
@ -86,6 +84,21 @@ export const ActivityEditor = ({
|
||||
objectNameSingular: 'activity',
|
||||
});
|
||||
|
||||
const { FieldContextProvider: DueAtFieldContextProvider } = useFieldContext({
|
||||
objectNameSingular: 'activity',
|
||||
objectRecordId: activity.id,
|
||||
fieldMetadataName: 'dueAt',
|
||||
fieldPosition: 0,
|
||||
});
|
||||
|
||||
const { FieldContextProvider: AssigneeFieldContextProvider } =
|
||||
useFieldContext({
|
||||
objectNameSingular: 'activity',
|
||||
objectRecordId: activity.id,
|
||||
fieldMetadataName: 'assignee',
|
||||
fieldPosition: 1,
|
||||
});
|
||||
|
||||
const updateTitle = useCallback(
|
||||
(newTitle: string) => {
|
||||
updateOneObject?.({
|
||||
@ -141,16 +154,18 @@ export const ActivityEditor = ({
|
||||
onCompletionChange={handleActivityCompletionChange}
|
||||
/>
|
||||
<PropertyBox>
|
||||
{activity.type === 'Task' && (
|
||||
<>
|
||||
{/* <RecoilScope>
|
||||
<ActivityEditorDateField activityId={activity.id} />
|
||||
</RecoilScope>
|
||||
<RecoilScope>
|
||||
<ActivityAssigneeEditableField activity={activity} />
|
||||
</RecoilScope> */}
|
||||
</>
|
||||
)}
|
||||
{activity.type === 'Task' &&
|
||||
DueAtFieldContextProvider &&
|
||||
AssigneeFieldContextProvider && (
|
||||
<>
|
||||
<DueAtFieldContextProvider>
|
||||
<RecordInlineCell />
|
||||
</DueAtFieldContextProvider>
|
||||
<AssigneeFieldContextProvider>
|
||||
<RecordInlineCell />
|
||||
</AssigneeFieldContextProvider>
|
||||
</>
|
||||
)}
|
||||
{/* <ActivityRelationEditableField activity={activity} /> */}
|
||||
</PropertyBox>
|
||||
</StyledTopContainer>
|
||||
|
||||
Reference in New Issue
Block a user