import { Injectable } from '@angular/core'; import { HttpClientService } from '../services/http-client.service'; import { Subject, forkJoin, zip } from 'rxjs' @Injectable() export class BasicDataService { public flightStatus:Array; public flightStatus_subject = new Subject(); public checkin_group: Array; public checkin_group_subject = new Subject(); public gate: Array; public gate_subject = new Subject(); public terminal: Array; public terminal_subject = new Subject(); public chut: Array; public chut_subject = new Subject(); public stand: Array; public stand_subject = new Subject(); public carousel: Array; public carousel_subject = new Subject(); public checkin_desk: Array; public checkin_desk_subject = new Subject(); public airport: Array; public airport_subject = new Subject(); public city: Array; public city_subject = new Subject(); public aircraft_type: Array; public aircraft_type_subject = new Subject(); public aircraft: Array; public aircraft_subject = new Subject(); public terminal_area: Array; public terminal_area_subject = new Subject(); public airline: Array; public airline_subject = new Subject(); constructor( private httpClient: HttpClientService ) { } loadBasicData() { let flightStatusHttp = this.httpClient.get('/adminapi/basicdata/sysFlightStatus'); let checkinGroupHttp = this.httpClient.get('/adminapi/basicdata/checkinGroups'); let gateHttp = this.httpClient.get('/adminapi/basicdata/ormsGates'); let terminalHttp = this.httpClient.get('/adminapi/basicdata/ormsTerminals'); let chutHttp = this.httpClient.get('/adminapi/basicdata/ormsChuts'); let standHttp = this.httpClient.get('/adminapi/basicdata/ormsStands'); let carouselHttp = this.httpClient.get('/adminapi/basicdata/ormsCarousels'); let checkinDeskHttp = this.httpClient.get('/adminapi/basicdata/ormsCheckindesks'); let airportHttp = this.httpClient.get('/adminapi/basicdata/sysAirports'); let cityHttp = this.httpClient.get('/adminapi/basicdata/sysCitys'); let aircraftTypeHttp = this.httpClient.get('/adminapi/basicdata/sysAircrafttypes'); let aircraftHttp = this.httpClient.get('/adminapi/basicdata/sysAircrafts'); let terminalAreaHttp = this.httpClient.get('/adminapi/basicdata/ormsTerminalareas'); let airlineHttp = this.httpClient.get('/adminapi/basicdata/sysAirlines'); zip( flightStatusHttp, checkinGroupHttp, gateHttp, terminalHttp, chutHttp, standHttp, carouselHttp, checkinDeskHttp, airportHttp, cityHttp, aircraftTypeHttp, aircraftHttp, terminalAreaHttp, airlineHttp ).subscribe( ([ flightStatusRes, checkinGroupRes, gateRes, terminalRes, chutRes, standRes, carouselRes, checkinDeskRes, airportRes, cityRes, aircraftTypeRes, aircraftRes, terminalAreaRes, airlineRes ]) => { console.log('---') this.flightStatus = flightStatusRes.body; this.flightStatus_subject.next(flightStatusRes.body); this.checkin_group = checkinGroupRes.body; this.checkin_group_subject.next(checkinGroupRes.body); this.gate = gateRes.body; this.gate_subject.next(gateRes.body); this.terminal = terminalRes.body; this.terminal_subject.next(terminalRes.body); this.chut = chutRes.body; this.chut_subject.next(chutRes.body); this.stand = standRes.body; this.stand_subject.next(standRes.body); this.carousel = carouselRes.body; this.carousel_subject.next(carouselRes.body); this.checkin_desk = checkinDeskRes.body; this.checkin_desk_subject.next(checkinDeskRes.body); this.aircraft_type = aircraftTypeRes.body; this.aircraft_type_subject.next(aircraftTypeRes.body); this.aircraft = aircraftRes.body; this.aircraft_subject.next(aircraftRes.body); this.terminal_area = terminalAreaRes.body; this.terminal_area_subject.next(terminalAreaRes.body); this.airline = airlineRes.body; this.airline_subject.next(airlineRes.body); this.city = cityRes.body; this.city_subject.next(cityRes.body); this.airport = airportRes.body; this.airport_subject.next(airportRes.body); } ) } }