From 6ce38a32a5aa56f9980acb2f8c1b748c1df5f7d3 Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Thu, 10 Jan 2019 18:09:25 +0100 Subject: [PATCH] OnBoarding InputURL: Allow the user to submit it from the keyboard --- lib/screens/onboarding_screens.dart | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/screens/onboarding_screens.dart b/lib/screens/onboarding_screens.dart index fcefba8e..7757b9d5 100644 --- a/lib/screens/onboarding_screens.dart +++ b/lib/screens/onboarding_screens.dart @@ -69,6 +69,18 @@ class OnBoardingGitUrlState extends State { @override Widget build(BuildContext context) { final _formKey = GlobalKey(); + final inputFormFocus = FocusNode(); + + final formSubmitted = () { + if (_formKey.currentState.validate()) { + _formKey.currentState.save(); + + var url = sshUrlKey.currentState.value; + this.doneFunction(url); + inputFormFocus.unfocus(); + } + }; + var inputForm = Form( key: _formKey, child: TextFormField( @@ -92,6 +104,9 @@ class OnBoardingGitUrlState extends State { return "Invalid Input"; } }, + focusNode: inputFormFocus, + textInputAction: TextInputAction.done, + onFieldSubmitted: (String _) => formSubmitted(), ), ); @@ -107,12 +122,7 @@ class OnBoardingGitUrlState extends State { inputForm, RaisedButton( child: Text("Next"), - onPressed: () { - if (_formKey.currentState.validate()) { - var url = sshUrlKey.currentState.value; - this.doneFunction(url); - } else {} - }, + onPressed: formSubmitted, ) ], ); @@ -149,8 +159,6 @@ class OnBoardingSshKeyState extends State { @override Widget build(BuildContext context) { - FocusScope.of(context).requestFocus(new FocusNode()); - return Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,