Upgrade relation picker (#8795)

- Rename all parts using the name "relation" to "record" when component
is only selecting record
- Remove the use of scope states in folder
- Rename entities to records

This PR prepares the use of the record picker in workflows
This commit is contained in:
Thomas Trompette
2024-11-28 18:08:39 +01:00
committed by GitHub
parent d73dc1a728
commit 83223eeae3
62 changed files with 585 additions and 687 deletions

View File

@ -29,7 +29,7 @@ import { recordStoreFamilyState } from '@/object-record/record-store/states/reco
import { ActivityTargetInlineCellEditModeMultiRecordsEffect } from '@/object-record/relation-picker/components/ActivityTargetInlineCellEditModeMultiRecordsEffect';
import { ActivityTargetInlineCellEditModeMultiRecordsSearchFilterEffect } from '@/object-record/relation-picker/components/ActivityTargetInlineCellEditModeMultiRecordsSearchFilterEffect';
import { MultiRecordSelect } from '@/object-record/relation-picker/components/MultiRecordSelect';
import { RelationPickerScope } from '@/object-record/relation-picker/scopes/RelationPickerScope';
import { RecordPickerComponentInstanceContext } from '@/object-record/relation-picker/states/contexts/RecordPickerComponentInstanceContext';
import { prefillRecord } from '@/object-record/utils/prefillRecord';
const StyledSelectContainer = styled.div`
@ -52,7 +52,7 @@ export const ActivityTargetInlineCellEditMode = ({
activityObjectNameSingular,
}: ActivityTargetInlineCellEditModeProps) => {
const [isActivityInCreateMode] = useRecoilState(isActivityInCreateModeState);
const relationPickerScopeId = `relation-picker-${activity.id}`;
const recordPickerInstanceId = `record-picker-${activity.id}`;
const selectedTargetObjectIds = activityTargetWithTargetRecords.map(
(activityTarget) => ({
@ -101,7 +101,7 @@ export const ActivityTargetInlineCellEditMode = ({
const record = snapshot
.getLoadable(
objectRecordMultiSelectComponentFamilyState({
scopeId: relationPickerScopeId,
scopeId: recordPickerInstanceId,
familyKey: activityTarget.targetObject.id,
}),
)
@ -124,7 +124,7 @@ export const ActivityTargetInlineCellEditMode = ({
[
activityTargetWithTargetRecords,
closeEditableField,
relationPickerScopeId,
recordPickerInstanceId,
setActivityFromStore,
],
);
@ -142,7 +142,7 @@ export const ActivityTargetInlineCellEditMode = ({
const previouslyCheckedRecordsIds = snapshot
.getLoadable(
objectRecordMultiSelectCheckedRecordsIdsComponentState({
scopeId: relationPickerScopeId,
scopeId: recordPickerInstanceId,
}),
)
.getValue();
@ -153,7 +153,7 @@ export const ActivityTargetInlineCellEditMode = ({
const record = snapshot
.getLoadable(
objectRecordMultiSelectComponentFamilyState({
scopeId: relationPickerScopeId,
scopeId: recordPickerInstanceId,
familyKey: recordId,
}),
)
@ -167,7 +167,7 @@ export const ActivityTargetInlineCellEditMode = ({
set(
objectRecordMultiSelectCheckedRecordsIdsComponentState({
scopeId: relationPickerScopeId,
scopeId: recordPickerInstanceId,
}),
(prev) => [...prev, recordId],
);
@ -237,7 +237,7 @@ export const ActivityTargetInlineCellEditMode = ({
set(
objectRecordMultiSelectCheckedRecordsIdsComponentState({
scopeId: relationPickerScopeId,
scopeId: recordPickerInstanceId,
}),
previouslyCheckedRecordsIds.filter((id) => id !== recordId),
);
@ -273,7 +273,7 @@ export const ActivityTargetInlineCellEditMode = ({
deleteManyActivityTargets,
isActivityInCreateMode,
objectMetadataItemActivityTarget,
relationPickerScopeId,
recordPickerInstanceId,
upsertActivity,
activityObjectNameSingular,
],
@ -281,7 +281,9 @@ export const ActivityTargetInlineCellEditMode = ({
return (
<StyledSelectContainer>
<RelationPickerScope relationPickerScopeId={relationPickerScopeId}>
<RecordPickerComponentInstanceContext.Provider
value={{ instanceId: recordPickerInstanceId }}
>
<ActivityTargetObjectRecordEffect
activityTargetWithTargetRecords={activityTargetWithTargetRecords}
/>
@ -290,7 +292,7 @@ export const ActivityTargetInlineCellEditMode = ({
/>
<ActivityTargetInlineCellEditModeMultiRecordsSearchFilterEffect />
<MultiRecordSelect onSubmit={handleSubmit} onChange={handleChange} />
</RelationPickerScope>
</RecordPickerComponentInstanceContext.Provider>
</StyledSelectContainer>
);
};