Init app
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { LoaderService } from 'src/app/components/loader/loader.service';
|
||||
import { MeterDataAddDialogComponent } from 'src/app/components/dialogs/meter-data-add-dialog/meter-data-add-dialog.component';
|
||||
import { DatabaseService } from 'src/app/services/database.service';
|
||||
import { GlobalService } from 'src/app/services/global.service';
|
||||
import { UsageType } from 'src/app/models/UsageType';
|
||||
import { MeterData } from 'src/app/models/Meterdata';
|
||||
|
||||
@Component({
|
||||
selector: 'app-dashboard',
|
||||
templateUrl: './dashboard.component.html',
|
||||
styleUrls: ['./dashboard.component.scss'],
|
||||
})
|
||||
export class DashboardComponent {
|
||||
usageTypes = UsageType;
|
||||
|
||||
// meterDataEnergy1Hem: MeterData[] = [];
|
||||
// meterDataEnergy1Log: MeterData[] = [];
|
||||
meterDataEnergy: MeterData[] = [];
|
||||
meterDataWater: MeterData[] = [];
|
||||
|
||||
// meterDataEnergyDTO1Log: MeterData[] = [];
|
||||
// meterDataEnergyDTO1Hem: MeterData[] = [];
|
||||
meterDataEnergyDTO: MeterData[] = [];
|
||||
meterDataWaterDTO: MeterData[] = [];
|
||||
|
||||
energyAverageAmountLastYear1Log: number = 0;
|
||||
energyAverageAmountLastYear1Hem: number = 0;
|
||||
waterAverageAmountLastYear: number = 0;
|
||||
|
||||
displayedColumns: string[] = ['date', 'amount', 'meter'];
|
||||
|
||||
constructor(
|
||||
private dataService: DatabaseService,
|
||||
private loaderService: LoaderService,
|
||||
private globalService: GlobalService,
|
||||
private dialog: MatDialog
|
||||
) {
|
||||
this.loadMeterData();
|
||||
}
|
||||
|
||||
loadMeterData(): void {
|
||||
this.loaderService.show();
|
||||
this.dataService.getMeterData().subscribe({
|
||||
next: (data) => {
|
||||
this.splitMeterData(data);
|
||||
this.loaderService.hide();
|
||||
console.log('Meter data:', data);
|
||||
},
|
||||
error: (err) => {
|
||||
this.loaderService.hide();
|
||||
console.error(err);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
splitMeterData(meterData: MeterData[]): void {
|
||||
if (meterData) {
|
||||
meterData.forEach((data) => {
|
||||
if (data.type === this.usageTypes.ENERGY) {
|
||||
this.meterDataEnergy.push(data);
|
||||
} else if (data.type === this.usageTypes.WATER) {
|
||||
this.meterDataWater.push(data);
|
||||
}
|
||||
});
|
||||
this.initEnergyMeterData();
|
||||
this.initWaterMeterDate();
|
||||
}
|
||||
}
|
||||
|
||||
initEnergyMeterData(): void {
|
||||
// this.meterDataEnergy1Log = this.globalService.sortMeterData(
|
||||
// this.meterDataEnergy1Log
|
||||
// );
|
||||
// this.meterDataEnergy1Hem = this.globalService.sortMeterData(
|
||||
// this.meterDataEnergy1Hem
|
||||
// );
|
||||
|
||||
// this.meterDataEnergyDTO1Log = this.meterDataEnergy1Log;
|
||||
// this.meterDataEnergyDTO1Hem = this.meterDataEnergy1Hem;
|
||||
|
||||
this.meterDataEnergy = this.globalService.sortMeterData(
|
||||
this.meterDataEnergy
|
||||
);
|
||||
this.meterDataEnergyDTO = this.meterDataEnergy;
|
||||
}
|
||||
|
||||
initWaterMeterDate(): void {
|
||||
this.meterDataWater = this.globalService.sortMeterData(this.meterDataWater);
|
||||
|
||||
this.meterDataWaterDTO = this.meterDataWater;
|
||||
}
|
||||
|
||||
addMeterData(): void {
|
||||
const dialogRef = this.dialog.open(MeterDataAddDialogComponent);
|
||||
|
||||
dialogRef.afterClosed().subscribe((newMeterData: MeterData) => {
|
||||
console.log({ newMeterData });
|
||||
|
||||
if (newMeterData) {
|
||||
this.dataService.addMeterData(newMeterData).subscribe({
|
||||
next: (meterData: MeterData) => {
|
||||
console.log({ meterData });
|
||||
},
|
||||
error: (err) => {
|
||||
console.log('add meterData error', { err });
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user