Cards parsing improvements
This commit is contained in:
@ -21,7 +21,25 @@ class ViewWidget extends StatelessWidget {
|
||||
if (this.view.cards.isNotEmpty) {
|
||||
cardsContainer = DynamicMultiColumnLayout(
|
||||
minColumnWidth: Sizes.minViewColumnWidth,
|
||||
children: this.view.cards.map((card) => LovelaceCard(card: card)).toList(),
|
||||
children: this.view.cards.map((card) {
|
||||
if (card.conditions.isNotEmpty) {
|
||||
bool showCardByConditions = true;
|
||||
for (var condition in card.conditions) {
|
||||
Entity conditionEntity = HomeAssistant().entities.get(condition['entity']);
|
||||
if (conditionEntity != null &&
|
||||
((condition['state'] != null && conditionEntity.state != condition['state']) ||
|
||||
(condition['state_not'] != null && conditionEntity.state == condition['state_not']))
|
||||
) {
|
||||
showCardByConditions = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!showCardByConditions) {
|
||||
return Container(width: 0.0, height: 0.0,);
|
||||
}
|
||||
}
|
||||
return card.buildCardWidget();
|
||||
}).toList(),
|
||||
);
|
||||
} else {
|
||||
cardsContainer = Container();
|
||||
@ -39,7 +57,7 @@ class ViewWidget extends StatelessWidget {
|
||||
|
||||
Widget _buildPanelChild(BuildContext context) {
|
||||
if (this.view.cards != null && this.view.cards.isNotEmpty) {
|
||||
return LovelaceCard(card: this.view.cards[0]);
|
||||
return this.view.cards[0].buildCardWidget();
|
||||
} else {
|
||||
return Container(width: 0, height: 0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user