From 54f5398af1be6f5f2cf00749893c20f33827ba68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Thu, 28 Nov 2019 14:53:35 +0100 Subject: [PATCH] Fix sur la pagination et fix sur le tri par date --- .../list-of-aircrafts.component.css | 6 +++ .../list-of-aircrafts.component.html | 4 +- .../list-of-aircrafts.component.ts | 23 ++++++------ .../app/list-of-dzs/list-of-dzs.component.css | 6 +++ .../list-of-dzs/list-of-dzs.component.html | 4 +- .../list-of-gears/list-of-gears.component.css | 6 +++ .../list-of-gears.component.html | 4 +- .../list-of-gears/list-of-gears.component.ts | 35 +++++++++--------- .../list-of-jump-types.component.css | 6 +++ .../list-of-jump-types.component.html | 4 +- .../list-of-jump-types.component.ts | 23 ++++++------ .../list-of-jumps/list-of-jumps.component.css | 6 +++ .../list-of-jumps.component.html | 4 +- .../list-of-jumps/list-of-jumps.component.ts | 37 ++++++++++--------- Front/skydivelogs-app/src/models/jump.ts | 9 +++-- .../src/services/service-api-get.service.ts | 8 +++- 16 files changed, 113 insertions(+), 72 deletions(-) diff --git a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css index 1922e7f..9912e46 100644 --- a/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css +++ b/Front/skydivelogs-app/src/app/list-of-aircrafts/list-of-aircrafts.component.css @@ -1,3 +1,9 @@ table { width: 100%; } + +.table-container { + position: relative; + height: 600px; + overflow: auto; +} 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 0299008..97c482f 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,4 +1,4 @@ -
+
@@ -13,6 +13,6 @@
ID
-
+ Waiting... 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 bdbf468..4476969 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 @@ -1,18 +1,18 @@ -import { Component, OnInit, ViewChild } from "@angular/core"; -import { MatPaginator } from "@angular/material/paginator"; -import { MatTableDataSource } from "@angular/material/table"; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatPaginator } from '@angular/material/paginator'; +import { MatTableDataSource } from '@angular/material/table'; -import { AircraftResp } from "../../models/aircraft"; -import { ServiceApiGet } from "../../services/service-api-get.service"; -import { ServiceComm } from "../../services/service-comm.service"; +import { AircraftResp } from '../../models/aircraft'; +import { ServiceApiGet } from '../../services/service-api-get.service'; +import { ServiceComm } from '../../services/service-comm.service'; @Component({ - selector: "app-list-of-aircrafts", - templateUrl: "./list-of-aircrafts.component.html", - styleUrls: ["./list-of-aircrafts.component.css"] + selector: 'app-list-of-aircrafts', + templateUrl: './list-of-aircrafts.component.html', + styleUrls: ['./list-of-aircrafts.component.css'] }) export class ListOfAircraftsComponent implements OnInit { - public displayedColumns: Array = ["id", "name"]; + public displayedColumns: Array = ['id', 'name']; public dataSourceTable; public resultsLength = 0; @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator; @@ -23,12 +23,13 @@ export class ListOfAircraftsComponent implements OnInit { ) { } ngOnInit() { - this.serviceComm.updatedComponentTitle("List of aircrafts"); + this.serviceComm.updatedComponentTitle('List of aircrafts'); this.getListOfAircrafts(); } getListOfAircrafts() { this.serviceApi.getListOfAircrafts().subscribe(data => { + data.sort((a, b) => (b.name < a.name) ? 1 : -1); this.dataSourceTable = new MatTableDataSource(data); this.dataSourceTable.paginator = this.paginator; this.resultsLength = data.length; diff --git a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css index 1922e7f..9912e46 100644 --- a/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css +++ b/Front/skydivelogs-app/src/app/list-of-dzs/list-of-dzs.component.css @@ -1,3 +1,9 @@ table { width: 100%; } + +.table-container { + position: relative; + height: 600px; + overflow: auto; +} 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 f888c58..e2dfc6c 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,4 +1,4 @@ -
+
@@ -45,6 +45,6 @@
-
+ Waiting... diff --git a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css index 1922e7f..9912e46 100644 --- a/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css +++ b/Front/skydivelogs-app/src/app/list-of-gears/list-of-gears.component.css @@ -1,3 +1,9 @@ table { width: 100%; } + +.table-container { + position: relative; + height: 600px; + overflow: auto; +} 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 31aef74..9c5c8ba 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,4 +1,4 @@ -
+
@@ -35,6 +35,6 @@
ID
-
+ Waiting... 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 15ace6b..a7e7705 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 @@ -1,24 +1,24 @@ -import { Component, OnInit, ViewChild } from "@angular/core"; -import { MatPaginator, MatTableDataSource } from "@angular/material"; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatPaginator, MatTableDataSource } from '@angular/material'; -import { ServiceApiGet } from "../../services/service-api-get.service"; -import { ServiceComm } from "../../services/service-comm.service"; -import { GearResp } from "../../models/gear"; +import { ServiceApiGet } from '../../services/service-api-get.service'; +import { ServiceComm } from '../../services/service-comm.service'; +import { GearResp } from '../../models/gear'; @Component({ - selector: "app-list-of-gears", - templateUrl: "./list-of-gears.component.html", - styleUrls: ["./list-of-gears.component.css"] + selector: 'app-list-of-gears', + templateUrl: './list-of-gears.component.html', + styleUrls: ['./list-of-gears.component.css'] }) export class ListOfGearsComponent implements OnInit { public displayedColumns: Array = [ - "id", - "name", - "latitude", - "longitude", - "address", - "email", - "type" + 'id', + 'name', + 'latitude', + 'longitude', + 'address', + 'email', + 'type' ]; public dataSourceTable; public resultsLength = 0; @@ -27,15 +27,16 @@ export class ListOfGearsComponent implements OnInit { constructor( private serviceApi: ServiceApiGet, private serviceComm: ServiceComm - ) {} + ) { } ngOnInit() { - this.serviceComm.updatedComponentTitle("List of gears"); + this.serviceComm.updatedComponentTitle('List of gears'); this.getListOfGears(); } getListOfGears() { this.serviceApi.getListOfGears().subscribe(data => { + //data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0)); this.dataSourceTable = new MatTableDataSource(data); this.dataSourceTable.paginator = this.paginator; this.resultsLength = data.length; diff --git a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css index 1922e7f..9912e46 100644 --- a/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css +++ b/Front/skydivelogs-app/src/app/list-of-jump-types/list-of-jump-types.component.css @@ -1,3 +1,9 @@ table { width: 100%; } + +.table-container { + position: relative; + height: 600px; + overflow: auto; +} 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 0299008..9b2ddff 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,4 +1,4 @@ -
+
@@ -13,6 +13,6 @@
ID
-
+ Waiting... 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 34e6f59..081affb 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 @@ -1,18 +1,18 @@ -import { Component, OnInit, ViewChild } from "@angular/core"; -import { MatPaginator } from "@angular/material/paginator"; -import { MatTableDataSource } from "@angular/material/table"; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatPaginator } from '@angular/material/paginator'; +import { MatTableDataSource } from '@angular/material/table'; -import { JumpTypeResp } from "../../models/jumpType"; -import { ServiceApiGet } from "../../services/service-api-get.service"; -import { ServiceComm } from "../../services/service-comm.service"; +import { JumpTypeResp } from '../../models/jumpType'; +import { ServiceApiGet } from '../../services/service-api-get.service'; +import { ServiceComm } from '../../services/service-comm.service'; @Component({ - selector: "app-list-of-jump-types", - templateUrl: "./list-of-jump-types.component.html", - styleUrls: ["./list-of-jump-types.component.css"] + selector: 'app-list-of-jump-types', + templateUrl: './list-of-jump-types.component.html', + styleUrls: ['./list-of-jump-types.component.css'] }) export class ListOfJumpTypesComponent implements OnInit { - public displayedColumns: Array = ["id", "name"]; + public displayedColumns: Array = ['id', 'name']; public dataSourceTable; public resultsLength = 0; @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator; @@ -23,12 +23,13 @@ export class ListOfJumpTypesComponent implements OnInit { ) { } ngOnInit() { - this.serviceComm.updatedComponentTitle("List of jump types"); + this.serviceComm.updatedComponentTitle('List of jump types'); this.getListOfJumpTypes(); } getListOfJumpTypes() { this.serviceApi.getListOfJumpTypes().subscribe(data => { + data.sort((a, b) => (b.name < a.name) ? 1 : -1); this.dataSourceTable = new MatTableDataSource(data); this.dataSourceTable.paginator = this.paginator; this.resultsLength = data.length; diff --git a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css index 1922e7f..9912e46 100644 --- a/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css +++ b/Front/skydivelogs-app/src/app/list-of-jumps/list-of-jumps.component.css @@ -1,3 +1,9 @@ table { width: 100%; } + +.table-container { + position: relative; + height: 600px; + overflow: auto; +} 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 d3e0931..f8ae51a 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,4 +1,4 @@ -
+
@@ -30,6 +30,6 @@
ID
-
+ Waiting... 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 17c5e94..c2df2f0 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 @@ -1,26 +1,26 @@ -import { Component, OnInit, ViewChild } from "@angular/core"; -import { MatPaginator } from "@angular/material/paginator"; -import { MatTableDataSource } from "@angular/material/table"; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatPaginator } from '@angular/material/paginator'; +import { MatTableDataSource } from '@angular/material/table'; -import { Observable } from "rxjs"; -import { JumpResp } from "../../models/jump"; -import { ServiceApiGet } from "../../services/service-api-get.service"; -import { ServiceComm } from "../../services/service-comm.service"; +import { Observable } from 'rxjs'; +import { JumpResp } from '../../models/jump'; +import { ServiceApiGet } from '../../services/service-api-get.service'; +import { ServiceComm } from '../../services/service-comm.service'; @Component({ - selector: "app-list-of-jumps", - templateUrl: "./list-of-jumps.component.html", - styleUrls: ["./list-of-jumps.component.css"] + selector: 'app-list-of-jumps', + templateUrl: './list-of-jumps.component.html', + styleUrls: ['./list-of-jumps.component.css'] }) export class ListOfJumpsComponent implements OnInit { public listOfJumps: Observable>; public displayedColumns: Array = [ - "id", - "jumpDate", - "jumpType", - "aircraft", - "dropZone", - "gear" + 'id', + 'jumpDate', + 'jumpType', + 'aircraft', + 'dropZone', + 'gear' ]; public dataSourceTable; public resultsLength = 0; @@ -29,16 +29,17 @@ export class ListOfJumpsComponent implements OnInit { constructor( private serviceApi: ServiceApiGet, private serviceComm: ServiceComm - ) {} + ) { } ngOnInit() { - this.serviceComm.updatedComponentTitle("List of jumps"); + this.serviceComm.updatedComponentTitle('List of jumps'); this.getListOfJumps(); } getListOfJumps() { this.listOfJumps = this.serviceApi.getListOfJumps(); this.listOfJumps.subscribe(data => { + data.sort((a, b) => b.jumpDate.getTime() - a.jumpDate.getTime()); this.dataSourceTable = new MatTableDataSource(data); this.dataSourceTable.paginator = this.paginator; this.resultsLength = data.length; diff --git a/Front/skydivelogs-app/src/models/jump.ts b/Front/skydivelogs-app/src/models/jump.ts index 7c23d66..df73030 100644 --- a/Front/skydivelogs-app/src/models/jump.ts +++ b/Front/skydivelogs-app/src/models/jump.ts @@ -1,7 +1,7 @@ -import { GearResp } from "./gear"; -import { DropZoneResp } from "./dropzone"; -import { AircraftResp } from "./aircraft"; -import { JumpTypeResp } from "./jumpType"; +import { GearResp } from './gear'; +import { DropZoneResp } from './dropzone'; +import { AircraftResp } from './aircraft'; +import { JumpTypeResp } from './jumpType'; export class JumpReq { constructor(data: any) { @@ -23,6 +23,7 @@ export class JumpReq { export class JumpResp { constructor(data: any) { Object.assign(this, data); + this.jumpDate = new Date(data.jumpDate); } public id: number; diff --git a/Front/skydivelogs-app/src/services/service-api-get.service.ts b/Front/skydivelogs-app/src/services/service-api-get.service.ts index e3b7698..e1fe7d1 100644 --- a/Front/skydivelogs-app/src/services/service-api-get.service.ts +++ b/Front/skydivelogs-app/src/services/service-api-get.service.ts @@ -42,7 +42,13 @@ export class ServiceApiGet { public getListOfJumps(): Observable> { return this.http.get>(`${environment.urlApi}/api/Jump`, { headers: this.headers - }); + }) + .pipe( + map(response => { + const details = response.map(data => new JumpResp(data)); + return details; + }) + ); } public getListOfAircrafts(): Observable> {