mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-15 17:47:53 +00:00
Compare commits
1 Commits
1495-calen
...
bugfix/cha
Author | SHA1 | Date | |
---|---|---|---|
d80f5e1f3a |
@ -14,6 +14,7 @@ class AnalyticsPageTabsAndChildren extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final spaceTreeState = context.read<SpaceTreeBloc>().state;
|
||||||
return BlocBuilder<AnalyticsTabBloc, AnalyticsPageTab>(
|
return BlocBuilder<AnalyticsTabBloc, AnalyticsPageTab>(
|
||||||
buildWhen: (previous, current) => previous != current,
|
buildWhen: (previous, current) => previous != current,
|
||||||
builder: (context, selectedTab) => Column(
|
builder: (context, selectedTab) => Column(
|
||||||
@ -67,21 +68,15 @@ class AnalyticsPageTabsAndChildren extends StatelessWidget {
|
|||||||
context.read<AnalyticsDatePickerBloc>().add(
|
context.read<AnalyticsDatePickerBloc>().add(
|
||||||
UpdateAnalyticsDatePickerEvent(montlyDate: value),
|
UpdateAnalyticsDatePickerEvent(montlyDate: value),
|
||||||
);
|
);
|
||||||
|
FetchEnergyManagementDataHelper.loadEnergyManagementData(
|
||||||
final spaceTreeState =
|
context,
|
||||||
context.read<SpaceTreeBloc>().state;
|
selectedDate: value,
|
||||||
if (spaceTreeState.selectedSpaces.isNotEmpty) {
|
communityId:
|
||||||
FetchEnergyManagementDataHelper
|
spaceTreeState.selectedCommunities.firstOrNull ??
|
||||||
.loadEnergyManagementData(
|
'',
|
||||||
context,
|
spaceId:
|
||||||
selectedDate: value,
|
spaceTreeState.selectedSpaces.firstOrNull ?? '',
|
||||||
communityId:
|
);
|
||||||
spaceTreeState.selectedCommunities.firstOrNull ??
|
|
||||||
'',
|
|
||||||
spaceId:
|
|
||||||
spaceTreeState.selectedSpaces.firstOrNull ?? '',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
selectedDate: context
|
selectedDate: context
|
||||||
.watch<AnalyticsDatePickerBloc>()
|
.watch<AnalyticsDatePickerBloc>()
|
||||||
|
@ -18,7 +18,10 @@ class EnergyConsumptionByPhasesChart extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return BarChart(
|
return BarChart(
|
||||||
BarChartData(
|
BarChartData(
|
||||||
gridData: EnergyManagementChartsHelper.gridData(),
|
gridData: EnergyManagementChartsHelper.gridData().copyWith(
|
||||||
|
checkToShowHorizontalLine: (value) => true,
|
||||||
|
horizontalInterval: 250,
|
||||||
|
),
|
||||||
borderData: EnergyManagementChartsHelper.borderData(),
|
borderData: EnergyManagementChartsHelper.borderData(),
|
||||||
barTouchData: _barTouchData(context),
|
barTouchData: _barTouchData(context),
|
||||||
titlesData: _titlesData(context),
|
titlesData: _titlesData(context),
|
||||||
|
@ -16,7 +16,10 @@ class EnergyConsumptionPerDeviceChart extends StatelessWidget {
|
|||||||
context,
|
context,
|
||||||
leftTitlesInterval: 250,
|
leftTitlesInterval: 250,
|
||||||
),
|
),
|
||||||
gridData: EnergyManagementChartsHelper.gridData(),
|
gridData: EnergyManagementChartsHelper.gridData().copyWith(
|
||||||
|
checkToShowHorizontalLine: (value) => true,
|
||||||
|
horizontalInterval: 250,
|
||||||
|
),
|
||||||
borderData: EnergyManagementChartsHelper.borderData(),
|
borderData: EnergyManagementChartsHelper.borderData(),
|
||||||
lineTouchData: EnergyManagementChartsHelper.lineTouchData(),
|
lineTouchData: EnergyManagementChartsHelper.lineTouchData(),
|
||||||
lineBarsData: chartData.map((e) {
|
lineBarsData: chartData.map((e) {
|
||||||
|
@ -4,15 +4,6 @@ import 'package:syncrow_web/pages/analytics/models/energy_data_model.dart';
|
|||||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/helpers/energy_management_charts_helper.dart';
|
import 'package:syncrow_web/pages/analytics/modules/energy_management/helpers/energy_management_charts_helper.dart';
|
||||||
import 'package:syncrow_web/utils/color_manager.dart';
|
import 'package:syncrow_web/utils/color_manager.dart';
|
||||||
|
|
||||||
// energy_consumption_chart will return id, name and consumption
|
|
||||||
const phasesJson = {
|
|
||||||
"1": {
|
|
||||||
"phaseOne": 1000,
|
|
||||||
"phaseTwo": 2000,
|
|
||||||
"phaseThree": 3000,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class TotalEnergyConsumptionChart extends StatelessWidget {
|
class TotalEnergyConsumptionChart extends StatelessWidget {
|
||||||
const TotalEnergyConsumptionChart({required this.chartData, super.key});
|
const TotalEnergyConsumptionChart({required this.chartData, super.key});
|
||||||
|
|
||||||
@ -23,8 +14,14 @@ class TotalEnergyConsumptionChart extends StatelessWidget {
|
|||||||
return Expanded(
|
return Expanded(
|
||||||
child: LineChart(
|
child: LineChart(
|
||||||
LineChartData(
|
LineChartData(
|
||||||
titlesData: EnergyManagementChartsHelper.titlesData(context),
|
titlesData: EnergyManagementChartsHelper.titlesData(
|
||||||
gridData: EnergyManagementChartsHelper.gridData(),
|
context,
|
||||||
|
leftTitlesInterval: 250,
|
||||||
|
),
|
||||||
|
gridData: EnergyManagementChartsHelper.gridData().copyWith(
|
||||||
|
checkToShowHorizontalLine: (value) => true,
|
||||||
|
horizontalInterval: 250,
|
||||||
|
),
|
||||||
borderData: EnergyManagementChartsHelper.borderData(),
|
borderData: EnergyManagementChartsHelper.borderData(),
|
||||||
lineTouchData: EnergyManagementChartsHelper.lineTouchData(),
|
lineTouchData: EnergyManagementChartsHelper.lineTouchData(),
|
||||||
lineBarsData: _lineBarsData,
|
lineBarsData: _lineBarsData,
|
||||||
|
@ -28,13 +28,25 @@ abstract final class FetchOccupancyDataHelper {
|
|||||||
loadAnalyticsDevices(context, communityUuid: communityId, spaceUuid: spaceId);
|
loadAnalyticsDevices(context, communityUuid: communityId, spaceUuid: spaceId);
|
||||||
final selectedDevice = context.read<AnalyticsDevicesBloc>().state.selectedDevice;
|
final selectedDevice = context.read<AnalyticsDevicesBloc>().state.selectedDevice;
|
||||||
|
|
||||||
loadOccupancyChartData(
|
context.read<OccupancyBloc>().add(
|
||||||
context,
|
LoadOccupancyEvent(
|
||||||
communityUuid: communityId,
|
GetOccupancyParam(
|
||||||
spaceUuid: spaceId,
|
monthDate:
|
||||||
date: datePickerState.monthlyDate,
|
'${datePickerState.monthlyDate.year}-${datePickerState.monthlyDate.month}',
|
||||||
);
|
spaceUuid: spaceId,
|
||||||
loadHeatMapData(context, spaceUuid: spaceId, year: datePickerState.yearlyDate);
|
communityUuid: communityId,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
context.read<OccupancyHeatMapBloc>().add(
|
||||||
|
LoadOccupancyHeatMapEvent(
|
||||||
|
GetOccupancyHeatMapParam(
|
||||||
|
spaceUuid: spaceId,
|
||||||
|
year: datePickerState.yearlyDate,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
if (selectedDevice case final AnalyticsDevice device) {
|
if (selectedDevice case final AnalyticsDevice device) {
|
||||||
context.read<RealtimeDeviceChangesBloc>()
|
context.read<RealtimeDeviceChangesBloc>()
|
||||||
@ -45,35 +57,6 @@ abstract final class FetchOccupancyDataHelper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void loadHeatMapData(
|
|
||||||
BuildContext context, {
|
|
||||||
required String spaceUuid,
|
|
||||||
required DateTime year,
|
|
||||||
}) {
|
|
||||||
context.read<OccupancyHeatMapBloc>().add(
|
|
||||||
LoadOccupancyHeatMapEvent(
|
|
||||||
GetOccupancyHeatMapParam(spaceUuid: spaceUuid, year: year),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void loadOccupancyChartData(
|
|
||||||
BuildContext context, {
|
|
||||||
required String communityUuid,
|
|
||||||
required String spaceUuid,
|
|
||||||
required DateTime date,
|
|
||||||
}) {
|
|
||||||
context.read<OccupancyBloc>().add(
|
|
||||||
LoadOccupancyEvent(
|
|
||||||
GetOccupancyParam(
|
|
||||||
monthDate: '${date.year}-${date.month}',
|
|
||||||
spaceUuid: spaceUuid,
|
|
||||||
communityUuid: communityUuid,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void loadAnalyticsDevices(
|
static void loadAnalyticsDevices(
|
||||||
BuildContext context, {
|
BuildContext context, {
|
||||||
required String communityUuid,
|
required String communityUuid,
|
||||||
|
@ -47,17 +47,11 @@ class OccupancyChartBox extends StatelessWidget {
|
|||||||
context.read<AnalyticsDatePickerBloc>().add(
|
context.read<AnalyticsDatePickerBloc>().add(
|
||||||
UpdateAnalyticsDatePickerEvent(montlyDate: value),
|
UpdateAnalyticsDatePickerEvent(montlyDate: value),
|
||||||
);
|
);
|
||||||
if (spaceTreeState.selectedSpaces.isNotEmpty) {
|
FetchOccupancyDataHelper.loadOccupancyData(
|
||||||
FetchOccupancyDataHelper.loadOccupancyChartData(
|
context,
|
||||||
context,
|
communityId: spaceTreeState.selectedCommunities.firstOrNull ?? '',
|
||||||
communityUuid:
|
spaceId: spaceTreeState.selectedSpaces.firstOrNull ?? '',
|
||||||
spaceTreeState.selectedCommunities.firstOrNull ??
|
);
|
||||||
'',
|
|
||||||
spaceUuid:
|
|
||||||
spaceTreeState.selectedSpaces.firstOrNull ?? '',
|
|
||||||
date: value,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
selectedDate: context
|
selectedDate: context
|
||||||
.watch<AnalyticsDatePickerBloc>()
|
.watch<AnalyticsDatePickerBloc>()
|
||||||
|
@ -47,14 +47,12 @@ class OccupancyHeatMapBox extends StatelessWidget {
|
|||||||
context.read<AnalyticsDatePickerBloc>().add(
|
context.read<AnalyticsDatePickerBloc>().add(
|
||||||
UpdateAnalyticsDatePickerEvent(yearlyDate: value),
|
UpdateAnalyticsDatePickerEvent(yearlyDate: value),
|
||||||
);
|
);
|
||||||
if (spaceTreeState.selectedSpaces.isNotEmpty) {
|
FetchOccupancyDataHelper.loadOccupancyData(
|
||||||
FetchOccupancyDataHelper.loadHeatMapData(
|
context,
|
||||||
context,
|
communityId:
|
||||||
spaceUuid:
|
spaceTreeState.selectedCommunities.firstOrNull ?? '',
|
||||||
spaceTreeState.selectedSpaces.firstOrNull ?? '',
|
spaceId: spaceTreeState.selectedSpaces.firstOrNull ?? '',
|
||||||
year: value,
|
);
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
datePickerType: DatePickerType.year,
|
datePickerType: DatePickerType.year,
|
||||||
selectedDate: context
|
selectedDate: context
|
||||||
|
@ -39,6 +39,7 @@ class RemoteOccupancyAnalyticsDevicesService implements AnalyticsDevicesService
|
|||||||
path:
|
path:
|
||||||
'/projects/$projectUuid/communities/${param.communityUuid}/spaces/${param.spaceUuid}/devices',
|
'/projects/$projectUuid/communities/${param.communityUuid}/spaces/${param.spaceUuid}/devices',
|
||||||
queryParameters: {
|
queryParameters: {
|
||||||
|
'requestType': param.requestType.name,
|
||||||
'communityUuid': param.communityUuid,
|
'communityUuid': param.communityUuid,
|
||||||
'spaceUuid': param.spaceUuid,
|
'spaceUuid': param.spaceUuid,
|
||||||
'productType': param.deviceTypes.first,
|
'productType': param.deviceTypes.first,
|
||||||
|
Reference in New Issue
Block a user