refactor: index ViewField by viewId and key (#1416)

* refactor: index ViewField by viewId and key

Closes #1413

* refactor: rename ViewField properties
This commit is contained in:
Thaïs
2023-09-04 10:55:03 +02:00
committed by GitHub
parent c3c5cb4d1f
commit ae072b6ce5
35 changed files with 463 additions and 447 deletions

View File

@ -32,12 +32,16 @@ import { mockedActivities, mockedTasks } from './mock-data/activities';
import {
mockedCompaniesData,
mockedCompanyViewFields,
mockedCompanyViews,
} from './mock-data/companies';
import { mockedPeopleData, mockedPersonViewFields } from './mock-data/people';
import {
mockedPeopleData,
mockedPersonViewFields,
mockedPersonViews,
} from './mock-data/people';
import { mockedPipelineProgressData } from './mock-data/pipeline-progress';
import { mockedPipelinesData } from './mock-data/pipelines';
import { mockedUsersData } from './mock-data/users';
import { mockedViews } from './mock-data/views';
import {
fetchOneFromData,
filterAndSortData,
@ -229,17 +233,30 @@ export const graphqlMocks = [
}),
);
}),
graphql.query(getOperationName(GET_VIEWS) ?? '', (req, res, ctx) => {
const {
where: {
objectId: { equals: objectId },
},
} = req.variables;
return res(
ctx.data({
views: objectId === 'company' ? mockedCompanyViews : mockedPersonViews,
}),
);
}),
graphql.query(getOperationName(GET_VIEW_FIELDS) ?? '', (req, res, ctx) => {
const {
where: {
objectName: { equals: objectName },
objectId: { equals: objectId },
},
} = req.variables;
return res(
ctx.data({
viewFields:
objectName === 'company'
objectId === 'company'
? mockedCompanyViewFields
: mockedPersonViewFields,
}),
@ -255,11 +272,4 @@ export const graphqlMocks = [
);
},
),
graphql.query(getOperationName(GET_VIEWS) ?? '', (req, res, ctx) => {
return res(
ctx.data({
views: mockedViews,
}),
);
}),
];

View File

@ -1,5 +1,5 @@
import { companiesAvailableColumnDefinitions } from '@/companies/constants/companiesAvailableColumnDefinitions';
import { Company, User, ViewField } from '~/generated/graphql';
import { Company, User, View, ViewField, ViewType } from '~/generated/graphql';
type MockedCompany = Pick<
Company,
@ -144,13 +144,25 @@ export const mockedCompaniesData: Array<MockedCompany> = [
},
];
export const mockedCompanyViewFields =
companiesAvailableColumnDefinitions.map<ViewField>((viewFieldDefinition) => ({
__typename: 'ViewField',
fieldName: viewFieldDefinition.label,
id: viewFieldDefinition.id,
index: viewFieldDefinition.order,
isVisible: true,
objectName: 'company',
sizeInPx: viewFieldDefinition.size,
}));
export const mockedCompanyViews: View[] = [
{
__typename: 'View',
id: 'e6a2232d-ca6c-42df-b78e-ca0343f545a9',
name: 'All companies',
objectId: 'company',
type: ViewType.Table,
},
];
export const mockedCompanyViewFields = companiesAvailableColumnDefinitions.map<
Omit<ViewField, 'view'>
>((viewFieldDefinition) => ({
__typename: 'ViewField',
name: viewFieldDefinition.name,
index: viewFieldDefinition.index,
isVisible: true,
key: viewFieldDefinition.key,
objectId: 'company',
size: viewFieldDefinition.size,
viewId: 'e6a2232d-ca6c-42df-b78e-ca0343f545a9',
}));

View File

@ -1,5 +1,11 @@
import { peopleAvailableColumnDefinitions } from '@/people/constants/peopleAvailableColumnDefinitions';
import { Company, Person, ViewField } from '~/generated/graphql';
import {
Company,
Person,
View,
ViewField,
ViewType,
} from '~/generated/graphql';
type RequiredAndNotNull<T> = {
[P in keyof T]-?: Exclude<T[P], null | undefined>;
@ -123,13 +129,32 @@ export const mockedPeopleData: MockedPerson[] = [
},
];
export const mockedPersonViewFields =
peopleAvailableColumnDefinitions.map<ViewField>((viewFieldDefinition) => ({
__typename: 'ViewField',
fieldName: viewFieldDefinition.label,
id: viewFieldDefinition.id,
index: viewFieldDefinition.order,
isVisible: true,
objectName: 'person',
sizeInPx: viewFieldDefinition.size,
}));
export const mockedPersonViews: View[] = [
{
__typename: 'View',
id: 'afd7737a-bf1d-41a3-8863-c277b56a657b',
name: 'All people',
objectId: 'person',
type: ViewType.Table,
},
{
__typename: 'View',
id: '89bb825c-171e-4bcc-9cf7-43448d6fb230a',
name: 'View example 1',
objectId: 'person',
type: ViewType.Table,
},
];
export const mockedPersonViewFields = peopleAvailableColumnDefinitions.map<
Omit<ViewField, 'view'>
>((viewFieldDefinition) => ({
__typename: 'ViewField',
name: viewFieldDefinition.name,
index: viewFieldDefinition.index,
isVisible: true,
key: viewFieldDefinition.key,
objectId: 'person',
size: viewFieldDefinition.size,
viewId: 'afd7737a-bf1d-41a3-8863-c277b56a657b',
}));

View File

@ -1,14 +0,0 @@
import { View } from '~/generated/graphql';
type MockedView = Pick<View, 'id' | 'name'>;
export const mockedViews: Array<MockedView> = [
{
id: '89bb825c-171e-4bcc-9cf7-43448d6fb230a',
name: 'All',
},
{
id: '89bb825c-171e-4bcc-9cf7-43448d6fb230a',
name: 'View example 1',
},
];