Fix autour des dates des jumps lors

de la création
This commit is contained in:
Sébastien André
2021-04-19 18:58:08 +02:00
parent 9a7b2c5ca3
commit 27928f1696
7 changed files with 147 additions and 227 deletions

View File

@@ -3381,15 +3381,6 @@
"tweetnacl": "^0.14.3" "tweetnacl": "^0.14.3"
} }
}, },
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
"integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
"dev": true,
"requires": {
"callsite": "1.0.0"
}
},
"big.js": { "big.js": {
"version": "5.2.2", "version": "5.2.2",
"resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
@@ -3789,12 +3780,6 @@
"caller-callsite": "^2.0.0" "caller-callsite": "^2.0.0"
} }
}, },
"callsite": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
"integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
"dev": true
},
"callsites": { "callsites": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
@@ -5622,23 +5607,23 @@
} }
}, },
"engine.io": { "engine.io": {
"version": "3.4.2", "version": "3.5.0",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz",
"integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==", "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==",
"dev": true, "dev": true,
"requires": { "requires": {
"accepts": "~1.3.4", "accepts": "~1.3.4",
"base64id": "2.0.0", "base64id": "2.0.0",
"cookie": "0.3.1", "cookie": "~0.4.1",
"debug": "~4.1.0", "debug": "~4.1.0",
"engine.io-parser": "~2.2.0", "engine.io-parser": "~2.2.0",
"ws": "^7.1.2" "ws": "~7.4.2"
}, },
"dependencies": { "dependencies": {
"cookie": { "cookie": {
"version": "0.3.1", "version": "0.4.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
"dev": true "dev": true
}, },
"debug": { "debug": {
@@ -5657,17 +5642,17 @@
"dev": true "dev": true
}, },
"ws": { "ws": {
"version": "7.4.1", "version": "7.4.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz",
"integrity": "sha512-pTsP8UAfhy3sk1lSk/O/s4tjD0CRwvMnzvwr4OKGX7ZvqZtUyx4KIJB5JWbkykPoc55tixMGgTNoh3k4FkNGFQ==", "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==",
"dev": true "dev": true
} }
} }
}, },
"engine.io-client": { "engine.io-client": {
"version": "3.4.4", "version": "3.5.1",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.4.tgz", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.1.tgz",
"integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==", "integrity": "sha512-oVu9kBkGbcggulyVF0kz6BV3ganqUeqXvD79WOFKa+11oK692w1NyFkuEj4xrkFRpZhn92QOqTk4RQq5LiBXbQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"component-emitter": "~1.3.0", "component-emitter": "~1.3.0",
@@ -5678,7 +5663,7 @@
"indexof": "0.0.1", "indexof": "0.0.1",
"parseqs": "0.0.6", "parseqs": "0.0.6",
"parseuri": "0.0.6", "parseuri": "0.0.6",
"ws": "~6.1.0", "ws": "~7.4.2",
"xmlhttprequest-ssl": "~1.5.4", "xmlhttprequest-ssl": "~1.5.4",
"yeast": "0.1.2" "yeast": "0.1.2"
}, },
@@ -5692,26 +5677,11 @@
"ms": "2.0.0" "ms": "2.0.0"
} }
}, },
"parseqs": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
"integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==",
"dev": true
},
"parseuri": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz",
"integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==",
"dev": true
},
"ws": { "ws": {
"version": "6.1.4", "version": "7.4.5",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz",
"integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==",
"dev": true, "dev": true
"requires": {
"async-limiter": "~1.0.0"
}
} }
} }
}, },
@@ -7488,9 +7458,9 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"dev": true "dev": true
}, },
"inquirer": { "inquirer": {
@@ -9940,12 +9910,6 @@
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
}, },
"object-component": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
"integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
"dev": true
},
"object-copy": { "object-copy": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
@@ -10511,22 +10475,16 @@
} }
}, },
"parseqs": { "parseqs": {
"version": "0.0.5", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz",
"integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==",
"dev": true, "dev": true
"requires": {
"better-assert": "~1.0.0"
}
}, },
"parseuri": { "parseuri": {
"version": "0.0.5", "version": "0.0.6",
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz",
"integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==",
"dev": true, "dev": true
"requires": {
"better-assert": "~1.0.0"
}
}, },
"parseurl": { "parseurl": {
"version": "1.3.3", "version": "1.3.3",
@@ -13750,16 +13708,16 @@
} }
}, },
"socket.io": { "socket.io": {
"version": "2.3.0", "version": "2.4.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz",
"integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==",
"dev": true, "dev": true,
"requires": { "requires": {
"debug": "~4.1.0", "debug": "~4.1.0",
"engine.io": "~3.4.0", "engine.io": "~3.5.0",
"has-binary2": "~1.0.2", "has-binary2": "~1.0.2",
"socket.io-adapter": "~1.1.0", "socket.io-adapter": "~1.1.0",
"socket.io-client": "2.3.0", "socket.io-client": "2.4.0",
"socket.io-parser": "~3.4.0" "socket.io-parser": "~3.4.0"
}, },
"dependencies": { "dependencies": {
@@ -13787,46 +13745,31 @@
"dev": true "dev": true
}, },
"socket.io-client": { "socket.io-client": {
"version": "2.3.0", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz",
"integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"backo2": "1.0.2", "backo2": "1.0.2",
"base64-arraybuffer": "0.1.5",
"component-bind": "1.0.0", "component-bind": "1.0.0",
"component-emitter": "1.2.1", "component-emitter": "~1.3.0",
"debug": "~4.1.0", "debug": "~3.1.0",
"engine.io-client": "~3.4.0", "engine.io-client": "~3.5.0",
"has-binary2": "~1.0.2", "has-binary2": "~1.0.2",
"has-cors": "1.1.0",
"indexof": "0.0.1", "indexof": "0.0.1",
"object-component": "0.0.3", "parseqs": "0.0.6",
"parseqs": "0.0.5", "parseuri": "0.0.6",
"parseuri": "0.0.5",
"socket.io-parser": "~3.3.0", "socket.io-parser": "~3.3.0",
"to-array": "0.1.4" "to-array": "0.1.4"
}, },
"dependencies": { "dependencies": {
"base64-arraybuffer": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
"integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
"dev": true
},
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"debug": { "debug": {
"version": "4.1.1", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true, "dev": true,
"requires": { "requires": {
"ms": "^2.1.1" "ms": "2.0.0"
} }
}, },
"isarray": { "isarray": {
@@ -13835,44 +13778,15 @@
"integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
"dev": true "dev": true
}, },
"ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
"socket.io-parser": { "socket.io-parser": {
"version": "3.3.1", "version": "3.3.2",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz",
"integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==", "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==",
"dev": true, "dev": true,
"requires": { "requires": {
"component-emitter": "~1.3.0", "component-emitter": "~1.3.0",
"debug": "~3.1.0", "debug": "~3.1.0",
"isarray": "2.0.1" "isarray": "2.0.1"
},
"dependencies": {
"component-emitter": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
},
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
}
} }
} }
} }
@@ -17050,9 +16964,9 @@
"dev": true "dev": true
}, },
"y18n": { "y18n": {
"version": "4.0.0", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
}, },
"yallist": { "yallist": {
"version": "4.0.0", "version": "4.0.0",

View File

@@ -2,6 +2,7 @@ import { BrowserModule } from "@angular/platform-browser";
import { APP_INITIALIZER, NgModule } from "@angular/core"; import { APP_INITIALIZER, NgModule } from "@angular/core";
import { RouterModule, Routes } from "@angular/router"; import { RouterModule, Routes } from "@angular/router";
import { HttpClientModule, HTTP_INTERCEPTORS } from "@angular/common/http"; import { HttpClientModule, HTTP_INTERCEPTORS } from "@angular/common/http";
import { DatePipe } from '@angular/common';
import { AppComponent } from "./app.component"; import { AppComponent } from "./app.component";
import { environment } from "../environments/environment"; import { environment } from "../environments/environment";
@@ -184,9 +185,10 @@ export function initConfig(configService: ConfigurationHelper) {
DateService, DateService,
RequestCache, RequestCache,
ConfigurationHelper, ConfigurationHelper,
DatePipe,
{ provide: APP_INITIALIZER, useFactory: initConfig, deps: [ConfigurationHelper], multi: true }, { provide: APP_INITIALIZER, useFactory: initConfig, deps: [ConfigurationHelper], multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: JwtAuthInterceptor, multi: true }, { provide: HTTP_INTERCEPTORS, useClass: JwtAuthInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }, { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }
// { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true } // { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true }
], ],
bootstrap: [AppComponent], bootstrap: [AppComponent],

View File

@@ -10,13 +10,11 @@ import { AircraftService } from "../../services/aircraft.service";
import { JumpService } from "../../services/jump.service"; import { JumpService } from "../../services/jump.service";
import { JumpTypeService } from "../../services/jump-type.service"; import { JumpTypeService } from "../../services/jump-type.service";
import { GearService } from "../../services/gear.service"; import { GearService } from "../../services/gear.service";
import { isNumber } from "util";
import { ThrowStmt } from "@angular/compiler";
@Component({ @Component({
selector: "app-new-jump", selector: "app-new-jump",
templateUrl: "./new-jump.component.html", templateUrl: "./new-jump.component.html",
styleUrls: ["./new-jump.component.css"], styleUrls: ["./new-jump.component.css"]
}) })
export class NewJumpComponent implements OnInit { export class NewJumpComponent implements OnInit {
beginDate: Date; beginDate: Date;
@@ -38,15 +36,13 @@ export class NewJumpComponent implements OnInit {
private pendingAddRequest: boolean; private pendingAddRequest: boolean;
comments: string; comments: string;
constructor( constructor(private serviceComm: ServiceComm,
private serviceComm: ServiceComm, private serviceJump: JumpService,
private serviceJump: JumpService, private serviceJumpType: JumpTypeService,
private serviceJumpType: JumpTypeService, private serviceAircraft: AircraftService,
private serviceAircraft: AircraftService, private serviceDropzone: DropzoneService,
private serviceDropzone: DropzoneService, private serviceGear: GearService,
private serviceGear: GearService, private dateService: DateService) {}
private dateService: DateService
) {}
ngOnInit() { ngOnInit() {
this.serviceComm.UpdatedComponentTitle("Add a new jump"); this.serviceComm.UpdatedComponentTitle("Add a new jump");
@@ -60,19 +56,17 @@ export class NewJumpComponent implements OnInit {
onFormSubmit() { onFormSubmit() {
this.pendingAddRequest = true; this.pendingAddRequest = true;
this.serviceJump.AddListOfJump( this.serviceJump.AddListOfJump(this.selectedJumpType.id,
this.selectedJumpType.id, this.selectedAircraft.id,
this.selectedAircraft.id, this.selectedDz.id,
this.selectedDz.id, this.selectedGear.id,
this.selectedGear.id, this.withCutaway === undefined ? false : this.withCutaway,
this.withCutaway === undefined ? false : this.withCutaway, this.beginDate,
this.beginDate, this.endDate,
this.endDate, this.exitAltitude,
this.exitAltitude, this.deployAltitude,
this.deployAltitude, this.countOfJumps,
this.countOfJumps, this.comments);
this.comments
);
setTimeout(() => { setTimeout(() => {
this.initForm(); this.initForm();
@@ -111,14 +105,14 @@ export class NewJumpComponent implements OnInit {
} }
private getListOfAircrafts() { private getListOfAircrafts() {
this.serviceAircraft.getListOfAircrafts().subscribe((data) => { this.serviceAircraft.getListOfAircrafts(true).subscribe((data) => {
this.listOfAircraft = data; this.listOfAircraft = data;
this.countDatasLoaded++; this.countDatasLoaded++;
}); });
} }
private getListOfDropZones() { private getListOfDropZones() {
this.serviceDropzone.getListOfDropZones().subscribe((data) => { this.serviceDropzone.getListOfDropZones(true).subscribe((data) => {
data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0)); data.sort((a, b) => (b.isFavorite ? 1 : 0) - (a.isFavorite ? 1 : 0));
this.listOfDropZone = data; this.listOfDropZone = data;
this.listOfFilteredDropZone = data; this.listOfFilteredDropZone = data;
@@ -147,6 +141,7 @@ export class NewJumpComponent implements OnInit {
this.selectedJumpType = undefined; this.selectedJumpType = undefined;
this.listOfFilteredDropZone = this.listOfDropZone; this.listOfFilteredDropZone = this.listOfDropZone;
this.comments = undefined;
} }
public displayFn(data?: JumpTypeResp): string | undefined { public displayFn(data?: JumpTypeResp): string | undefined {

View File

@@ -17,7 +17,7 @@ export class JumpReq {
public deployAltitude: number; public deployAltitude: number;
public withCutaway: boolean; public withCutaway: boolean;
public notes: string; public notes: string;
public jumpDate: Date; public jumpDate: string; //Date;
} }
export class JumpResp { export class JumpResp {

View File

@@ -12,10 +12,15 @@ export class AircraftService extends BaseService {
super(); super();
} }
public getListOfAircrafts(): Observable<Array<AircraftResp>> { public getListOfAircrafts(simple: boolean = false): Observable<Array<AircraftResp>> {
return this.http.get<Array<AircraftResp>>(`${this.apiUrl}/Aircraft`, { let url : string;
headers: this.headers if (simple === true) {
}); url = `${this.apiUrl}/Aircraft/GetSimple`;
} else {
url = `${this.apiUrl}/Aircraft`;
}
return this.http.get<Array<AircraftResp>>(url, { headers: this.headers });
} }
public AddAircraft(aircraftName: string, dataImg: string) { public AddAircraft(aircraftName: string, dataImg: string) {

View File

@@ -13,12 +13,18 @@ export class DropzoneService extends BaseService {
super(); super();
} }
public getListOfDropZones(): Observable<Array<DropZoneResp>> { public getListOfDropZones(simple: boolean = false): Observable<Array<DropZoneResp>> {
return this.http.get<Array<DropZoneResp>>(`${this.apiUrl}/DropZone`, let url : string;
{ headers: this.headers }) if (simple === true) {
url = `${this.apiUrl}/DropZone/GetSimple`;
} else {
url = `${this.apiUrl}/DropZone`;
}
return this.http.get<Array<DropZoneResp>>(url, { headers: this.headers })
.pipe(map(response => { .pipe(map(response => {
const details = response.map(data => new DropZoneResp(data)); const details = response.map(data => new DropZoneResp(data));
return details; return details;
})); }));
} }

View File

@@ -1,5 +1,6 @@
import { Injectable } from "@angular/core"; import { Injectable } from "@angular/core";
import { HttpClient } from "@angular/common/http"; import { HttpClient } from "@angular/common/http";
import { DatePipe } from '@angular/common';
import { Observable } from "rxjs"; import { Observable } from "rxjs";
import { map } from "rxjs/operators"; import { map } from "rxjs/operators";
@@ -10,7 +11,9 @@ import { BaseService } from "./base.service";
@Injectable() @Injectable()
export class JumpService extends BaseService { export class JumpService extends BaseService {
constructor(private http: HttpClient, private dateService: DateService) { constructor(private http: HttpClient,
private dateService: DateService,
private datePipe: DatePipe) {
super(); super();
} }
@@ -27,66 +30,61 @@ export class JumpService extends BaseService {
); );
} }
public AddListOfJump( public AddListOfJump(selectedJumpType: number,
selectedJumpType: number, selectedAircraft: number,
selectedAircraft: number, selectedDz: number,
selectedDz: number, selectedRig: number,
selectedRig: number, withCutaway: boolean,
withCutaway: boolean, beginDate: Date,
beginDate: Date, endDate: Date,
endDate: Date, defaultExitAltitude: number,
defaultExitAltitude: number, defaultDeployAltitude: number,
defaultDeployAltitude: number, countOfJumps: number,
countOfJumps: number, notes: string)
notes: string) { {
const diffInDays = this.dateService.DiffBetweenDates(beginDate, endDate) + 1; const diffInDays = this.dateService.DiffBetweenDates(beginDate, endDate) + 1;
const countOfJumpsPerDay = Math.trunc(countOfJumps / diffInDays); const countOfJumpsPerDay = Math.trunc(countOfJumps / diffInDays);
for (let i = 1; beginDate.getTime() < endDate.getTime(); i++) { for (let i = 1; beginDate.getTime() < endDate.getTime(); i++) {
this.AddJumps( this.AddJumps(selectedJumpType,
selectedJumpType, selectedAircraft,
selectedAircraft, selectedDz,
selectedDz, selectedRig,
selectedRig, withCutaway,
withCutaway, beginDate,
beginDate, defaultExitAltitude,
defaultExitAltitude, defaultDeployAltitude,
defaultDeployAltitude, countOfJumpsPerDay,
countOfJumpsPerDay, notes);
notes
);
beginDate = this.dateService.AddDays(beginDate, 1); beginDate = this.dateService.AddDays(beginDate, 1);
} }
const restfJumps = countOfJumps - countOfJumpsPerDay * (diffInDays - 1); const restfJumps = countOfJumps - countOfJumpsPerDay * (diffInDays - 1);
this.AddJumps( this.AddJumps(selectedJumpType,
selectedJumpType, selectedAircraft,
selectedAircraft, selectedDz,
selectedDz, selectedRig,
selectedRig, withCutaway,
withCutaway, beginDate,
beginDate, defaultExitAltitude,
defaultExitAltitude, defaultDeployAltitude,
defaultDeployAltitude, restfJumps,
restfJumps, notes);
notes
);
} }
private AddJumps( private AddJumps(selectedJumpType: number,
selectedJumpType: number, selectedAircraft: number,
selectedAircraft: number, selectedDz: number,
selectedDz: number, selectedRig: number,
selectedRig: number, withCutaway: boolean,
withCutaway: boolean, jumpDate: Date,
jumpDate: Date, defaultExitAltitude: number,
defaultExitAltitude: number, defaultDeployAltitude: number,
defaultDeployAltitude: number, countOfJumps: number,
countOfJumps: number, notes: string)
notes: string {
) {
for (let i = 0; i < countOfJumps; i++) { for (let i = 0; i < countOfJumps; i++) {
const bodyNewjump: JumpReq = { const bodyNewjump: JumpReq = {
jumpTypeId: selectedJumpType, jumpTypeId: selectedJumpType,
@@ -98,7 +96,7 @@ export class JumpService extends BaseService {
gearId: selectedRig, gearId: selectedRig,
notes: notes, notes: notes,
id: 0, id: 0,
jumpDate: jumpDate, jumpDate: this.datePipe.transform(jumpDate, "yyyy-MM-dd")
}; };
this.http this.http