Ajout des traductions
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
import { Component, OnInit } from "@angular/core";
|
import { Component, OnInit } from "@angular/core";
|
||||||
import { Router } from "@angular/router";
|
import { Router } from "@angular/router";
|
||||||
import { TranslateService } from "@ngx-translate/core";
|
import { TranslateService } from "@ngx-translate/core";
|
||||||
import { forkJoin, Observable } from 'rxjs';
|
|
||||||
|
|
||||||
import { User } from "../models/user";
|
import { User } from "../models/user";
|
||||||
import { CacheApiKey } from "../models/cache-api-key.enum";
|
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 { ServiceComm } from "../services/service-comm.service";
|
||||||
import { ConfigurationHelper } from "../services/configuration-helper";
|
import { ConfigurationHelper } from "../services/configuration-helper";
|
||||||
import { ServiceCacheApi } from "../services/service-cache-api.service";
|
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({
|
@Component({
|
||||||
selector: "app-root",
|
selector: "app-root",
|
||||||
@@ -68,5 +63,7 @@ export class AppComponent implements OnInit {
|
|||||||
this.currentUser.language = event.value;
|
this.currentUser.language = event.value;
|
||||||
this.authenticationService.currentUserValue = this.currentUser;
|
this.authenticationService.currentUserValue = this.currentUser;
|
||||||
this.selectedLanguageFlag = event.value;
|
this.selectedLanguageFlag = event.value;
|
||||||
|
|
||||||
|
this.serviceComm.ForceTranslateTitle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,10 +27,12 @@ export class DefaultComponent implements OnInit {
|
|||||||
this.authenticationService.alwaysLogin();
|
this.authenticationService.alwaysLogin();
|
||||||
|
|
||||||
this.putToCacheRefDatas().subscribe(() => { console.log("Push to cache the referentiel datas"); });
|
this.putToCacheRefDatas().subscribe(() => { console.log("Push to cache the referentiel datas"); });
|
||||||
|
this.updateTitle();
|
||||||
this.translateService.get("Home").subscribe(
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
if (data === true){
|
||||||
);
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private putToCacheRefDatas(): Observable<any[]> {
|
private putToCacheRefDatas(): Observable<any[]> {
|
||||||
@@ -41,4 +43,10 @@ export class DefaultComponent implements OnInit {
|
|||||||
|
|
||||||
return forkJoin([aircraftResp, jumpTypeResp, dzResp, gearResp]);
|
return forkJoin([aircraftResp, jumpTypeResp, dzResp, gearResp]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("Default_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,20 +1,20 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div *ngIf="dataSourceTable != null else loading">
|
<div *ngIf="dataSourceTable != null else loading">
|
||||||
<button mat-raised-button color="accent" (click)="openDialogToAdd()" *ngIf="isUserAdmin == true">Add a aircraft</button>
|
<button mat-raised-button color="accent" (click)="openDialogToAdd()" *ngIf="isUserAdmin == true">{{ 'List_Aircrafts_Add' | translate }}</button>
|
||||||
|
|
||||||
<table mat-table [dataSource]="dataSourceTable">
|
<table mat-table [dataSource]="dataSourceTable">
|
||||||
<ng-container matColumnDef="id">
|
<ng-container matColumnDef="id">
|
||||||
<th mat-header-cell *matHeaderCellDef>ID</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Aircrafts_Header_Id' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="name">
|
<ng-container matColumnDef="name">
|
||||||
<th mat-header-cell *matHeaderCellDef>Name</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Aircrafts_Header_Name' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.name}}</td>
|
<td mat-cell *matCellDef="let element">{{element.name}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="imageData">
|
<ng-container matColumnDef="imageData">
|
||||||
<th mat-header-cell *matHeaderCellDef>Image</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Aircrafts_Header_Image' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element"><img src="{{element.imageData}}" alt="No image" style="width: 128px;"></td>
|
<td mat-cell *matCellDef="let element"><img src="{{element.imageData}}" alt="No image" style="width: 128px;"></td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
|||||||
import { MatPaginator } from '@angular/material/paginator';
|
import { MatPaginator } from '@angular/material/paginator';
|
||||||
import { MatTableDataSource } from '@angular/material/table';
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { AircraftService } from '../../services/aircraft.service';
|
import { AircraftService } from '../../services/aircraft.service';
|
||||||
import { ServiceComm } from '../../services/service-comm.service';
|
import { ServiceComm } from '../../services/service-comm.service';
|
||||||
@@ -25,7 +26,8 @@ export class ListOfAircraftsComponent implements OnInit {
|
|||||||
constructor(private serviceApi: AircraftService,
|
constructor(private serviceApi: AircraftService,
|
||||||
private serviceComm: ServiceComm,
|
private serviceComm: ServiceComm,
|
||||||
private authenticationService: AuthenticationService,
|
private authenticationService: AuthenticationService,
|
||||||
public dialog: MatDialog) {
|
public dialog: MatDialog,
|
||||||
|
private translateService: TranslateService) {
|
||||||
this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin";
|
this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +38,13 @@ export class ListOfAircraftsComponent implements OnInit {
|
|||||||
this.getListOfAircrafts();
|
this.getListOfAircrafts();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.serviceComm.UpdatedComponentTitle('List of aircrafts');
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
|
if (data === true){
|
||||||
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.updateTitle();
|
||||||
this.getListOfAircrafts();
|
this.getListOfAircrafts();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,4 +62,10 @@ export class ListOfAircraftsComponent implements OnInit {
|
|||||||
openDialogToAdd() {
|
openDialogToAdd() {
|
||||||
this.dialog.open(NewAircraftComponent);
|
this.dialog.open(NewAircraftComponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("ListAircrafts_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div *ngIf="dataSourceTable != null else loading">
|
<div *ngIf="dataSourceTable != null else loading">
|
||||||
<button mat-raised-button color="accent" (click)="openDialogToAdd()" *ngIf="isUserAdmin == true">Add a drop zone</button>
|
<button mat-raised-button color="accent" (click)="openDialogToAdd()" *ngIf="isUserAdmin == true">{{ 'List_Dz_Add' | translate }}</button>
|
||||||
|
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>Filter</mat-label>
|
<mat-label>{{ 'List_Dz_Filter' | translate }}</mat-label>
|
||||||
<input matInput (keyup)="applyFilter($event)" placeholder="Filter on the name or address of center" #input>
|
<input matInput (keyup)="applyFilter($event)" placeholder="{{ 'List_Dz_Filter_PlaceHolder' | translate }}" #input>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<table mat-table [dataSource]="dataSourceTable">
|
<table mat-table [dataSource]="dataSourceTable">
|
||||||
@@ -15,7 +15,6 @@
|
|||||||
(click)="removeToFavorite(element)" color="primary" style="cursor: pointer;">favorite</mat-icon>
|
(click)="removeToFavorite(element)" color="primary" style="cursor: pointer;">favorite</mat-icon>
|
||||||
<mat-icon aria-hidden="false" aria-label="Not favorite" *ngIf="element.isFavorite === false"
|
<mat-icon aria-hidden="false" aria-label="Not favorite" *ngIf="element.isFavorite === false"
|
||||||
(click)="setToFavorite(element)" style="cursor: pointer;">favorite_border</mat-icon>
|
(click)="setToFavorite(element)" style="cursor: pointer;">favorite_border</mat-icon>
|
||||||
|
|
||||||
<a href='http://{{element.website}}' target="_blank">
|
<a href='http://{{element.website}}' target="_blank">
|
||||||
<mat-icon aria-hidden="false" aria-label="URL to the DZ website" style="color: white;">link</mat-icon>
|
<mat-icon aria-hidden="false" aria-label="URL to the DZ website" style="color: white;">link</mat-icon>
|
||||||
</a>
|
</a>
|
||||||
@@ -30,26 +29,26 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="id">
|
<ng-container matColumnDef="id">
|
||||||
<th mat-header-cell *matHeaderCellDef>ID</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Dz_Header_ID' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="name">
|
<ng-container matColumnDef="name">
|
||||||
<th mat-header-cell *matHeaderCellDef>Name</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Dz_Header_Name' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">
|
<td mat-cell *matCellDef="let element">
|
||||||
<span class="spanWithBreakWord" [innerHTML]="element.name"></span>
|
<span class="spanWithBreakWord" [innerHTML]="element.name"></span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="address">
|
<ng-container matColumnDef="address">
|
||||||
<th mat-header-cell *matHeaderCellDef>Address</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Dz_Header_Address' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">
|
<td mat-cell *matCellDef="let element">
|
||||||
<span class="spanWithBreakWord" [innerHTML]="element.address"></span>
|
<span class="spanWithBreakWord" [innerHTML]="element.address"></span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="type">
|
<ng-container matColumnDef="type">
|
||||||
<th mat-header-cell *matHeaderCellDef>Type</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Dz_Header_Type' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.type}}</td>
|
<td mat-cell *matCellDef="let element">{{element.type}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
|||||||
import { MatPaginator } from '@angular/material/paginator';
|
import { MatPaginator } from '@angular/material/paginator';
|
||||||
import { MatTableDataSource } from '@angular/material/table';
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { AddAction } from '../../models/add-action.enum';
|
import { AddAction } from '../../models/add-action.enum';
|
||||||
import { DropZoneResp } from '../../models/dropzone';
|
import { DropZoneResp } from '../../models/dropzone';
|
||||||
@@ -30,7 +31,8 @@ export class ListOfDzsComponent implements OnInit {
|
|||||||
constructor(private serviceApi: DropzoneService,
|
constructor(private serviceApi: DropzoneService,
|
||||||
private serviceComm: ServiceComm,
|
private serviceComm: ServiceComm,
|
||||||
private authenticationService: AuthenticationService,
|
private authenticationService: AuthenticationService,
|
||||||
public dialog: MatDialog) {
|
public dialog: MatDialog,
|
||||||
|
private translateService: TranslateService) {
|
||||||
this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin";
|
this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +43,13 @@ export class ListOfDzsComponent implements OnInit {
|
|||||||
this.getListOfDropZones();
|
this.getListOfDropZones();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.serviceComm.UpdatedComponentTitle('List of DZs');
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
|
if (data === true){
|
||||||
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.updateTitle();
|
||||||
this.getListOfDropZones();
|
this.getListOfDropZones();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,4 +96,10 @@ export class ListOfDzsComponent implements OnInit {
|
|||||||
const filterValue = (event.target as HTMLInputElement).value;
|
const filterValue = (event.target as HTMLInputElement).value;
|
||||||
this.dataSourceTable.filter = filterValue.trim().toLowerCase();
|
this.dataSourceTable.filter = filterValue.trim().toLowerCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("ListDz_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,40 +1,40 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div *ngIf="dataSourceTable != null else loading">
|
<div *ngIf="dataSourceTable != null else loading">
|
||||||
<button mat-raised-button color="accent" (click)="openDialogToAdd()">Add a gear</button>
|
<button mat-raised-button color="accent" (click)="openDialogToAdd()">{{ 'List_Gears_Add' | translate }}</button>
|
||||||
|
|
||||||
<table mat-table [dataSource]="dataSourceTable">
|
<table mat-table [dataSource]="dataSourceTable">
|
||||||
<ng-container matColumnDef="id">
|
<ng-container matColumnDef="id">
|
||||||
<th mat-header-cell *matHeaderCellDef>ID</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Gears_Header_Id' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="name">
|
<ng-container matColumnDef="name">
|
||||||
<th mat-header-cell *matHeaderCellDef style="min-width: 130px;">Name</th>
|
<th mat-header-cell *matHeaderCellDef style="min-width: 130px;">{{ 'List_Gears_Header_Name' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.name}}</td>
|
<td mat-cell *matCellDef="let element">{{element.name}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="manufacturer">
|
<ng-container matColumnDef="manufacturer">
|
||||||
<th mat-header-cell *matHeaderCellDef>Manufacturer</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Gears_Header_Manufacturer' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.manufacturer}}</td>
|
<td mat-cell *matCellDef="let element">{{element.manufacturer}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="maxSize">
|
<ng-container matColumnDef="maxSize">
|
||||||
<th mat-header-cell *matHeaderCellDef style="min-width: 90px;">Canopy size</th>
|
<th mat-header-cell *matHeaderCellDef style="min-width: 90px;">{{ 'List_Gears_Header_CanopySize' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.minSize}} - {{element.maxSize}}</td>
|
<td mat-cell *matCellDef="let element">{{element.minSize}} - {{element.maxSize}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="aad">
|
<ng-container matColumnDef="aad">
|
||||||
<th mat-header-cell *matHeaderCellDef>AAD system</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Gears_Header_Aad' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.aad}}</td>
|
<td mat-cell *matCellDef="let element">{{element.aad}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="mainCanopy">
|
<ng-container matColumnDef="mainCanopy">
|
||||||
<th mat-header-cell *matHeaderCellDef>Main canopy</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Gears_Header_Main' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.mainCanopy}}</td>
|
<td mat-cell *matCellDef="let element">{{element.mainCanopy}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="reserveCanopy">
|
<ng-container matColumnDef="reserveCanopy">
|
||||||
<th mat-header-cell *matHeaderCellDef>Reserve canopy</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Gears_Header_Reserve' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.reserveCanopy}}</td>
|
<td mat-cell *matCellDef="let element">{{element.reserveCanopy}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from "@angular/core";
|
|||||||
import { MatPaginator } from "@angular/material/paginator";
|
import { MatPaginator } from "@angular/material/paginator";
|
||||||
import { MatTableDataSource } from "@angular/material/table";
|
import { MatTableDataSource } from "@angular/material/table";
|
||||||
import { MatDialog } from "@angular/material/dialog";
|
import { MatDialog } from "@angular/material/dialog";
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { GearService } from "../../services/gear.service";
|
import { GearService } from "../../services/gear.service";
|
||||||
import { ServiceComm } from "../../services/service-comm.service";
|
import { ServiceComm } from "../../services/service-comm.service";
|
||||||
@@ -29,7 +30,8 @@ export class ListOfGearsComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(private serviceApi: GearService,
|
constructor(private serviceApi: GearService,
|
||||||
private serviceComm: ServiceComm,
|
private serviceComm: ServiceComm,
|
||||||
public dialog: MatDialog) {}
|
public dialog: MatDialog,
|
||||||
|
private translateService: TranslateService) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.serviceComm.refreshRequest.subscribe(action => {
|
this.serviceComm.refreshRequest.subscribe(action => {
|
||||||
@@ -38,7 +40,13 @@ export class ListOfGearsComponent implements OnInit {
|
|||||||
this.getListOfGears();
|
this.getListOfGears();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.serviceComm.UpdatedComponentTitle("List of gears");
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
|
if (data === true){
|
||||||
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.updateTitle();
|
||||||
this.getListOfGears();
|
this.getListOfGears();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,4 +68,10 @@ export class ListOfGearsComponent implements OnInit {
|
|||||||
width: "600px"
|
width: "600px"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("ListGears_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div *ngIf="dataSourceTable != null else loading">
|
<div *ngIf="dataSourceTable != null else loading">
|
||||||
<button mat-raised-button color="accent" (click)="openDialogToAdd()" *ngIf="isUserAdmin == true">Add a jump type</button>
|
<button mat-raised-button color="accent" (click)="openDialogToAdd()" *ngIf="isUserAdmin == true">{{ 'List_JumpType_Add' | translate }}</button>
|
||||||
|
|
||||||
<table mat-table [dataSource]="dataSourceTable">
|
<table mat-table [dataSource]="dataSourceTable">
|
||||||
<ng-container matColumnDef="id">
|
<ng-container matColumnDef="id">
|
||||||
<th mat-header-cell *matHeaderCellDef>ID</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_JumpType_Header_Id' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
<td mat-cell *matCellDef="let element">{{element.id}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="name">
|
<ng-container matColumnDef="name">
|
||||||
<th mat-header-cell *matHeaderCellDef>Name</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_JumpType_Header_Name' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.name}}</td>
|
<td mat-cell *matCellDef="let element">{{element.name}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from "@angular/core";
|
|||||||
import { MatPaginator } from "@angular/material/paginator";
|
import { MatPaginator } from "@angular/material/paginator";
|
||||||
import { MatTableDataSource } from "@angular/material/table";
|
import { MatTableDataSource } from "@angular/material/table";
|
||||||
import { MatDialog } from "@angular/material/dialog";
|
import { MatDialog } from "@angular/material/dialog";
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { AddAction } from "../../models/add-action.enum";
|
import { AddAction } from "../../models/add-action.enum";
|
||||||
import { JumpTypeResp } from "../../models/jumpType";
|
import { JumpTypeResp } from "../../models/jumpType";
|
||||||
@@ -25,7 +26,8 @@ export class ListOfJumpTypesComponent implements OnInit {
|
|||||||
constructor(private serviceApi: JumpTypeService,
|
constructor(private serviceApi: JumpTypeService,
|
||||||
private serviceComm: ServiceComm,
|
private serviceComm: ServiceComm,
|
||||||
private authenticationService: AuthenticationService,
|
private authenticationService: AuthenticationService,
|
||||||
public dialog: MatDialog) {
|
public dialog: MatDialog,
|
||||||
|
private translateService: TranslateService) {
|
||||||
this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin";
|
this.isUserAdmin = this.authenticationService.currentUserValue.roles === "admin";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,7 +38,13 @@ export class ListOfJumpTypesComponent implements OnInit {
|
|||||||
this.getListOfJumpTypes();
|
this.getListOfJumpTypes();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.serviceComm.UpdatedComponentTitle("List of jump types");
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
|
if (data === true){
|
||||||
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.updateTitle();
|
||||||
this.getListOfJumpTypes();
|
this.getListOfJumpTypes();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,4 +62,10 @@ export class ListOfJumpTypesComponent implements OnInit {
|
|||||||
openDialogToAdd() {
|
openDialogToAdd() {
|
||||||
this.dialog.open(NewJumpTypeComponent);
|
this.dialog.open(NewJumpTypeComponent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("ListJumpTypes_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div>
|
<div>
|
||||||
<button mat-raised-button color="accent" [routerLink]="['/newjump']" [routerLinkActive]="['active']" skipLocationChange>Add jumps</button>
|
<button mat-raised-button color="accent" [routerLink]="['/newjump']" [routerLinkActive]="['active']" skipLocationChange>{{ 'List_Jump_Add' | translate }}</button>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="dataSourceTable != null else loading">
|
<div *ngIf="dataSourceTable != null else loading">
|
||||||
<table mat-table [dataSource]="dataSourceTable">
|
<table mat-table [dataSource]="dataSourceTable">
|
||||||
@@ -15,42 +15,42 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="id">
|
<ng-container matColumnDef="id">
|
||||||
<th mat-header-cell *matHeaderCellDef style="min-width: 70px;">Num</th>
|
<th mat-header-cell *matHeaderCellDef style="min-width: 70px;">{{ 'List_Jump_Header_Num' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element; let i = index">
|
<td mat-cell *matCellDef="let element; let i = index">
|
||||||
{{ resultsLength - ( (dataSourceTable.paginator.pageIndex * dataSourceTable.paginator.pageSize ) + i ) }}
|
{{ resultsLength - ( (dataSourceTable.paginator.pageIndex * dataSourceTable.paginator.pageSize ) + i ) }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="jumpDate">
|
<ng-container matColumnDef="jumpDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>Date</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Jump_Header_Date' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">
|
<td mat-cell *matCellDef="let element">
|
||||||
<span class="smallSpanWithBreakWord" [innerHTML]="element.jumpDate | date: 'yyyy-MM-dd'"></span>
|
<span class="smallSpanWithBreakWord" [innerHTML]="element.jumpDate | date: 'yyyy-MM-dd'"></span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="jumpType">
|
<ng-container matColumnDef="jumpType">
|
||||||
<th mat-header-cell *matHeaderCellDef style="min-width: 100px;">Jump Type</th>
|
<th mat-header-cell *matHeaderCellDef style="min-width: 100px;">{{ 'List_Jump_Header_JumpType' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">
|
<td mat-cell *matCellDef="let element">
|
||||||
<span class="smallSpanWithBreakWord" [innerHTML]="element.jumpType.name"></span>
|
<span class="smallSpanWithBreakWord" [innerHTML]="element.jumpType.name"></span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="aircraft">
|
<ng-container matColumnDef="aircraft">
|
||||||
<th mat-header-cell *matHeaderCellDef style="min-width: 110px;">Aircraft</th>
|
<th mat-header-cell *matHeaderCellDef style="min-width: 110px;">{{ 'List_Jump_Header_Aircraft' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">
|
<td mat-cell *matCellDef="let element">
|
||||||
<span class="smallSpanWithBreakWord" [innerHTML]="element.aircraft.name"></span>
|
<span class="smallSpanWithBreakWord" [innerHTML]="element.aircraft.name"></span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="dropZone">
|
<ng-container matColumnDef="dropZone">
|
||||||
<th mat-header-cell *matHeaderCellDef>Drop Zone</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Jump_Header_Dz' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">
|
<td mat-cell *matCellDef="let element">
|
||||||
<span class="spanWithBreakWord" [innerHTML]="element.dropZone.name"></span>
|
<span class="spanWithBreakWord" [innerHTML]="element.dropZone.name"></span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="gear">
|
<ng-container matColumnDef="gear">
|
||||||
<th mat-header-cell *matHeaderCellDef>Gear</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'List_Jump_Header_Id' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let element">{{element.gear.name}}</td>
|
<td mat-cell *matCellDef="let element">{{element.gear.name}}</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
|
|||||||
import { MatPaginator } from '@angular/material/paginator';
|
import { MatPaginator } from '@angular/material/paginator';
|
||||||
import { MatTableDataSource } from '@angular/material/table';
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
import { MatDialog } from "@angular/material/dialog";
|
import { MatDialog } from "@angular/material/dialog";
|
||||||
import { Observable } from 'rxjs';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { AddAction } from '../../models/add-action.enum';
|
import { AddAction } from '../../models/add-action.enum';
|
||||||
import { Jump } from '../../models/jump';
|
import { Jump } from '../../models/jump';
|
||||||
@@ -31,7 +31,8 @@ export class ListOfJumpsComponent implements OnInit {
|
|||||||
|
|
||||||
constructor(private serviceApi: JumpService,
|
constructor(private serviceApi: JumpService,
|
||||||
private serviceComm: ServiceComm,
|
private serviceComm: ServiceComm,
|
||||||
public dialog: MatDialog) { }
|
public dialog: MatDialog,
|
||||||
|
private translateService: TranslateService) { }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.serviceComm.refreshRequest.subscribe(action => {
|
this.serviceComm.refreshRequest.subscribe(action => {
|
||||||
@@ -40,7 +41,13 @@ export class ListOfJumpsComponent implements OnInit {
|
|||||||
this.getListOfJumps();
|
this.getListOfJumps();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.serviceComm.UpdatedComponentTitle('List of jumps');
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
|
if (data === true){
|
||||||
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.updateTitle();
|
||||||
this.getListOfJumps();
|
this.getListOfJumps();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,4 +86,10 @@ export class ListOfJumpsComponent implements OnInit {
|
|||||||
|
|
||||||
this.serviceApi.DeleteJump(item);
|
this.serviceApi.DeleteJump(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("ListJumps_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { Component, OnInit } from "@angular/core";
|
import { Component, OnInit } from "@angular/core";
|
||||||
import { formatDate } from '@angular/common';
|
import { formatDate } from '@angular/common';
|
||||||
import { DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter } from "@angular/material/core";
|
import { DateAdapter, MAT_DATE_FORMATS, NativeDateAdapter } from "@angular/material/core";
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { JumpTypeResp } from "../../models/jumpType";
|
import { JumpTypeResp } from "../../models/jumpType";
|
||||||
import { AircraftResp } from "../../models/aircraft";
|
import { AircraftResp } from "../../models/aircraft";
|
||||||
@@ -68,14 +69,19 @@ export class NewJumpComponent implements OnInit {
|
|||||||
private serviceAircraft: AircraftService,
|
private serviceAircraft: AircraftService,
|
||||||
private serviceDropzone: DropzoneService,
|
private serviceDropzone: DropzoneService,
|
||||||
private serviceGear: GearService,
|
private serviceGear: GearService,
|
||||||
private dateService: DateService) {}
|
private dateService: DateService,
|
||||||
|
private translateService: TranslateService) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.serviceComm.UpdatedComponentTitle("Add a new jump");
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
|
if (data === true){
|
||||||
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.updateTitle();
|
||||||
|
|
||||||
this.pendingAddRequest = false;
|
this.pendingAddRequest = false;
|
||||||
|
|
||||||
this.initForm();
|
this.initForm();
|
||||||
|
|
||||||
this.getListOfJumpTypes();
|
this.getListOfJumpTypes();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,4 +219,10 @@ export class NewJumpComponent implements OnInit {
|
|||||||
this.selectedDz = undefined;
|
this.selectedDz = undefined;
|
||||||
this.onChangeDz('');
|
this.onChangeDz('');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("NewJump_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { MatTableDataSource } from '@angular/material/table';
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
import { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs';
|
import { MatTabChangeEvent, MatTabGroup } from '@angular/material/tabs';
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
import { ServiceComm } from '../../services/service-comm.service';
|
import { ServiceComm } from '../../services/service-comm.service';
|
||||||
import { StatsService } from '../../services/stats.service';
|
import { StatsService } from '../../services/stats.service';
|
||||||
import { StatsByDzResp, StatsByAircraftResp, StatsByGearResp,
|
import { StatsByDzResp, StatsByAircraftResp, StatsByGearResp,
|
||||||
@@ -31,10 +33,16 @@ export class SummaryComponent implements OnInit {
|
|||||||
@ViewChild(MatTabGroup) tabGroup: MatTabGroup;
|
@ViewChild(MatTabGroup) tabGroup: MatTabGroup;
|
||||||
|
|
||||||
constructor(private serviceApi: StatsService,
|
constructor(private serviceApi: StatsService,
|
||||||
private serviceComm: ServiceComm) { }
|
private serviceComm: ServiceComm,
|
||||||
|
private translateService: TranslateService) { }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.serviceComm.UpdatedComponentTitle('Summary');
|
this.serviceComm.forceTranslateTitle.subscribe((data)=> {
|
||||||
|
if (data === true){
|
||||||
|
this.updateTitle();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.updateTitle();
|
||||||
|
|
||||||
this.serviceApi.getSimpleSummary()
|
this.serviceApi.getSimpleSummary()
|
||||||
.subscribe(data => {
|
.subscribe(data => {
|
||||||
@@ -114,4 +122,10 @@ export class SummaryComponent implements OnInit {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private updateTitle() {
|
||||||
|
this.translateService.get("Summary_Title").subscribe(
|
||||||
|
data => { this.serviceComm.UpdatedComponentTitle(data); }
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,14 @@
|
|||||||
"LoginCreateUser_BtnLogin" : "Create user and login",
|
"LoginCreateUser_BtnLogin" : "Create user and login",
|
||||||
|
|
||||||
"Default_Title" : "Home",
|
"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_Footer" : "Web software to log your skydive jumps - v",
|
||||||
"App_Nav_Summary" : "Summary",
|
"App_Nav_Summary" : "Summary",
|
||||||
"App_Nav_Jumps" : "List of jumps",
|
"App_Nav_Jumps" : "List of jumps",
|
||||||
@@ -37,5 +45,39 @@
|
|||||||
"App_Nav_Aircrafts" : "List of aircrafts",
|
"App_Nav_Aircrafts" : "List of aircrafts",
|
||||||
"App_Nav_JumpTypes" : "List of jump types",
|
"App_Nav_JumpTypes" : "List of jump types",
|
||||||
"App_Nav_Gears" : "List of gears",
|
"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"
|
||||||
}
|
}
|
||||||
@@ -29,13 +29,55 @@
|
|||||||
"LoginCreateUser_BtnLogin" : "Créer et se connecter",
|
"LoginCreateUser_BtnLogin" : "Créer et se connecter",
|
||||||
|
|
||||||
"Default_Title" : "Accueil",
|
"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_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_Jumps" : "Les sauts",
|
||||||
"App_Nav_NewJump" : "Ajouter un saut",
|
"App_Nav_NewJump" : "Ajouter un saut",
|
||||||
"App_Nav_Dzs" : "Centre de parachutisme",
|
"App_Nav_Dzs" : "Centre de parachutisme",
|
||||||
"App_Nav_Aircrafts" : "Avions",
|
"App_Nav_Aircrafts" : "Avions",
|
||||||
"App_Nav_JumpTypes" : "Type de saut",
|
"App_Nav_JumpTypes" : "Type de saut",
|
||||||
"App_Nav_Gears" : "Pièges",
|
"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"
|
||||||
}
|
}
|
||||||
@@ -10,13 +10,20 @@ export class ServiceComm {
|
|||||||
private refreshRequestSource = new BehaviorSubject<AddAction>(AddAction.None);
|
private refreshRequestSource = new BehaviorSubject<AddAction>(AddAction.None);
|
||||||
public refreshRequest = this.refreshRequestSource.asObservable();
|
public refreshRequest = this.refreshRequestSource.asObservable();
|
||||||
|
|
||||||
|
private forceTranslateTitleSource = new BehaviorSubject<boolean>(false);
|
||||||
|
public forceTranslateTitle = this.forceTranslateTitleSource.asObservable();
|
||||||
|
|
||||||
constructor() { }
|
constructor() { }
|
||||||
|
|
||||||
UpdatedComponentTitle(title: string) {
|
public UpdatedComponentTitle(title: string) {
|
||||||
this.componentTitleSource.next(title);
|
this.componentTitleSource.next(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
RefreshData(refreshAfter: AddAction) {
|
public RefreshData(refreshAfter: AddAction) {
|
||||||
this.refreshRequestSource.next(refreshAfter);
|
this.refreshRequestSource.next(refreshAfter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ForceTranslateTitle() {
|
||||||
|
this.forceTranslateTitleSource.next(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user