WIP #212 Light card

This commit is contained in:
Yegor Vialov
2020-05-14 12:13:23 +00:00
parent 1499a91ef7
commit 78d6b38b92
4 changed files with 123 additions and 2 deletions

View File

@ -35,8 +35,10 @@ class CardData {
case CardType.ALARM_PANEL:
return AlarmPanelCardData(rawData);
break;
case CardType.ENTITY_BUTTON:
case CardType.LIGHT:
return LightCardData(rawData);
break;
case CardType.ENTITY_BUTTON:
case CardType.BUTTON:
case CardType.PICTURE_ENTITY:
return ButtonCardData(rawData);
@ -356,6 +358,39 @@ class AlarmPanelCardData extends CardData {
}
class LightCardData extends CardData {
String name;
String icon;
@override
Widget buildCardWidget() {
return LightCard(card: this);
}
LightCardData(rawData) : super(rawData) {
//Parsing card data
name = rawData['name'];
icon = rawData['icon'] is String ? rawData['icon'] : null;
//Parsing entity
var entitiId = rawData["entity"];
if (entitiId != null && entitiId is String) {
if (HomeAssistant().entities.isExist(entitiId)) {
entities.add(EntityWrapper(
entity: HomeAssistant().entities.get(entitiId),
overrideName: name,
overrideIcon: icon,
uiAction: EntityUIAction()
));
} else {
entities.add(EntityWrapper(entity: Entity.missed(entitiId)));
}
} else {
entities.add(EntityWrapper(entity: Entity.missed('$entitiId')));
}
}
}
class ButtonCardData extends CardData {
String name;