feat: apply RecordDetailSection style on RecordDuplicatesSection and … (#4241)
feat: apply RecordDetailSection style on RecordDuplicatesSection and add stories Closes #3963, Closes #4240
This commit is contained in:
@ -3,6 +3,7 @@ import { useQuery } from '@apollo/client';
|
||||
|
||||
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
|
||||
import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier';
|
||||
import { getFindDuplicateRecordsQueryResponseField } from '@/object-record/hooks/useGenerateFindDuplicateRecordsQuery';
|
||||
import { useMapConnectionToRecords } from '@/object-record/hooks/useMapConnectionToRecords';
|
||||
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
|
||||
import { ObjectRecordConnection } from '@/object-record/types/ObjectRecordConnection';
|
||||
@ -29,6 +30,10 @@ export const useFindDuplicateRecords = <T extends ObjectRecord = ObjectRecord>({
|
||||
|
||||
const { enqueueSnackBar } = useSnackBar();
|
||||
|
||||
const queryResponseField = getFindDuplicateRecordsQueryResponseField(
|
||||
objectMetadataItem.nameSingular,
|
||||
);
|
||||
|
||||
const { data, loading, error } = useQuery<ObjectRecordQueryResult<T>>(
|
||||
findDuplicateRecordsQuery,
|
||||
{
|
||||
@ -36,7 +41,7 @@ export const useFindDuplicateRecords = <T extends ObjectRecord = ObjectRecord>({
|
||||
id: objectRecordId,
|
||||
},
|
||||
onCompleted: (data) => {
|
||||
onCompleted?.(data[objectMetadataItem.nameSingular]);
|
||||
onCompleted?.(data[queryResponseField]);
|
||||
},
|
||||
onError: (error) => {
|
||||
logError(
|
||||
@ -53,8 +58,7 @@ export const useFindDuplicateRecords = <T extends ObjectRecord = ObjectRecord>({
|
||||
},
|
||||
);
|
||||
|
||||
const objectRecordConnection =
|
||||
data?.[`${objectMetadataItem.nameSingular}Duplicates`];
|
||||
const objectRecordConnection = data?.[queryResponseField];
|
||||
|
||||
const mapConnectionToRecords = useMapConnectionToRecords();
|
||||
|
||||
|
||||
@ -4,6 +4,10 @@ import { useMapFieldMetadataToGraphQLQuery } from '@/object-metadata/hooks/useMa
|
||||
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
||||
import { capitalize } from '~/utils/string/capitalize';
|
||||
|
||||
export const getFindDuplicateRecordsQueryResponseField = (
|
||||
objectNameSingular: string,
|
||||
) => `${objectNameSingular}Duplicates`;
|
||||
|
||||
export const useGenerateFindDuplicateRecordsQuery = () => {
|
||||
const mapFieldMetadataToGraphQLQuery = useMapFieldMetadataToGraphQLQuery();
|
||||
|
||||
@ -15,7 +19,9 @@ export const useGenerateFindDuplicateRecordsQuery = () => {
|
||||
depth?: number;
|
||||
}) => gql`
|
||||
query FindDuplicate${capitalize(objectMetadataItem.nameSingular)}($id: ID) {
|
||||
${objectMetadataItem.nameSingular}Duplicates(id: $id){
|
||||
${getFindDuplicateRecordsQueryResponseField(
|
||||
objectMetadataItem.nameSingular,
|
||||
)}(id: $id) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
|
||||
Reference in New Issue
Block a user