diff --git a/core/app/src/components/table/table-body/table-body.component.html b/core/app/src/components/table/table-body/table-body.component.html index f918f0145..a1ec5f029 100644 --- a/core/app/src/components/table/table-body/table-body.component.html +++ b/core/app/src/components/table/table-body/table-body.component.html @@ -20,7 +20,10 @@ *cdkHeaderCellDef>{{ vm.language.appStrings[column.label] || column.label}} - {{record.attributes[column.fieldName]}} + + + diff --git a/core/app/src/components/table/table-body/table-body.component.spec.ts b/core/app/src/components/table/table-body/table-body.component.spec.ts index fc7cae34e..802deb9c1 100644 --- a/core/app/src/components/table/table-body/table-body.component.spec.ts +++ b/core/app/src/components/table/table-body/table-body.component.spec.ts @@ -11,6 +11,7 @@ import {LanguageStore} from '@store/language/language.store'; import {languageMockData} from '@store/language/language.store.spec.mock'; import {of} from 'rxjs'; import {take} from 'rxjs/operators'; +import {FieldModule} from "@fields/field.module"; @Component({ selector: 'table-body-ui-test-host-component', @@ -29,6 +30,7 @@ describe('TablebodyUiComponent', () => { imports: [ CdkTableModule, ApolloTestingModule, + FieldModule ], declarations: [TableBodyComponent, TableBodyUITestHostComponent], providers: [ diff --git a/core/app/src/components/table/table-body/table-body.module.ts b/core/app/src/components/table/table-body/table-body.module.ts index fa4ed26b6..3dd392577 100644 --- a/core/app/src/components/table/table-body/table-body.module.ts +++ b/core/app/src/components/table/table-body/table-body.module.ts @@ -5,6 +5,7 @@ import {AppManagerModule} from '@base/app-manager/app-manager.module'; import {TableBodyComponent} from './table-body.component'; import {AngularSvgIconModule} from 'angular-svg-icon'; import {CdkTableModule} from '@angular/cdk/table'; +import {FieldModule} from "@fields/field.module"; @NgModule({ declarations: [TableBodyComponent], @@ -14,6 +15,7 @@ import {CdkTableModule} from '@angular/cdk/table'; AppManagerModule.forChild(TableBodyComponent), AngularSvgIconModule, CdkTableModule, + FieldModule, ] }) export class TablebodyUiModule { diff --git a/core/app/src/store/metadata/metadata.store.service.ts b/core/app/src/store/metadata/metadata.store.service.ts index 2c9ef6483..c8b2b51cd 100644 --- a/core/app/src/store/metadata/metadata.store.service.ts +++ b/core/app/src/store/metadata/metadata.store.service.ts @@ -19,6 +19,7 @@ export interface Field { module: string; id: string; sortable: boolean; + type: string; } export interface SearchMetaField { diff --git a/core/legacy/ViewDefinitionsHandler.php b/core/legacy/ViewDefinitionsHandler.php index b2b97009b..a0a923605 100644 --- a/core/legacy/ViewDefinitionsHandler.php +++ b/core/legacy/ViewDefinitionsHandler.php @@ -110,7 +110,19 @@ class ViewDefinitionsHandler extends LegacyHandler implements ViewDefinitionsPro $viewDef->setId($moduleName); if (in_array('listView', $views, true)) { - $viewDef->setListView($this->fetchListViewDef($legacyModuleName)); + $listViewDef = $this->fetchListViewDef($legacyModuleName); + + foreach ($listViewDef as $i => $def) { + if (!isset($listViewDef[$i]['type'])) { + $listViewDef[$i]['type'] = $fieldDefinition->vardef[$def['fieldName']]['type']; + } + + if (!isset($listViewDef[$i]['label'])) { + $listViewDef[$i]['label'] = $fieldDefinition->vardef[$def['fieldName']]['label']; + } + } + + $viewDef->setListView($listViewDef); } if (in_array('search', $views, true)) {