Skip to content

Commit 859a289

Browse files
Merge pull request #1472 from flutter-form-builder-ecosystem/release/10.0.0
chore(release): 10.0.0
2 parents f6475ca + 36e4242 commit 859a289

39 files changed

+1988
-1780
lines changed

CHANGELOG.md

+28-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,30 @@
1+
# 10.0.0
2+
3+
## BREAKING CHANGES
4+
5+
* Set minimal Flutter version to 3.29.0
6+
* Set minimal Dart version to 3.7.0
7+
* refactor: #1456 remove deprecated code by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/flutter_form_builder/pull/1465
8+
* Solve issue #1456
9+
* Remove `invalidateField` and `invalidateFirstField` methods from FormBuilderState. Use `fields[name]?.invalidate(errorText)` and `fields.first.invalidate(errorText)` instead.
10+
* [FormBuilderTextField] Deprecate canRequestFocus property. Use `FocusNode.canRequestFocus.` instead.
11+
* Assert on FormBuilderField.decoration.enabled property. Use FormBuilderField.enabled instead.
12+
* Easy way! Only need execute `dart fix --apply` on your project to fix the following changes:
13+
* Rename FormBuilderChoiceChip to FormBuilderChoiceChips.
14+
* Rename FormBuilderFilterChip to FormBuilderFilterChips.
15+
* [FormBuilderFilterChip] Remove maxChips property.
16+
* [FormBuilderDateTimePicker] Remove resetIcon property.
17+
* [FormBuilder] Remove onPopInvoked property.
18+
19+
## Features
20+
21+
* feat: #1455 improve input decoration enabled property by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/flutter_form_builder/pull/1464
22+
* Solve issue #1455
23+
* feat: #1458 improve autovalidate modes by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/flutter_form_builder/pull/1460
24+
* Solves issues #1364 and #1457
25+
* feat: #1297 Improve focus behavior by @deandreamatias in https://github.com/flutter-form-builder-ecosystem/flutter_form_builder/pull/1453
26+
* Solves issues #1296, #1290, #1301, #1304 and #1292
27+
128
# 10.0.0-dev.3
229

330
## BREAKING CHANGES
@@ -7,7 +34,7 @@
734
* Remove `invalidateField` and `invalidateFirstField` methods from FormBuilderState. Use `fields[name]?.invalidate(errorText)` and `fields.first.invalidate(errorText)` instead.
835
* [FormBuilderTextField] Deprecate canRequestFocus property. Use `FocusNode.canRequestFocus.` instead.
936
* Assert on FormBuilderField.decoration.enabled property. Use FormBuilderField.enabled instead.
10-
* Easy way! Only need execute `dart fix --apply` on your project.
37+
* Easy way! Only need execute `dart fix --apply` on your project to fix the following changes:
1138
* Rename FormBuilderChoiceChip to FormBuilderChoiceChips.
1239
* Rename FormBuilderFilterChip to FormBuilderFilterChips.
1340
* [FormBuilderFilterChip] Remove maxChips property.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ class _ClearFormBuilderTextFieldState
414414
- Remove `invalidateField` and `invalidateFirstField` methods from FormBuilderState. Use `fields[name]?.invalidate(errorText)` and `fields.first.invalidate(errorText)` instead
415415
- [FormBuilderTextField] Deprecate canRequestFocus property. Use `FocusNode.canRequestFocus.` instead
416416
- Assert on FormBuilderField.decoration.enabled property. Use FormBuilderField.enabled instead
417-
- Easy way! Only need execute `dart fix --apply` on your project.
417+
- Easy way! Only need execute `dart fix --apply` on your project to fix the following changes:
418418
- Rename FormBuilderChoiceChip to FormBuilderChoiceChips.
419419
- Rename FormBuilderFilterChip to FormBuilderFilterChips.
420420
- [FormBuilderFilterChip] Remove maxChips property.

example/lib/minimal_code_example.dart

