Files
twenty/front/src/modules/object-metadata/utils/getObjectOrderByField.ts
Lucas Bordeau 52859e18ed Picker and MultiSelect fixes (#2883)
* Fixed orderBy bug

* Fixed gitch select multiple record filter

* Fixed RelationPicker search

* Fixed OrderBy type
2023-12-08 17:42:40 +01:00

36 lines
1.0 KiB
TypeScript

import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { OrderBy } from '@/object-metadata/types/OrderBy';
import { OrderByField } from '@/object-metadata/types/OrderByField';
import { FieldMetadataType } from '~/generated-metadata/graphql';
export const getObjectOrderByField = (
objectMetadataItem: ObjectMetadataItem,
orderBy: OrderBy,
): OrderByField => {
const labelIdentifierFieldMetadata = objectMetadataItem.fields.find(
(field) =>
field.id === objectMetadataItem.labelIdentifierFieldMetadataId ||
field.name === 'name',
);
if (labelIdentifierFieldMetadata) {
switch (labelIdentifierFieldMetadata.type) {
case FieldMetadataType.FullName:
return {
[labelIdentifierFieldMetadata.name]: {
firstName: orderBy,
lastName: orderBy,
},
};
default:
return {
[labelIdentifierFieldMetadata.name]: orderBy,
};
}
} else {
return {
createdAt: orderBy,
};
}
};