mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-11 07:38:05 +00:00
added loading state to range of aqi chart.
This commit is contained in:
@ -26,7 +26,9 @@ class RangeOfAqiChartBox extends StatelessWidget {
|
|||||||
AnalyticsErrorWidget(state.errorMessage),
|
AnalyticsErrorWidget(state.errorMessage),
|
||||||
const SizedBox(height: 10),
|
const SizedBox(height: 10),
|
||||||
],
|
],
|
||||||
const RangeOfAqiChartTitle(),
|
RangeOfAqiChartTitle(
|
||||||
|
isLoading: state.status == RangeOfAqiStatus.loading,
|
||||||
|
),
|
||||||
const SizedBox(height: 10),
|
const SizedBox(height: 10),
|
||||||
const Divider(),
|
const Divider(),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
|
@ -5,10 +5,12 @@ import 'package:syncrow_web/pages/analytics/modules/air_quality/widgets/aqi_type
|
|||||||
import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_date_picker_bloc/analytics_date_picker_bloc.dart';
|
import 'package:syncrow_web/pages/analytics/modules/analytics/blocs/analytics_date_picker_bloc/analytics_date_picker_bloc.dart';
|
||||||
import 'package:syncrow_web/pages/analytics/modules/analytics/widgets/chart_informative_cell.dart';
|
import 'package:syncrow_web/pages/analytics/modules/analytics/widgets/chart_informative_cell.dart';
|
||||||
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/chart_title.dart';
|
import 'package:syncrow_web/pages/analytics/modules/energy_management/widgets/chart_title.dart';
|
||||||
|
import 'package:syncrow_web/pages/analytics/widgets/charts_loading_widget.dart';
|
||||||
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
|
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
|
||||||
|
|
||||||
class RangeOfAqiChartTitle extends StatelessWidget {
|
class RangeOfAqiChartTitle extends StatelessWidget {
|
||||||
const RangeOfAqiChartTitle({super.key});
|
const RangeOfAqiChartTitle({required this.isLoading, super.key});
|
||||||
|
final bool isLoading;
|
||||||
|
|
||||||
static const List<(Color color, String title, bool hasBorder)> _colors = [
|
static const List<(Color color, String title, bool hasBorder)> _colors = [
|
||||||
(Color(0xFF962DFF), 'Max', false),
|
(Color(0xFF962DFF), 'Max', false),
|
||||||
@ -20,6 +22,7 @@ class RangeOfAqiChartTitle extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Row(
|
return Row(
|
||||||
children: [
|
children: [
|
||||||
|
ChartsLoadingWidget(isLoading: isLoading),
|
||||||
const Expanded(
|
const Expanded(
|
||||||
flex: 3,
|
flex: 3,
|
||||||
child: FittedBox(
|
child: FittedBox(
|
||||||
|
@ -5,6 +5,7 @@ import 'package:syncrow_web/pages/analytics/services/range_of_aqi/range_of_aqi_s
|
|||||||
class FakeRangeOfAqiService implements RangeOfAqiService {
|
class FakeRangeOfAqiService implements RangeOfAqiService {
|
||||||
@override
|
@override
|
||||||
Future<List<RangeOfAqi>> load(GetRangeOfAqiParam param) async {
|
Future<List<RangeOfAqi>> load(GetRangeOfAqiParam param) async {
|
||||||
|
return await Future.delayed(const Duration(milliseconds: 800), () {
|
||||||
final random = DateTime.now().millisecondsSinceEpoch;
|
final random = DateTime.now().millisecondsSinceEpoch;
|
||||||
|
|
||||||
return List.generate(30, (index) {
|
return List.generate(30, (index) {
|
||||||
@ -24,5 +25,6 @@ class FakeRangeOfAqiService implements RangeOfAqiService {
|
|||||||
date: date,
|
date: date,
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user