Refactoring: Stateful entity widgets

This commit is contained in:
estevez
2018-10-02 00:41:40 +03:00
parent 4a0b447f00
commit 9e97bac85b
12 changed files with 184 additions and 144 deletions

View File

@ -3,7 +3,7 @@ part of 'main.dart';
class EntityViewPage extends StatefulWidget {
EntityViewPage({Key key, this.entity}) : super(key: key);
Entity entity;
final Entity entity;
@override
_EntityViewPageState createState() => new _EntityViewPageState();
@ -44,22 +44,13 @@ class _EntityViewPageState extends State<EntityViewPage> {
),
body: Padding(
padding: EdgeInsets.all(10.0),
child: ListView(
children: <Widget>[
_entity.buildWidget(false, context),
_entity.buildAdditionalWidget()
],
),
child: _entity.buildWidget(context, false)
),
);
}
@override
void dispose(){
if (_entity is TextEntity && (_entity as TextEntity).tmpState != _entity.state) {
eventBus.fire(new ServiceCallEvent(_entity.domain, "set_value", _entity.entityId, {"value": "${(_entity as TextEntity).tmpState}"}));
TheLogger.log("Debug", "Saving changed input value for ${_entity.entityId}");
}
if (_stateSubscription != null) _stateSubscription.cancel();
super.dispose();
}