ngforms 5.0.0-dev.0
ngforms: ^5.0.0-dev.0 copied to clipboard
Forms framework for AngularDart. Easily create forms to accept input from users.
5.0.0-dev.0 #
Note: This release has breaking changes.
- BREAKING REFACTOR: remove SlowComponentLoader and ReflectiveInjector (#26).
4.1.1 #
- REFACTOR: use the new super initializers in Dart 2.17.
- FIX: bring back original import file for compatibility.
4.1.0 #
- Require Dart >=2.17.0
- Update
pubspec.yamlto improve pub score. - Rename the main export file from
angular_forms.darttongforms.dart.
4.0.1 #
- Update
README.md.
4.0.0 #
- Support null safety
- Require Dart ^2.14.0
3.0.0 #
- Stable release
2.1.5 #
New Features #
- Push down
updatestream to NgControl so that code can imperatively listen to view changes.
2.1.4 #
- Maintenance release to support Angular 6.0-alpha+1.
2.1.3 #
- Maintenance release to support Angular 6.0-alpha.
2.1.2 #
- Maintenance release to support Angular 5.3.
2.1.1 #
- Maintenance release to support Angular 5.2.
2.1.0 #
New Features #
PatternValidatornow has apatterninput. This allows thepatternproperty to be set dynamically. Previously, this could only be specified statically at compile time.
2.0.0 #
New Features #
-
Add AbstractControlGroup and AbstractNgForm to allow infrastructure to create their own form systems that can be backed by types such as a proto, or have different control group logic. Allow NgFormModel and NgControlGroup to work with abstract group.
-
resetmethod added toAbstractControlandAbstractControlDirective. -
RequiredValidatornow has arequiredinput. This allows therequiredproperty to be toggled at runtime. Previously, this could only be set statically at compile time. -
Control.invalidgetter added. -
Control.markAsPristineadded. This will clear thedirtyproperty. -
Add
ngDisabledinput to all Control directives. -
Add
MemorizedFormdirective. This is a form that will not remove controls if the control is taken out of the view, for example with a [NgIf]. -
Add
disabledstate toAbstractControlmodels. Note: This is not yet supported in the template-driven directives. -
Add
markAsUntouchedmethod toAbstractControl. -
Add a type annotation,
T, toAbstractControl, which is tied to the type ofvalue. -
ControlGroupnowextends AbstractControl<Map<String, dynamic>>. -
ControlArraynowextends AbstractControl<List>.
Breaking Changes #
-
Use value from AbstractControl for valueChanges event instead of internal variable. Allows code to more easily subclass AbstractControl.
-
Remove deprecated
NG_VALUE_ACCESSORtoken. UsengValueAccessorinstead. -
Abstract
updateValuemethod added toAbstractControl. All subclasses ofAbstractControlwill need to implement this method. -
NgControlNamewill no longer initialize withnullif a value is specified by 'ngModel'. -
The
touchedproperty ofControls is now propagated to parents / children. -
NgControlGroupcan no longer be injected directly. It can still be injected as aControlContainer. -
NgControlNameandNgFormControlcan no longer be injected directly. They can still be injected as aNgControl. -
The following directives are no longer injectable:
CheckboxControlValueAccessorDefaultValueAccnessorMaxLengthValidatorMinLengthValidatorNgControlStatusNgSelectOptionNumberValueAccessorPatternValidatorRadioControlValueAccessorRequiredValidator
-
Add
ControlValueAccessor.onDisabledChanged()method. All implementations ofControlValueAccessorneed to add this method. -
Remove
includeandexcludemethods fromControlGroup. These can be replaced with calls tomarkAsEnabledandmarkAsDisabledinstead.Before:
controlGroup.include('foo');After:
controlGroup.controls['foo'].markAsEnabled(); -
CheckboxControlValueAccessornow implementsControlValueAccessor<bool>andRadioControlValueAccessornow implementsControlValueAccessor<RadioButtonState>. Previously, they were bothControlValueAccessor<dynamic>. -
Remove
optionalsparam fromControlGroupconstructor. This has been replaced bydisabledstate for allControls. See https://github.com/angulardart/angular/issues/1037 for more details. -
AbstractControl.findnow only accepts a String. To supply a list, useAbstractControl.findPathinstead. Also, forfindorfindPath,ControlArrayindex is now callingint.parseinstead of expecting a raw number. -
Properly typed the generic parameter on subclasses of
AbstractControlDirective. Now,NgControl.controlwill return aControl, andControlContainer.controlwill return aControlGroup. There may be some unnecessary casts that can now be cleaned up. -
FormBuilderinstance methodsgroup,control, andarrayhave been removed. ForFormBuilder.control, just callnew Control(value, validator)directly. ForFormBuilder.groupandFormBuilder.array, use the static methodsFormBuilder.controlGroupandFormBuilder.controlArray, respectively.FormBuilderis no longerInjectable. -
Changed type of
AbstractControl.statusChangesfromStream<dynamic>toStream<String>. This now matches the type forAbstractControl.status, which as always been aString. -
Allow expressions for maxlength/minlength validators. Breaking change does not support string values for maxlength/minlength anymore.
minlength="12"now should be written[minlength]="12"
Bug fixes #
-
Add a not selector to ngForm for memorizedForm since memorized_form is now in angular_forms. This fixes the DIRECTIVE_EXPORTED_BY_AMBIGIOUS error when using: <form #form="ngForm" memorizedForm>
-
Don't throw a null pointer exception in NgFormModel if a directives asks for a Control value before the form is initialized.
1.0.0 #
- Support for angular 4.0.0.
0.1.0 #
- Initial commit of
angular_forms.