Still #154 default view
This commit is contained in:
@ -38,7 +38,7 @@ class HomeAssistant {
|
||||
String get locationName => _instanceConfig["location_name"] ?? "";
|
||||
String get userName => _userName ?? locationName;
|
||||
String get userAvatarText => userName.length > 0 ? userName[0] : "";
|
||||
int get viewsCount => entities.views.length ?? 0;
|
||||
//int get viewsCount => entities.views.length ?? 0;
|
||||
|
||||
HomeAssistant() {
|
||||
entities = EntityCollection();
|
||||
@ -371,6 +371,19 @@ class HomeAssistant {
|
||||
ui = GroupBasedUI();
|
||||
int viewCounter = 0;
|
||||
//TODO add default_view
|
||||
if (!entities.hasDefaultView) {
|
||||
TheLogger.log("Debug","--Default view");
|
||||
HACView view = HACView(
|
||||
count: viewCounter,
|
||||
id: "group.default_view",
|
||||
name: "Home"
|
||||
);
|
||||
_createView(view, entities.filterEntitiesForDefaultView(), viewCounter);
|
||||
ui.views.add(
|
||||
view
|
||||
);
|
||||
viewCounter+=1;
|
||||
}
|
||||
entities.viewEntities.forEach((viewEntity) {
|
||||
TheLogger.log("Debug","--View: ${viewEntity.entityId}");
|
||||
HACView view = HACView(
|
||||
@ -379,38 +392,7 @@ class HomeAssistant {
|
||||
name: viewEntity.displayName
|
||||
);
|
||||
view.linkedEntity = viewEntity;
|
||||
List<HACCard> autoGeneratedCards = [];
|
||||
viewEntity.childEntities.forEach((entity) {
|
||||
if (entity.isBadge) {
|
||||
view.badges.add(entity);
|
||||
TheLogger.log("Debug","----Badge: ${entity.entityId}");
|
||||
} else {
|
||||
if (!entity.isGroup) {
|
||||
String groupIdToAdd = "${entity.domain}.${entity.domain}$viewCounter";
|
||||
if (autoGeneratedCards.every((HACCard card) => card.id != groupIdToAdd )) {
|
||||
HACCard card = HACCard(
|
||||
id: groupIdToAdd,
|
||||
name: entity.domain
|
||||
);
|
||||
TheLogger.log("Debug","----Creating card: $groupIdToAdd");
|
||||
card.entities.add(entity);
|
||||
autoGeneratedCards.add(card);
|
||||
} else {
|
||||
autoGeneratedCards.firstWhere((card) => card.id == groupIdToAdd).entities.add(entity);
|
||||
}
|
||||
} else {
|
||||
TheLogger.log("Debug","----Card: ${entity.entityId}");
|
||||
HACCard card = HACCard(
|
||||
name: entity.displayName,
|
||||
id: entity.entityId,
|
||||
linkedEntity: entity
|
||||
);
|
||||
card.entities.addAll(entity.childEntities);
|
||||
view.cards.add(card);
|
||||
}
|
||||
}
|
||||
});
|
||||
view.cards.addAll(autoGeneratedCards);
|
||||
_createView(view, viewEntity.childEntities, viewCounter);
|
||||
ui.views.add(
|
||||
view
|
||||
);
|
||||
@ -421,6 +403,41 @@ class HomeAssistant {
|
||||
_statesCompleter.complete();
|
||||
}
|
||||
|
||||
void _createView(HACView view, List<Entity> childEntities, int viewCounter) {
|
||||
List<HACCard> autoGeneratedCards = [];
|
||||
childEntities.forEach((entity) {
|
||||
if (entity.isBadge) {
|
||||
view.badges.add(entity);
|
||||
TheLogger.log("Debug","----Badge: ${entity.entityId}");
|
||||
} else {
|
||||
if (!entity.isGroup) {
|
||||
String groupIdToAdd = "${entity.domain}.${entity.domain}$viewCounter";
|
||||
if (autoGeneratedCards.every((HACCard card) => card.id != groupIdToAdd )) {
|
||||
HACCard card = HACCard(
|
||||
id: groupIdToAdd,
|
||||
name: entity.domain
|
||||
);
|
||||
TheLogger.log("Debug","----Creating card: $groupIdToAdd");
|
||||
card.entities.add(entity);
|
||||
autoGeneratedCards.add(card);
|
||||
} else {
|
||||
autoGeneratedCards.firstWhere((card) => card.id == groupIdToAdd).entities.add(entity);
|
||||
}
|
||||
} else {
|
||||
TheLogger.log("Debug","----Card: ${entity.entityId}");
|
||||
HACCard card = HACCard(
|
||||
name: entity.displayName,
|
||||
id: entity.entityId,
|
||||
linkedEntity: entity
|
||||
);
|
||||
card.entities.addAll(entity.childEntities);
|
||||
view.cards.add(card);
|
||||
}
|
||||
}
|
||||
});
|
||||
view.cards.addAll(autoGeneratedCards);
|
||||
}
|
||||
|
||||
Widget buildViews(BuildContext context) {
|
||||
//return _viewBuilder.buildWidget(context);
|
||||
return ui.build(context);
|
||||
|
Reference in New Issue
Block a user