Skip to content

Commit 5d219d6

Browse files
committed
onSaved returns current form value, Fixed bug where TypeAhead resets
1 parent 97e38ed commit 5d219d6

File tree

11 files changed

+240
-766
lines changed

11 files changed

+240
-766
lines changed

.idea/libraries/Dart_Packages.xml

Lines changed: 7 additions & 287 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 186 additions & 144 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## [1.3.0] - 15-Dec-2018
2+
* Fixed bug where TypeAhead value reset when other fields are updated
3+
* `onChanged` function for FormBuilder is now called with current form values (breaking change)
4+
* Form reset now works as expected
5+
* Other minor refactorings
6+
17
## [1.2.0] - 23-Nov-2018
28
* New `FormBuilderInput` types:
39
* ChipsInput

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,6 @@ FormBuilder(
193193

194194
## KNOWN ISSUES - HELP NEEDED (Send help ;-P)
195195
* Proper validation for URL [doesn't work without http(s)]
196-
* Resetting the form doesn't clear all `FormField`s
197196
* Overlay for ChipsInput doesn't move when input height changes i.e. when chips wrap
198197
* For some reason Overlay for ChipsInput floats above AppBar when scrolling
199-
* TypeAhead text gets cleared when Dropdown/ChipsInput value changes. What the Flip????
200198

doc/api/flutter_form_builder/FormBuilder-class.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ <h2>Constructors</h2>
6767

6868
<dl class="constructor-summary-list">
6969
<dt id="FormBuilder" class="callable">
70-
<span class="name"><a href="flutter_form_builder/FormBuilder/FormBuilder.html">FormBuilder</a></span><span class="signature">(<span class="parameter" id="-param-context"><span class="type-annotation">BuildContext</span> <span class="parameter-name">context</span>, {</span> <span class="parameter" id="-param-controls"><span>@required</span> <span class="type-annotation">List<span class="signature">&lt;<wbr><span class="type-parameter"><a href="flutter_form_builder/FormBuilderInput-class.html">FormBuilderInput</a></span>&gt;</span></span> <span class="parameter-name">controls</span>, </span> <span class="parameter" id="-param-onSubmit"><span>@required</span> <span class="type-annotation">Function</span> <span class="parameter-name">onSubmit</span>, </span> <span class="parameter" id="-param-onChanged"><span class="type-annotation">VoidCallback</span> <span class="parameter-name">onChanged</span>, </span> <span class="parameter" id="-param-autovalidate"><span class="type-annotation">bool</span> <span class="parameter-name">autovalidate</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-showResetButton"><span class="type-annotation">bool</span> <span class="parameter-name">showResetButton</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-onWillPop"><span class="type-annotation">WillPopCallback</span> <span class="parameter-name">onWillPop</span>, </span> <span class="parameter" id="-param-submitButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">submitButtonContent</span>, </span> <span class="parameter" id="-param-resetButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">resetButtonContent</span></span> })</span>
70+
<span class="name"><a href="flutter_form_builder/FormBuilder/FormBuilder.html">FormBuilder</a></span><span class="signature">(<span class="parameter" id="-param-context"><span class="type-annotation">BuildContext</span> <span class="parameter-name">context</span>, {</span> <span class="parameter" id="-param-controls"><span>@required</span> <span class="type-annotation">List<span class="signature">&lt;<wbr><span class="type-parameter"><a href="flutter_form_builder/FormBuilderInput-class.html">FormBuilderInput</a></span>&gt;</span></span> <span class="parameter-name">controls</span>, </span> <span class="parameter" id="-param-onSubmit"><span>@required</span> <span class="type-annotation">Function</span> <span class="parameter-name">onSubmit</span>, </span> <span class="parameter" id="-param-onChanged"><span class="type-annotation">dynamic</span> <span class="parameter-name">onChanged</span>(<span class="parameter" id="onChanged-param-"><span class="type-annotation">Map<span class="signature">&lt;<wbr><span class="type-parameter">String</span>, <span class="type-parameter">dynamic</span>&gt;</span></span></span>), </span> <span class="parameter" id="-param-autovalidate"><span class="type-annotation">bool</span> <span class="parameter-name">autovalidate</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-showResetButton"><span class="type-annotation">bool</span> <span class="parameter-name">showResetButton</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-onWillPop"><span class="type-annotation">WillPopCallback</span> <span class="parameter-name">onWillPop</span>, </span> <span class="parameter" id="-param-submitButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">submitButtonContent</span>, </span> <span class="parameter" id="-param-resetButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">resetButtonContent</span></span> })</span>
7171
</dt>
7272
<dd>
7373

@@ -106,7 +106,7 @@ <h2>Properties</h2>
106106
</dd>
107107
<dt id="onChanged" class="property">
108108
<span class="name"><a href="flutter_form_builder/FormBuilder/onChanged.html">onChanged</a></span>
109-
<span class="signature">&#8594; VoidCallback</span>
109+
<span class="signature">&#8594; dynamic Function<span class="signature">(<span class="parameter" id="onChanged-param-"><span class="type-annotation">Map<span class="signature">&lt;<wbr><span class="type-parameter">String</span>, <span class="type-parameter">dynamic</span>&gt;</span></span></span>)</span></span>
110110
</dt>
111111
<dd>
112112

doc/api/flutter_form_builder/FormBuilder/FormBuilder.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ <h1>FormBuilder constructor</h1>
7979

8080
<section class="multi-line-signature">
8181
const
82-
<span class="name ">FormBuilder</span>(<wbr><span class="parameter" id="-param-context"><span class="type-annotation">BuildContext</span> <span class="parameter-name">context</span>, {</span> <span class="parameter" id="-param-controls"><span>@required</span> <span class="type-annotation">List<span class="signature">&lt;<wbr><span class="type-parameter"><a href="flutter_form_builder/FormBuilderInput-class.html">FormBuilderInput</a></span>&gt;</span></span> <span class="parameter-name">controls</span>, </span> <span class="parameter" id="-param-onSubmit"><span>@required</span> <span class="type-annotation">Function</span> <span class="parameter-name">onSubmit</span>, </span> <span class="parameter" id="-param-onChanged"><span class="type-annotation">VoidCallback</span> <span class="parameter-name">onChanged</span>, </span> <span class="parameter" id="-param-autovalidate"><span class="type-annotation">bool</span> <span class="parameter-name">autovalidate</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-showResetButton"><span class="type-annotation">bool</span> <span class="parameter-name">showResetButton</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-onWillPop"><span class="type-annotation">WillPopCallback</span> <span class="parameter-name">onWillPop</span>, </span> <span class="parameter" id="-param-submitButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">submitButtonContent</span>, </span> <span class="parameter" id="-param-resetButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">resetButtonContent</span></span> })
82+
<span class="name ">FormBuilder</span>(<wbr><span class="parameter" id="-param-context"><span class="type-annotation">BuildContext</span> <span class="parameter-name">context</span>, {</span> <span class="parameter" id="-param-controls"><span>@required</span> <span class="type-annotation">List<span class="signature">&lt;<wbr><span class="type-parameter"><a href="flutter_form_builder/FormBuilderInput-class.html">FormBuilderInput</a></span>&gt;</span></span> <span class="parameter-name">controls</span>, </span> <span class="parameter" id="-param-onSubmit"><span>@required</span> <span class="type-annotation">Function</span> <span class="parameter-name">onSubmit</span>, </span> <span class="parameter" id="-param-onChanged"><span class="type-annotation">dynamic</span> <span class="parameter-name">onChanged</span>(<span class="parameter" id="onChanged-param-"><span class="type-annotation">Map<span class="signature">&lt;<wbr><span class="type-parameter">String</span>, <span class="type-parameter">dynamic</span>&gt;</span></span></span>), </span> <span class="parameter" id="-param-autovalidate"><span class="type-annotation">bool</span> <span class="parameter-name">autovalidate</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-showResetButton"><span class="type-annotation">bool</span> <span class="parameter-name">showResetButton</span>: <span class="default-value">false</span>, </span> <span class="parameter" id="-param-onWillPop"><span class="type-annotation">WillPopCallback</span> <span class="parameter-name">onWillPop</span>, </span> <span class="parameter" id="-param-submitButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">submitButtonContent</span>, </span> <span class="parameter" id="-param-resetButtonContent"><span class="type-annotation">Widget</span> <span class="parameter-name">resetButtonContent</span></span> })
8383
</section>
8484

8585

doc/api/flutter_form_builder/FormBuilder/onChanged.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,13 @@ <h5>FormBuilder class</h5>
7878
<h1>onChanged property</h1>
7979

8080
<section class="multi-line-signature">
81-
<span class="returntype">VoidCallback</span>
81+
<span class="returntype">dynamic Function<span class="signature">(<span class="parameter" id="onChanged-param-"><span class="type-annotation">Map<span class="signature">&lt;<wbr><span class="type-parameter">String</span>, <span class="type-parameter">dynamic</span>&gt;</span></span></span>)</span></span>
8282
<span class="name ">onChanged</span>
8383
<div class="features">final</div>
8484
</section>
8585
<section class="summary source-code" id="source">
8686
<h2><span>Implementation</span> </h2>
87-
<pre class="language-dart"><code class="language-dart">final VoidCallback onChanged
87+
<pre class="language-dart"><code class="language-dart">final Function(Map&lt;String, dynamic&gt;) onChanged
8888

8989
</code></pre>
9090
</section>

doc/api/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ <h3>Example</h3>
218218
),
219219
</code></pre>
220220
<h2>TODO:</h2><ul><li>Improve documentation by showing complete list of input types and their usage and options</li><li>Add more <code>FormBuilderInput</code> types:<ul><li>RangeSlider</li><li>ColorPicker</li><li>MaskedText</li></ul></li></ul>
221-
<h2>KNOWN ISSUES - HELP NEEDED (Send help ;-P)</h2><ul><li>Proper validation for URL <code>doesn't work without http(s)</code></li><li>Resetting the form doesn't clear all <code>FormField</code>s</li><li>Overlay for ChipsInput doesn't move when input height changes i.e. when chips wrap</li><li>For some reason Overlay for ChipsInput floats above AppBar when scrolling</li><li>TypeAhead text gets cleared when Dropdown/ChipsInput value changes. What the Flip????</li></ul>
221+
<h2>KNOWN ISSUES - HELP NEEDED (Send help ;-P)</h2><ul><li>Proper validation for URL <code>doesn't work without http(s)</code></li><li>Overlay for ChipsInput doesn't move when input height changes i.e. when chips wrap</li><li>For some reason Overlay for ChipsInput floats above AppBar when scrolling</li></ul>
222222
</section>
223223

224224
<section class="summary">

example/lib/main.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,6 @@ class MyHomePage extends StatelessWidget {
304304
label: 'Country',
305305
attribute: 'country',
306306
require: true,
307-
value: 'Kenya',
308307
itemBuilder: (context, country) {
309308
return ListTile(
310309
title: Text(country),
@@ -503,8 +502,8 @@ class MyHomePage extends StatelessWidget {
503502
.toList(),
504503
),
505504
],
506-
onChanged: () {
507-
print("Form value changed");
505+
onChanged: (formValue) {
506+
print(formValue);
508507
},
509508
onSubmit: (formValue) {
510509
if (formValue != null) {

0 commit comments

Comments
 (0)