Resolves #151 Group visibility support
This commit is contained in:
@ -1,11 +1,11 @@
|
|||||||
part of 'main.dart';
|
part of 'main.dart';
|
||||||
|
|
||||||
class HACard extends StatelessWidget {
|
class CardWidget extends StatelessWidget {
|
||||||
|
|
||||||
final List<Entity> entities;
|
final List<Entity> entities;
|
||||||
final String friendlyName;
|
final String friendlyName;
|
||||||
|
|
||||||
const HACard({
|
const CardWidget({
|
||||||
Key key,
|
Key key,
|
||||||
this.entities,
|
this.entities,
|
||||||
this.friendlyName
|
this.friendlyName
|
||||||
@ -13,6 +13,13 @@ class HACard extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
final entityModel = EntityModel.of(context);
|
||||||
|
if (entityModel != null) {
|
||||||
|
final groupEntity = entityModel.entity;
|
||||||
|
if (groupEntity.isHidden) {
|
||||||
|
return Container(width: 0.0, height: 0.0,);
|
||||||
|
}
|
||||||
|
}
|
||||||
List<Widget> body = [];
|
List<Widget> body = [];
|
||||||
body.add(_buildCardHeader());
|
body.add(_buildCardHeader());
|
||||||
body.addAll(_buildCardBody(context));
|
body.addAll(_buildCardBody(context));
|
||||||
|
@ -62,6 +62,7 @@ class Entity {
|
|||||||
String get unitOfMeasurement => attributes["unit_of_measurement"] ?? "";
|
String get unitOfMeasurement => attributes["unit_of_measurement"] ?? "";
|
||||||
List get childEntityIds => attributes["entity_id"] ?? [];
|
List get childEntityIds => attributes["entity_id"] ?? [];
|
||||||
String get lastUpdated => _getLastUpdatedFormatted();
|
String get lastUpdated => _getLastUpdatedFormatted();
|
||||||
|
bool get isHidden => attributes["hidden"] ?? false;
|
||||||
|
|
||||||
Entity(Map rawData) {
|
Entity(Map rawData) {
|
||||||
update(rawData);
|
update(rawData);
|
||||||
|
@ -41,6 +41,7 @@ class View {
|
|||||||
} else {
|
} else {
|
||||||
childEntitiesAsCards[entity.entityId] = CardSkeleton(
|
childEntitiesAsCards[entity.entityId] = CardSkeleton(
|
||||||
displayName: entity.displayName,
|
displayName: entity.displayName,
|
||||||
|
groupEntity: entity
|
||||||
);
|
);
|
||||||
childEntitiesAsCards[entity.entityId].childEntities = entity.childEntities;
|
childEntitiesAsCards[entity.entityId].childEntities = entity.childEntities;
|
||||||
}
|
}
|
||||||
@ -111,10 +112,14 @@ class ViewWidgetState extends State<ViewWidget> {
|
|||||||
|
|
||||||
widget.cards.forEach((String id, CardSkeleton skeleton){
|
widget.cards.forEach((String id, CardSkeleton skeleton){
|
||||||
result.add(
|
result.add(
|
||||||
HACard(
|
EntityModel(
|
||||||
|
entity: skeleton.groupEntity,
|
||||||
|
handleTap: false,
|
||||||
|
child: CardWidget(
|
||||||
entities: skeleton.childEntities,
|
entities: skeleton.childEntities,
|
||||||
friendlyName: skeleton.displayName,
|
friendlyName: skeleton.displayName,
|
||||||
)
|
)
|
||||||
|
)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -151,8 +156,13 @@ class ViewWidgetState extends State<ViewWidget> {
|
|||||||
class CardSkeleton {
|
class CardSkeleton {
|
||||||
String displayName;
|
String displayName;
|
||||||
List<Entity> childEntities;
|
List<Entity> childEntities;
|
||||||
|
Entity groupEntity;
|
||||||
|
|
||||||
CardSkeleton({Key key, this.displayName, this.childEntities}) {
|
CardSkeleton({
|
||||||
|
Key key,
|
||||||
|
this.displayName,
|
||||||
|
this.childEntities,
|
||||||
|
this.groupEntity}) {
|
||||||
childEntities = [];
|
childEntities = [];
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user