@ -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 { PropertyBox } from '@/object-record/record-inline-cell/property-box/components/PropertyBox';
|
||||||
import { InlineCellHotkeyScope } from '@/object-record/record-inline-cell/types/InlineCellHotkeyScope';
|
import { InlineCellHotkeyScope } from '@/object-record/record-inline-cell/types/InlineCellHotkeyScope';
|
||||||
import { useRelationPicker } from '@/object-record/relation-picker/hooks/useRelationPicker';
|
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 { IconBuildingSkyscraper } from '@/ui/display/icon';
|
||||||
import { PageBody } from '@/ui/layout/page/PageBody';
|
import { PageBody } from '@/ui/layout/page/PageBody';
|
||||||
import { PageContainer } from '@/ui/layout/page/PageContainer';
|
import { PageContainer } from '@/ui/layout/page/PageContainer';
|
||||||
@ -215,7 +215,7 @@ export const RecordShowPage = () => {
|
|||||||
.sort((a, b) =>
|
.sort((a, b) =>
|
||||||
a.name === 'name' ? -1 : a.name.localeCompare(b.name),
|
a.name === 'name' ? -1 : a.name.localeCompare(b.name),
|
||||||
)
|
)
|
||||||
.filter(filterAvailableFieldMetadataItem)
|
.filter(isFieldMetadataItemAvailable)
|
||||||
.map((metadataField, index) => {
|
.map((metadataField, index) => {
|
||||||
return (
|
return (
|
||||||
<FieldContext.Provider
|
<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