Revert "centralize dashboardInit fetch to parent-component and give childs necessary input to reduce redundant api calls"
This reverts commit dcd5cb72c5
.
This commit is contained in:
parent
dcd5cb72c5
commit
a3bf06075e
@ -21,35 +21,22 @@
|
||||
<div class="input-container" fxFlex="35%" fxLayout="column">
|
||||
<app-user-input
|
||||
fxFlex
|
||||
[bikePointId]="bikePointId"
|
||||
(startEndDate)="onSubmit($event)"
|
||||
></app-user-input>
|
||||
</div>
|
||||
<app-mini-map
|
||||
fxFlex
|
||||
[bikePointId]="bikePointId"
|
||||
></app-mini-map>
|
||||
<app-mini-map fxFlex></app-mini-map>
|
||||
</div>
|
||||
|
||||
<div class="container-table" fxFlex fxLayout="row" fxLayoutAlign="space-evenly center">
|
||||
<app-table
|
||||
fxFlex
|
||||
[bikePointId]="bikePointId"
|
||||
></app-table>
|
||||
<app-table fxFlex></app-table>
|
||||
</div>
|
||||
|
||||
<div class="container-borrow-duration" fxLayout="row" fxLayoutAlign="center">
|
||||
<app-rent-duration-chart
|
||||
fxFlex
|
||||
[bikePointId]="bikePointId"
|
||||
></app-rent-duration-chart>
|
||||
<app-rent-duration-chart fxFlex></app-rent-duration-chart>
|
||||
</div>
|
||||
|
||||
<div class="container-borrow-time" fxLayout="row" fxLayoutAlign="center">
|
||||
<app-rent-time-chart
|
||||
fxFlex
|
||||
[bikePointId]="bikePointId"
|
||||
></app-rent-time-chart>
|
||||
<app-rent-time-chart fxFlex></app-rent-time-chart>
|
||||
</div>
|
||||
</mat-sidenav-content>
|
||||
</mat-sidenav-container>
|
||||
|
@ -20,7 +20,6 @@ import {TableComponent} from './table/table.component';
|
||||
import {RentDurationChartComponent} from './rent-duration-chart/rent-duration-chart.component';
|
||||
import {RentTimeChartComponent} from './rent-time-chart/rent-time-chart.component';
|
||||
import {StartEndDate} from './user-input/user-input.component';
|
||||
import {ActivatedRoute} from "@angular/router";
|
||||
|
||||
export type ChartOptions = {
|
||||
title: ApexTitleSubtitle;
|
||||
@ -53,13 +52,10 @@ export class DashboardComponent implements OnInit {
|
||||
@ViewChild(RentDurationChartComponent) durationChart: RentDurationChartComponent;
|
||||
@ViewChild(RentTimeChartComponent) timeChart: RentTimeChartComponent;
|
||||
|
||||
bikePointId: string;
|
||||
|
||||
constructor(private route: ActivatedRoute) {
|
||||
constructor() {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.route.params.subscribe(params => this.bikePointId = params.id);
|
||||
}
|
||||
|
||||
async onSubmit(startEndDate: StartEndDate): Promise<any> {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import {Component, Input, OnInit} from '@angular/core';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import {IDashboardCommonBikePoint} from '../../service/domain/dashboard-common-bike-point';
|
||||
import {ActivatedRoute} from '@angular/router';
|
||||
import {DashboardService} from '../../service/dashboard.service';
|
||||
@ -11,7 +11,6 @@ import {MapService} from '../../service/map.service';
|
||||
})
|
||||
export class MiniMapComponent implements OnInit {
|
||||
|
||||
@Input() bikePointId: string;
|
||||
bikePoint: IDashboardCommonBikePoint;
|
||||
|
||||
constructor(
|
||||
@ -21,10 +20,12 @@ export class MiniMapComponent implements OnInit {
|
||||
) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
this.service.fetchDashboardInit(this.bikePointId).then(data => {
|
||||
this.route.params.subscribe(params => {
|
||||
this.service.fetchDashboardInit(params.id).then(data => {
|
||||
this.bikePoint = data;
|
||||
this.initMap();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
initMap(): void {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import {Component, Input, OnInit, ViewChild} from '@angular/core';
|
||||
import {Component, OnInit, ViewChild} from '@angular/core';
|
||||
import {
|
||||
ApexAxisChartSeries,
|
||||
ApexChart,
|
||||
@ -44,7 +44,6 @@ const chartType = 'duration';
|
||||
})
|
||||
export class RentDurationChartComponent implements OnInit {
|
||||
|
||||
@Input() bikePointId: string;
|
||||
@ViewChild(ChartComponent) chart: ChartComponent;
|
||||
chartOptions: Partial<ChartOptions>;
|
||||
|
||||
@ -68,12 +67,14 @@ export class RentDurationChartComponent implements OnInit {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.service.fetchDashboardInit(this.bikePointId).then(data => {
|
||||
this.route.params.subscribe(params => {
|
||||
this.service.fetchDashboardInit(params.id).then(data => {
|
||||
this.bikePoint = data;
|
||||
this.maxStartDate = new Date(data.maxStartDate);
|
||||
this.maxEndDate = new Date(data.maxEndDate);
|
||||
this.initChart().catch(error => console.log(error));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async initChart(): Promise<void> {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import {Component, Input, OnInit, ViewChild} from '@angular/core';
|
||||
import {Component, OnInit, ViewChild} from '@angular/core';
|
||||
import {
|
||||
ApexAxisChartSeries,
|
||||
ApexChart,
|
||||
@ -44,7 +44,6 @@ const chartType = 'time';
|
||||
})
|
||||
export class RentTimeChartComponent implements OnInit {
|
||||
|
||||
@Input() bikePointId: string;
|
||||
@ViewChild(ChartComponent) chart: ChartComponent;
|
||||
chartOptions: Partial<ChartOptions>;
|
||||
|
||||
@ -68,12 +67,14 @@ export class RentTimeChartComponent implements OnInit {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.service.fetchDashboardInit(this.bikePointId).then(data => {
|
||||
this.route.params.subscribe(params => {
|
||||
this.service.fetchDashboardInit(params.id).then(data => {
|
||||
this.bikePoint = data;
|
||||
this.maxStartDate = new Date(data.maxStartDate);
|
||||
this.maxEndDate = new Date(data.maxEndDate);
|
||||
this.initChart().catch(error => console.log(error));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async initChart(): Promise<void> {
|
||||
|
@ -14,9 +14,6 @@ import {ActivatedRoute} from '@angular/router';
|
||||
styleUrls: ['./table.component.scss']
|
||||
})
|
||||
export class TableComponent implements OnInit {
|
||||
|
||||
@Input() bikePointId: string;
|
||||
|
||||
displayedColumnsTo: string[] = ['select', 'endStationName', 'number', 'avgDuration', 'marker'];
|
||||
displayedColumnsFrom: string[] = ['select', 'startStationName', 'number', 'avgDuration', 'marker'];
|
||||
stationToSource = new MatTableDataSource<IDashboardCommonBikePoint>();
|
||||
@ -38,12 +35,14 @@ export class TableComponent implements OnInit {
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.route.params.subscribe(params => {
|
||||
this.colors = ['black', 'gray', 'green', 'orange', 'purple', 'red'];
|
||||
this.service.fetchDashboardInit(this.bikePointId).then(data => {
|
||||
this.service.fetchDashboardInit(params.id).then(data => {
|
||||
this.bikePoint = data;
|
||||
this.maxStartDate = new Date(data.maxStartDate);
|
||||
this.maxEndDate = new Date(data.maxEndDate);
|
||||
this.initTable().catch(error => console.log(error));
|
||||
this.initTable();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import {Component, EventEmitter, Injectable, Input, OnInit, Output} from '@angular/core';
|
||||
import {Component, EventEmitter, Injectable, OnInit, Output} from '@angular/core';
|
||||
import {IDashboardCommonBikePoint} from '../../service/domain/dashboard-common-bike-point';
|
||||
import {FormBuilder, FormControl, FormGroup} from '@angular/forms';
|
||||
import {IMapBikePoint} from '../../service/domain/map-bike-point';
|
||||
@ -75,7 +75,6 @@ export interface StartEndDate {
|
||||
})
|
||||
export class UserInputComponent implements OnInit {
|
||||
|
||||
@Input() bikePointId: string;
|
||||
@Output() startEndDate: EventEmitter<StartEndDate> = new EventEmitter<StartEndDate>();
|
||||
|
||||
chartOptions: Partial<ChartOptions>;
|
||||
@ -110,13 +109,14 @@ export class UserInputComponent implements OnInit {
|
||||
end: new FormControl()
|
||||
})
|
||||
});
|
||||
this.service.fetchDashboardInit(this.bikePointId).then(data => {
|
||||
this.route.params.subscribe(params => {
|
||||
this.service.fetchDashboardInit(params.id).then(data => {
|
||||
this.station = data;
|
||||
this.maxStartDate = new Date(data.maxStartDate);
|
||||
this.maxEndDate = new Date(data.maxEndDate);
|
||||
this.initInput().catch(error => console.log(error));
|
||||
});
|
||||
this.service.fetchBikePointForStatus(this.bikePointId).then(data => {
|
||||
this.service.fetchBikePointForStatus(params.id).then(data => {
|
||||
this.bikePoint = data;
|
||||
const NbBlockedDocks = data.status.NbDocks - data.status.NbBikes - data.status.NbEmptyDocks;
|
||||
this.chartOptions = {
|
||||
@ -204,7 +204,7 @@ export class UserInputComponent implements OnInit {
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
async initInput(): Promise<void> {
|
||||
|
Loading…
Reference in New Issue
Block a user