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)) {