Home and Alarms page

This commit is contained in:
Igor Kulikov
2021-05-14 20:29:36 +03:00
parent 8e06f29694
commit ed654e46bd
41 changed files with 1112 additions and 534 deletions

View File

@@ -3,7 +3,7 @@ import 'package:flutter/widgets.dart';
import 'package:thingsboard_app/core/entity/entities_base.dart';
import 'package:thingsboard_client/thingsboard_client.dart';
mixin DevicesBase on EntitiesBase<DeviceInfo> {
mixin DevicesBase on EntitiesBaseWithPageLink<DeviceInfo> {
@override
String get title => 'Devices';
@@ -21,35 +21,56 @@ mixin DevicesBase on EntitiesBase<DeviceInfo> {
}
@override
void onEntityDetails(DeviceInfo device) {
void onEntityTap(DeviceInfo device) {
navigateTo('/device/${device.id!.id}');
}
@override
Widget buildEntityCard(BuildContext context, DeviceInfo device, bool briefView) {
Widget? buildHeading(BuildContext context) {
return Text('Hobo Devices!');
}
@override
Widget buildEntityListCard(BuildContext context, DeviceInfo device) {
return _buildEntityListCard(context, device, false);
}
@override
Widget buildEntityListWidgetCard(BuildContext context, DeviceInfo device) {
return _buildEntityListCard(context, device, true);
}
@override
Widget buildEntityGridCard(BuildContext context, DeviceInfo device) {
return Text(device.name);
}
Widget _buildEntityListCard(BuildContext context, DeviceInfo device, bool listWidgetCard) {
return Row(
mainAxisSize: briefView ? MainAxisSize.min : MainAxisSize.max,
mainAxisSize: listWidgetCard ? MainAxisSize.min : MainAxisSize.max,
children: [
Container(
width: briefView ? 58 : 60,
width: listWidgetCard ? 58 : 60,
height: listWidgetCard ? 58 : 60,
decoration: BoxDecoration(
color: Color(0xFFEEEEEE),
borderRadius: BorderRadius.horizontal(left: Radius.circular(briefView ? 4 : 6))
borderRadius: BorderRadius.horizontal(left: Radius.circular(listWidgetCard ? 4 : 6))
),
child: Center(
child: Icon(Icons.devices_other, color: Color(0xFFC2C2C2))
),
),
Flexible(
fit: briefView ? FlexFit.loose : FlexFit.tight,
fit: listWidgetCard ? FlexFit.loose : FlexFit.tight,
child:
Container(
padding: EdgeInsets.symmetric(vertical: briefView ? 9 : 10, horizontal: 16),
padding: EdgeInsets.symmetric(vertical: listWidgetCard ? 9 : 10, horizontal: 16),
child: Row(
mainAxisSize: briefView ? MainAxisSize.min : MainAxisSize.max,
mainAxisSize: listWidgetCard ? MainAxisSize.min : MainAxisSize.max,
children: [
Flexible(
fit: briefView ? FlexFit.loose : FlexFit.tight,
fit: listWidgetCard ? FlexFit.loose : FlexFit.tight,
child:
Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -75,7 +96,7 @@ mixin DevicesBase on EntitiesBase<DeviceInfo> {
],
)
),
(!briefView ? Column(
(!listWidgetCard ? Column(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text(entityDateFormat.format(DateTime.fromMillisecondsSinceEpoch(device.createdTime!)),