@ -11,7 +11,7 @@ import { RecordInlineCell } from '@/object-record/record-inline-cell/components/
|
||||
import { PropertyBox } from '@/object-record/record-inline-cell/property-box/components/PropertyBox';
|
||||
import { InlineCellHotkeyScope } from '@/object-record/record-inline-cell/types/InlineCellHotkeyScope';
|
||||
import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker';
|
||||
import { filterAvailableFieldMetadataItem } from '@/object-record/utils/filterAvailableFieldMetadataItem';
|
||||
import { isFieldMetadataItemAvailable } from '@/object-record/utils/isFieldMetadataItemAvailable';
|
||||
import { IconBuildingSkyscraper } from '@/ui/display/icon';
|
||||
import { PageBody } from '@/ui/layout/page/PageBody';
|
||||
import { PageContainer } from '@/ui/layout/page/PageContainer';
|
||||
@ -215,7 +215,7 @@ export const RecordShowPage = () => {
|
||||
.sort((a, b) =>
|
||||
a.name === 'name' ? -1 : a.name.localeCompare(b.name),
|
||||
)
|
||||
.filter(filterAvailableFieldMetadataItem)
|
||||
.filter(isFieldMetadataItemAvailable)
|
||||
.map((metadataField, index) => {
|
||||
return (
|
||||
<FieldContext.Provider
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
||||
import { parseFieldRelationType } from '@/object-metadata/utils/parseFieldRelationType';
|
||||
|
||||
export const filterAvailableFieldMetadataItem = (
|
||||
fieldMetadataItem: FieldMetadataItem,
|
||||
): boolean => {
|
||||
if (fieldMetadataItem.type === 'RELATION') {
|
||||
const fieldMetadataItemRelationType =
|
||||
parseFieldRelationType(fieldMetadataItem);
|
||||
|
||||
if (fieldMetadataItemRelationType !== 'TO_ONE_OBJECT') {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (fieldMetadataItem.type === 'UUID') {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (fieldMetadataItem.isSystem) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
@ -0,0 +1,11 @@
|
||||
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
||||
import { parseFieldRelationType } from '@/object-metadata/utils/parseFieldRelationType';
|
||||
|
||||
export const isFieldMetadataItemAvailable = (
|
||||
fieldMetadataItem: FieldMetadataItem,
|
||||
) =>
|
||||
fieldMetadataItem.type !== 'UUID' &&
|
||||
(fieldMetadataItem.type !== 'RELATION' ||
|
||||
parseFieldRelationType(fieldMetadataItem) === 'TO_ONE_OBJECT') &&
|
||||
!fieldMetadataItem.isSystem &&
|
||||
!!fieldMetadataItem.isActive;
|
||||
Reference in New Issue
Block a user