mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-11-27 07:54:55 +00:00
@ -37,8 +37,7 @@ class TwoGangSwitchBloc extends Bloc<TwoGangSwitchEvent, TwoGangSwitchState> {
|
||||
) async {
|
||||
emit(TwoGangSwitchLoading());
|
||||
try {
|
||||
final status =
|
||||
await DevicesManagementApi().getDeviceStatus(event.deviceId);
|
||||
final status = await DevicesManagementApi().getDeviceStatus(event.deviceId);
|
||||
deviceStatus = TwoGangStatusModel.fromJson(event.deviceId, status.status);
|
||||
_listenToChanges(event.deviceId);
|
||||
emit(TwoGangSwitchStatusLoaded(deviceStatus));
|
||||
@ -52,9 +51,9 @@ class TwoGangSwitchBloc extends Bloc<TwoGangSwitchEvent, TwoGangSwitchState> {
|
||||
final ref = FirebaseDatabase.instance.ref('device-status/$deviceId');
|
||||
|
||||
ref.onValue.listen((event) {
|
||||
final eventsMap = event.snapshot.value! as Map<dynamic, dynamic>;
|
||||
final eventsMap = event.snapshot.value as Map<dynamic, dynamic>;
|
||||
|
||||
final statusList = <Status>[];
|
||||
List<Status> statusList = [];
|
||||
eventsMap['status'].forEach((element) {
|
||||
statusList.add(
|
||||
Status(code: element['code'], value: element['value']),
|
||||
@ -117,8 +116,7 @@ class TwoGangSwitchBloc extends Bloc<TwoGangSwitchEvent, TwoGangSwitchState> {
|
||||
) async {
|
||||
emit(TwoGangSwitchLoading());
|
||||
try {
|
||||
final status =
|
||||
await DevicesManagementApi().getBatchStatus(event.devicesIds);
|
||||
final status = await DevicesManagementApi().getBatchStatus(event.devicesIds);
|
||||
deviceStatus = TwoGangStatusModel.fromJson(
|
||||
event.devicesIds.first,
|
||||
status.status,
|
||||
|
||||
@ -22,7 +22,7 @@ class TwoGangSwitchStatusLoaded extends TwoGangSwitchState {
|
||||
class TwoGangSwitchError extends TwoGangSwitchState {
|
||||
final String message;
|
||||
|
||||
TwoGangSwitchError(this.message);
|
||||
TwoGangSwitchError(this.message);
|
||||
|
||||
@override
|
||||
List<Object> get props => [message];
|
||||
|
||||
@ -21,7 +21,7 @@ class TwoGangStatusModel {
|
||||
late int countDown;
|
||||
late int countDown2;
|
||||
|
||||
for (final status in jsonList) {
|
||||
for (var status in jsonList) {
|
||||
switch (status.code) {
|
||||
case 'switch_1':
|
||||
switch1 = bool.tryParse(status.value.toString()) ?? false;
|
||||
|
||||
@ -10,8 +10,7 @@ import 'package:syncrow_web/pages/device_managment/two_gang_switch/factories/two
|
||||
import 'package:syncrow_web/pages/device_managment/two_gang_switch/models/two_gang_status_model.dart';
|
||||
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
|
||||
|
||||
class TwoGangBatchControlView extends StatelessWidget
|
||||
with HelperResponsiveLayout {
|
||||
class TwoGangBatchControlView extends StatelessWidget with HelperResponsiveLayout {
|
||||
const TwoGangBatchControlView({super.key, required this.deviceIds});
|
||||
|
||||
final List<String> deviceIds;
|
||||
@ -19,17 +18,15 @@ class TwoGangBatchControlView extends StatelessWidget
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocProvider(
|
||||
create: (context) =>
|
||||
TwoGangSwitchBlocFactory.create(deviceId: deviceIds.first)
|
||||
..add(TwoGangSwitchFetchBatchEvent(deviceIds)),
|
||||
create: (context) => TwoGangSwitchBlocFactory.create(deviceId: deviceIds.first)
|
||||
..add(TwoGangSwitchFetchBatchEvent(deviceIds)),
|
||||
child: BlocBuilder<TwoGangSwitchBloc, TwoGangSwitchState>(
|
||||
builder: (context, state) {
|
||||
if (state is TwoGangSwitchLoading) {
|
||||
return const Center(child: CircularProgressIndicator());
|
||||
} else if (state is TwoGangSwitchStatusLoaded) {
|
||||
return _buildStatusControls(context, state.status);
|
||||
} else if (state is TwoGangSwitchError ||
|
||||
state is TwoGangSwitchControlError) {
|
||||
} else if (state is TwoGangSwitchError || state is TwoGangSwitchControlError) {
|
||||
return const Center(child: Text('Error fetching status'));
|
||||
} else {
|
||||
return const Center(child: CircularProgressIndicator());
|
||||
|
||||
Reference in New Issue
Block a user