Skip to content

Commit 6bbe53d

Browse files
committed
feat(extra_fields): upgrade packages, flutter_form_bulder v7.0.0 release
1 parent 5db3ab9 commit 6bbe53d

File tree

5 files changed

+81
-85
lines changed

5 files changed

+81
-85
lines changed

packages/form_builder_extra_fields/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## [7.0.0] - 27-Oct-2021
2+
* `flutter_form_builder` ^7.0.0 compatibility
3+
* Upgraded packages
4+
15
## [7.0.0-alpha.6] - 10-Sep-2021
26
* Upgraded `flutter_colorpicker` dependency - comes with improvements to `FormBuilderColorPicker` field
37
* Upgraded `dropdown_search` dependency - comes with improvements to `FormBuilderDropdownSearch` field

packages/form_builder_extra_fields/example/lib/home_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ class _MyHomePageState extends State<MyHomePage> {
159159
FormBuilderRatingBar(
160160
decoration: const InputDecoration(labelText: 'Rating Bar'),
161161
name: 'rate',
162-
enabled: false,
162+
// enabled: false,
163163
itemSize: 32.0,
164164
initialValue: 1.0,
165165
maxRating: 5.0,

packages/form_builder_extra_fields/lib/src/fields/form_builder_searchable_dropdown.dart

Lines changed: 66 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,6 @@ import 'package:flutter_form_builder/flutter_form_builder.dart';
88

99
/// Field for selecting value(s) from a searchable list
1010
class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
11-
///DropDownSearch label
12-
final String? label;
13-
14-
///DropDownSearch hint
15-
final String? hint;
16-
1711
///show/hide the search box
1812
final bool showSearchBox;
1913

@@ -164,7 +158,7 @@ class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
164158
final MainAxisAlignment? favoriteItemsAlignment;
165159

166160
///set properties of popup safe area
167-
final PopupSafeArea popupSafeArea;
161+
final PopupSafeAreaProps popupSafeArea;
168162

169163
/// object that passes all props to search field
170164
final TextFieldProps? searchFieldProps;
@@ -194,8 +188,11 @@ class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
194188
/// elevation for popup items
195189
final double popupElevation;
196190

191+
/// function to override position calculation
192+
final PositionCallback? positionCallback;
193+
197194
/// Creates field for selecting value(s) from a searchable list
198-
FormBuilderSearchableDropdown({
195+
FormBuilderSearchableDropdown( {
199196
Key? key,
200197
//From Super
201198
required String name,
@@ -211,7 +208,6 @@ class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
211208
FocusNode? focusNode,
212209
required this.items,
213210
this.mode = dropdown_search.Mode.MENU,
214-
this.hint,
215211
this.isFilteredOnline = false,
216212
this.popupTitle,
217213
this.selectedItem,
@@ -235,7 +231,6 @@ class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
235231
this.popupShape,
236232
this.popupItemDisabled,
237233
this.popupBarrierColor,
238-
this.label,
239234
this.clearButtonBuilder,
240235
this.dropdownButtonBuilder,
241236
this.favoriteItemBuilder,
@@ -260,7 +255,7 @@ class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
260255
this.clearButtonSplashRadius,
261256
this.dropdownButtonSplashRadius,
262257
this.onBeforeChangeMultiSelection,
263-
this.popupSafeArea = const PopupSafeArea(),
258+
this.popupSafeArea = const PopupSafeAreaProps(),
264259
this.searchFieldProps,
265260
this.scrollbarProps,
266261
this.popupBarrierDismissible = true,
@@ -270,6 +265,7 @@ class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
270265
this.popupSelectionWidget,
271266
this.popupValidationMultiSelectionWidget,
272267
this.popupElevation = 0,
268+
this.positionCallback,
273269
}) : super(
274270
key: key,
275271
initialValue: initialValue,
@@ -286,73 +282,65 @@ class FormBuilderSearchableDropdown<T> extends FormBuilderField<T> {
286282
builder: (FormFieldState<T?> field) {
287283
final state = field as _FormBuilderSearchableDropdownState<T>;
288284

289-
return InputDecorator(
290-
decoration: state.decoration,
291-
child: dropdown_search.DropdownSearch<T>(
292-
key: ValueKey(state.value),
293-
// Hack to rebuild when didChange is called
294-
items: items,
295-
maxHeight: 300,
296-
onFind: onFind,
297-
onChanged: (val) {
298-
state.requestFocus();
299-
state.didChange(val);
300-
},
301-
showSearchBox: showSearchBox,
302-
hint: hint,
303-
enabled: state.enabled,
304-
305-
autoValidateMode: autovalidateMode,
306-
clearButton: clearButton,
307-
compareFn: compareFn,
308-
dialogMaxWidth: dialogMaxWidth,
309-
dropdownBuilder: dropdownBuilder,
310-
dropdownBuilderSupportsNullItem:
311-
dropdownBuilderSupportsNullItem,
312-
dropDownButton: dropDownButton,
313-
dropdownSearchDecoration:
314-
InputDecoration.collapsed(hintText: hint),
315-
emptyBuilder: emptyBuilder,
316-
errorBuilder: errorBuilder,
317-
filterFn: filterFn,
318-
isFilteredOnline: isFilteredOnline,
319-
itemAsString: itemAsString,
320-
loadingBuilder: loadingBuilder,
321-
popupBackgroundColor: popupBackgroundColor,
322-
mode: mode,
323-
popupBarrierColor: popupBarrierColor,
324-
popupItemBuilder: popupItemBuilder,
325-
popupItemDisabled: popupItemDisabled,
326-
popupShape: popupShape,
327-
popupTitle: popupTitle,
328-
selectedItem: state.value,
329-
showClearButton: showClearButton,
330-
label: label,
331-
clearButtonBuilder: clearButtonBuilder,
332-
dropdownButtonBuilder: dropdownButtonBuilder,
333-
favoriteItemBuilder: favoriteItemBuilder,
334-
favoriteItems: favoriteItems,
335-
onBeforeChange: onBeforeChange,
336-
favoriteItemsAlignment: favoriteItemsAlignment,
337-
onPopupDismissed: onPopupDismissed,
338-
// searchBoxController: searchBoxController,
339-
searchDelay: searchDelay,
340-
showAsSuffixIcons: showAsSuffixIcons,
341-
showFavoriteItems: showFavoriteItems,
342-
clearButtonSplashRadius: clearButtonSplashRadius,
343-
dropdownButtonSplashRadius: dropdownButtonSplashRadius,
344-
dropdownSearchBaseStyle: dropdownSearchBaseStyle,
345-
dropdownSearchTextAlign: dropdownSearchTextAlign,
346-
dropdownSearchTextAlignVertical:
347-
dropdownSearchTextAlignVertical,
348-
// onSaved: onSaved,
349-
popupBarrierDismissible: popupBarrierDismissible,
350-
popupElevation: popupElevation,
351-
popupSafeArea: popupSafeArea,
352-
scrollbarProps: scrollbarProps,
353-
searchFieldProps: searchFieldProps,
354-
showSelectedItems: showSelectedItems,
355-
),
285+
return dropdown_search.DropdownSearch<T>(
286+
key: ValueKey(state.value),
287+
// Hack to rebuild when didChange is called
288+
items: items,
289+
maxHeight: 300,
290+
onFind: onFind,
291+
onChanged: (val) {
292+
state.requestFocus();
293+
state.didChange(val);
294+
},
295+
showSearchBox: showSearchBox,
296+
enabled: state.enabled,
297+
298+
autoValidateMode: autovalidateMode,
299+
clearButton: clearButton,
300+
compareFn: compareFn,
301+
dialogMaxWidth: dialogMaxWidth,
302+
dropdownBuilder: dropdownBuilder,
303+
dropdownBuilderSupportsNullItem: dropdownBuilderSupportsNullItem,
304+
dropDownButton: dropDownButton,
305+
dropdownSearchDecoration: state.decoration,
306+
emptyBuilder: emptyBuilder,
307+
errorBuilder: errorBuilder,
308+
filterFn: filterFn,
309+
isFilteredOnline: isFilteredOnline,
310+
itemAsString: itemAsString,
311+
loadingBuilder: loadingBuilder,
312+
popupBackgroundColor: popupBackgroundColor,
313+
mode: mode,
314+
popupBarrierColor: popupBarrierColor,
315+
popupItemBuilder: popupItemBuilder,
316+
popupItemDisabled: popupItemDisabled,
317+
popupShape: popupShape,
318+
popupTitle: popupTitle,
319+
selectedItem: state.value,
320+
showClearButton: showClearButton,
321+
clearButtonBuilder: clearButtonBuilder,
322+
dropdownButtonBuilder: dropdownButtonBuilder,
323+
favoriteItemBuilder: favoriteItemBuilder,
324+
favoriteItems: favoriteItems,
325+
onBeforeChange: onBeforeChange,
326+
favoriteItemsAlignment: favoriteItemsAlignment,
327+
onPopupDismissed: onPopupDismissed,
328+
searchDelay: searchDelay,
329+
showAsSuffixIcons: showAsSuffixIcons,
330+
showFavoriteItems: showFavoriteItems,
331+
clearButtonSplashRadius: clearButtonSplashRadius,
332+
dropdownButtonSplashRadius: dropdownButtonSplashRadius,
333+
dropdownSearchBaseStyle: dropdownSearchBaseStyle,
334+
dropdownSearchTextAlign: dropdownSearchTextAlign,
335+
dropdownSearchTextAlignVertical: dropdownSearchTextAlignVertical,
336+
// onSaved: onSaved,
337+
popupBarrierDismissible: popupBarrierDismissible,
338+
popupElevation: popupElevation,
339+
popupSafeArea: popupSafeArea,
340+
scrollbarProps: scrollbarProps,
341+
searchFieldProps: searchFieldProps,
342+
showSelectedItems: showSelectedItems,
343+
positionCallback: positionCallback,
356344
);
357345
},
358346
);

packages/form_builder_extra_fields/lib/src/fields/form_builder_typeahead.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,8 +258,10 @@ class FormBuilderTypeAhead<T> extends FormBuilderField<T> {
258258

259259
final bool hideKeyboard;
260260

261+
final ScrollController? scrollController;
262+
261263
/// Creates text field that auto-completes user input from a list of items
262-
FormBuilderTypeAhead({
264+
FormBuilderTypeAhead( {
263265
Key? key,
264266
//From Super
265267
required String name,
@@ -299,6 +301,7 @@ class FormBuilderTypeAhead<T> extends FormBuilderField<T> {
299301
this.onSuggestionSelected,
300302
this.controller,
301303
this.hideKeyboard = false,
304+
this.scrollController,
302305
}) : assert(T == String || selectionToTextTransformer != null),
303306
super(
304307
key: key,
@@ -358,6 +361,7 @@ class FormBuilderTypeAhead<T> extends FormBuilderField<T> {
358361
keepSuggestionsOnSuggestionSelected:
359362
keepSuggestionsOnSuggestionSelected,
360363
hideKeyboard: hideKeyboard,
364+
scrollController: scrollController,
361365
);
362366
},
363367
);
@@ -420,7 +424,7 @@ class _FormBuilderTypeAheadState<T>
420424
var text = value == null
421425
? ''
422426
: widget.selectionToTextTransformer != null
423-
? widget.selectionToTextTransformer!(value!)
427+
? widget.selectionToTextTransformer!(value)
424428
: value.toString();
425429

426430
return text;

packages/form_builder_extra_fields/pubspec.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: form_builder_extra_fields
22
description: This package provides additional input fields for flutter_form_builder package
3-
version: 7.0.0-alpha.6
3+
version: 7.0.0
44
homepage: https://github.com/danvick/flutter_form_builder
55

66
environment:
@@ -9,14 +9,14 @@ environment:
99
dependencies:
1010
flutter:
1111
sdk: flutter
12-
flutter_form_builder: ^7.0.0-beta.0
12+
flutter_form_builder: ^7.0.0
1313
flutter_chips_input: ^1.10.0
1414
flutter_colorpicker: ^0.6.0
15-
dropdown_search: ^1.0.0
15+
dropdown_search: ^2.0.0
1616
signature: ^4.1.1
1717
flutter_touch_spin: ^2.0.0-nullsafety.1
1818
intl: ^0.17.0
19-
flutter_typeahead: ^3.2.0
19+
flutter_typeahead: ^3.2.1
2020
flutter_datetime_picker: ^1.5.1
2121
flutter_rating_bar: ^4.0.0
2222

0 commit comments

Comments
 (0)