Resolves #282 Trigger button for alarm
This commit is contained in:
parent
5e814e8109
commit
1094177a42
@ -37,6 +37,35 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State<AlarmControlPane
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _askToTrigger(AlarmControlPanelEntity entity) {
|
||||||
|
// flutter defined function
|
||||||
|
showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (BuildContext context) {
|
||||||
|
// return object of type Dialog
|
||||||
|
return AlertDialog(
|
||||||
|
title: new Text("Are you sure?"),
|
||||||
|
content: new Text("Are you sure want to trigger alarm ${entity.displayName}?"),
|
||||||
|
actions: <Widget>[
|
||||||
|
FlatButton(
|
||||||
|
child: new Text("Yes"),
|
||||||
|
onPressed: () {
|
||||||
|
eventBus.fire(new ServiceCallEvent(entity.domain, "alarm_trigger", entity.entityId, null));
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
FlatButton(
|
||||||
|
child: new Text("No"),
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final entityModel = EntityModel.of(context);
|
final entityModel = EntityModel.of(context);
|
||||||
@ -86,9 +115,7 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State<AlarmControlPane
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Widget pinPad;
|
Widget pinPad = Padding(
|
||||||
if (widget.extended) {
|
|
||||||
pinPad = Padding(
|
|
||||||
padding: EdgeInsets.only(bottom: Sizes.rowPadding),
|
padding: EdgeInsets.only(bottom: Sizes.rowPadding),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
@ -161,9 +188,6 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State<AlarmControlPane
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} else {
|
|
||||||
pinPad = Container();
|
|
||||||
}
|
|
||||||
Widget inputWrapper = Container(
|
Widget inputWrapper = Container(
|
||||||
width: 150.0,
|
width: 150.0,
|
||||||
child: TextField(
|
child: TextField(
|
||||||
@ -193,12 +217,24 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State<AlarmControlPane
|
|||||||
children: buttons
|
children: buttons
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
Widget triggerButton = Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
FlatButton(
|
||||||
|
child: Text(
|
||||||
|
"TRIGGER",
|
||||||
|
style: TextStyle(color: Colors.redAccent)
|
||||||
|
),
|
||||||
|
onPressed: () => _askToTrigger(entity),
|
||||||
|
)
|
||||||
|
]
|
||||||
|
);
|
||||||
return Column(
|
return Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
widget.extended ? buttonsWrapper : inputWrapper,
|
widget.extended ? buttonsWrapper : inputWrapper,
|
||||||
widget.extended ? inputWrapper : buttonsWrapper,
|
widget.extended ? inputWrapper : buttonsWrapper,
|
||||||
pinPad
|
widget.extended ? pinPad : triggerButton
|
||||||
]
|
]
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -144,9 +144,25 @@ class CardWidget extends StatelessWidget {
|
|||||||
color: Colors.grey
|
color: Colors.grey
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
trailing: EntityIcon(
|
trailing: Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
EntityIcon(
|
||||||
iconSize: 50.0,
|
iconSize: 50.0,
|
||||||
),
|
),
|
||||||
|
Container(
|
||||||
|
width: 26.0,
|
||||||
|
child: IconButton(
|
||||||
|
padding: EdgeInsets.all(0.0),
|
||||||
|
alignment: Alignment.centerRight,
|
||||||
|
icon: Icon(MaterialDesignIcons.createIconDataFromIconName(
|
||||||
|
"mdi:dots-vertical")),
|
||||||
|
onPressed: () => eventBus.fire(new ShowEntityPageEvent(card.linkedEntityWrapper.entity))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
]
|
||||||
|
),
|
||||||
));
|
));
|
||||||
body.add(
|
body.add(
|
||||||
AlarmControlPanelControlsWidget(
|
AlarmControlPanelControlsWidget(
|
||||||
|
Reference in New Issue
Block a user