Skip to content

Latest commit

 

History

History
1110 lines (775 loc) · 46.9 KB

CHANGELOG.md

File metadata and controls

1110 lines (775 loc) · 46.9 KB

[9.3.0]

  • Set minimal Flutter version to 3.22.0
  • Set minimal Dart version to 3.4.0
  • Update readme
  • Add OverflowBar layout for radios and checkboxes
  • fix: #1396 fix dynamic fields example widget issues
  • Update to use 0.19.0 of intl package

[9.2.1]

  • Set minimal Flutter version to 3.16.0

[9.2.0]

Features

  • Add a message to unregisterField assertion
  • FormBuilderDateTimePicker Pass parameter keyboardType to material showDatePicker
  • Reintroduce ability to validate form field's value independent of input's error text
  • Add GroupedRadio separator behavior to GroupedCheckbox
  • FormBuilderCheckboxGroup/FormBuilderRadioGroup Add itemDecoration to checkbox to add borders to checkboxes and radio buttons
  • FormBuilderRangeSlider Correct internal values when min/max changes
  • FormBuilderCheckbox Add Visual density parameter
  • FormBuilderCheckboxGroup Add visual density property in grouped_checkbox
  • FormBuilderTextField Add spell check property from TextField
  • Built with Flutter 3.16

[9.1.1]

  • FormBuilderDateTimePicker & FormBuilderDateRangePicker: Added optional parameter mouseCursor
  • Built with Flutter 3.13

[9.1.0]

Features

  • FormBuilderFieldText: Add onTapOutside property

Fixes

  • FormBuilderField: Misspelling
  • FormBuilderField: Remove force validation on autovalidation enables modes
  • FormBuilderField: Only focus on invalid field when no focus in another field
  • FormBuilderField: Only focus on invalid field when focusOnInvalid is true
  • FormBuilderFieldDecoration: Remove readonly property to enable decoration fields
  • FormBuilderDropdown: Only show dropdown value when has value on items
  • FormBuilderDropdown: Add deep compare when update dropdown items
  • FormBuilderDateTimePicker: Check mounted after async

Others

  • Improve readme
  • Apply MIT license
  • Update gradle config on example

[9.0.0]

BREAKING CHANGES

  • Improve autovalidateMode
    • On FormBuilderField, autovalidateMode change default from AutovalidateMode.onUserInteraction to AutovalidateMode.disabled
  • Refactor FormBuilderField
    • Add widget to remove decoration property from core. Now exist two field widgets:
      1. FormBuilderField: Refactored. Now don't included decoration property or references to this property
      2. FormBuilderFieldDecoration: New. Like the old FormBuilderField
  • Remove FormBuilderCupertinoSegmentedControl
    • Remove FormBuilderCupertinoSegmentedControl field. Included on form_builder_cupertino_fields
    • Update custom fields example without cupertino widgets
    • Remove cupertino icons dependency
  • Update intl version to 0.18.0
  • Update constraints to Flutter 3.10
  • Update constraints to Dart 3

Features

  • NEW Add errors getter on FormBuilder. Can get all errors on form from formKey
  • Improve examples
  • Add gifs to readme
  • FormBuilderSlider: Able custom widgets max, min and value
  • FormBuilderTextField: Add contentInsertionConfiguration property

Fixes

  • Improve FormBuilder rebuild. Now only rebuild at same time the field that user touch, not all touched fields
  • Verify error fields on form validation
  • FormBuilderDropdown: Improve widget and solved assert error with initialValue (issue closed after 2 years and 5 months)

[9.0.0-dev.3]

BREAKING CHANGE

  • Update constraints to Dart 3

[9.0.0-dev.2]

BREAKING CHANGE

[9.0.0-dev.1]

BREAKING CHANGE

  • Improve autovalidateMode

    • On FormBuilderField, autovalidateMode change default from AutovalidateMode.onUserInteraction to AutovalidateMode.disabled
  • Refactor FormBuilderField

    • Add widget to remove decoration property from core. Now exist two field widgets:

      1. FormBuilderField: Refactored. Now don't included decoration property or references to this property
      2. FormBuilderFieldDecoration: New. Like the old FormBuilderField

Features

  • NEW Add errors getter on FormBuilder. Can get all errors on form from formKey
  • Improve examples
  • Add gifs to readme
  • FormBuilderSlider: Able custom widgets max, min and value

Fixes

  • Improve FormBuilder rebuild. Now only rebuild at same time the field that user touch, not all touched fields
  • FormBuilderDropdown: Improve widget and solved assert error with initialValue (issue closed after 2 years and 5 months)

[8.0.0]

BREAKING CHANGE

  • Improve focus and scroll
    • Remove property shouldRequestFocus for each form field
    • Remove property autoFocusOnValidationFailure on FormBuilder. Use properties on validate and invalidate instead

Features

  • NEW Add isDirty property to field and form
  • NEW Add isTouched property to field and form
  • Add focusOnInvalid and autoScrollWhenFocusOnInvalid to validate and saveAndValidate methods from FormBuilderState
  • Add focusOnInvalid and autoScrollWhenFocusOnInvalid to validate method from FormBuilderFieldState
  • Add shouldFocus and shouldAutoScrollWhenFocus to invalidate method from FormBuilderFieldState
  • Depreciate invalidateField and invalidateFirstField on FormBuilder
  • Add desktop support (linux, macos, windows)
  • FormBuilderRangeSlider: Able custom widgets max, min and value

