* Fixed orderBy bug * Fixed gitch select multiple record filter * Fixed RelationPicker search * Fixed OrderBy type
36 lines
1.0 KiB
TypeScript
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,
|
|
};
|
|
}
|
|
};
|