paginator lokalisiert
parent
a478738fa9
commit
d0e777e0a6
|
|
@ -4,7 +4,7 @@ import {MatButtonModule } from '@angular/material/button';
|
||||||
import {AppRoutingModule } from './app-routing.module';
|
import {AppRoutingModule } from './app-routing.module';
|
||||||
import {AppComponent } from './app.component';
|
import {AppComponent } from './app.component';
|
||||||
import {GanttModule, EditService, ToolbarService, SelectionService } from '@syncfusion/ej2-angular-gantt';
|
import {GanttModule, EditService, ToolbarService, SelectionService } from '@syncfusion/ej2-angular-gantt';
|
||||||
import {MatPaginatorModule} from '@angular/material/paginator';
|
import {MatPaginatorIntl, MatPaginatorModule} from '@angular/material/paginator';
|
||||||
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
|
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
|
||||||
import {VirtualScrollService } from '@syncfusion/ej2-angular-gantt';
|
import {VirtualScrollService } from '@syncfusion/ej2-angular-gantt';
|
||||||
import {SortService } from '@syncfusion/ej2-angular-gantt';
|
import {SortService } from '@syncfusion/ej2-angular-gantt';
|
||||||
|
|
@ -41,6 +41,7 @@ import { RenamePresetDialogComponent } from './rename-preset-dialog/rename-prese
|
||||||
import { DeletePresetDialogComponent } from './delete-preset-dialog/delete-preset-dialog.component';
|
import { DeletePresetDialogComponent } from './delete-preset-dialog/delete-preset-dialog.component';
|
||||||
import { SavePresetUnderDialogComponent } from './save-preset-under-dialog/save-preset-under-dialog.component';
|
import { SavePresetUnderDialogComponent } from './save-preset-under-dialog/save-preset-under-dialog.component';
|
||||||
import {MatBadgeModule} from '@angular/material/badge';
|
import {MatBadgeModule} from '@angular/material/badge';
|
||||||
|
import { CustomPaginatorIntl } from './custom-paginator-intl.service';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -96,7 +97,8 @@ import {MatBadgeModule} from '@angular/material/badge';
|
||||||
SelectionService,
|
SelectionService,
|
||||||
VirtualScrollService,
|
VirtualScrollService,
|
||||||
SortService,
|
SortService,
|
||||||
FilterService
|
FilterService,
|
||||||
|
{ provide: MatPaginatorIntl, useClass: CustomPaginatorIntl },
|
||||||
],
|
],
|
||||||
bootstrap: [AppComponent]
|
bootstrap: [AppComponent]
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
import { MatPaginatorIntl } from '@angular/material/paginator';
|
||||||
|
import { LanguageService } from './language.service';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class CustomPaginatorIntl extends MatPaginatorIntl {
|
||||||
|
constructor(private languageService: LanguageService) {
|
||||||
|
super();
|
||||||
|
this.getAndInitTranslations();
|
||||||
|
|
||||||
|
this.languageService.languageChangeEmitter.subscribe(() => {
|
||||||
|
this.translateLabels();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
getAndInitTranslations() {
|
||||||
|
this.itemsPerPageLabel = this.languageService.language === 'DE' ? 'Elemente pro Seite:' : 'Items per page:';
|
||||||
|
this.nextPageLabel = this.languageService.language === 'DE' ? 'Nächste Seite' : 'Next page';
|
||||||
|
this.previousPageLabel = this.languageService.language === 'DE' ? 'Vorherige Seite' : 'Previous page';
|
||||||
|
this.firstPageLabel = this.languageService.language === 'DE' ? 'Erste Seite' : 'First page';
|
||||||
|
this.lastPageLabel = this.languageService.language === 'DE' ? 'Letzte Seite' : 'Last page';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update translations on language change
|
||||||
|
translateLabels() {
|
||||||
|
this.getAndInitTranslations();
|
||||||
|
this.changes.next(); // Notify paginator to update labels
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { Injectable } from '@angular/core';
|
import { Injectable, EventEmitter } from '@angular/core';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
|
|
@ -13,6 +13,7 @@ export class LanguageService {
|
||||||
|
|
||||||
public language: string = 'DE';
|
public language: string = 'DE';
|
||||||
public languages: string[] = ['DE', 'EN'];
|
public languages: string[] = ['DE', 'EN'];
|
||||||
|
public languageChangeEmitter: EventEmitter<string> = new EventEmitter<string>();
|
||||||
public deMap: Map<string, string> = new Map<string, string>();
|
public deMap: Map<string, string> = new Map<string, string>();
|
||||||
public enMap: Map<string, string> = new Map<string, string>();
|
public enMap: Map<string, string> = new Map<string, string>();
|
||||||
public lMap: Map<string, string> = new Map<string, string>();
|
public lMap: Map<string, string> = new Map<string, string>();
|
||||||
|
|
@ -244,6 +245,7 @@ export class LanguageService {
|
||||||
this.language = 'EN';
|
this.language = 'EN';
|
||||||
this.lMap = this.enMap;
|
this.lMap = this.enMap;
|
||||||
}
|
}
|
||||||
|
this.languageChangeEmitter.emit(this.language); // Emit language change
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue