getDisplayString fix to use displayFormat

This commit is contained in:
2026-06-08 00:37:17 +05:30
parent 7bd946ec7a
commit 9771816cf9

View File

@@ -20,13 +20,8 @@ import { GridPaginationModel } from '@mui/x-data-grid';
function getDisplayString(item: any, field: ResourceField): string { function getDisplayString(item: any, field: ResourceField): string {
if (item == null || typeof item !== 'object') return String(item ?? ''); if (item == null || typeof item !== 'object') return String(item ?? '');
if (field.enumOption?.value) return resolveTemplate(field.enumOption.value, item); if (field.enumOption?.value) return resolveTemplate(field.enumOption.value, item);
const df = field.displayField; if (field.displayFormat) return resolveTemplate(field.displayFormat, item);
if (!df) return item.name ?? item.title ?? item.label ?? item.id ?? JSON.stringify(item); throw new Error('cannot get display string')
if (Array.isArray(df)) {
const parts = df.map((k: string) => item[k]).filter((v: any) => v != null);
return parts.length > 0 ? parts.join(' ') : '';
}
return String(item[df] ?? '');
} }
function applyClientFilters( function applyClientFilters(
@@ -119,7 +114,7 @@ export default function ResourceView({ config, onNavigateToResource, fieldCompon
const { useList, useRead, useCreate, useUpdate, useDelete, components } = useResource(config, { fieldComponents }); const { useList, useRead, useCreate, useUpdate, useDelete, components } = useResource(config, { fieldComponents });
const queryParams = React.useMemo(() => { const queryParams = React.useMemo(() => {
if (!isServer) return { limit: 10 }; if (!isServer) return { limit: 10000 };
return { return {
skip: paginationModel.page * paginationModel.pageSize, skip: paginationModel.page * paginationModel.pageSize,
limit: paginationModel.pageSize, limit: paginationModel.pageSize,