This repository has been archived on 2023-11-18. You can view files and clone it, but cannot push or open issues or pull requests.
ha_client/lib/ui_class/card.class.dart
2018-11-25 17:33:33 +02:00

82 lines
1.7 KiB
Dart

part of '../main.dart';
class HACard {
List<EntityWrapper> entities = [];
EntityWrapper linkedEntity;
String name;
String id;
String type;
bool showName;
bool showState;
int columnsCount;
HACard({
this.name,
this.id,
this.linkedEntity,
this.columnsCount: 4,
this.showName: true,
this.showState: true,
@required this.type
});
Widget build(BuildContext context) {
switch (type) {
case CardType.entities: {
return EntitiesCardWidget(
card: this,
);
}
case CardType.glance: {
return GlanceCardWidget(
card: this,
);
}
case CardType.mediaControl: {
return MediaControlCardWidget(
card: this,
);
}
case CardType.entityButton: {
return EntityButtonCardWidget(
card: this,
);
}
case CardType.weatherForecast:
case CardType.thermostat:
case CardType.sensor:
case CardType.plantStatus:
case CardType.pictureEntity:
case CardType.pictureElements:
case CardType.picture:
case CardType.map:
case CardType.iframe:
case CardType.gauge:
case CardType.conditional:
case CardType.alarmPanel: {
return UnsupportedCardWidget(
card: this,
);
}
default: {
if ((linkedEntity == null) && (entities.isNotEmpty)) {
return EntitiesCardWidget(
card: this,
);
} else {
return UnsupportedCardWidget(
card: this,
);
}
}
}
}
}