mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-14 17:25:50 +00:00
Compare commits
5 Commits
On-change-
...
On-Access-
Author | SHA1 | Date | |
---|---|---|---|
562c67a958 | |||
423ad6e687 | |||
932e50f518 | |||
c649044a1f | |||
95d6e1ecda |
@ -12,7 +12,8 @@ import 'package:syncrow_web/utils/constants/assets.dart';
|
||||
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
|
||||
|
||||
//Smart Power Clamp
|
||||
class SmartPowerDeviceControl extends StatelessWidget with HelperResponsiveLayout {
|
||||
class SmartPowerDeviceControl extends StatelessWidget
|
||||
with HelperResponsiveLayout {
|
||||
final String deviceId;
|
||||
|
||||
const SmartPowerDeviceControl({super.key, required this.deviceId});
|
||||
@ -145,13 +146,16 @@ class SmartPowerDeviceControl extends StatelessWidget with HelperResponsiveLayou
|
||||
children: [
|
||||
IconButton(
|
||||
icon: const Icon(Icons.arrow_left),
|
||||
onPressed: () {
|
||||
blocProvider.add(SmartPowerArrowPressedEvent(-1));
|
||||
pageController.previousPage(
|
||||
duration: const Duration(milliseconds: 300),
|
||||
curve: Curves.easeInOut,
|
||||
);
|
||||
},
|
||||
onPressed: blocProvider.currentPage <= 0
|
||||
? null
|
||||
: () {
|
||||
blocProvider
|
||||
.add(SmartPowerArrowPressedEvent(-1));
|
||||
pageController.previousPage(
|
||||
duration: const Duration(milliseconds: 300),
|
||||
curve: Curves.easeInOut,
|
||||
);
|
||||
},
|
||||
),
|
||||
Text(
|
||||
currentPage == 0
|
||||
@ -165,13 +169,16 @@ class SmartPowerDeviceControl extends StatelessWidget with HelperResponsiveLayou
|
||||
),
|
||||
IconButton(
|
||||
icon: const Icon(Icons.arrow_right),
|
||||
onPressed: () {
|
||||
blocProvider.add(SmartPowerArrowPressedEvent(1));
|
||||
pageController.nextPage(
|
||||
duration: const Duration(milliseconds: 300),
|
||||
curve: Curves.easeInOut,
|
||||
);
|
||||
},
|
||||
onPressed: blocProvider.currentPage >= 3
|
||||
? null
|
||||
: () {
|
||||
blocProvider
|
||||
.add(SmartPowerArrowPressedEvent(1));
|
||||
pageController.nextPage(
|
||||
duration: const Duration(milliseconds: 300),
|
||||
curve: Curves.easeInOut,
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
@ -195,8 +202,8 @@ class SmartPowerDeviceControl extends StatelessWidget with HelperResponsiveLayou
|
||||
blocProvider.add(SelectDateEvent(context: context));
|
||||
blocProvider.add(FilterRecordsByDateEvent(
|
||||
selectedDate: blocProvider.dateTime!,
|
||||
viewType:
|
||||
blocProvider.views[blocProvider.currentIndex]));
|
||||
viewType: blocProvider
|
||||
.views[blocProvider.currentIndex]));
|
||||
},
|
||||
widget: blocProvider.dateSwitcher(),
|
||||
chartData: blocProvider.energyDataList.isNotEmpty
|
||||
|
@ -79,6 +79,7 @@ class DeviceControlDialog extends StatelessWidget with RouteControlsBasedCode {
|
||||
}
|
||||
|
||||
Widget _buildDeviceInfoSection() {
|
||||
final isOnlineDevice = device.online != null && device.online!;
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 25, horizontal: 50),
|
||||
child: Table(
|
||||
@ -107,7 +108,7 @@ class DeviceControlDialog extends StatelessWidget with RouteControlsBasedCode {
|
||||
'Installation Date and Time:',
|
||||
formatDateTime(
|
||||
DateTime.fromMillisecondsSinceEpoch(
|
||||
((device.createTime ?? 0) * 1000),
|
||||
(device.createTime ?? 0) * 1000,
|
||||
),
|
||||
),
|
||||
),
|
||||
@ -126,12 +127,16 @@ class DeviceControlDialog extends StatelessWidget with RouteControlsBasedCode {
|
||||
),
|
||||
TableRow(
|
||||
children: [
|
||||
_buildInfoRow('Status:', 'Online', statusColor: Colors.green),
|
||||
_buildInfoRow(
|
||||
'Status:',
|
||||
isOnlineDevice ? 'Online' : 'offline',
|
||||
statusColor: isOnlineDevice ? Colors.green : Colors.red,
|
||||
),
|
||||
_buildInfoRow(
|
||||
'Last Offline Date and Time:',
|
||||
formatDateTime(
|
||||
DateTime.fromMillisecondsSinceEpoch(
|
||||
((device.updateTime ?? 0) * 1000),
|
||||
(device.updateTime ?? 0) * 1000,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
@ -2,11 +2,13 @@ class FailedOperation {
|
||||
final bool success;
|
||||
final dynamic deviceUuid;
|
||||
final dynamic error;
|
||||
final String deviceName;
|
||||
|
||||
FailedOperation({
|
||||
required this.success,
|
||||
required this.deviceUuid,
|
||||
required this.error,
|
||||
required this.deviceName,
|
||||
});
|
||||
|
||||
factory FailedOperation.fromJson(Map<String, dynamic> json) {
|
||||
@ -14,6 +16,7 @@ class FailedOperation {
|
||||
success: json['success'],
|
||||
deviceUuid: json['deviceUuid'],
|
||||
error: json['error'],
|
||||
deviceName: json['deviceName'] as String? ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
@ -22,21 +25,22 @@ class FailedOperation {
|
||||
'success': success,
|
||||
'deviceUuid': deviceUuid,
|
||||
'error': error,
|
||||
'deviceName': deviceName,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class SuccessOperation {
|
||||
final bool success;
|
||||
// final Result result;
|
||||
final String deviceUuid;
|
||||
final String deviceName;
|
||||
|
||||
SuccessOperation({
|
||||
required this.success,
|
||||
// required this.result,
|
||||
required this.deviceUuid,
|
||||
required this.deviceName,
|
||||
});
|
||||
|
||||
factory SuccessOperation.fromJson(Map<String, dynamic> json) {
|
||||
@ -44,6 +48,7 @@ class SuccessOperation {
|
||||
success: json['success'],
|
||||
// result: Result.fromJson(json['result']),
|
||||
deviceUuid: json['deviceUuid'],
|
||||
deviceName: json['deviceName'] as String? ?? '',
|
||||
);
|
||||
}
|
||||
|
||||
@ -52,6 +57,7 @@ class SuccessOperation {
|
||||
'success': success,
|
||||
// 'result': result.toJson(),
|
||||
'deviceUuid': deviceUuid,
|
||||
'deviceName': deviceName,
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -92,8 +98,6 @@ class SuccessOperation {
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
|
||||
class PasswordStatus {
|
||||
final List<SuccessOperation> successOperations;
|
||||
final List<FailedOperation> failedOperations;
|
||||
@ -121,4 +125,3 @@ class PasswordStatus {
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -63,7 +63,7 @@ class VisitorPasswordDialog extends StatelessWidget {
|
||||
child: Text(visitorBloc
|
||||
.passwordStatus!
|
||||
.failedOperations[index]
|
||||
.deviceUuid)),
|
||||
.deviceName)),
|
||||
);
|
||||
},
|
||||
),
|
||||
@ -92,7 +92,7 @@ class VisitorPasswordDialog extends StatelessWidget {
|
||||
child: Text(visitorBloc
|
||||
.passwordStatus!
|
||||
.successOperations[index]
|
||||
.deviceUuid)),
|
||||
.deviceName)),
|
||||
);
|
||||
},
|
||||
),
|
||||
|
Reference in New Issue
Block a user