WIP #183 tap_action support. State change event fix

This commit is contained in:
Yegor Vialov
2018-11-16 22:32:43 +02:00
parent 1bd04abd37
commit 82c9bd26d1
29 changed files with 89 additions and 50 deletions

View File

@ -28,4 +28,10 @@ class EntityState {
static const unavailable = 'unavailable';
static const ok = 'ok';
static const problem = 'problem';
}
class EntityTapAction {
static const moreInfo = 'more-info';
static const toggle = 'toggle';
static const callService = 'call-service';
}

View File

@ -106,7 +106,7 @@ class Entity {
Widget buildEntityPageWidget(BuildContext context) {
return EntityModel(
entity: EntityWrapper(entity: this),
entityWrapper: EntityWrapper(entity: this),
child: EntityPageContainer(children: <Widget>[
DefaultEntityContainer(state: _buildStatePartForPage(context)),
LastUpdatedWidget(),
@ -128,7 +128,7 @@ class Entity {
Widget buildBadgeWidget(BuildContext context) {
return EntityModel(
entity: EntityWrapper(entity: this),
entityWrapper: EntityWrapper(entity: this),
child: BadgeWidget(),
handleTap: true,
);

View File

@ -4,9 +4,18 @@ class EntityWrapper {
String displayName;
String icon;
String tapAction;
String holdAction;
Entity entity;
EntityWrapper({this.entity, String icon, String displayName}) {
EntityWrapper({
this.entity,
String icon,
String displayName,
this.tapAction: EntityTapAction.moreInfo,
this.holdAction
}) {
this.icon = icon ?? entity.icon;
this.displayName = displayName ?? entity.displayName;
}