diff --git a/CHANGELOG.md b/CHANGELOG.md index d7a448f..70a6ea9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ ## 0.0.1 - September 29th 2022 - Initial release + +## 0.0.2 - October 12th 2022 + +- Added a multi line plain text input widget +- Ability to set the scrolldirection of the pageview +- Ability to set the scrollphysics of the pages' scrollview. diff --git a/README.md b/README.md index 325c1fa..0c102f1 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,15 @@ Flutter Form has two paramaters: options and formController. Each of these param Options: -| Parameter | Explaination | -| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| checkPage | If this is set the form will feature a checkpage at the end so the end user can verify and alter his answers. | -| nextButton | The button which is put in the stack of the Form. An onTap has to be implemented and should call to the FormController. Standard call is autoNextStep(). | -| backButton | Same as the nextButton. A widget that is put in the stack of the Form. An onTap has to be implemented and should call to the FormController. Standard call is previousStep(). | -| onFinised | The callback that will be called when the last page is finished. If checkPage is enabled this will call after the checkPage is passed. | -| onNext | The callback that is called when the user finishes a page. PageNumber is also provided. | +| Parameter | Explaination | +| --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| checkPage | If this is set the form will feature a checkpage at the end so the end user can verify and alter his answers. | +| nextButton | The button which is put in the stack of the Form. An onTap has to be implemented and should call to the FormController. Standard call is autoNextStep(). | +| backButton | Same as the nextButton. A widget that is put in the stack of the Form. An onTap has to be implemented and should call to the FormController. Standard call is previousStep(). | +| onFinised | The callback that will be called when the last page is finished. If checkPage is enabled this will call after the checkPage is passed. | +| onNext | The callback that is called when the user finishes a page. PageNumber is also provided. | +| scrollDirection | The abilty to set the scroll direction of the forms .pageview | +| scrollPhysics | The ability to set the scroll physics of scroll views in each form page. | FormController: diff --git a/lib/src/form.dart b/lib/src/form.dart index 5ad3ff1..faceaa6 100644 --- a/lib/src/form.dart +++ b/lib/src/form.dart @@ -239,7 +239,8 @@ class _FlutterFormState extends ConsumerState { child: fs.FormState( formController: _formController.getFormPageControllers()[i], child: CustomScrollView( - physics: const ClampingScrollPhysics(), + physics: _formController._options.scrollPhysics ?? + const ClampingScrollPhysics(), slivers: [ SliverFillRemaining( hasScrollBody: false, @@ -257,7 +258,8 @@ class _FlutterFormState extends ConsumerState { widget.options.checkPage!.title!, Expanded( child: CustomScrollView( - physics: const ClampingScrollPhysics(), + physics: _formController._options.scrollPhysics ?? + const ClampingScrollPhysics(), slivers: [ SliverFillRemaining( hasScrollBody: false, diff --git a/lib/utils/form.dart b/lib/utils/form.dart index 64620dd..f186237 100644 --- a/lib/utils/form.dart +++ b/lib/utils/form.dart @@ -16,6 +16,8 @@ import 'package:flutter/material.dart'; /// [onFinished] is called when the form is finished. When checkpage is set [onFinished] is called when the checkpage is finished. /// /// [scrollDirection] can be set to change the Axis on which the pageview slides. Defaults to horizontal. +/// +/// [scrollPhysics] can be set to set the scroll phyisics of the scroll views in each page. Default to [ClampingScrollPhysics]. class FlutterFormOptions { final List pages; @@ -26,6 +28,7 @@ class FlutterFormOptions { final void Function(Map>) onFinished; final void Function(int pageNumber, Map) onNext; final Axis scrollDirection; + final ScrollPhysics? scrollPhysics; const FlutterFormOptions({ required this.pages, @@ -35,6 +38,7 @@ class FlutterFormOptions { required this.onFinished, required this.onNext, this.scrollDirection = Axis.horizontal, + this.scrollPhysics, }); }