18.0.0
Features
- Migration to Angular 16
- NG Dynamic Forms now exposes standalone components
Breaking Changes
- Kendo UI package is no longer supported
17.0.0
Features
- Migration to Material 15 (MDC)
16.0.0
Features
- Migration to Angular 15 (Untyped Forms)
- Migration to Material 15 (Legacy Components)
15.0.0
Features
14.0.1
Features
- Migration to ng-bootstrap 10
Bugfixes
- adds
distinctUntilChanged()
operator in DynamicFormsRelationService
to performance problems (closes #1060)
- adds manual change detection when async validation resolves
14.0.0
Features
- Migration to Angular 12
- Migration to TypeScript strict mode
- Removes non-critical circular dependency
- Migration to
karma-coverage
from karma-coverage-instanbul-reporter
Breaking Changes
angular2-text-mask
has finally been replaced with ngx-mask
This means from now text masking is only available to UI components that use a built-in
mask feature or do not already apply a custom ControlValueAccessor
like Material.
In order to integrate ngx-mask
properly, a maskConfig
property has been added to DynamicInputModel
while the type of mask
has been
narrowed to string
.
mask?: string;
maskConfig?: Partial<IConfig>;
13.0.0
Features
12.0.0
Features
11.0.2 / 11.0.3
Bugfixes
- fixes error on
DynamicFormService.detectChanges()
(closes #1060)
11.0.0 / 11.0.1
Features
10.1.0
Features
Customizing the condition for displaying validation error messages can now be achieved by providing a
DynamicErrorMessagesMatcher
via newly introduced injection token DYNAMIC_ERROR_MESSAGES_MATCHER
:
function myCustomErrorMessagesMatcher (control: AbstractControl, model: DynamicFormControlModel, hasFocus: boolean) {
return
};
providers: [
{
provide: DYNAMIC_ERROR_MESSAGES_MATCHER,
useValue: myCustomErrorMessagesMatcher
},
By default the DEFAULT_ERROR_STATE_MATCHER
is active:
export const DEFAULT_ERROR_STATE_MATCHER: DynamicErrorMessagesMatcher =
(control: AbstractControl, model: DynamicFormControlModel, hasFocus: boolean) => {
return control.touched && !hasFocus;
};
Please read the updated chapter on validation messaging
10.0.0
Breaking Changes
- Due to performance reasons NG Dynamic Forms from now on makes use of
ChangeDetectionStrategy.OnPush
under the hood.
Whenever modifying a DynamicFormControlModel
(except for value
and disabled
setters) that means you need to manually
trigger change detection by simply calling detectChanges()
on DynamicFormService
.
Please also read the new chapter on updating form controls.
BEFORE:
myModel.value = "New Value";
myModel.disabled = true;
myModel.label = "New Label";
AFTER:
myModel.value = "New Value";
myModel.disabled = true;
myModel.label = "New Label";
this.formService.detectChanges();
findModelById<T>
and findControlByModel<T>
now use a type variable so you don't need to cast its return value any more.
DISABLED_MATCHER
has been renamed to DISABLED_MATCHER_PROVIDER
HIDDEN_MATCHER
has been renamed to HIDDEN_MATCHER_PROVIDER
REQUIRED_MATCHER
has been renamed to REQUIRED_MATCHER_PROVIDER
9.1.0
Features
A new UI package @ng-dynamic-forms/ui-ngx-bootstrap
has been released. This allows using ngx-bootstrap with Bootstrap 4 now.
Thus the package @ng-dynamic-forms/ui-bootstrap
from now on is only recommended if still need to support Bootstrap 3.correctly
appendTo
input now works in PrimeNG Dropdown and Multiselect
decimalSeparator
, thousandSeparator
, formatInput
and size
inputs now works in PrimeNG Spinner
9.0.0
Breaking Changes
Updating value
and disabled
properties of any DynamicFormControlModel
is now possible via simple setters:
BEFORE:
myModel.valueUpdates.next("New Value");
myModel.disabledUpdates.next(true);
AFTER:
myModel.value = "New Value";
myModel.disabled = true;
Therefore both valueUpdates
and disabledUpdates
Subject
s have been removed from DynamicFormControlModel
.
You can still track changes via newly introduced valueChanges
and disabledChanges
Observable
s.
reflect-metadata
is now directly imported by the library so there's no need to import it on your own in polyfills.ts
any more.
Bugfixes
- disable / enable now should be working on all components again (closes #993)
closed
output now working correctly in ng-bootstrap datepicker (closes #994)
Features
- Labels in Material form fields now support HTML (closes #966)
8.1.1
Features
- PrimeNG editor now supports
modules
closes #996)
Bugfixes
rootPath
is now correctly processed for multiple related form controls (closes #990)
- PrimeNG spinners now work when
min
/max
properties are null
(closes #989)
8.1.0
Features
- update of ngx-bootstrap, Prime NG, NG Bootstrap and Kendo to new major versions
DynamicFormComponentService
now gives warning instead of failing when called with index argument for non-array (closes #974)
8.0.1
Bugfixes
- missing dash added to
DynamicFormControlContainerComponent
model type css class
8.0.0
Features
- Upgrade to Angular 8 & Angular Material 8
- Major refactoring and enhancement of Related Form Controls feature (see README)
DynamicFormLayout
now supports selecting of form control types and multiple ids
DynamicFormControlContainerComponent
templates now render a css class by model type
findControlByModel()
function added to DynamicFormService
findByModel() function added to
DynamicFormLayoutService`
Breaking Changes
relation
property of DynamicFormControlModel
has been renamed to relations
action
property on DynamicFormControlRelation
has been renamed to match
connective
property on DynamicFormControlRelation
has been renamed to operator
7.2.0
Features
- Entire project has been switched to Angular CLI
7.1.1
Bugfixes
DynamicFormInstancesService
now working correctly (closes #933)
autoWidth
removed from DynamicPrimeNGDropdownComponent
(closes #945)
7.1.0
Features
Bugfixes
- Templates now match
fullTemplateCheck
(closes #884)
DynamicPrimeNGCalendarComponent
bug fixed (closes #921)
7.0.4
Bugfixes
- Ionic package dependencies fixed
7.0.3
Features
- support for Ionic 4
- Prime NG Dropdown and Multiselect now uses options Observable (closes #895)
7.0.2
Features
- text masks now support functions (closes #885)
- package upgrades and bad
event-stream
dependencies removed
7.0.1
Bugfixes
@ng-bootstrap/ng-bootstrap
dependency version has been corrected (closes #872)
Features
- Material chips component now supports
MatAutocomplete
via list
property
7.0.0
Upgrades
- Angular 7
- TypeScript 3.1
- Angular Material 7
- ngx-bootstrap 3.1.1
- ng-bootstrap 4.0.0
- Prime NG 7.0.0 Beta.1
Breaking Changes
bindId
@Input() has been completely removed
DynamicIdDirective
has been abandoned internally in favor of always setting an element id now
DynamicFormModel
is now a type alias for DynamicFormControlModel[]
- Importing
DynamicFormsCoreModule
via forRoot()
has been removed
6.2.0
Features
- Library now makes use of Angular 6 tree-shakeable providers
- Importing
DynamicFormsCoreModule
via forRoot
is now deprecated and will be removed in next major version
6.1.1
Bugfixes
- PrimeNG UI package now uses prime icons instead of fontAwesome icons (closes #845)
6.1.0
Features
- Observable support for
list
property (closes #829 & #355)
ErrorStateMatcher
support for Material UI
6.0.10
Features
children
property added to DynamicFormControlLayoutConfig
(closes #821)
6.0.9
Bugfixes
onLabel
and offLabel
inputs have been removed from Prime NG input switch component
Features
compareWithFn
support for DynamicSelectModel
(closes #820)
6.0.8
Bugfixes
ChangeDetection.OnPush
removed from Material UI components due to issues (closes #808)
Features
cdkTextareaAutosize
support for Material UI textarea component (closes #819)
6.0.7
Features
- form field appearance for Material UI (closes #799)
6.0.6
Bugfixes
- focus events now working again (closes #778)
6.0.5
Bugfixes
DynamicMaterialChipsComponent
now correctly implements model value updates (closes #774)
6.0.4
Bugfixes
- using Observables in
DynamicOptionControlModel
works again (closes #763)
6.0.3
Bugfixes
DynamicKendoCheckboxGroupComponent
and DynamicNGBootstrapCheckboxGroupComponent
now correctly update values on checkbox model (closes #744)
6.0.2
Features
- Calendar component in Prime NG UI package now supports
showTime
input (closes #723)
- Upload component in Kendo UI package now supports all outputs
6.0.1
Features
- Material UI now supports
MAT_RIPPLE_GLOBAL_OPTIONS
, MAT_LABEL_GLOBAL_OPTIONS
, MAT_CHIPS_DEFAULT_OPTIONS
and MAT_AUTOCOMPLETE_DEFAULT_OPTIONS
- NG Bootstrap UI now supports
DynamicRatingModel
- NG Bootstrap UI now supports
NgbDatepickerConfig
, NgbRatingConfig
and NgbTimepickerConfig
6.0.0
Please note that there's currently no release for ui-ionic
package due to build incompatibilities with Angular 6!
Features
- Major refactoring to discard static templates in favor of dynamically loaded form control components
- Initial support for Custom Form Controls
- update to Angular 6 & RxJS 6
Breaking Changes
hasErrorMessaging
input has been completely removed in favor of solely relying on model.hasErrorMessages
getter
df
prefix has been removed from outputs in favor of simply using (blur)
, (change)
and (focus)
again
DynamicFormControlValue
type has been completely removed in favor of simply using any
DynamicFormControlComponent
has been renamed to DynamicFormControlContainerComponent
5.4.7
Bugfixes
- NG Bootstrap UI package now correctly shows suffix on input fields
5.4.6
Features
- NG Bootstrap UI package now fully supports Bootstrap
4.0.0
stable (closes #687)
value
property of DynamicFormValueControlModel
now accepts 0
(closes #710)
5.4.5
Features
- Properties for future tooltip support added (closes #700)
- Material template improvements (support for
color
and disableRipple
inputs via additional
)
5.4.4
Features
- full support for Angular Package Format v5.0
- upgrade to NG Bootstrap
1.0.0
stable
5.4.3
Features
- initial text mask support for Material UI package (closes #510)
pattern
binding added to ion input (closes #645)
- upgrade to ngx-bootstrap
2.0.0
5.4.2
Features
maxLength
attribute added to Material textarea control
- upgrade to NG Bootstrap
beta.9
Bugfixes
- minlength and maxlength error messages are now created correctly (closes #647)
5.4.1
Features
hidden
property added to DynamicFormControlModel
for hiding form controls
5.4.0 - Special Xmas Gift Edition
Features
- new
InjectionToken
DYNAMIC_VALIDATORS
for entirely avoiding any mangling issues when using custom validators
(see updated chapter on Custom Validators)
- official support for JSON form models (see new chapter on JSON Form Models)
- major accessibility improvements for Material template (closes #630)
- upgrade to NG Bootstrap
beta.8
5.3.0
Features
- initial support for ngx-bootstrap (
ngx-bootstrap
is now a peer dependency of @ng-dynamic-forms/ui-bootstrap
)
- initial support for Prime NG color picker via new
DynamicColorPickerModel
5.2.0
Features
5.1.2
Features
name
property can now be configured on any DynamicFormControlModel
(closes #600)
- upgrade to Angular Material
5.0.0
- Material UI template improvements
5.1.1
Features
- initial Chips support in Material UI package
hint
support for Select in Material UI package (closes #608)
- upgrade to Angular Material
5.0.0-rc.2
- upgrade to NG Bootstrap
beta.6
Bugfixes
- packages now pass
strictNullChecks
again (closes #614)
5.1.0
Features
Deprecation
- using
clsConfig
for providing layout information is now deprecated
5.0.3
Features
- upgrade to Angular Material
5.0.0-rc.1
- upgrade to Prime NG
5.0.0
5.0.2
Features
min
, max
and focusedDate
support for DynamicDatePickerModel
in ui-ng-bootsrap
(closes #570, #576)
5.0.1
Features
- upgrade to Angular Material
5.0.0-rc0
5.0.0
Breaking Changes
blur
, focus
and change
outputs have been prefixed with df
to avoid any interference with native control events bubbling up
(see updated README.md)
asyncValidator
and validator
properties from DynamicFormGroupModel
and DynamicFormArrayModel
have been removed and replaced by asyncValidators
and validators
groupAsyncValidator
and groupValidator
properties from DynamicFormArrayModel
have been removed and replaced by groupAsyncValidators
and groupValidators
getAsyncValidator()
and getValidator()
function signatures from DynamicFormValidationService
have been changed
createFormGroup()
function from DynamicFormService
now accepts AbstractControlOptions
instead of extra
Features
- upgrade to Angular 5 (closes #496)
- support for multiple
asyncValidators
and validators
on FormArray
and FormGroup
- support for
FormHooks
via new property updateOn
on DynamicFormControlModel
- support for applying both a start and end template to a
DynamicFormControlComponent
instead of either / or
- support for updating
validators
and asyncValidators
at runtime via new updateValidators()
and updateAsyncValidators()
functions on DynamicFormValidationService
(closes #342)
Bugfixes
DynamicDateControlModel
now accepts date values of type object
in order to support proprietary date representations, e.g. NgbDateStruct
in NG Bootstrap (closes #556)
1.4.34
This will be the last release before Angular 5.
There'll be a major version incrementation to 5.0.0
to fully stay in sync with Angular version numbers in the future.
Features
- major event handling enhancements (see new chapter on Form Control Events)
- update to @angular/material
beta.12
1.4.33
Bugfixes
- major bundling bug fixed causing
@angular/common
to be bundled with *.es.js
files
1.4.32
Features
- NG Dynamic Forms now matches Angular Package Format
- this resolves multiple flaws when using AoT build with Angular CLI or
@angular/compiler-cli
(closes #514)
- neither TypeScript nor JavaScript source code files are published anymore
- update to @angular/material
beta.11
- "md" prefix has been replaced by "mat"
- see Material CHANGELOG.md and #7253 on how to upgrade properly
1.4.31
Announcement
:bangbang:@ng2-dynamic-forms has been renamed to @ng-dynamic-forms:bangbang:
Please update your dependencies:
npm uninstall @ng2-dynamic-forms/core @ng2-dynamic-forms/ui-<package_name> -S
npm install @ng-dynamic-forms/core @ng-dynamic-forms/ui-<package_name> -S
1.4.30
Features
- Minor template improvements:
- full support for grid classes in Basic, Material and Kendo
- class
k-required
is now automatically added to error messages in Kendo for color styling
<ng-content>
has been removed as it has little benefit and never been officially documented
- Library code now passes
noUnusedParameters
and strictNullChecks
TypeScript transpiler checks (closes #497)
1.4.29
Bugfixes
DynamicValidationService
now correctly resolves alternate validator notation
1.4.28
Features
options
property added to ClsConfig
for applying CSS classes to a single option in a radio groups
- brand new sample forms for Material, Kendo, ng-bootstrap and Prime NG
- major template improvements for Material, Kendo, ng-bootstrap and Prime NG
- initial support for Spinner and InputMask in
ui-primeng
- update to ng-bootstrap
beta.4
1.4.27
Bugfixes
- error messages working again on
FormGroup
s (closes #475)
1.4.26
Features
- support for Material beta.10 (closes #479 and #480)
1.4.25
Features
- error messaging template improvements
1.4.24
Features
indeterminated
support added for DynamicCheckboxModel
in most UI templates
- update to NG Bootstrap beta.1
1.4.23
Non-Breaking Changes
- new
DynamicFormControlComponent
selectors have been added
- word order has been changed, e.g.
<dynamic-form-bootstrap-control>
becomes <dynamic-bootstrap-form-control>
- old selectors will still work but should be considered deprecated
- consult README.md of UI packages for usage
Features
- Introducing the all new
DynamicFormComponent
- available for all UI packages, e.g
<dynamic-bootstrap-form>
- makes form markup even more straightforward
- is now preferred over manually adding
DynamicFormControlComponents
via *ngFor
- consult updated sample code, README.md and API docs for proper usage
1.4.22
Features
- NG Bootstrap UI template improvements:
- initial support for native checkbox group via
DynamiCheckboxGroupModel
- radio group is working again (closes #457)
- CSS class
btn-primary
is not applied automatically anymore
- update to NG Bootstrap alpha.30
1.4.21
Features
- initial support for Rating controls in Prime NG UI package via newly introduced model
DynamicRatingModel
filterable
support for dropdown and multiselect controls in Prime NG UI package (closes #448)
- enhanced datepicker support in NG Bootstrap UI package (closes #447)
1.4.20
Bugfixes
- flaws in path resolving and Kendo UI template finally fixed
1.4.19
Minor Breaking Change
- path resolving for nested form arrays from
1.4.17
has been removed in favor of a more global approach due to impasses
Bugfixes
- Kendo form array template bug fixed (closes #437)
Features
parent
property added for DynamicFormControlModel
via newly introduced interface DynamicPathable
getPath()
method added to DynamicFormService
(see #414)
- a
DynamicFormArrayGroupModel
can now directly be referenced by a local default template variable (see updated README.md)
1.4.18
Minor Breaking Change
- property
createGroup
of DynamicFormArrayModel
**has been renamed to groupFactory
(see updated README.md)
Features
parent
and path
getter added to DynamicFormArrayGroupModel
(closes #414
- Bootstrap CSS class assignment adjusted for checkbox and radio control (closes #425
1.4.17
Minor Breaking Change
DynamicFormAutoFillService
has been refactored to a simple utility class AutoFillUtils
(see updated README.md)
Features
- alternate custom validator notation to support production builds with Angular CLI (closes #424 - see updated README.md)
- new CSS class config properties
group
and host
added for more flexible custom layouts
- support for new Foundation XY Grid
- form array groups are now contained by a
<div>
instead of <fieldset>
due to CSS Flexbox bug
1.4.16
Minor Breaking Change
- custom
<ng-template>
input property type
has been renamed to as
(currently suported by Kendo UI and Prime NG - see updated README.md)
Bugfixes
- Kendo custom templates now working again (closes #411)
Features
- datepicker integration in Material UI package has been improved (closes #407)
- major internal component refactoring (part II of II)
1.4.15
Bugfixes
- Buggy string enums reset (closes #409)
1.4.14
Bugfixes
- Material template bug fixed
Features
- major internal component refactoring (part I of II)
1.4.13
Bugfixes
DynamicFormService
imports cleaned up (closes #402)
- missing text mask dependency added in
package.json
files (closes #398)
Features
- initial support for error messsaging in Kendo UI package (closes #386)
1.4.12
Features
- initial text mask support for Basic, Bootstrap, Foundation, Ionic and NGBootstrap (closes #379)
DynamicFormControlEvent
has been enhanced by group
and context
properties (closes #378)
disabled
input bindings have been completely removed from Kendo UI template
1.4.11
Bugfixes
- missing
of
Observable operator import added (closes #372)
1.4.10
Features
option
property of DynamicOptionControlModel
now finally supports Observable
s (closes #165)
- NG Bootstrap UI template now correctly displays
NgbRadioGroup
(closes #356)
- update to @angular/material
beta.5
- initial datepicker support in Material UI package
1.4.9
Features
- Kendo UI package updated to 1.0.0
- NG Bootstrap UI template now implements
NgbRadioGroup
(closes #351)
1.4.8
Features
- All single TypeScript files are now transpiled to and published in ES2015 module format(
**/bundles/*.umd.js
bundle files are not affected by this)
- NG Bootstrap template improvements
tabIndex
now supported in ui-primeng
- build refactoring
- sample app now also bundles flawless with Rollup
1.4.7
Bugfixes
FileList
is now correctly read from file inputs (closes #304)
Features
- initial UI support for NG Bootstrap (closes #278)
- npm packages now contain an additional ES bundle for tree-shaking improvements
- new
DynamicTimePickerModel
added
- initial timepicker support in
ui-ionic
, ui-ng-bootstrap
and ui-primeng
- update to PrimeNG
4.0.0
(closes #340)
- Remaining
noImplicitAny: true
TypeScript errors have been removed (closes #345)
1.4.6
Features
- initial checkbox, input, radio group and textarea support in
ui-kendo
moveFormGroupControl()
function added to DynamicFormService
(closes #339)
1.4.5
Breaking Change
DynamicDatepickerModel
has been renamed to DynamicDatePickerModel
Features
placeholder
property added to DynamicDateControlModel
- initial datepicker support in
ui-kendo
1.4.4
Features
DynamicFormBootstrapComponent
now has new @Input() asBootstrapFormGroup
:
This is a major improvement to make complex form layouts more easy to achieve.
By default form-group
CSS class now is not set for nested form models anymore.
1.4.3
Features
- Initial UI support for Ionic 2
README.md
files of UI packages now contain form control overview
1.4.2
Features
- update to Angular Material beta.3
multiple
now working for DynamicSelectModel
in ui-material
md-error
added for DynamicInputModel
and DynamicTextareaModel
in ui-material
1.4.1
Features
- inital support for
DynamicEditorModel
in ui-primeng
(closes #317)
format
property added to DynamicDateControl
(closes #318)
- checkbox and radio button labels are now clickable in
ui-primeng
(closes #319)
- inital support for
Dateinput
in ui-kendo
1.4.0
Deprecated APIs
[controlGroup]
input binding of DynamicFormControlComponent
is now deprecated! Use [group]
instead!
Bugfixes
moduleId
is now removed from distributed component *.ts files (closes #301)
Features
- Update to Angular 4 (closes #292)
1.3.18
Bugfixes
- validation messages now working in nested form groups in
ui-material
and ui-primeng
(closes #294)
1.3.17
Features
- added
module
and typings
properties to package.json
to fix Rollup "MISSING IMPORTS" error (probably closes #267)
DynamicFormArrayModel
typings adjusted (closes #289)
1.3.16
Features
- custom template support in
ui-primeng
(see example)
1.3.15
Bugfixes
- custom templates are now working in deep nested dynamic form control components (closes #280)
Features
findById()
function of DynamicFormService
is now capable of looking up nested form group models (closes #286)
- initial support for
Chips
in ui-primeng
(closes #275)
- example code refactored
1.3.14
Features
- custom
NG_VALIDATORS
now working when using Angular CLI without webpack.config
(closes #271)
- initial addition of file control models
- initial support for
Upload
in ui-kendo
- update to Angular
2.4.8
- update to
@angular/material beta.2
1.3.13
Features
- Template alignment can now be determined by
align
property (closes #264)
- Templates can now be reused by using
modelType
property (closes #265)
1.3.12
Bugfixes
- dev mode template change detection bug fixed (closes #266)
Features
- update to Angular
2.4.7
- update to Prime NG
2.0.0
1.3.11
Features
- AoT-Compiling is now officially supported
- major template refactoring in all UI modules
max
and min
support for calendar in ui-kendo
- update to Angular
2.4.6
1.3.10
Features
- initial addition of date control models
- initial support for
Calendar
in ui-kendo
and ui-primeng
fromJSON(json: string | Object[])
function refactored to accept raw JSON strings and to revive Date
objects
- update to Angular
2.4.5
1.3.9
Features
- functions to add and remove form controls after initialization added in
DynamicFormService
(closes #252)
- initial support for
AutoComplete
, MaskedTextBox
and NumericTextBox
in ui-kendo
- update to Angular
2.4.4
1.3.8
Features
- support for Kendo UI template directives added (see README.md, closes #247)
- initial multi select support added in
ui-kendo
- update to Angular
2.4.3
1.3.7
Features
- error messaging enabled in
ui-material
and ui-primeng
(closes #240)
- update to Angular
2.4.2
1.3.6
Bugfixes
- Caret now visible in Firefox (closes #237)
Features
- validator properties can now be referenced in error messages (see README.md)
1.3.5
Features
DynamicFormService
has now a function moveFormArrayGroup(index: number, step: number, formArray: FormArray, model: DynamicFormArrayModel)
to dynamically move form array elements (see updated live example)
get(index: number)
function added to DynamicFormArrayGroupModel
[(ngModel)]
could be completely removed from ui-primeng
template at last
1.3.4
Features
!!! IMPORTANT !!!
Adding custom templates has become more powerful!
You now need to assign a modelId
attribute to any of your custom templates.
Please see new chapter in README.md and updated examples!
- update to
@angular 2.4.1
- update to
@angular/material beta.1
@Input() showCharacterHint
added in DynamicFormMaterialComponent
DynamicSelectModel
now enabled in ui-kendo
1.3.3
Bugfixes
DynamicFormsCoreModule
now working when used in async routes (closes #212)
Features
- async routing example added to demo application
- template improvements for checkboxes (closes #214)
hint
property added to Cls
interface
1.3.2
Bugfixes
DynamicSliderModel
and DynamicSwitchModel
are now correctly deserialized from JSON
Features
min
and max
typing updated (closes #206)
- update to
@angular 2.3.1
- update to
foundation 6.3.0
- update to
primeng 1.1.0
1.3.1
Bugfixes
- custom validator functions are now correctly detected in model configuration (closes #200)
Features
DynamicSliderModel
added (working in ui-material
, ui-kendo
, ui-primeng
)
DynamicSelectModel
now working in ui-material
hint
now working in ui-basic
(closes #203)
- update to
@angular 2.3.0
- update to
rxjs rc.4
- update to
zone.js 0.7.2
- update to
@angular-material alpha-11.3
1.3.0
Breaking Changes
!!! IMPORTANT !!! All Validators
of any DynamicFormControlModel
now need to be configured by a simply object literal (similar to errorMessages
) instead of an Array<ValidatorFn | AsyncValidatorFn>
.
This change was unavoidable to allow proper serialization for all validators as well as a significant code reduction
(closes #200)!.
Defining validators becomes even more easy now!
Before:
new DynamicInputModel({
id: "myInput",
validators: [Validators.required, Validators.minLength(3)]
})
After:
new DynamicInputModel({
id: "myInput",
validators: {
required: null,
minLength: 3
}
})
Please see updated example for practical use!!!
Features
ui-material
now supports offLabel
and onLabel
properties of DynamicSwitchModel
(see Material example)
- update to
@angular 2.2.4
1.2.5
Bugfixes
change
event handler in DynamicFormBasicComponent
corrected (closes #197)
1.2.4
Bugfixes
- bad
@angular/material
import removed from DynamicFormControlComponent
(closes #194)
1.2.3
Features
ui-foundation
and ui-primeng
now support DynamicSwitchModel
DynamicSwitchModel
now has offLabel
and onLabel
properties
DynamicFormControlRelationModel
refactored and DynamicFormRelationService
introduced
- template files optimized
- update to tslint
4.0.0
1.2.2
Bugfixes
DynamicCheckboxGroupModel
internally works identical to DynamicFormGroupModel
now in order to make property bindings work correctly
(closes #172 and #189)
Features
- !!! IMPORTANT !!!
blur, focus, change
events are now emitted for single checkbox in a DynamicCheckboxGroupModel
instead of the whole group
@angular/material
change events are now correctly included in DynamicFormControlEvent
- update to
@angular 2.2.3
- update to
primeng 1.0.0
1.2.1
Bugfixes
addGroup()
function of DynamicFormArrayModel
does now work correctly (closes #183)
Features
- update to
@angular 2.2.1
- update to
primeng rc.5
add()
, insert()
and remove()
function added to DynamicOptionControlModel
(closes #180)
1.2.0
Breaking Changes
DynamicFormControlComponent
does now emit a DynamicFormControlEvent
on blur, change and focus instead of simply passing through $event
:
export interface DynamicFormControlEvent {
$event: Event | FocusEvent;
control: FormControl;
model: DynamicFormControlModel;
}
- blur, change and focus events are only emitted for single form controls and checkbox groups from now on (see Bootstrap example)
Features
- update to
@angular 2.2.0
- update to
@angular/material alpha.10
- update to
primeng rc.4
valueUpdates Rx.Subject
can now safely be used from anywhere to listen to new values
checked
setter/getter and toggle()
function added to DynamicCheckControlModel
checkAll()
and uncheckAll()
function added to DynamicCheckboxGroupModel
select()
and get()
function added to DynamicOptionControlModel
get()
function added to DynamicFormGroupModel
and DynamicFormArrayModel
- textarea support for
ui-material
added
1.1.3
Bugfixes
checked
attribute added to templates (closes #168)
1.1.2
Bugfixes
validators
deserialization fixed (closes #163)
rxjs
peer dependency downgraded to match with Angular 2 (closes #162)
Features
- error validation messaging added for
ui-basic
(closes #154)
1.1.1
Bugfixes
DynamicCheckboxGroupModel
template bugs fixed (closes #160)
Features
label
, legend
, prefix
, suffix
and hint
are now bound via [innerHTML]
(see #157)
1.1.0
Features
- Error Messaging system to
ui-bootstrap
and ui-foundation
added (closes #153
, see README.md) Thanks @DavyJohnes
@Output() change
EventEmitter<Event>
added to DynamicFormControlComponent
(#149)
- Update to
@angular 2.1.2
1.0.7
Bugfixes
fromJSON()
finally working flawless
Features
1.0.5
Bugfixes
- support for nested
templates
(closes #139)
Features
disabledUpdates
Rx.Subject
added for setting activation state at model level
1.0.4
Features
focus
and blur
outputs added to DynamicFormControlComponent
for event bindings (closes #130)
- JSON export code has been improved
1.0.3
Bugfixes
- some JSON export flaws have been fixed
Features
- Upgrade to
@angular/material
(closes #129)
- JSON export for
Validators
added (closes #128)
1.0.2
Breaking Changes
- !!! IMPORTANT !!!
[(ngModel)]
bindings have been completely removed. If you need to update the value
of any DynamicFormControlModel
at runtime use valueUpdates
Rx.Subject
(see README.md)
Features
- proper JSON export of all
DynamicFormControlModel
s (closes #125)_
1.0.1
Features
DynamicSwitchModel
introduced in ui-material
id
attribute is now bound again to improve accessibility (see #42)
disabled
bindings added in ui-material
where appropriate
1.0.0
Bugfixes
- Webpack flaws fixed (closes #118)
RC.3
Breaking Changes
- !!! IMPORTANT !!! form control relation API changed (see
README.md
)
Bugfixes
files
field added to DynamicInputModel
(closes #114)
Features
- Multi-related Form Controls (closes #115)
RC.2
Features
- Related Form Controls(closes #111)
RC.1
Breaking Changes
- !!! IMPORTANT !!! UMD bundles now provided in
bundles
sub folder
Bugfixes
- UMD bundles now work correctly for all module systems (closes #106)
Features
- Upgrade to TypeScript 2.0 (closes #108)
- Minified UMD bundles added to npm packages (closes #105)
beta.17
Features
- Migration to Angular 2.0 final (closes #100)
fromJSON()
function added to DynamicFormService
(closes #99)
beta.16
Features
- UMD bundles added (see
README.md
)
beta.15
Bugfixes
- bad
BrowserModule
imports replaced by CommonModule
(closes #89)
Features
- Migration to PrimeNG beta.15 (
ui-primeng
working again)
beta.14
Breaking Changes
- !!! IMPORTANT !!!
DynamicFormsCoreModule
now needs to be imported in app root NgModule
via forRoot()
- !!! IMPORTANT !!!
disabled
property bindings were removed! Use disable()
and enable()
functions of DynamicFormControlComponent
instead
(see Known Issues for explanation)
help
property of DynamicFormControlModel
renamed to hint
Features
- Migration to Angular 2 RC.6
- Migration to Angular 2 Material alpha.8
required
property binding re-added to DynamicFormControlComponent
s due to fixes in Angular 2 RC.6
tabIndex
property added to DynamicFormValueControlModel
Known Issues
Changing the disabled
property of DynamicFormControlModel
after initialization has no effect.
This is due to Angular 2 RC.6 not supporting disabled
property bindings anymore!
Use disable()
and enable()
functions of DynamicFormControlComponent
as a workaround!
Setting disabled: true
on any DynamicFormControlModel
in ui-material
causes an exception.
This is due to a bug in Angular 2 Material alpha.8-1.
beta.13
Bugfixes
FormGroup
validator extras now set correctly (closes #79)
Features
- Sample app start simplified
*.ts
files added to npm packages for source map support (closes #82)
beta.12
Breaking Changes
- property
validatorsAsync
of DynamicFormValueControlModel
renamed to asyncValidators
Features
- support for
FormGroup
and FormArray
validator functions added (closes #79)
ui-primeng
now working with NgModule
beta.11
Breaking Changes
required
attribute (temporarily) removed from templates due to issues
still not being resolved in Angular 2
beta.10
Bugfixes
NgTemplateOutletContext
is now correctly set for <template>
for DynamicFormArrayModel
(closes #67)
beta.9
Breaking Changes
- !!! IMPORTANT !!! ng2 DynamicForms now supports
NgModule
--> Please read updated `README.md
beta.8
Bugfixes
DynamicFormArrayModel
and DynamicFormGroupModel
now working in all UI packages
beta.7
Breaking Changes
- !!! IMPORTANT !!!
DynamicFormModel
has been completely removed --> use a simple Array<DynamicFormControlModel>
instead
- !!! IMPORTANT !!!
findById()
function of DynamicFormModel
has been moved to DynamicFormService
Bugfixes
DynamicCheckboxModel
now working correctly again in ui-primeng
beta.6
Breaking Changes
DynamicFormControlModel
renamed to DynamicFormValueControlModel
DynamicFormAbstractControlModel
renamed to DynamicFormControlModel
Features
- Nested form groups are now supported (closes #57)
- Type safety for
DynamicFormControlModel
coniguration objects added
beta.5
Breaking Changes
Please checkout updated README and examples!
- !!! IMPORTANT !!!
items
property of DynamicFormControlModel
and DynamicCheckboxGroup
has been renamed to group
- !!! IMPORTANT !!!
DynamicFormService.createFormGroup
now expects Array<DynamicFormControlModel<any>>
instead of DynamicFormModel
- !!! IMPORTANT !!!
@Input()
form
of DynamicFormControlComponent
has been renamed to controlGroup
- !!! IMPORTANT !!!
id
property binding of DynamicFormControlModel
has been removed
Features
beta.4
Breaking Changes
required
property of DynamicFormControlModel
is now bound via [required]
and does not manually apply Validators.required
under the hood any more
readonly
property of DynamicInputControlModel
renamed to readOnly
Features
- boolean
spellCheck
property added to DynamicInputControlModel
beta.3
Breaking Changes
- default value for
autocomplete
property of DynamicFormControlModel
is now on
instead of off
text
property of DynamicFormOption
renamed to label
Bugfixes
DynamicCheckboxGroup
now working correctly in ui-material
Features
- Webpack bundling now supported (closes #47)
DynamicFormAutoFillService
added for importing and validating new HTML5 autofill detail tokens
ui-primeng
has arrived
beta.2
Bugfixes
maxlength
attribute is now bound correctly (closes #43)
- labels of
DynamicCheckboxGroup
items do render now in ui-basic
(closes #44)
name
attribute now added to <fieldset>
(closes #45)
disabled
attribute now added to all form controls
beta.1
Breaking Changes
cls
configuration object has now nested element
configuration object to set css classes for certain elements (see example)
name
property of DynamicFormControlModel
cannot be set anymore by configuration (automatically mapped to id
)
DynamicFormControlComponent
now throws when being bound to non-supported type of DynamicFormControlModel
Bugfixes
ui-material
finally working again after upgrading to new Angular 2 Material alpha.6 (closes #29)
value
of DynamicCheckboxModel
is now always initizialized with false
instead of null
when not explicitly set to true
Features
- datalists now supported by
DynamicInputControlModel
(list
property)
alpha.10
Breaking Changes
label
property of DynamicFormControlModel
is now just a plain string
instead of object
(hidden
property is removed)
Features
DynamicCheckboxGroupModel
has arrived (closes #32)
alpha.9
Breaking Changes
cls
is now a true optional declared constructor parameter
- check included for mandatory
id
configuration property
- #37 fixed
alpha.8
Breaking Changes
ui-foundation
has arrived
cls
configuration object is now a separate constructor parameter (the second) of DynamicFormControlModel
in order
to uncouple pure model configuration from style configuration
cls
bugs in template files fixed
readonly
property introduced for DynamicFormInputModel
alpha.7
Breaking Changes
- Upgraded to RC.3
cls
property of DynamicFormControlModel
refactored for advanced form layouts
- Radio groups finally working in ui-basic and ui-bootstrap
- New chapter "Form Layouts" added in README.md
Please note:
ui-material is currently broken due to Angular 2 Material not having upgraded to @angular/forms yet
alpha.6
Breaking Changes
- Updated everything to @angular/forms
order
property removed from DynamicFormControlModel
DynamicRadioModel
renamed to DynamicRadioGroupModel
model
property of DynamicFormModel
renamed to items
alpha.5
Breaking Changes
- Major improvements and bug fixes for ui-bootstrap template
- Major improvements for example app
text
property removed from DynamicCheckboxModel
due to redundancy (use
text
property of label
object instead)
alpha.4
Breaking Changes
DynamicTextInputModel
and DynamicNumberInputModel
condensed to DynamicInputModel
onBlur
and onFocus
event listeners added for input and textarea controls in ui-basic and ui-bootstrap
max
, min
, `step attributes now working correctly in ui-basic and ui-bootstrap
label
is now a configuration object with properties cls
, hidden
and text
- new property
cls
introduced in DynamicFormControlModel
for manually setting CSS classes for controls