diff --git a/core/app/src/app-common/metadata/metadata.model.ts b/core/app/src/app-common/metadata/metadata.model.ts index cea39d673..9ef09e335 100644 --- a/core/app/src/app-common/metadata/metadata.model.ts +++ b/core/app/src/app-common/metadata/metadata.model.ts @@ -3,7 +3,6 @@ import {FieldDefinition} from '@app-common/record/field.model'; export interface ViewFieldDefinition { name?: string; label?: string; - translatedLabel?: string; link?: boolean; type?: string; fieldDefinition?: FieldDefinition; 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 9b6b26099..55f84e9e9 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 @@ -28,7 +28,7 @@ scope="col" class="primary-table-header"> - {{column.translatedLabel}} + @@ -61,7 +61,9 @@
-

{{vm.language.appStrings.MSG_LIST_VIEW_NO_RESULTS_BASIC}}

+

+ +

diff --git a/core/app/src/components/table/table-body/table-body.component.ts b/core/app/src/components/table/table-body/table-body.component.ts index 1a388c6a5..d31b3bec0 100644 --- a/core/app/src/components/table/table-body/table-body.component.ts +++ b/core/app/src/components/table/table-body/table-body.component.ts @@ -1,7 +1,6 @@ import {Component, Input, OnInit} from '@angular/core'; import {combineLatest, Observable, of} from 'rxjs'; import {map, shareReplay} from 'rxjs/operators'; -import {LanguageStore, LanguageStrings} from '@store/language/language.store'; import {Record} from '@app-common/record/record.model'; import {Field} from '@app-common/record/field.model'; import {ColumnDefinition} from '@app-common/metadata/list.metadata.model'; @@ -14,7 +13,6 @@ import {RecordSelection} from '@app-common/views/list/record-selection.model'; import {FieldManager} from '@services/record/field/field.manager'; interface TableViewModel { - language: LanguageStrings; columns: ColumnDefinition[]; lineActions: LineAction[]; selection: RecordSelection; @@ -31,12 +29,10 @@ interface TableViewModel { }) export class TableBodyComponent implements OnInit { @Input() config: TableConfig; - language$: Observable = this.language.vm$; maxColumns = 4; vm$: Observable; constructor( - protected language: LanguageStore, protected fieldManager: FieldManager ) { } @@ -47,7 +43,6 @@ export class TableBodyComponent implements OnInit { const loading$ = this.config.loading$ || of(false).pipe(shareReplay(1)); this.vm$ = combineLatest([ - this.language$, this.config.columns, lineAction$, selection$, @@ -57,7 +52,6 @@ export class TableBodyComponent implements OnInit { ]).pipe( map(( [ - language, columns, lineActions, selection, @@ -85,7 +79,6 @@ export class TableBodyComponent implements OnInit { const selectionStatus = selection && selection.status || SelectionStatus.NONE; return { - language, columns, lineActions, selection, 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 5645a15f2..57224515d 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 @@ -9,6 +9,7 @@ import {FieldModule} from '@fields/field.module'; import {SortButtonModule} from '@components/sort-button/sort-button.module'; import {LineActionModule} from '@components/line-action-menu/line-action-menu.module'; import {LoadingSpinnerModule} from '@components/loading-spinner/loading-spinner.module'; +import {LabelModule} from '@components/label/label.module'; @NgModule({ declarations: [TableBodyComponent], @@ -21,7 +22,8 @@ import {LoadingSpinnerModule} from '@components/loading-spinner/loading-spinner. FieldModule, SortButtonModule, LineActionModule, - LoadingSpinnerModule + LoadingSpinnerModule, + LabelModule ] }) export class TableBodyModule { diff --git a/core/app/src/components/table/table.component.spec.mock.ts b/core/app/src/components/table/table.component.spec.mock.ts index da27c40ed..dbb4d9d28 100644 --- a/core/app/src/components/table/table.component.spec.mock.ts +++ b/core/app/src/components/table/table.component.spec.mock.ts @@ -111,7 +111,6 @@ export const tableConfigMock: TableConfig = { importable: 'required', merge_filter: 'selected' }, - translatedLabel: 'Name' } as ColumnDefinition ]), maxColumns$: of(4).pipe(shareReplay(1)), diff --git a/core/app/src/components/table/table.model.ts b/core/app/src/components/table/table.model.ts index 1dc188c95..ec4dc5a14 100644 --- a/core/app/src/components/table/table.model.ts +++ b/core/app/src/components/table/table.model.ts @@ -26,6 +26,8 @@ export interface TableConfig { bulkActions?: BulkActionDataSource; pagination?: PaginationDataSource; + module?: string; + toggleRecordSelection(id: string): void; updateSorting(orderBy: string, sortOrder: SortDirection): void; diff --git a/core/app/src/containers/subpanel/adapters/table.adapter.ts b/core/app/src/containers/subpanel/adapters/table.adapter.ts index 28a5e6282..2bccb26de 100644 --- a/core/app/src/containers/subpanel/adapters/table.adapter.ts +++ b/core/app/src/containers/subpanel/adapters/table.adapter.ts @@ -1,6 +1,5 @@ -import {combineLatest, Observable, of} from 'rxjs'; +import {Observable, of} from 'rxjs'; import {Injectable} from '@angular/core'; -import {LanguageStore} from '@store/language/language.store'; import {SortDirection} from '@components/sort-button/sort-button.model'; import {TableConfig} from '@components/table/table.model'; import {ColumnDefinition} from '@app-common/metadata/list.metadata.model'; @@ -10,10 +9,7 @@ import {map} from 'rxjs/operators'; @Injectable() export class SubpanelTableAdapter { - constructor( - protected store: SubpanelStore, - protected language: LanguageStore - ) { + constructor(protected store: SubpanelStore) { } getTable(): TableConfig { @@ -21,6 +17,8 @@ export class SubpanelTableAdapter { showHeader: false, showFooter: true, + module: this.store.metadata.headerModule, + columns: this.getColumns(), sort$: this.store.recordList.sort$, maxColumns$: of(5), @@ -40,21 +38,6 @@ export class SubpanelTableAdapter { } protected getColumns(): Observable { - - return combineLatest([this.language.vm$, this.store.metadata$]).pipe( - map(([languages, metadata]) => { - const mapped: ColumnDefinition[] = []; - - metadata.columns.forEach(column => { - const translatedLabel = this.language.getFieldLabel(column.label, metadata.headerModule, languages); - mapped.push({ - ...column, - translatedLabel - }); - }); - - return mapped; - }) - ); + return this.store.metadata$.pipe(map(metadata => metadata.columns)); } } diff --git a/core/app/src/containers/subpanel/components/subpanel/subpanel.component.ts b/core/app/src/containers/subpanel/components/subpanel/subpanel.component.ts index a6fd08762..0b86d4814 100644 --- a/core/app/src/containers/subpanel/components/subpanel/subpanel.component.ts +++ b/core/app/src/containers/subpanel/components/subpanel/subpanel.component.ts @@ -34,7 +34,7 @@ export class SubpanelComponent implements OnInit { } ngOnInit(): void { - this.adapter = new SubpanelTableAdapter(this.store, this.languages); + this.adapter = new SubpanelTableAdapter(this.store); this.tableConfig = this.adapter.getTable(); if (this.maxColumns$) { this.tableConfig.maxColumns$ = this.maxColumns$; diff --git a/core/app/views/list/adapters/table.adapter.ts b/core/app/views/list/adapters/table.adapter.ts index 1cfef3035..39d7f233b 100644 --- a/core/app/views/list/adapters/table.adapter.ts +++ b/core/app/views/list/adapters/table.adapter.ts @@ -1,11 +1,8 @@ -import {combineLatest, Observable, of} from 'rxjs'; +import {of} from 'rxjs'; import {Injectable} from '@angular/core'; import {MetadataStore} from '@store/metadata/metadata.store.service'; -import {map} from 'rxjs/operators'; -import {LanguageStore} from '@store/language/language.store'; import {SortDirection} from '@components/sort-button/sort-button.model'; import {TableConfig} from '@components/table/table.model'; -import {ColumnDefinition} from '@app-common/metadata/list.metadata.model'; import {ListViewStore} from '../store/list-view/list-view.store'; @Injectable() @@ -14,7 +11,6 @@ export class TableAdapter { constructor( protected store: ListViewStore, protected metadata: MetadataStore, - protected language: LanguageStore ) { } @@ -23,7 +19,9 @@ export class TableAdapter { showHeader: true, showFooter: true, - columns: this.getColumns(), + module: this.store.getModuleName(), + + columns: this.store.columns$, lineActions$: this.store.lineActions$, selection$: this.store.selection$, sort$: this.store.sort$, @@ -44,24 +42,4 @@ export class TableAdapter { }, } as TableConfig; } - - protected getColumns(): Observable { - return combineLatest( - [this.language.vm$, this.store.columns$, this.store.moduleName$] - ).pipe( - map(([languages, columns, module]) => { - const mapped: ColumnDefinition[] = []; - - columns.forEach(column => { - const translatedLabel = this.language.getFieldLabel(column.label, module, languages); - mapped.push({ - ...column, - translatedLabel - }); - }); - - return mapped; - }) - ); - } }