Compare commits

..

2 Commits

9 changed files with 35 additions and 15 deletions

View File

@ -38,7 +38,7 @@ abstract final class EnergyManagementChartsHelper {
sideTitles: SideTitles( sideTitles: SideTitles(
showTitles: true, showTitles: true,
maxIncluded: false, maxIncluded: false,
minIncluded: false, minIncluded: true,
interval: leftTitlesInterval, interval: leftTitlesInterval,
reservedSize: 110, reservedSize: 110,
getTitlesWidget: (value, meta) => Padding( getTitlesWidget: (value, meta) => Padding(

View File

@ -16,6 +16,7 @@ import 'package:syncrow_web/pages/analytics/params/get_total_energy_consumption_
abstract final class FetchEnergyManagementDataHelper { abstract final class FetchEnergyManagementDataHelper {
const FetchEnergyManagementDataHelper._(); const FetchEnergyManagementDataHelper._();
// static const String _powerClampId = 'cb71d6ad-6e29-4eaa-ae3e-1a0d1c5f60fa';
static AnalyticsDevice? getSelectedDevice(BuildContext context) { static AnalyticsDevice? getSelectedDevice(BuildContext context) {
return context.read<AnalyticsDevicesBloc>().state.selectedDevice; return context.read<AnalyticsDevicesBloc>().state.selectedDevice;
} }
@ -47,6 +48,7 @@ abstract final class FetchEnergyManagementDataHelper {
loadTotalEnergyConsumption( loadTotalEnergyConsumption(
context, context,
selectedDate: selectedDate0, selectedDate: selectedDate0,
communityId: communityId,
spaceId: spaceId, spaceId: spaceId,
); );
final selectedDevice = getSelectedDevice(context); final selectedDevice = getSelectedDevice(context);
@ -59,6 +61,7 @@ abstract final class FetchEnergyManagementDataHelper {
} }
loadEnergyConsumptionPerDevice( loadEnergyConsumptionPerDevice(
context, context,
communityId: communityId,
spaceId: spaceId, spaceId: spaceId,
selectedDate: selectedDate0, selectedDate: selectedDate0,
); );
@ -81,10 +84,12 @@ abstract final class FetchEnergyManagementDataHelper {
static void loadTotalEnergyConsumption( static void loadTotalEnergyConsumption(
BuildContext context, { BuildContext context, {
DateTime? selectedDate, DateTime? selectedDate,
required String communityId,
required String spaceId, required String spaceId,
}) { }) {
final param = GetTotalEnergyConsumptionParam( final param = GetTotalEnergyConsumptionParam(
spaceId: spaceId, spaceId: spaceId,
communityId: communityId,
monthDate: selectedDate, monthDate: selectedDate,
); );
context.read<TotalEnergyConsumptionBloc>().add( context.read<TotalEnergyConsumptionBloc>().add(
@ -95,10 +100,12 @@ abstract final class FetchEnergyManagementDataHelper {
static void loadEnergyConsumptionPerDevice( static void loadEnergyConsumptionPerDevice(
BuildContext context, { BuildContext context, {
DateTime? selectedDate, DateTime? selectedDate,
required String communityId,
required String spaceId, required String spaceId,
}) { }) {
final param = GetEnergyConsumptionPerDeviceParam( final param = GetEnergyConsumptionPerDeviceParam(
spaceId: spaceId, spaceId: spaceId,
communityId: communityId,
monthDate: selectedDate, monthDate: selectedDate,
); );
context.read<EnergyConsumptionPerDeviceBloc>().add( context.read<EnergyConsumptionPerDeviceBloc>().add(

View File

@ -23,7 +23,6 @@ class EnergyConsumptionPerDeviceChartBox extends StatelessWidget {
), ),
padding: const EdgeInsets.all(30), padding: const EdgeInsets.all(30),
child: Column( child: Column(
spacing: 20,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
AnalyticsErrorWidget(state.errorMessage), AnalyticsErrorWidget(state.errorMessage),
@ -52,7 +51,9 @@ class EnergyConsumptionPerDeviceChartBox extends StatelessWidget {
), ),
], ],
), ),
const SizedBox(height: 20),
const Divider(height: 0), const Divider(height: 0),
const SizedBox(height: 20),
Expanded( Expanded(
child: EnergyConsumptionPerDeviceChart(chartData: state.chartData), child: EnergyConsumptionPerDeviceChart(chartData: state.chartData),
), ),

View File

@ -19,7 +19,6 @@ class TotalEnergyConsumptionChartBox extends StatelessWidget {
), ),
padding: const EdgeInsets.all(30), padding: const EdgeInsets.all(30),
child: Column( child: Column(
spacing: 20,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
AnalyticsErrorWidget(state.errorMessage), AnalyticsErrorWidget(state.errorMessage),
@ -39,7 +38,9 @@ class TotalEnergyConsumptionChartBox extends StatelessWidget {
const Spacer(flex: 4), const Spacer(flex: 4),
], ],
), ),
const SizedBox(height: 20),
const Divider(), const Divider(),
const SizedBox(height: 20),
TotalEnergyConsumptionChart(chartData: state.chartData), TotalEnergyConsumptionChart(chartData: state.chartData),
], ],
), ),

View File

@ -22,7 +22,6 @@ class OccupancyChartBox extends StatelessWidget {
padding: const EdgeInsets.all(30), padding: const EdgeInsets.all(30),
decoration: containerWhiteDecoration, decoration: containerWhiteDecoration,
child: Column( child: Column(
spacing: 20,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -65,7 +64,9 @@ class OccupancyChartBox extends StatelessWidget {
), ),
], ],
), ),
const Divider(height: 0), const SizedBox(height: 20),
const Divider(),
const SizedBox(height: 20),
Expanded(child: OccupancyChart(chartData: state.chartData)), Expanded(child: OccupancyChart(chartData: state.chartData)),
], ],
), ),

View File

@ -22,7 +22,6 @@ class OccupancyHeatMapBox extends StatelessWidget {
padding: const EdgeInsets.all(30), padding: const EdgeInsets.all(30),
decoration: containerWhiteDecoration, decoration: containerWhiteDecoration,
child: Column( child: Column(
spacing: 20,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
@ -66,7 +65,9 @@ class OccupancyHeatMapBox extends StatelessWidget {
), ),
], ],
), ),
const Divider(height: 0), const SizedBox(height: 20),
const Divider(),
const SizedBox(height: 20),
Expanded( Expanded(
child: OccupancyHeatMap( child: OccupancyHeatMap(
heatMapData: state.heatMapData.asMap().map( heatMapData: state.heatMapData.asMap().map(

View File

@ -2,15 +2,18 @@ class GetEnergyConsumptionPerDeviceParam {
const GetEnergyConsumptionPerDeviceParam({ const GetEnergyConsumptionPerDeviceParam({
this.monthDate, this.monthDate,
this.spaceId, this.spaceId,
this.communityId,
}); });
final DateTime? monthDate; final DateTime? monthDate;
final String? spaceId; final String? spaceId;
final String? communityId;
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {
'monthDate': 'monthDate':
'${monthDate?.year}-${monthDate?.month.toString().padLeft(2, '0')}', '${monthDate?.year}-${monthDate?.month.toString().padLeft(2, '0')}',
if (spaceId == null || spaceId == null) 'spaceUuid': spaceId, if (spaceId == null || spaceId == null) 'spaceUuid': spaceId,
'communityUuid': communityId,
'groupByDevice': true, 'groupByDevice': true,
}; };
} }

View File

@ -1,10 +1,12 @@
class GetTotalEnergyConsumptionParam { class GetTotalEnergyConsumptionParam {
final DateTime? monthDate; final DateTime? monthDate;
final String? spaceId; final String? spaceId;
final String? communityId;
const GetTotalEnergyConsumptionParam({ const GetTotalEnergyConsumptionParam({
this.monthDate, this.monthDate,
this.spaceId, this.spaceId,
this.communityId,
}); });
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -12,6 +14,7 @@ class GetTotalEnergyConsumptionParam {
'monthDate': 'monthDate':
'${monthDate?.year}-${monthDate?.month.toString().padLeft(2, '0')}', '${monthDate?.year}-${monthDate?.month.toString().padLeft(2, '0')}',
if (spaceId == null || spaceId == null) 'spaceUuid': spaceId, if (spaceId == null || spaceId == null) 'spaceUuid': spaceId,
'communityUuid': communityId,
'groupByDevice': false, 'groupByDevice': false,
}; };
} }

View File

@ -11,14 +11,17 @@ class AnalyticsErrorWidget extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Visibility( return Visibility(
visible: errorMessage != null || (errorMessage?.isNotEmpty ?? false), visible: errorMessage != null || (errorMessage?.isNotEmpty ?? false),
child: Text( child: Padding(
errorMessage ?? 'Something went wrong', padding: const EdgeInsetsDirectional.only(bottom: 10),
maxLines: 1, child: Text(
overflow: TextOverflow.ellipsis, errorMessage ?? 'Something went wrong',
style: context.textTheme.bodySmall?.copyWith( maxLines: 1,
color: ColorsManager.red, overflow: TextOverflow.ellipsis,
fontWeight: FontWeight.w400, style: context.textTheme.bodySmall?.copyWith(
fontSize: 8, color: ColorsManager.red,
fontWeight: FontWeight.w400,
fontSize: 8,
),
), ),
), ),
); );