-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ class _ExamplePageState extends State<_ExamplePage> {
4747
FormBuilderFilterChips<String>(
4848
decoration: const InputDecoration(
4949
labelText: 'The language of my people',
50-
enabled: false,
5150
),
5251
name: 'languages_filter',
5352
selectedColor: Colors.red,

example/pubspec.lock

+40-40
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,50 @@ packages:
55
dependency: transitive
66
description:
77
name: async
8-
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
8+
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
99
url: "https://pub.dev"
1010
source: hosted
11-
version: "2.11.0"
11+
version: "2.12.0"
1212
boolean_selector:
1313
dependency: transitive
1414
description:
1515
name: boolean_selector
16-
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
16+
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
1717
url: "https://pub.dev"
1818
source: hosted
19-
version: "2.1.1"
19+
version: "2.1.2"
2020
characters:
2121
dependency: transitive
2222
description:
2323
name: characters
24-
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
24+
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
2525
url: "https://pub.dev"
2626
source: hosted
27-
version: "1.3.0"
27+
version: "1.4.0"
2828
clock:
2929
dependency: transitive
3030
description:
3131
name: clock
32-
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
32+
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
3333
url: "https://pub.dev"
3434
source: hosted
35-
version: "1.1.1"
35+
version: "1.1.2"
3636
collection:
3737
dependency: transitive
3838
description:
3939
name: collection
40-
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
40+
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
4141
url: "https://pub.dev"
4242
source: hosted
43-
version: "1.19.0"
43+
version: "1.19.1"
4444
fake_async:
4545
dependency: transitive
4646
description:
4747
name: fake_async
48-
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
48+
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
4949
url: "https://pub.dev"
5050
source: hosted
51-
version: "1.3.1"
51+
version: "1.3.2"
5252
flutter:
5353
dependency: "direct main"
5454
description: flutter
@@ -99,18 +99,18 @@ packages:
9999
dependency: transitive
100100
description:
101101
name: leak_tracker
102-
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
102+
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
103103
url: "https://pub.dev"
104104
source: hosted
105-
version: "10.0.7"
105+
version: "10.0.8"
106106
leak_tracker_flutter_testing:
107107
dependency: transitive
108108
description:
109109
name: leak_tracker_flutter_testing
110-
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
110+
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
111111
url: "https://pub.dev"
112112
source: hosted
113-
version: "3.0.8"
113+
version: "3.0.9"
114114
leak_tracker_testing:
115115
dependency: transitive
116116
description:
@@ -123,18 +123,18 @@ packages:
123123
dependency: transitive
124124
description:
125125
name: lints
126-
sha256: "4a16b3f03741e1252fda5de3ce712666d010ba2122f8e912c94f9f7b90e1a4c3"
126+
sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7
127127
url: "https://pub.dev"
128128
source: hosted
129-
version: "5.1.0"
129+
version: "5.1.1"
130130
matcher:
131131
dependency: transitive
132132
description:
133133
name: matcher
134-
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
134+
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
135135
url: "https://pub.dev"
136136
source: hosted
137-
version: "0.12.16+1"
137+
version: "0.12.17"
138138
material_color_utilities:
139139
dependency: transitive
140140
description:
@@ -147,18 +147,18 @@ packages:
147147
dependency: transitive
148148
description:
149149
name: meta
150-
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
150+
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
151151
url: "https://pub.dev"
152152
source: hosted
153-
version: "1.15.0"
153+
version: "1.16.0"
154154
path:
155155
dependency: transitive
156156
description:
157157
name: path
158-
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
158+
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
159159
url: "https://pub.dev"
160160
source: hosted
161-
version: "1.9.0"
161+
version: "1.9.1"
162162
sky_engine:
163163
dependency: transitive
164164
description: flutter
@@ -168,50 +168,50 @@ packages:
168168
dependency: transitive
169169
description:
170170
name: source_span
171-
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
171+
sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
172172
url: "https://pub.dev"
173173
source: hosted
174-
version: "1.10.0"
174+
version: "1.10.1"
175175
stack_trace:
176176
dependency: transitive
177177
description:
178178
name: stack_trace
179-
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
179+
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
180180
url: "https://pub.dev"
181181
source: hosted
182-
version: "1.12.0"
182+
version: "1.12.1"
183183
stream_channel:
184184
dependency: transitive
185185
description:
186186
name: stream_channel
187-
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
187+
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
188188
url: "https://pub.dev"
189189
source: hosted
190-
version: "2.1.2"
190+
version: "2.1.4"
191191
string_scanner:
192192
dependency: transitive
193193
description:
194194
name: string_scanner
195-
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
195+
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
196196
url: "https://pub.dev"
197197
source: hosted
198-
version: "1.3.0"
198+
version: "1.4.1"
199199
term_glyph:
200200
dependency: transitive
201201
description:
202202
name: term_glyph
203-
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
203+
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
204204
url: "https://pub.dev"
205205
source: hosted
206-
version: "1.2.1"
206+
version: "1.2.2"
207207
test_api:
208208
dependency: transitive
209209
description:
210210
name: test_api
211-
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
211+
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
212212
url: "https://pub.dev"
213213
source: hosted
214-
version: "0.7.3"
214+
version: "0.7.4"
215215
vector_math:
216216
dependency: transitive
217217
description:
@@ -224,10 +224,10 @@ packages:
224224
dependency: transitive
225225
description:
226226
name: vm_service
227-
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
227+
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
228228
url: "https://pub.dev"
229229
source: hosted
230-
version: "14.3.0"
230+
version: "14.3.1"
231231
sdks:
232-
dart: ">=3.6.0 <4.0.0"
233-
flutter: ">=3.27.0"
232+
dart: ">=3.7.0 <4.0.0"
233+
flutter: ">=3.29.0"

lib/src/fields/form_builder_checkbox.dart

+34-33
Original file line numberDiff line numberDiff line change
@@ -120,39 +120,40 @@ class FormBuilderCheckbox extends FormBuilderFieldDecoration<bool> {
120120
this.shape,
121121
this.side,
122122
}) : super(
123-
builder: (FormFieldState<bool?> field) {
124-
final state = field as _FormBuilderCheckboxState;
125-
126-
return InputDecorator(
127-
decoration: state.decoration,
128-
isFocused: state.effectiveFocusNode.hasFocus,
129-
child: CheckboxListTile(
130-
dense: true,
131-
isThreeLine: false,
132-
focusNode: state.effectiveFocusNode,
133-
title: title,
134-
subtitle: subtitle,
135-
value: tristate ? state.value : (state.value ?? false),
136-
onChanged: state.enabled
137-
? (value) {
138-
state.didChange(value);
139-
}
140-
: null,
141-
checkColor: checkColor,
142-
activeColor: activeColor,
143-
secondary: secondary,
144-
controlAffinity: controlAffinity,
145-
autofocus: autofocus,
146-
tristate: tristate,
147-
contentPadding: contentPadding,
148-
visualDensity: visualDensity,
149-
selected: selected,
150-
checkboxShape: shape,
151-
side: side,
152-
),
153-
);
154-
},
155-
);
123+
builder: (FormFieldState<bool?> field) {
124+
final state = field as _FormBuilderCheckboxState;
125+
126+
return InputDecorator(
127+
decoration: state.decoration,
128+
isFocused: state.effectiveFocusNode.hasFocus,
129+
child: CheckboxListTile(
130+
dense: true,
131+
isThreeLine: false,
132+
focusNode: state.effectiveFocusNode,
133+
title: title,
134+
subtitle: subtitle,
135+
value: tristate ? state.value : (state.value ?? false),
136+
onChanged:
137+
state.enabled
138+
? (value) {
139+
state.didChange(value);
140+
}
141+
: null,
142+
checkColor: checkColor,
143+
activeColor: activeColor,
144+
secondary: secondary,
145+
controlAffinity: controlAffinity,
146+
autofocus: autofocus,
147+
tristate: tristate,
148+
contentPadding: contentPadding,
149+
visualDensity: visualDensity,
150+
selected: selected,
151+
checkboxShape: shape,
152+
side: side,
153+
),
154+
);
155+
},
156+
);
156157

157158
@override
158159
FormBuilderFieldDecorationState<FormBuilderCheckbox, bool> createState() =>

0 commit comments

Comments
 (0)