diff --git a/Front/skydivelogs-app/src/app/app.component.ts b/Front/skydivelogs-app/src/app/app.component.ts index e0ac791..bc8fc9a 100644 --- a/Front/skydivelogs-app/src/app/app.component.ts +++ b/Front/skydivelogs-app/src/app/app.component.ts @@ -1,7 +1,6 @@ import { Component, OnInit } from "@angular/core"; import { Router } from "@angular/router"; import { TranslateService } from "@ngx-translate/core"; -import { forkJoin, Observable } from 'rxjs'; import { User } from "../models/user"; import { CacheApiKey } from "../models/cache-api-key.enum"; @@ -10,10 +9,6 @@ import { AuthenticationService } from "../services/authentication.service"; import { ServiceComm } from "../services/service-comm.service"; import { ConfigurationHelper } from "../services/configuration-helper"; import { ServiceCacheApi } from "../services/service-cache-api.service"; -import { AircraftService } from "../services/aircraft.service"; -import { GearService } from "../services/gear.service"; -import { JumpTypeService } from "../services/jump-type.service"; -import { DropzoneService } from "../services/dropzone.service"; @Component({ selector: "app-root", @@ -68,5 +63,7 @@ export class AppComponent implements OnInit { this.currentUser.language = event.value; this.authenticationService.currentUserValue = this.currentUser; this.selectedLanguageFlag = event.value; + + this.serviceComm.ForceTranslateTitle(); } } diff --git a/Front/skydivelogs-app/src/app/default/default.component.ts b/Front/skydivelogs-app/src/app/default/default.component.ts index e8adef7..6d352e9 100644 --- a/Front/skydivelogs-app/src/app/default/default.component.ts +++ b/Front/skydivelogs-app/src/app/default/default.component.ts @@ -27,10 +27,12 @@ export class DefaultComponent implements OnInit { this.authenticationService.alwaysLogin(); this.putToCacheRefDatas().subscribe(() => { console.log("Push to cache the referentiel datas"); }); - - this.translateService.get("Home").subscribe( - data => { this.serviceComm.UpdatedComponentTitle(data); } - ); + this.updateTitle(); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); } private putToCacheRefDatas(): Observable { @@ -41,4 +43,10 @@ export class DefaultComponent implements OnInit { return forkJoin([aircraftResp, jumpTypeResp, dzResp, gearResp]); } + + private updateTitle() { + this.translateService.get("Default_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } \ No newline at end of file diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html index ce66488..80f7c19 100644 --- a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html +++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.html @@ -1,20 +1,20 @@
- + - + - + - + diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts index 9f0bfb4..fcc6485 100644 --- a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts +++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { MatPaginator } from '@angular/material/paginator'; import { MatTableDataSource } from '@angular/material/table'; import { MatDialog } from '@angular/material/dialog'; +import { TranslateService } from '@ngx-translate/core'; import { AircraftService } from '../../services/aircraft.service'; import { ServiceComm } from '../../services/service-comm.service'; @@ -25,7 +26,8 @@ export class ListOfAircraftsComponent implements OnInit { constructor(private serviceApi: AircraftService, private serviceComm: ServiceComm, private authenticationService: AuthenticationService, - public dialog: MatDialog) { + public dialog: MatDialog, + private translateService: TranslateService) { this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin"; } @@ -36,7 +38,13 @@ export class ListOfAircraftsComponent implements OnInit { this.getListOfAircrafts(); } }); - this.serviceComm.UpdatedComponentTitle('List of aircrafts'); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); + + this.updateTitle(); this.getListOfAircrafts(); } @@ -54,4 +62,10 @@ export class ListOfAircraftsComponent implements OnInit { openDialogToAdd() { this.dialog.open(NewAircraftComponent); } + + private updateTitle() { + this.translateService.get("ListAircrafts_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html index 86e3b94..d9ac87c 100644 --- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html +++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.html @@ -1,10 +1,10 @@
- + - Filter - + {{ 'List_Dz_Filter' | translate }} +
ID{{ 'List_Aircrafts_Header_Id' | translate }} {{element.id}} Name{{ 'List_Aircrafts_Header_Name' | translate }} {{element.name}} Image{{ 'List_Aircrafts_Header_Image' | translate }} No image
@@ -15,7 +15,6 @@ (click)="removeToFavorite(element)" color="primary" style="cursor: pointer;">favoritefavorite_border - link @@ -30,26 +29,26 @@ - + - + - + - + diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts index c65eaa9..9251f77 100644 --- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts +++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { MatPaginator } from '@angular/material/paginator'; import { MatTableDataSource } from '@angular/material/table'; import { MatDialog } from '@angular/material/dialog'; +import { TranslateService } from '@ngx-translate/core'; import { AddAction } from '../../models/add-action.enum'; import { DropZoneResp } from '../../models/dropzone'; @@ -30,7 +31,8 @@ export class ListOfDzsComponent implements OnInit { constructor(private serviceApi: DropzoneService, private serviceComm: ServiceComm, private authenticationService: AuthenticationService, - public dialog: MatDialog) { + public dialog: MatDialog, + private translateService: TranslateService) { this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin"; } @@ -41,7 +43,13 @@ export class ListOfDzsComponent implements OnInit { this.getListOfDropZones(); } }); - this.serviceComm.UpdatedComponentTitle('List of DZs'); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); + + this.updateTitle(); this.getListOfDropZones(); } @@ -88,4 +96,10 @@ export class ListOfDzsComponent implements OnInit { const filterValue = (event.target as HTMLInputElement).value; this.dataSourceTable.filter = filterValue.trim().toLowerCase(); } + + private updateTitle() { + this.translateService.get("ListDz_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } diff --git a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html index 08f9c9d..6ffcadc 100644 --- a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html +++ b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.html @@ -1,40 +1,40 @@
- +
ID{{ 'List_Dz_Header_ID' | translate }} {{element.id}} Name{{ 'List_Dz_Header_Name' | translate }} Address{{ 'List_Dz_Header_Address' | translate }} Type{{ 'List_Dz_Header_Type' | translate }} {{element.type}}
- + - + - + - + - + - + - + diff --git a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts index 122e44f..c9b2a47 100644 --- a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts +++ b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from "@angular/core"; import { MatPaginator } from "@angular/material/paginator"; import { MatTableDataSource } from "@angular/material/table"; import { MatDialog } from "@angular/material/dialog"; +import { TranslateService } from '@ngx-translate/core'; import { GearService } from "../../services/gear.service"; import { ServiceComm } from "../../services/service-comm.service"; @@ -29,7 +30,8 @@ export class ListOfGearsComponent implements OnInit { constructor(private serviceApi: GearService, private serviceComm: ServiceComm, - public dialog: MatDialog) {} + public dialog: MatDialog, + private translateService: TranslateService) {} ngOnInit() { this.serviceComm.refreshRequest.subscribe(action => { @@ -38,7 +40,13 @@ export class ListOfGearsComponent implements OnInit { this.getListOfGears(); } }); - this.serviceComm.UpdatedComponentTitle("List of gears"); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); + + this.updateTitle(); this.getListOfGears(); } @@ -60,4 +68,10 @@ export class ListOfGearsComponent implements OnInit { width: "600px" }); } + + private updateTitle() { + this.translateService.get("ListGears_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html index 532a90d..a88b804 100644 --- a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html +++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.html @@ -1,15 +1,15 @@
- +
ID{{ 'List_Gears_Header_Id' | translate }} {{element.id}} Name{{ 'List_Gears_Header_Name' | translate }} {{element.name}} Manufacturer{{ 'List_Gears_Header_Manufacturer' | translate }} {{element.manufacturer}} Canopy size{{ 'List_Gears_Header_CanopySize' | translate }} {{element.minSize}} - {{element.maxSize}} AAD system{{ 'List_Gears_Header_Aad' | translate }} {{element.aad}} Main canopy{{ 'List_Gears_Header_Main' | translate }} {{element.mainCanopy}} Reserve canopy{{ 'List_Gears_Header_Reserve' | translate }} {{element.reserveCanopy}}
- + - + diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts index 02fc9a1..d0de6fa 100644 --- a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts +++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.ts @@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from "@angular/core"; import { MatPaginator } from "@angular/material/paginator"; import { MatTableDataSource } from "@angular/material/table"; import { MatDialog } from "@angular/material/dialog"; +import { TranslateService } from '@ngx-translate/core'; import { AddAction } from "../../models/add-action.enum"; import { JumpTypeResp } from "../../models/jumpType"; @@ -25,7 +26,8 @@ export class ListOfJumpTypesComponent implements OnInit { constructor(private serviceApi: JumpTypeService, private serviceComm: ServiceComm, private authenticationService: AuthenticationService, - public dialog: MatDialog) { + public dialog: MatDialog, + private translateService: TranslateService) { this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin"; } @@ -36,7 +38,13 @@ export class ListOfJumpTypesComponent implements OnInit { this.getListOfJumpTypes(); } }); - this.serviceComm.UpdatedComponentTitle("List of jump types"); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); + + this.updateTitle(); this.getListOfJumpTypes(); } @@ -54,4 +62,10 @@ export class ListOfJumpTypesComponent implements OnInit { openDialogToAdd() { this.dialog.open(NewJumpTypeComponent); } + + private updateTitle() { + this.translateService.get("ListJumpTypes_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } diff --git a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html index 7bf790a..6859742 100644 --- a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html +++ b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.html @@ -1,6 +1,6 @@
- +
ID{{ 'List_JumpType_Header_Id' | translate }} {{element.id}} Name{{ 'List_JumpType_Header_Name' | translate }} {{element.name}}
@@ -15,42 +15,42 @@ - + - + - + - + - + - + diff --git a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts index 601481a..1d0531e 100644 --- a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts +++ b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { MatPaginator } from '@angular/material/paginator'; import { MatTableDataSource } from '@angular/material/table'; import { MatDialog } from "@angular/material/dialog"; -import { Observable } from 'rxjs'; +import { TranslateService } from '@ngx-translate/core'; import { AddAction } from '../../models/add-action.enum'; import { Jump } from '../../models/jump'; @@ -31,7 +31,8 @@ export class ListOfJumpsComponent implements OnInit { constructor(private serviceApi: JumpService, private serviceComm: ServiceComm, - public dialog: MatDialog) { } + public dialog: MatDialog, + private translateService: TranslateService) { } ngOnInit() { this.serviceComm.refreshRequest.subscribe(action => { @@ -40,7 +41,13 @@ export class ListOfJumpsComponent implements OnInit { this.getListOfJumps(); } }); - this.serviceComm.UpdatedComponentTitle('List of jumps'); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); + + this.updateTitle(); this.getListOfJumps(); } @@ -79,4 +86,10 @@ export class ListOfJumpsComponent implements OnInit { this.serviceApi.DeleteJump(item); } + + private updateTitle() { + this.translateService.get("ListJumps_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } diff --git a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts index 3d57497..a829dbb 100644 --- a/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts +++ b/Front/skydivelogs-app/src/app/new-jump/new-jump.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from "@angular/core"; import { formatDate } from '@angular/common'; import { DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter } from "@angular/material/core"; +import { TranslateService } from '@ngx-translate/core'; import { JumpTypeResp } from "../../models/jumpType"; import { AircraftResp } from "../../models/aircraft"; @@ -68,14 +69,19 @@ export class NewJumpComponent implements OnInit { private serviceAircraft: AircraftService, private serviceDropzone: DropzoneService, private serviceGear: GearService, - private dateService: DateService) {} + private dateService: DateService, + private translateService: TranslateService) {} ngOnInit() { - this.serviceComm.UpdatedComponentTitle("Add a new jump"); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); + this.updateTitle(); + this.pendingAddRequest = false; - this.initForm(); - this.getListOfJumpTypes(); } @@ -213,4 +219,10 @@ export class NewJumpComponent implements OnInit { this.selectedDz = undefined; this.onChangeDz(''); } + + private updateTitle() { + this.translateService.get("NewJump_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } diff --git a/Front/skydivelogs-app/src/app/summary/summary.component.ts b/Front/skydivelogs-app/src/app/summary/summary.component.ts index 7a851a5..7ef5a3f 100644 --- a/Front/skydivelogs-app/src/app/summary/summary.component.ts +++ b/Front/skydivelogs-app/src/app/summary/summary.component.ts @@ -1,6 +1,8 @@ import { Component, OnInit, ViewChild } from '@angular/core'; import { MatTableDataSource } from '@angular/material/table'; import { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs'; +import { TranslateService } from '@ngx-translate/core'; + import { ServiceComm } from '../../services/service-comm.service'; import { StatsService } from '../../services/stats.service'; import { StatsByDzResp, StatsByAircraftResp, StatsByGearResp, @@ -31,10 +33,16 @@ export class SummaryComponent implements OnInit { @ViewChild(MatTabGroup) tabGroup: MatTabGroup; constructor(private serviceApi: StatsService, - private serviceComm: ServiceComm) { } + private serviceComm: ServiceComm, + private translateService: TranslateService) { } ngOnInit() { - this.serviceComm.UpdatedComponentTitle('Summary'); + this.serviceComm.forceTranslateTitle.subscribe((data)=> { + if (data === true){ + this.updateTitle(); + } + }); + this.updateTitle(); this.serviceApi.getSimpleSummary() .subscribe(data => { @@ -114,4 +122,10 @@ export class SummaryComponent implements OnInit { break; } } + + private updateTitle() { + this.translateService.get("Summary_Title").subscribe( + data => { this.serviceComm.UpdatedComponentTitle(data); } + ); + } } diff --git a/Front/skydivelogs-app/src/assets/i18n/en.json b/Front/skydivelogs-app/src/assets/i18n/en.json index 7539e5b..e6b46eb 100644 --- a/Front/skydivelogs-app/src/assets/i18n/en.json +++ b/Front/skydivelogs-app/src/assets/i18n/en.json @@ -29,6 +29,14 @@ "LoginCreateUser_BtnLogin" : "Create user and login", "Default_Title" : "Home", + "ListDz_Title" : "List of DZs", + "Summary_Title" : "Summary", + "NewJump_Title" : "New jumps", + "ListJumps_Title" : "List of jumps", + "ListJumpTypes_Title" : "List of jump types", + "ListGears_Title" : "List of gears", + "ListAircrafts_Title" : "List of aircrafts", + "App_Footer" : "Web software to log your skydive jumps - v", "App_Nav_Summary" : "Summary", "App_Nav_Jumps" : "List of jumps", @@ -37,5 +45,39 @@ "App_Nav_Aircrafts" : "List of aircrafts", "App_Nav_JumpTypes" : "List of jump types", "App_Nav_Gears" : "List of gears", - "App_Nav_Logout" : "Logout" + "App_Nav_Logout" : "Logout", + + "List_Aircrafts_Add" : "Add a aircraft", + "List_Aircrafts_Header_Id" : "ID", + "List_Aircrafts_Header_Name" : "Name", + "List_Aircrafts_Header_Image" : "Image", + + "List_Gears_Add" : "Add a gear", + "List_Gears_Header_Id" : "ID", + "List_Gears_Header_Name" : "Name", + "List_Gears_Header_Manufacturer" : "Manufacturer", + "List_Gears_Header_CanopySize" : "Canopy size", + "List_Gears_Header_Aad" : "AAD system", + "List_Gears_Header_Main" : "Main canopy", + "List_Gears_Header_Reserve" : "Reserve canopy", + + "List_JumpType_Add" : "Add a jump type", + "List_JumpType_Header_Id" : "ID", + "List_JumpType_Header_Name" : "Name", + + "List_Jump_Add" : "Add jumps", + "List_Jump_Header_Num" : "Num", + "List_Jump_Header_Date" : "Date", + "List_Jump_Header_JumpType" : "Jump Type", + "List_Jump_Header_Aircraft" : "Aircraft", + "List_Jump_Header_Dz" : "Drop Zone", + "List_Jump_Header_Gear" : "Gear", + + "List_Dz_Add" : "Add a drop zone", + "List_Dz_Header_ID" : "ID", + "List_Dz_Header_Name" : "Name", + "List_Dz_Header_Address" : "Address", + "List_Dz_Header_Type" : "Type", + "List_Dz_Filter" : "Filter", + "List_Dz_Filter_PlaceHolder" : "Filter on the name or address of center" } \ No newline at end of file diff --git a/Front/skydivelogs-app/src/assets/i18n/fr.json b/Front/skydivelogs-app/src/assets/i18n/fr.json index fbe5da7..0e0e2a0 100644 --- a/Front/skydivelogs-app/src/assets/i18n/fr.json +++ b/Front/skydivelogs-app/src/assets/i18n/fr.json @@ -29,13 +29,55 @@ "LoginCreateUser_BtnLogin" : "Créer et se connecter", "Default_Title" : "Accueil", + "ListDz_Title" : "Liste des centres de parachutisme", + "Summary_Title" : "Récapitulatif", + "NewJump_Title" : "Nouveaux sauts", + "ListJumps_Title" : "Liste des sauts", + "ListJumpTypes_Title" : "Liste des types de saut", + "ListGears_Title" : "Liste des pièges", + "ListAircrafts_Title" : "Liste des avions", + "App_Footer" : "Application pour enregistrer ses sauts de parachutisme - v", - "App_Nav_Summary" : "Résumé", + "App_Nav_Summary" : "Récapitulatif", "App_Nav_Jumps" : "Les sauts", "App_Nav_NewJump" : "Ajouter un saut", "App_Nav_Dzs" : "Centre de parachutisme", "App_Nav_Aircrafts" : "Avions", "App_Nav_JumpTypes" : "Type de saut", "App_Nav_Gears" : "Pièges", - "App_Nav_Logout" : "Se Déconneter" + "App_Nav_Logout" : "Se déconnecter", + + "List_Aircrafts_Add" : "Ajouter un avion", + "List_Aircrafts_Header_Id" : "ID", + "List_Aircrafts_Header_Name" : "Nom", + "List_Aircrafts_Header_Image" : "Image", + + "List_Gears_Add" : "Ajouter un piège", + "List_Gears_Header_Id" : "ID", + "List_Gears_Header_Name" : "Nom", + "List_Gears_Header_Manufacturer" : "Fabriquant", + "List_Gears_Header_CanopySize" : "Taille de voile", + "List_Gears_Header_Aad" : "Système de sécurité", + "List_Gears_Header_Main" : "Principale", + "List_Gears_Header_Reserve" : "Réserve", + + "List_JumpType_Add" : "Ajouter un type de saut", + "List_JumpType_Header_Id" : "ID", + "List_JumpType_Header_Name" : "Nom", + + "List_Jump_Add" : "Ajouter des sauts", + "List_Jump_Header_Num" : "Numéro", + "List_Jump_Header_Date" : "Date", + "List_Jump_Header_JumpType" : "Type de saut", + "List_Jump_Header_Aircraft" : "Avion", + "List_Jump_Header_Dz" : "Centre", + "List_Jump_Header_Gear" : "Piège", + + "List_Dz_Add" : "Ajouter un centre de parachutisme", + "List_Dz_Header_ID" : "ID", + "List_Dz_Header_Name" : "Nom", + "List_Dz_Header_Address" : "Adresse", + "List_Dz_Header_Type" : "Type", + "List_Dz_Filter" : "Filtrer", + "List_Dz_Filter_PlaceHolder" : "Filtrer sur le nom ou l'adresse du centre" } \ No newline at end of file diff --git a/Front/skydivelogs-app/src/services/service-comm.service.ts b/Front/skydivelogs-app/src/services/service-comm.service.ts index 252c5ac..613807d 100644 --- a/Front/skydivelogs-app/src/services/service-comm.service.ts +++ b/Front/skydivelogs-app/src/services/service-comm.service.ts @@ -10,13 +10,20 @@ export class ServiceComm { private refreshRequestSource = new BehaviorSubject(AddAction.None); public refreshRequest = this.refreshRequestSource.asObservable(); + private forceTranslateTitleSource = new BehaviorSubject(false); + public forceTranslateTitle = this.forceTranslateTitleSource.asObservable(); + constructor() { } - UpdatedComponentTitle(title: string) { + public UpdatedComponentTitle(title: string) { this.componentTitleSource.next(title); } - RefreshData(refreshAfter: AddAction) { + public RefreshData(refreshAfter: AddAction) { this.refreshRequestSource.next(refreshAfter); } + + public ForceTranslateTitle() { + this.forceTranslateTitleSource.next(true); + } }
Num{{ 'List_Jump_Header_Num' | translate }} {{ resultsLength - ( (dataSourceTable.paginator.pageIndex * dataSourceTable.paginator.pageSize ) + i ) }} Date{{ 'List_Jump_Header_Date' | translate }} Jump Type{{ 'List_Jump_Header_JumpType' | translate }} Aircraft{{ 'List_Jump_Header_Aircraft' | translate }} Drop Zone{{ 'List_Jump_Header_Dz' | translate }} Gear{{ 'List_Jump_Header_Id' | translate }} {{element.gear.name}}