mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-09 22:57:21 +00:00
Add Gateway operational value classes and implementations
This commit is contained in:
108
lib/pages/routines/models/gateway.dart
Normal file
108
lib/pages/routines/models/gateway.dart
Normal file
@ -0,0 +1,108 @@
|
||||
import 'package:syncrow_web/pages/routines/models/device_functions.dart';
|
||||
import 'package:syncrow_web/utils/constants/assets.dart';
|
||||
|
||||
class GatewayOperationalValue {
|
||||
final String icon;
|
||||
final String description;
|
||||
final dynamic value;
|
||||
|
||||
GatewayOperationalValue({
|
||||
required this.icon,
|
||||
required this.description,
|
||||
required this.value,
|
||||
});
|
||||
}
|
||||
|
||||
abstract class GatewayFunctions extends DeviceFunction<GatewayOperationalValue> {
|
||||
final String type;
|
||||
|
||||
GatewayFunctions({
|
||||
required super.deviceId,
|
||||
required super.deviceName,
|
||||
required super.code,
|
||||
required super.operationName,
|
||||
required super.icon,
|
||||
required this.type,
|
||||
});
|
||||
|
||||
List<GatewayOperationalValue> getOperationalValues();
|
||||
}
|
||||
|
||||
final class GatewaySwitchAlarmSound extends GatewayFunctions {
|
||||
GatewaySwitchAlarmSound({
|
||||
required super.deviceId,
|
||||
required super.deviceName,
|
||||
required super.type,
|
||||
super.code = '',
|
||||
super.operationName = 'Switch Alarm Sound',
|
||||
super.icon = Assets.activeBell,
|
||||
});
|
||||
|
||||
@override
|
||||
List<GatewayOperationalValue> getOperationalValues() => [
|
||||
GatewayOperationalValue(
|
||||
icon: Assets.assetsAcPower,
|
||||
description: "ON",
|
||||
value: true,
|
||||
),
|
||||
GatewayOperationalValue(
|
||||
icon: Assets.assetsAcPowerOFF,
|
||||
description: "OFF",
|
||||
value: false,
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
final class GatewayMasterState extends GatewayFunctions {
|
||||
GatewayMasterState({
|
||||
required super.deviceId,
|
||||
required super.deviceName,
|
||||
required super.type,
|
||||
super.code = '',
|
||||
super.operationName = 'Master State',
|
||||
super.icon = Assets.gear,
|
||||
});
|
||||
|
||||
@override
|
||||
List<GatewayOperationalValue> getOperationalValues() {
|
||||
return [
|
||||
GatewayOperationalValue(
|
||||
icon: Assets.assetsAcPower,
|
||||
description: "Normal",
|
||||
value: true,
|
||||
),
|
||||
GatewayOperationalValue(
|
||||
icon: Assets.assetsAcPowerOFF,
|
||||
description: "Alarm",
|
||||
value: false,
|
||||
),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
final class GatewayFactoryReset extends GatewayFunctions {
|
||||
GatewayFactoryReset({
|
||||
required super.deviceId,
|
||||
required super.deviceName,
|
||||
required super.type,
|
||||
super.code = '',
|
||||
super.operationName = 'Factory Reset',
|
||||
super.icon = Assets.factoryReset,
|
||||
});
|
||||
|
||||
@override
|
||||
List<GatewayOperationalValue> getOperationalValues() {
|
||||
return [
|
||||
GatewayOperationalValue(
|
||||
icon: Assets.assetsAcPower,
|
||||
description: "ON",
|
||||
value: true,
|
||||
),
|
||||
GatewayOperationalValue(
|
||||
icon: Assets.assetsAcPowerOFF,
|
||||
description: "OFF",
|
||||
value: false,
|
||||
),
|
||||
];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user