Bug fixes

  • Apply validation on init when autovalidate is always
  • Fix skipDisabled property on FormBuilder
  • Improve reset method. Simplify on form builder and update on form field to update value on interface.
  • FormBuilderTextField: Add support context menu by default

[7.8.0]

  • Remove deprecated property toggleableActiveColor
  • Add widget tests for FormBuilderRangeSlider
  • Add tests for FormBuilderDateRangePicker
  • Add OutlinedBorder shape BorderSide side to FormBuilderCheckbox
  • Add FormBuilderFields type alias
  • Able to change dynamically field name
  • Fix time picker dialog locale
  • Provide magnifier configuration parameter to form builder text field

[7.7.0]

  • Added cursorHeight property for form builder text field (#1112)
  • Added textAlignVertical support on FormBuilderDateRangePicker and FormBuilderDateTimePicker (#1116)
  • Added shape that missed filterChip property (#1118)

[7.6.0]

  • FormBuilderDateTimePicker: Deprecate reset icon For alternatives, see Readme section: Implement reset, clear or other button into FormBuilderField. #1094
  • FormBuilderDropdown: Remove properties related to InputDecoration #1095
  • Clear customError on reset #1096
  • Add linux example
  • FormBuilderRadioGroup: Improve separator position #1106
  • Remove date on changelog. See versions for upload version date

[7.5.0]

  • Apply license BSD-3-clause
  • Remove unused parameters from FormBuilderDateTimePicker (#1086)
  • Refactor readme

[7.4.0]

  • Added shape property to FormBuilderChoiceChip
  • Added option to remove field values from internal maps when unregistered
  • Fix call FormBuilder.onChanged when it has no changes
  • Fix set initial values by FormBuilder in FormBuilderFilterChip

[7.3.1]

  • initialValue no longer required in FormBuilderRangeSlider
  • Improvements to focus handling - attach focus node to widget tree

[7.3.0]

  • Added new attribute timePickerTheme to FormBuilderCupertinoDateTimePicker
  • FormBuilderDateTimePicker.resetIcon changed from Icon to Widget
  • Added avatarBorder attribute to FormBuilderChoiceChip and FormBuilderChoiceChip

BREAKING CHANGES:

  • Renamed attribute theme in FormBuilderCupertinoDateTimePicker to datePickerTheme
  • For FormBuilderChoiceChip and FormBuilderChoiceChip options, replace FormBuilderFieldOption to FormBuilderChipOption which has avatar option for chips

[7.2.1]

  • Fix bug where FormBuilder.onChanged is called before setInternalFieldValue is done

[7.2.0]

  • Added new dropdown attributes: borderRadius, enableFeedback, alignment. Fixes #1011
  • Added more date picker and time picker options
  • Made itemHeight attribute of FormBuilderDropdown nullable. Fixes #1015
  • Resolved 'Null check operator used on a null value' bug in RangeSlider. Fixes #990

[7.1.1]

  • More improvements to focus handling
  • Other minor fixes

[7.1.0]

  • Added silent validation to the FormBuilder widget
  • Implemented shouldChipRequestFocus feature - fixes request focus for non-test based fields
  • Improved field replacement logic
  • Documentation fixes

[7.0.0]

BREAKING CHANGE:

  • For ease of maintainability, validation functionality has been broken up into a separate package: form_builder_validators

[7.0.0-beta.0]

  • Merged back form_builder_fields into flutter_form_builder

[7.0.0-alpha.3]

  • When form validation fails, automatically scroll to first error
  • New way to programmatically induce custom errors by calling GlobalKey<FormBuilderState>.invalidateField() or GlobalKey<FormBuilderFieldState>.invalidate()
  • Remove field from internal value map on when a field is unregistered

[7.0.0-alpha.2]

  • Improvements to package documentation and example

[7.0.0-alpha.1]

  • Fix package naming in alpha.0

[7.0.0-alpha.0]

  • Split up packages - removed fields and validation from core

[6.2.1]

  • Fixed bug where didChange and reset on FormBuilderCheckboxGroup has no visible effect

[6.2.0]

  • Fixed didChange unable to handle null value in FormBuilderTextField

BREAKING CHANGE

  • Added new attribute - autoFocusOnValidationFailure (default: false) - to FormBuilder to set whether should scroll to first error if validation fails

[6.1.0]

  • When form validation fails, automatically scroll to first error
  • New way to programmatically induce custom errors by calling GlobalKey<FormBuilderState>.invalidateField() or GlobalKey<FormBuilderFieldState>.invalidate()
  • Added Arabic and Persian/Farsi locales
  • Made maxLines property nullable and added assertions
  • Remove field from internal value map on when a field is unregistered
  • Fix checkbox issue with null values

[6.0.1]

  • Add whitespace check for required validator
  • Null-safety and type fixes
  • Dispose off registered listeners (#799)

[6.0.0]

  • Re-introduced DateTimePicker field without external dependencies
  • Minor fixes

[6.0.0-nullsafety.1]

  • Static analysis improvements
  • Documentation improvements

[6.0.0-nullsafety.0]

  • Started working on null-safety

BREAKING CHANGES:

  • Removed fields that depend on external dependencies incuding: FormBuilderChipsInput, FormBuilderColorPicker, FormBuilderRating, FormBuilderSearchableDropdown, FormBuilderSignaturePad, FormBuilderTouchSpin, FormBuilderTypeAhead

[5.0.0]

  • Flutter 2.* support

[4.2.0]

  • Added support for Slovak (sk) - @cek-cek

BREAKING CHANGES:

[4.1.0]

  • Added support for Portuguese (pt)
  • Added support for Japanese (ja)
  • Added FormBuilderValidators.notEqual validator
  • Fix bug in RadioGroup where reset and didChange doesnt affect UI. Fixes #646, Fixes #647
  • Image picker fix: Added null-safe spread operator for field.value. Fixes #607
  • Fixed focus issue in ChipsInput
  • Fixed bug SearchableDropdown where setting value programmatically does not update UI. Fixes #627
  • Upgraded flutter_typeahead to 1.9.1.

[4.0.2]

  • Fixed issue in Typeahead field where didChange not call and onChanged fired. Closes #595
  • Fixed issue where french not included in list of supported languages & translations not working. Closes #561

[4.0.1]

  • Fixed bug where FormBuilderField couldn't be used to create custom fields
  • Corrected documentation for equal validator

[4.0.0]

IMPROVEMENTS:

  • New fields: FormBuilderFilePicker, FormBuilderSearchableDropdown, FormBuilderCheckboxGroup
  • Localization of validation error texts
  • Added external validation. Setting InputDecoration.errorText which invalidates the field.
  • New validators: FormBuilderValidators.integer, FormBuilderValidators.equal
  • Improved programmatically changing field values.
  • Add to FormBuilderField.onReset callback - to enable reaction to resetting by changing the UI to reflect reset
  • Add option to remove disabled field values from the final form value using skipReadOnly field.
  • Number of Chips to be selected in FilterChip can now be limited by setting maxChips attribute. Closes #500
  • Use localized text for OK and CANCEL button labels for ColorPicker dialog
  • For default DateTimePicker format, use localized DateTime formats
  • Added option for user to set own border for FormBuilderSignaturePad
  • Improvements to example: break down to several pages; also show code in example app

FIXES:

  • RadioGroup and CheckboxGroup labels not wrapping in vertical mode. Fixes #474
  • Allow changing enabled and initialValue at runtime. Closes #515
  • Hide floating label if field is empty
  • Fixed bug in DateRangePicker where user can just pick one date
  • ColorPicker, DateRangePicker, DateTimePicker - set TextField readOnly to true. Prevents keyboard popup
  • Fixed label overflows in RadioGroup & CheckboxGroup fields
  • Renamed updateFormAttributeValue to setInternalAttributeValue to avoid confusion

BREAKING CHANGES:

  • Renamed attribute option in all fields to name
  • Done away with validators attribute, use normal validator. Use FormBuilderValidators.compose() to compose multiple FormFieldValidators into one
  • Attribute readOnly replaced by enabled - this was done to match Flutter's FormField naming convention
  • Renamed FormBuilderRate to FormBuilderRating
  • Renamed FormBuilderValidators.IP() to FormBuilderValidators.ip()
  • Removed CountryPicker field because of limited use. Replaced with SearchableDropdown with similar functionality but not only limited to countries.
  • Use signature: ^3.0.0 package instead of self-maintained - comes with breaking changes.

[4.0.0-pre.9]

  • Upgraded to latest file_picker - adds withReadStream option for processing large files
  • Fixed issue where initialValue working on SignaturePad
  • Fixed issue where SignaturePad still accepts imput when enabled is set to false
  • Attempted fixes to FocusNode leaks
  • Inline documentation and README improvements

[4.0.0-pre.8]

  • Added enabled attribute to FormBuilder to allow disabling the whole form
  • Passed FocusNode through to super class. Also removed listeners when added.

[4.0.0-pre.7]

  • BREAKING CHANGE: Removed FormBuilderLocationField. Version 1 of form_builder_map_field to be used. Closes #491

[4.0.0-pre.6]

  • BREAKING CHANGE: Attribute readOnly replaced by enabled - this was done to match Flutter's FormField naming convention
  • BREAKING CHANGE: To programatically set values use original didChange() method instead of patchValue()
  • New validator for integer values
  • Add option to remove readOnly field values from the final form value using skipReadOnly field. Closes #501
  • RadioGroup and CheckboxGroup labels not wrapping in vertical mode. Fixes #474
  • Allow changing readOnly and initialValue at runtime. Closes #515
  • Expanded the list of supported image file extensions to match Flutter's
  • Fixed bug where email validator was returning match validator errorText

[4.0.0-pre.5]

  • Number of Chips to be selected in FilterChip can now be limited by setting maxChips attribute. Closes #500
  • After calling patchValue on TextField, take cursor to end of text. Closes #477
  • Fix compile error in SearchableDropdown caused by breacking change in dropdown_search package. Closes #507
  • Fixed bug: calling patchValue on DateTimePIcker doesn't update TextField. Closes #505
  • Fixed regression in DateTimePicker where field didn't work. Closes #496
  • Documentation improvements

[4.0.0-pre.4]

  • Added new field: FilePicker
  • Included v3 to v4 migration guide to README
  • Ensure options disabled for RadioGroup & CheckboxGroup if readOnly
  • Prevent events from happening while picking image (#460)
  • Use localized text for ok and cancel button labels for ColorPicker dialog
  • Minor improvements and documentation added for LocationField

[4.0.0-pre.3]

  • Changed Version naming for release candidates from -RC.* to -pre.*

[4.0.0-RC.2]

  • More documentation improvements

[4.0.0-RC.1]

  • Added compatibility for Flutter v1.22
  • Documentation improvements
  • hide floating label if field is empty
  • Add default placeholder image for ImagePicker
  • For default DateTimePicker format, use localized DateTime formats
  • Fixed bug in DateRangePicker where user can just pick one date
  • Fix bug in dropdown where setting enabled to false doesn't affect input. Closes #450
  • Bumped flutter_chips_input from v1.9.3 to v1.9.4
  • BREAKING CHANGE: Removed CountryPicker field because of limited use. Replaced with SearchableDropdown with similar functionality but not only limited to countries.

[4.0.0-beta.5]

  • Finished implementation of FormBuilderSearchableDropdown.
  • Deprecated FormBuilderCountryPicker - redundant due to FormBuilderSearchableDropdown inclusion.

[4.0.0-beta.4]

  • Fix for label overflows in Radio & Checkbox Groups
  • Fixed bug in FormBuilderDateRangePicker where if dialog dismissed, current value is cleared
  • Fix bug where changes from user defined TextEditingController in FormBuilderTextField not detected. Closes #448
  • Improvements to documentation

[4.0.0-beta.3]

  • Fixed bug where validate() always returns true. Closes #440

[4.0.0-beta.2]

  • Added new field FormBuilderLocationField
  • Use latest flutter_datetime_picker. Fixes "Error: Type 'DiagnosticableMixin' not found". Closes #406
  • Fixed bug where initialValue not set in DateTimePicker. Closes #425
  • Fixed issue where equal validator yields required errorText
  • Fixes to focus and focusNodes, check if field is touched.

[4.0.0-beta.1]

  • Flutter v1.20 improvements
  • Fix bug in FormBuilderValidators.numeric if valueCandidate is null
  • Renamed pattern validator to match.
  • Rename requireTrue validator to equal to allow equality check with other types. Closes #397
  • Fix bug in parsing phone number from FormBuilderPhoneField.initialValue

[4.0.0-alpha.9]

  • Improved programmatically changing field values. Multiple fields can be updated once
  • Fix conversion to double error in FormBuilderRating
  • Removed redundant FormBuilderRadioList and FormBuilderCheckboxList fields
  • Other minor fixes from v3 commits

[4.0.0-alpha.8]

  • Fixed erratic keyboard behavior on FormBuilderTextField
  • Added documentation for FormBuilder & FormBuilderField attributes
  • Fixed issue where FormBuilderRadioGroup not submitting value

[4.0.0-alpha.7]

  • Added new field - FormBuilderCheckboxGroup. Closes #188,
  • New FormBuilderRadioGroup implementation similar to FormBuilderCheckboxGroup. Fixes issue where FormBuilderFieldOption.child is ignored Closes #335
  • Set FocusTraversalGroup policy
  • Fixed bug where TextField where initialValue from FormBuilder is ignored. Closes #370

[4.0.0-alpha.6]

  • Added focusNode to all fields.
  • Attempted tab/next support - work in progress
  • Request Focus to Field when change is attempted.
  • Include guide to programmatically inducing errors to README. Closes #123
  • Fixed bug in Localization where Locale.countrycCode is null. Closes #369
  • Added more options to DatePicker for showDatePicker() Flutter function
  • Rename updateFormAttributeValue to setInternalAttributeValue to avoid confusion

[4.0.0-alpha.5]

  • Improvements to dirty check for FormBuilderField - fixes autovalidate only when dirty

[4.0.0-alpha.4]

  • Added static getter for FormBuilderLocalizations delegate
  • Fix issue where setting app localization is required for built-in validation to work

[4.0.0-alpha.3]

  • Localize validation error texts
  • Dropped country_picker package for country_code_pickers in PhoneField which supports localized countries
  • Allow setting of InputDecoration.errorText which invalidates the field. Allows external validation like server validation
  • ColorPicker show Hexadecimal code in TextField instead of Color.toString()
  • Do away with validators attribute, use normal validator instead of list of validators
  • Added FormBuilderValidators.compose() which composes multiple FormFieldValidators into one
  • ColorPicker, DateRangePicker, DateTimePicker - set TextField readOnly to true. Prevents keyboard popup
  • Improvements to example: break down to several pages; also show code in example app

[3.14.1]

  • Remove phone number validation internally. Closes #499
  • Include padding option for ChoiceChips. Closes #504

[3.14.0]

  • Added support for Flutter v1.22

[3.14.0-alpha.4]

  • Include changes made in v3.13.5 & v3.13.6
  • Fix build for flutter >=1.21.0-9.1.pre

[3.13.6]

  • Fixed bug in DateRangePicker where user can just pick one date. Closes #434
  • Fix bug where FormBuilderCheckboxGroup value set to widget.initialValue. Closes #467
  • Prevent events from happening while picking image with ImagePicker
  • Added null check for val in onSaved and validator
  • Fix GroupedCheckbox not disabled when read only
  • Added phone validation and fixed initialValue parsing
  • Fix Image.memory throwing error when value is null

[3.13.5]

  • Fixed bug in DateRangePicker where onChanged fires before change. Closes #434
  • Use app's locale for default DateTimePicker display formatting
  • Update to latest flutter_chips_input. Fixes #415

[3.14.0-alpha.3]

  • Include changes made in v3.13.4

[3.13.4]

  • Fixed bug where CountryPicker.onSaved breaks if value is null
  • Fixed bug where initialValue not saved
  • Fix for label overflows in RadioGroup & CheckboxGroup
  • Upgrade to latest flutter_chips_input. Fixes bugs in Flutter pre-release channels

[3.14.0-alpha.2]

  • Include changes made in v3.13.3

[3.13.3]

  • Fix bug where CountryPicker still works in readOnly. Closes #413
  • Fixed bug where onChanged is not fired in CountryPicker. Closes #424
  • Allow null initialValue for CountryPicker. Closes #421
  • Minor improvements for ImagePicker on web platform. Closes #414
  • Added video tutorial reference to README

[3.14.0-alpha.1]

  • Fixed RangeSemanticFormatterCallback error. Changed field with SemanticFormatterCallback.

[3.13.2]

  • Added defaultImage attribute to FormBuilderImagePicker, acts as placeholder. Courtesy luwenbin8023
  • Fix bug in FormBuilderCheckboxGroup where InputDecoration isn't enabled. Closes #405
  • Fix issue where form's initialValue would potentially be ignored. Fixes #341

[3.13.1]

  • Added default value to timePickerInitialEntryMode to be consistent with showTimePicker API. Closes #403
  • Ensure TextEditingControllers aren't unused and are properly disposed.
  • Use latest version of flutter_chips_input with fix for "Bad UTF-8 found..."

[3.13.0]

  • Added support for Flutter v1.20

[3.12.3]

  • Fixed bug in parsing phone number from FormBuilderPhoneField's initialValue
  • Added more TextField options: toolbarOptions, smartQuotesType, smartDashesType, scrollPhysics, enableSuggestions
  • Fixed onChanged bug on TextField

[3.12.2]

  • Convert FormBuilderRating value to double for RatingBar. Closes #392

[3.12.1]

  • Deprecate FormBuilderRadio in favour of FormBuilderRadioGroup
  • Deprecate FormBuilderCheckbox in favour of FormBuilderCheckboxGroup
  • Fix bug "NoSuchMethodError: invalid member on null: 'initialValue'" when fields not wrapped in FormBuilder

[3.12.0]

  • Added new field FormBuilderCheckboxGroup. Closes #188
  • Removed group_radio_button library dependency, made own implementation with label fix. Closes #376, #335
  • Add web support for ImagePicker. Courtesy of vin-fandemand
  • Fixed bug where value within TextEditingController ignored in FormBuilderTypeahead

[3.11.6]

  • Upgraded dependencies
  • Fixed error 'The getter 'initialValue' was called on null' if no FormBuilderState ancestry. Closes #364
  • Fixed issue where DropdownButton hint overlaps with labelText. Closes #372
  • Fix 'initialEntryMode != null' assertion in DateTimePicker. Closes #373

[3.11.5]

  • Included more showDatePicker function options
  • Fixed bug where onChanged not triggered by ImagePicker. Closes #366
  • Deprecate underline for Dropdown. Ignored
  • Added more options for DropdownButton. Closes #153, #337
  • Type FormBuilderDropdown class. Closes #360
  • Included options to set camera and gallery icons and label. Closes #340
  • Added bottomSheetPadding option for ImagePicker. Closes #339

[3.11.4]

  • Added text styles options to Slider
  • Re-implement number formatting on Slider field
  • Fix bug in ChoiceChip & FilterChip where using FieldOption label instead of child breaks. Closes #348
  • Added labelPadding and labelStyle to ChoiceChip field
  • Fix SignaturePad initialValue.

[3.11.3]

  • Reverted changes to PhoneField causing focus issues

[3.11.2]

  • Deprecated initialValue for Signature field - here's no easy way of converting Uint8List to List<Point>. Use SignatureController to set initial signature
  • Added displayValues attribute to Slider and RangeSlider - choose which values to display under the slider

[3.11.1]

  • Bumped up flutter_chips_input version. Contains major fix
  • Fixed bug preventing use of non-String value for FormBuilderTypeAhead.

[3.11.0]

  • Added FormBuilderRadioGroup field
  • Revised ImageSourceSheet to use the new Image Picker api, and added support for web platform.
  • Add textAlignVertical attribute option to FormBuilderTextField
  • Included additional configuration options to the FormBuilderImagePicker: maxHeight, maxWidth, imageQuality, preferredCameraDevice & maxImages
  • Added alwaysUse24HourFormat option to DateTimePicker. Closes #297
  • Revert focus to PhoneField TextField after country selected. Closes #302
  • Validate PhoneField only if phone number has value, not country only
  • Bumped up flutter_typeahead version. Contains keyboard visibility fix
  • Bumped up flutter_chips_input version with multiple fixes and improvements.
  • Show Country flag to PhoneField

[3.10.1]

  • Added delete icon on selected images in ImagePicker instead of non-intuitive long-press to delete. Closes #278
  • Added contentPadding option to Checkbox, CheckboxList, Radio and Switch to allow spacing of items in list options. Closes #280
  • Fix bug "The getter 'isNotEmpty' was called on null" in PhoneField

[3.10.0]

  • Added FormBuilderCountryPicker and FormBuilderPhoneField. Good work by Furkan KURT
  • Set readOnly prop to false in ColorPicker, DateRangePicker & DateTimePicker TextFields - prevents keyboard popping up. Closes #210
  • Fixed allowEmpty bug in minLength validator. Closes #259
  • Allow user to set iconColor for ImagePicker due to issue with dark mode. Closes #268
  • Use signature package instead of self-maintained Widget
  • Use ObjectKeys to enforce rebuild after reset
  • Added decoration attribute to ImagePicker, deprecated labelText
  • Remove deprecation for initialTime & initialDate in DateTimePicker

Unreleased

  • Add contentPadding to all ListTile-based fields

[4.0.0-alpha.2]

  • All form reset issues are fixed - I hope ;-). UniqueKey() used where necessary
  • FormBuilderField to be used base to create custom fields. Removed unused FormBuilderCustomField
  • Add to FormBuilderField.onReset callback - to enable user to react to resetting by changing the UI to reflect reset
  • Fixed bug where setting form-wide readOnly to true doesn't affect fields
  • On field reset, use calculated initialValue instead of widget provided since it may have been set by the FormBuilder
  • Use signature: ^3.0.0 package instead of self-maintained - comes with breaking changes.
  • Added option for user to set own border for FormBuilderSignaturePad
  • Remove deprecation for initialDate and initialTime for DateTimePicker - user may prefer to set own

[4.0.0-alpha.1]

  • Complete rewrite of package implementation
  • Removed a few deprecations
  • Renamed FormBuilderRate to FormBuilderRating

[3.9.0]

  • New field type FormBuilderImagePicker courtesy of Gustavo Vítor
  • Switched rating package from sy_flutter_widgets to rating_bar with more configuration options
  • Switched rating package from sy_flutter_widgets to rating_bar with more configuration options
  • Added option to showCheckmark for FormBuilderFilterChip, along with other options. Closes #260
  • Added option to allowEmpty in minLength and maxLength validations. Closes #259
  • Fixed bug where locale, textDirection, useRootNavigator & builder not passed down to showDatePicker() and showTimePicker()
  • Assert initialValue is null or controller is null for FormBuilderTextField. Closes #258

[3.8.3]

  • Fix bug where onChange in FormBuilderDateTimePicker doesn't fire when field is cleared. Closes #254
  • Fix The method 'dispose' was called on null. issue in FormBuilderTypeAhead. Closes #256
  • Bumped up flutter_chips_input to v1.8.0 from v1.7.0

[3.8.2]

  • onTap callback added to FormBuilderTextField
  • Link to form_builder_map_field added to README
  • Improvements to README

[3.8.1]

  • Only enable corresponding TextField when ColorPicker is not readOnly
  • Fixed bug where FormBuilderTouchSpin aka Stepper not being disabled when in readOnly
  • Bumped up color_picker to 0.3.2, added new ColorPickerType - SliderPicker
  • Export flutter_typeahead package so user gets access TextFieldConfiguration class
  • Deprecate validator attribute in FormBuilderDateTimePicker, only validators should be used
  • When TimePicker is cancelled, return original value instead of null
  • Fix bug where initialTime for TimePicker defaults to 12:00, use currentTime. Closes #234

[3.8.0+1]

  • Fix bug where Changing readOnly of FormBuilder does not change readOnly of FormBuilderDateTimePicker. Closes #179

[3.8.0]

  • NEW FIELD TYPES:
    • FormBuilderChoiceChip - Creates a chip that acts like a radio button. Courtesy Cesar Flores
    • FormBuilderFilterChip - Creates a chip that acts like a checkbox. By Cesar Flores. Again!
    • FormBuilderColorPicker with help from Benjamin
    • FormBuilderTouchSpin replaced the confusingly named FormBuilderStepper which is now deprecated.
  • Fix some inconsistencies in controller and focus node disposal. Courtesy of Thomas Järvstrand. Should close #230
  • Bumped up flutter_typeahead from 1.7.0 to 1.8.0

[3.7.3]

  • Bumped up intl, datetime_picker_formfield & flutter_chips_input. Closes #204, #207, #211, #215.
  • Fixed deprecation errors

[3.7.2]

  • Fix email validator: Trim white-space before validation
  • Return Form's value state with all fields defined in initialValue

[3.7.1] - 6-Dec-2019

  • Use num for FormBuilderStepper instead of double to allow for either int or double

[3.7.0] - 5-Dec-2019

  • Included onSaved callback to all fields. Closes #175
  • Added Key option to all fields to make testing possible
  • Fixed bug where custom controller not working in TypeAhead. Closes #144
  • Fix issue where FormBuilderDateRangePicker ignores initialFirstDate and initialLastDate
  • Fixed bug where readOnly not working in FormBuilderDateTimePicker. Closes #179
  • Allow double values for FormBuilderStepper. Closes #182
  • Only include clear icon next to DropdownButton if the value is not null
  • Revert intl, upgrade flutter_chips_input & datetime_picker_formfield - due incompatibilities. Closes #183, #185

[3.6.1] - 6-Nov-2019

  • Fixed bug caused by dropping unimplemented attribute onChipTapped of flutter_chips_input. Closes #168

[3.6.0] - 4-Nov-2019

  • Added clear option to FormBuilderDropdown - set allowClear to true. Closes #148
  • Default contentPadding and border attributes removed from CheckboxList, Radio and SegmentedControl list. Closes #160
  • Added numberFormat attribute to Slider. Closes #156
  • Add error text to date range picker. Thanks to ffpetrovic
  • Fixed bug where pushing cancel on timePicker causes crash. Thanks to ayushin
  • Fixed bug where Switch doesn't obey initialValue from FormBuilder. Closes #159
  • Fixed bug where FormBuilderDropdown shows value instead of label when disabled/readOnly. Closes #154
  • Fixed bug where FormBuilderDateTimePicker value is parsed from TextField string. Closes #164
  • Added default TextInputConfiguration options for ChipsInput
  • Fix example project - AndroidX compatibility. Thanks to prasadsunny1
  • Bumped up flutter_typeahead 1.6.1 -> 1.7.0

[3.5.5] - 3-Oct-2019

  • Bumped up flutter_chips_input version from 1.3.1 to 1.5.1
  • AndroidX migration for example app

[3.5.4]

  • Fix dependency mismatch for intl with flutter_localizations from sdk
  • Bumped up datetime_picker_formfield dependency version

[3.5.3]

  • Fixed DateTimePicker bug: 'DateTime is not a subtype of type TimeOfDay' when Input type is Time only. Closes #131

[3.5.2]

  • Re-introduced onSuggestionSelected option in TypeAhead field

[3.5.1]

  • Hack to avoid manual editing of date - as is in DateTimeField library

[3.5.0]

  • NEW FIELD TYPE: FormBuilderDateRangePicker
  • New method saveAndValidate method to FormBuilder
  • Ability to use custom data types in TypeAhead field instead of just String
  • FormBuilderDateTimePicker fixes
    • Fixed bug where currently selected date is cleared when DateTimePicker dialog is shown
    • Also fixed bug where currently selected date not used as initial date in DateTimePicker dialog
    • initialTime and initialDate deprecated - brings confusion with initialValue. Selected date/time or current date/time will be used instead
  • BREAKING CHANGE: Changed type of resetIconin DateTimePicker from IconData to Icon

[3.4.1]

  • Fixed bug in FormBuilderDateTimePicker where initialValue defaults to null

[3.4.0]

  • Converted FormBuilderFieldOption to Widget with child attribute - allows option to be customized/styled
  • Fixed bug in FormBuilderCheckboxList where new items cannot be added
  • Allow null value on checkbox if tristate is enabled
  • Adding InputBorder on FormBuilderDropdownField now possible
  • Fixed bug where initial date not shown for FormBuilderDateTimePicker

[3.3.4]

  • Added initialValue field to FormBuilderCustomField

[3.3.3]

  • Attempt to fix issue where user is required to manually edit FormBuilderDateTimePicker if not empty - instead of presenting Date/Time Picker

[3.3.2]

  • Upgrade dependency datetime_picker_formfield from v0.4.0 to 1.0.0-pre.2 (aka v0.4.1)
  • Removed editable option from FormBuilderDateTimePicker - removed from dependency datetime_picker_formfield

[3.3.1]

  • Fixed bugs in FormBuilderDateTimePicker
  • Minor improvements to documentation

[3.3.0]

  • New Feature: You can now set initialValue for FormBuilder - Accepts a Map<String, dynamic> where keys are attributes and the values are initialValues for corresponding fields
  • New Field: FormBuilderRangeSlider
  • Compatibility with newly released Flutter version 1.7.*
  • Breaking change: Renamed occurrences of readonly to readOnly to fit naming conventions
  • Updated datetime_picker_formfield to version 0.4.0 from 0.2.0
  • Added more attribute options for different fields

[3.2.9]

  • Added borderColor, selectedColor, pressedColor, textStyle options to FormBuilderSegmentedControl for CupertinoSegmentedControl customization

[3.2.8]

  • Added activeColor, checkColor, materialTapTargetSize & tristate options to FormBuilderCheckbox and FormBuilderCheckboxList for checkbox customization

[3.2.7]

  • Fixed bug where valueTransformers not working

[3.2.6]

  • If disabled dropdown has value, show value instead of disabledHint

[3.2.5]

  • Fixed Stack Overflow bug in setAttributeValue function

[3.2.4]

[3.2.3]

  • Allow readonly attribute for fields to be changed at runtime. Credit Daniel Acorsi. Closes #75

[3.2.2]

  • Bumped up flutter_chips_input from v1.2.0 to 1.3.0

[3.2.1]

  • Add missing attributes for FormBuilderSlider to customize Slider Widget including activeColor, inactiveColor, onChangeStart, onChangeEnd, label and semanticFormatterCallback. Closes #80.
  • Add support for underline to FormBuilderDropdown. Credit Jordan Nelson (github/jrnelson333).
  • Minor fixes to README

[3.2.0]

  • Bumped up flutter_typeahead from v1.5.0 to 1.6.1
  • Bumped up datetime_picker_formfield from v0.1.8 to 0.2.0

[3.1.3]

  • Made flutter_typeahead's onSuggestionSelected available to FormBuilderTypeAhead - Closes #73. Credit to daWeed (github/psrcek)

[3.1.2]

  • Attempted fix for FormBuilderTextField retaining focus even after moving to other fields causing the UI to jump back to the TextField
  • Improved documentation for FormBuilderCustomField

[3.1.1]

  • Fixed sample code in README for example project
  • Bumped up flutter_typeahead from v1.4.0 to 1.5.0

[3.1.0]

  • Added leadingInput option for CheckboxList, Checkbox and Radio - Allows the option to have the input before its label (left). Courtesy of Sven Schöne

[3.0.1]

  • Fixed bug in where focuNode for FormBuilderTextField is ignored. Closes #53
  • Fixed bug in where textEditingConfiguration for FormBuilderTypeAhead ignored

[3.0.0]

  • Complete rewrite of the package - stateful field widgets
    • FormBuilderCheckbox - Single Checkbox field
    • FormBuilderCheckboxList - List of Checkboxes for multiple selection
    • FormBuilderChipsInput - Takes a list of Flutter Chip as inputs
    • FormBuilderDateTimePicker - For Date, Time and DateTime input
    • FormBuilderDropdown - Allow selection of one value from a list as a Dropdown
    • FormBuilderRadio - Allow selection of one value from a list of Radio Widgets
    • FormBuilderRate - For selection of a numerical value as a rating
    • FormBuilderSegmentedControl - For selection of a value from the CupertinoSegmentedControl as an input
    • FormBuilderSignaturePad - Presents a drawing pad on which user can doodle
    • FormBuilderSlider - For selection of a numerical value on a slider
    • FormBuilderStepper - Selection of a number by tapping on a plus or minus symbol
    • FormBuilderSwitch - On/Off switch
    • FormBuilderTextField - For text input. Allows input of single-line text, multi-line text, password, email, urls etc by using different configurations and validators
    • FormBuilderTypeAhead - Auto-completes user input from a list of items
  • New FormBuilderCustomField to create of custom FormFields
  • New attribute validators allows composability and reusability of different FormFieldValidator functions that do different validations
  • New Feature FormBuilderValidators comes with common validation functionality options such as: required, min, max, minLength, maxLength, email, url, credit card etc.
  • Added valueTransformer - transforms field value before saving to the final form value
  • Added requested onChanged value notifier event on fields. Closes #45
  • Prevent duplicate attribute names in fields - assertion
  • Breaking changes:
    • FormBuilderInputOption becomes FormBuilderFieldOption
    • BuildContext is not passed down into FormBuilder
  • Fixed URL validator works correctly - tested
  • Improved documentation

[2.0.3]

  • Allow nulls in FormBuilder controls attribute

[2.0.2]

  • Minor fix in documentation

[2.0.1]

  • Fixed bug where fields keep losing focus

[2.0.0]

New Features and fixes

  • New attribute decoration for FormBuilderInput. Enables one to customize InputDecoration like icons, labelStyles etc
  • Added ability to add GlobalKey of type FormBuilderState to FormBuilder that will be the handle to the state of the form enabling saving and resetting. Similar to using Flutter's Form.
  • Added new input type FormBuilder.signaturePad which provides a drawing pad for user signature
  • Added max attribute to chipsInput to limit the number of chips users can add
  • Added new attribute maxLines to be used with textFields with multiple lines
  • Fixed bug where readonly not working to Date, Time and DateTime Pickers

Breaking Changes

  • Removed reset/submit buttons and corresponding attributes: showResetButton, resetButtonContent Access form state using a GlobalKey<FormBilderState>
  • Removed label and hint attributes to be replaced by decoration

[1.5.1]

  • Fixed bugs originating from upgrading flutter_typeahead from v0.5.1 to v1.2.1

[1.5.0]

  • Now using datetime_picker_formfield plugin from pub for DatePicker and TimePicker. Should close #33
  • Added new FormBuilderInput - DateTimePicker
  • Breaking change: DatePicker, TimePicker & DateTimePicker now return an object of type DateTime instead of String
  • Upgraded flutter_typeahead from v0.5.1 to v1.2.1 - comes with more widgets options

[1.4.0]

  • The entire form or individual controls can now be made readonly by making readonly property to true. Default value is false. Closes #11 and #16

[1.3.5]

  • Fixed bug on Slider where current value not updated on slider & label

[1.3.4]

Bug fix: Imported dart:async for use of Futures to be compatible with Dart <2.1

[1.3.3]

  • Updated flutter_typeahead version. Closes #15

[1.3.2]

  • Allow setting of format for DatePicker
  • Fixed bug where lastDate and firstDate for DatePicker don't work

[1.3.1]

  • Moved ChipsInput into own library on pub.dartlang.org, check it out here
  • Updated example code to include proper use of Form's onChanged function after update. Closes #8

[1.3.0]

  • Fixed bug where TypeAhead value reset when other fields are updated
  • onChanged function for FormBuilder is now called with current form values (breaking change)
  • Form reset now works as expected
  • Other minor refactorings

[1.2.0]

  • New FormBuilderInput types:
    • ChipsInput
  • Some bug fixes
  • Minor UI improvements
  • Some bugs introduced, to be fixed later

[1.1.0]

  • Fixed bug where validation not working for fields outside screen (when using ListView) - Flutter Issue #17385
  • Added InputDecoration for all custom FormFields

[1.0.2]

  • Fixed bug in (un)selecting checkbox list using by clicking its label

[1.0.1]

  • Minor improvements to documentation, added known issues section too

[1.0.0]

Features

  • New FormBuilderInput types:
    • Phone
    • Stepper
    • Rate
    • SegmentedControl
  • min and max validation added to number field and textField
  • More specialized keyboard types for TextField control types (text, number, url, email, multiline, phone etc)
  • Tapping on Label for radio/checkbox changes the control value
  • Created new constructors for password and textField inputs
  • Added resetButton

Fixes

  • Fixed bug where TYPE_TEXT validates as TYPE_EMAIL - Closes #1
  • Fixed initial value setting FormBuilderInput.checkboxList()

Breaking Changes

  • placeholder attribute of class FormBuilderInput renamed to hint
  • Removed default constructor for FormBuilderInput

[0.0.1] - 1-Nov-2018.

  • Initial Release
  • Input Types:
    • Text
    • Number
    • Email
    • MultilineText
    • Password
    • Radio
    • CheckboxList
    • Checkbox
    • Switch
    • Slider
    • Dropdown
    • DatePicker
    • TimePicker
    • Url
    • TypeAhead