mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-10 15:17:31 +00:00
Created EnergyConsumptionPerDeviceService
and a fake implementation for it.
This commit is contained in:
20
lib/pages/analytics/models/device_energy_data_model.dart
Normal file
20
lib/pages/analytics/models/device_energy_data_model.dart
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import 'package:equatable/equatable.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:syncrow_web/pages/analytics/models/energy_data_model.dart';
|
||||||
|
|
||||||
|
class DeviceEnergyDataModel extends Equatable {
|
||||||
|
const DeviceEnergyDataModel( {
|
||||||
|
required this.energy,
|
||||||
|
required this.deviceName,
|
||||||
|
required this.deviceId,
|
||||||
|
required this.color,
|
||||||
|
});
|
||||||
|
|
||||||
|
final List<EnergyDataModel> energy;
|
||||||
|
final String deviceName;
|
||||||
|
final String deviceId;
|
||||||
|
final Color color;
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [energy, deviceName, deviceId];
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
class GetEnergyConsumptionPerDeviceParam {
|
||||||
|
const GetEnergyConsumptionPerDeviceParam();
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
import 'package:syncrow_web/pages/analytics/models/device_energy_data_model.dart';
|
||||||
|
import 'package:syncrow_web/pages/analytics/params/get_energy_consumption_per_device_param.dart';
|
||||||
|
|
||||||
|
abstract interface class EnergyConsumptionPerDeviceService {
|
||||||
|
Future<List<DeviceEnergyDataModel>> load(
|
||||||
|
GetEnergyConsumptionPerDeviceParam param,
|
||||||
|
);
|
||||||
|
}
|
@ -0,0 +1,44 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:syncrow_web/pages/analytics/models/device_energy_data_model.dart';
|
||||||
|
import 'package:syncrow_web/pages/analytics/models/energy_data_model.dart';
|
||||||
|
import 'package:syncrow_web/pages/analytics/params/get_energy_consumption_per_device_param.dart';
|
||||||
|
import 'package:syncrow_web/pages/analytics/services/energy_consumption_per_device/energy_consumption_per_device_service.dart';
|
||||||
|
|
||||||
|
class FakeEnergyConsumptionPerDeviceService
|
||||||
|
implements EnergyConsumptionPerDeviceService {
|
||||||
|
@override
|
||||||
|
Future<List<DeviceEnergyDataModel>> load(
|
||||||
|
GetEnergyConsumptionPerDeviceParam param,
|
||||||
|
) {
|
||||||
|
return Future.delayed(const Duration(milliseconds: 500), () {
|
||||||
|
return [
|
||||||
|
DeviceEnergyDataModel(
|
||||||
|
color: Colors.redAccent,
|
||||||
|
energy: List.generate(12, (i) => i)
|
||||||
|
.map(
|
||||||
|
(index) => EnergyDataModel(
|
||||||
|
date: DateTime.now().subtract(Duration(days: index)),
|
||||||
|
value: (index + 1) * 125,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.toList(),
|
||||||
|
deviceName: 'Device 1',
|
||||||
|
deviceId: 'device_!',
|
||||||
|
),
|
||||||
|
DeviceEnergyDataModel(
|
||||||
|
color: Colors.blueAccent,
|
||||||
|
energy: List.generate(12, (i) => i)
|
||||||
|
.map(
|
||||||
|
(index) => EnergyDataModel(
|
||||||
|
date: DateTime.now().subtract(Duration(days: index)),
|
||||||
|
value: (index + 1) * 125,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.toList(),
|
||||||
|
deviceName: 'Device 2',
|
||||||
|
deviceId: 'device_2',
|
||||||
|
),
|
||||||
|
];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user