Hide unsupported cards
This commit is contained in:
parent
55eb1b5125
commit
1670c8e505
@ -13,6 +13,11 @@ class CardData {
|
|||||||
|
|
||||||
factory CardData.parse(rawData) {
|
factory CardData.parse(rawData) {
|
||||||
try {
|
try {
|
||||||
|
if (rawData['type'] == null) {
|
||||||
|
rawData['type'] = CardType.ENTITIES;
|
||||||
|
} else if (!(rawData['type'] is String)) {
|
||||||
|
return CardData(null);
|
||||||
|
}
|
||||||
switch (rawData['type']) {
|
switch (rawData['type']) {
|
||||||
case CardType.ENTITIES:
|
case CardType.ENTITIES:
|
||||||
return EntitiesCardData(rawData);
|
return EntitiesCardData(rawData);
|
||||||
@ -56,14 +61,10 @@ class CardData {
|
|||||||
case CardType.MEDIA_CONTROL:
|
case CardType.MEDIA_CONTROL:
|
||||||
return MediaControlCardData(rawData);
|
return MediaControlCardData(rawData);
|
||||||
break;
|
break;
|
||||||
|
//TODO make all other official Lovelace cards as Entities
|
||||||
|
//All other cards should be unsupported and not shown
|
||||||
default:
|
default:
|
||||||
if (rawData.containsKey('entities')) {
|
return CardData(null);
|
||||||
return EntitiesCardData(rawData);
|
|
||||||
} else if (rawData.containsKey('entity')) {
|
|
||||||
rawData['entities'] = [rawData['entity']];
|
|
||||||
return EntitiesCardData(rawData);
|
|
||||||
}
|
|
||||||
return CardData(rawData);
|
|
||||||
}
|
}
|
||||||
} catch (error, stacktrace) {
|
} catch (error, stacktrace) {
|
||||||
Logger.e('Error parsing card $rawData: $error', stacktrace: stacktrace);
|
Logger.e('Error parsing card $rawData: $error', stacktrace: stacktrace);
|
||||||
@ -73,7 +74,7 @@ class CardData {
|
|||||||
|
|
||||||
CardData(rawData) {
|
CardData(rawData) {
|
||||||
if (rawData != null && rawData is Map) {
|
if (rawData != null && rawData is Map) {
|
||||||
type = rawData['type'] ?? CardType.ENTITIES;
|
type = rawData['type'];
|
||||||
conditions = rawData['conditions'] ?? [];
|
conditions = rawData['conditions'] ?? [];
|
||||||
showEmpty = rawData['show_empty'] ?? true;
|
showEmpty = rawData['show_empty'] ?? true;
|
||||||
stateFilter = rawData['state_filter'] ?? [];
|
stateFilter = rawData['state_filter'] ?? [];
|
||||||
|
@ -7,11 +7,6 @@ class UnsupportedCard extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return CardWrapper(
|
return Container();
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.fromLTRB(Sizes.leftWidgetPadding, Sizes.rowPadding, Sizes.rightWidgetPadding, Sizes.rowPadding),
|
|
||||||
child: Text("'${card.type}' card is not supported yet"),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user