Massive refactoring: UIBuilder, Vew, HACArd, Badge

This commit is contained in:
estevez
2018-09-28 10:15:25 +03:00
parent 375ae36884
commit 098a556279
7 changed files with 170 additions and 97 deletions

39
lib/view_class.dart Normal file
View File

@ -0,0 +1,39 @@
part of 'main.dart';
class View {
String _entityId;
int _count;
Map<String, HACard> cards;
Map<String, Badge> badges;
bool get isThereBadges => (badges != null) && (badges.isNotEmpty);
View(String groupId, int viewCount) {
_entityId = groupId;
_count = viewCount;
cards = {};
badges = {};
}
void addBadge(String entityId) {
badges.addAll({entityId: Badge(entityId)});
}
void addEntityWithoutGroup(Entity entity) {
String groupIdToAdd = "${entity.domain}.${entity.domain}$_count";
if (cards[groupIdToAdd] == null) {
addCard(groupIdToAdd, entity.domain);
}
cards[groupIdToAdd].addEntity(entity.entityId);
}
void addCard(String entityId, String friendlyName) {
cards.addAll({"$entityId": HACard(entityId, friendlyName)});
}
void addCardWithEntities(String entityId, String friendlyName, List entities) {
cards.addAll({"$entityId": HACard(entityId, friendlyName)});
cards[entityId].addEntities(entities);
}
}