- Migration to Angular 13
- Migration to ng-bootstrap 10
- adds
distinctUntilChanged()
operator inDynamicFormsRelationService
to performance problems (closes #1060) - adds manual change detection when async validation resolves
- Migration to Angular 12
- Migration to TypeScript strict mode
- Removes non-critical circular dependency
- Migration to
karma-coverage
fromkarma-coverage-instanbul-reporter
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>;
- Support for Angular 11
- Support for Angular 10
- fixes error on
DynamicFormService.detectChanges()
(closes #1060)
- Support for Angular 9
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
- Due to performance reasons NG Dynamic Forms from now on makes use of
ChangeDetectionStrategy.OnPush
under the hood. Whenever modifying aDynamicFormControlModel
(except forvalue
anddisabled
setters) that means you need to manually trigger change detection by simply callingdetectChanges()
onDynamicFormService
.
Please also read the new chapter on updating form controls.
BEFORE:
// Immeditialy triggers UI update
myModel.value = "New Value";
myModel.disabled = true;
myModel.label = "New Label";
AFTER:
// This still works
myModel.value = "New Value";
myModel.disabled = true;
// This doesn't work automatically any more
myModel.label = "New Label";
// You need to manually trigger change detection
this.formService.detectChanges();
findModelById<T>
andfindControlByModel<T>
now use a type variable so you don't need to cast its return value any more.DISABLED_MATCHER
has been renamed toDISABLED_MATCHER_PROVIDER
HIDDEN_MATCHER
has been renamed toHIDDEN_MATCHER_PROVIDER
REQUIRED_MATCHER
has been renamed toREQUIRED_MATCHER_PROVIDER
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 MultiselectdecimalSeparator
,thousandSeparator
,formatInput
andsize
inputs now works in PrimeNG Spinner
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.
- disable / enable now should be working on all components again (closes #993)
closed
output now working correctly in ng-bootstrap datepicker (closes #994)
- Labels in Material form fields now support HTML (closes #966)
- PrimeNG editor now supports
modules
closes #996)
rootPath
is now correctly processed for multiple related form controls (closes #990)- PrimeNG spinners now work when
min
/max
properties arenull
(closes #989)
- 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)
- missing dash added to
DynamicFormControlContainerComponent
model type css class
- 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 idsDynamicFormControlContainerComponent
templates now render a css class by model typefindControlByModel()
function added toDynamicFormService
findByModel() function added to
DynamicFormLayoutService`
relation
property ofDynamicFormControlModel
has been renamed torelations
action
property onDynamicFormControlRelation
has been renamed tomatch
connective
property onDynamicFormControlRelation
has been renamed tooperator
- Entire project has been switched to Angular CLI
DynamicFormInstancesService
now working correctly (closes #933)autoWidth
removed fromDynamicPrimeNGDropdownComponent
(closes #945)
- Templates now match
fullTemplateCheck
(closes #884) DynamicPrimeNGCalendarComponent
bug fixed (closes #921)
- Ionic package dependencies fixed
- support for Ionic 4
- Prime NG Dropdown and Multiselect now uses options Observable (closes #895)
- text masks now support functions (closes #885)
- package upgrades and bad
event-stream
dependencies removed
@ng-bootstrap/ng-bootstrap
dependency version has been corrected (closes #872)
- Material chips component now supports
MatAutocomplete
vialist
property
- 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
bindId
@Input() has been completely removedDynamicIdDirective
has been abandoned internally in favor of always setting an element id nowDynamicFormModel
is now a type alias forDynamicFormControlModel[]
- Importing
DynamicFormsCoreModule
viaforRoot()
has been removed
- Library now makes use of Angular 6 tree-shakeable providers
- Importing
DynamicFormsCoreModule
viaforRoot
is now deprecated and will be removed in next major version
- PrimeNG UI package now uses prime icons instead of fontAwesome icons (closes #845)
children
property added toDynamicFormControlLayoutConfig
(closes #821)
onLabel
andoffLabel
inputs have been removed from Prime NG input switch component
compareWithFn
support forDynamicSelectModel
(closes #820)
ChangeDetection.OnPush
removed from Material UI components due to issues (closes #808)
cdkTextareaAutosize
support for Material UI textarea component (closes #819)
- form field appearance for Material UI (closes #799)
- focus events now working again (closes #778)
DynamicMaterialChipsComponent
now correctly implements model value updates (closes #774)
- using Observables in
DynamicOptionControlModel
works again (closes #763)
DynamicKendoCheckboxGroupComponent
andDynamicNGBootstrapCheckboxGroupComponent
now correctly update values on checkbox model (closes #744)
- Calendar component in Prime NG UI package now supports
showTime
input (closes #723) - Upload component in Kendo UI package now supports all outputs
- Material UI now supports
MAT_RIPPLE_GLOBAL_OPTIONS
,MAT_LABEL_GLOBAL_OPTIONS
,MAT_CHIPS_DEFAULT_OPTIONS
andMAT_AUTOCOMPLETE_DEFAULT_OPTIONS
- NG Bootstrap UI now supports
DynamicRatingModel
- NG Bootstrap UI now supports
NgbDatepickerConfig
,NgbRatingConfig
andNgbTimepickerConfig
Please note that there's currently no release for ui-ionic
package due to build incompatibilities with Angular 6!
- 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
hasErrorMessaging
input has been completely removed in favor of solely relying onmodel.hasErrorMessages
getterdf
prefix has been removed from outputs in favor of simply using(blur)
,(change)
and(focus)
againDynamicFormControlValue
type has been completely removed in favor of simply usingany
DynamicFormControlComponent
has been renamed toDynamicFormControlContainerComponent
- NG Bootstrap UI package now correctly shows suffix on input fields
- NG Bootstrap UI package now fully supports Bootstrap
4.0.0
stable (closes #687) value
property ofDynamicFormValueControlModel
now accepts0
(closes #710)
- Properties for future tooltip support added (closes #700)
- Material template improvements (support for
color
anddisableRipple
inputs viaadditional
)
- full support for Angular Package Format v5.0
- upgrade to NG Bootstrap
1.0.0
stable
- 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
maxLength
attribute added to Material textarea control- upgrade to NG Bootstrap
beta.9
- minlength and maxlength error messages are now created correctly (closes #647)
hidden
property added toDynamicFormControlModel
for hiding form controls
- 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
- 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
additional
property added toDynamicFormValueControlModel
for individually configuring UI components (see new chapter on form component configuration)- upgrade to NG Bootstrap
beta.7
name
property can now be configured on anyDynamicFormControlModel
(closes #600)- upgrade to Angular Material
5.0.0
- Material UI template improvements
- 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
- packages now pass
strictNullChecks
again (closes #614)
- All new approach to custom form layouts (see updated README und sample code)
- using
clsConfig
for providing layout information is now deprecated
- upgrade to Angular Material
5.0.0-rc.1
- upgrade to Prime NG
5.0.0
- upgrade to Angular Material
5.0.0-rc0
blur
,focus
andchange
outputs have been prefixed withdf
to avoid any interference with native control events bubbling up (see updated README.md)asyncValidator
andvalidator
properties fromDynamicFormGroupModel
andDynamicFormArrayModel
have been removed and replaced byasyncValidators
andvalidators
groupAsyncValidator
andgroupValidator
properties fromDynamicFormArrayModel
have been removed and replaced bygroupAsyncValidators
andgroupValidators
getAsyncValidator()
andgetValidator()
function signatures fromDynamicFormValidationService
have been changedcreateFormGroup()
function fromDynamicFormService
now acceptsAbstractControlOptions
instead ofextra
- upgrade to Angular 5 (closes #496)
- support for multiple
asyncValidators
andvalidators
onFormArray
andFormGroup
- support for
FormHooks
via new propertyupdateOn
onDynamicFormControlModel
- support for applying both a start and end template to a
DynamicFormControlComponent
instead of either / or - support for updating
validators
andasyncValidators
at runtime via newupdateValidators()
andupdateAsyncValidators()
functions onDynamicFormValidationService
(closes #342)
DynamicDateControlModel
now accepts date values of typeobject
in order to support proprietary date representations, e.g.NgbDateStruct
in NG Bootstrap (closes #556)
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.
- major event handling enhancements (see new chapter on Form Control Events)
- update to @angular/material
beta.12
- major bundling bug fixed causing
@angular/common
to be bundled with*.es.js
files
- 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
- this resolves multiple flaws when using AoT build with Angular CLI or
- update to @angular/material
beta.11
- "md" prefix has been replaced by "mat"
- see Material CHANGELOG.md and #7253 on how to upgrade properly
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
- 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
andstrictNullChecks
TypeScript transpiler checks (closes #497)
DynamicValidationService
now correctly resolves alternate validator notation
options
property added toClsConfig
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
- error messages working again on
FormGroup
s (closes #475)
- error messaging template improvements
indeterminated
support added forDynamicCheckboxModel
in most UI templates- update to NG Bootstrap beta.1
- 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
- word order has been changed, e.g.
- 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
- available for all UI packages, e.g
- 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
- initial support for native checkbox group via
- update to NG Bootstrap alpha.30
- 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)
- flaws in path resolving and Kendo UI template finally fixed
- path resolving for nested form arrays from
1.4.17
has been removed in favor of a more global approach due to impasses
- Kendo form array template bug fixed (closes #437)
parent
property added forDynamicFormControlModel
via newly introduced interfaceDynamicPathable
getPath()
method added toDynamicFormService
(see #414)- a
DynamicFormArrayGroupModel
can now directly be referenced by a local default template variable (see updated README.md)
- property
createGroup
ofDynamicFormArrayModel
**has been renamed togroupFactory
(see updated README.md)
parent
andpath
getter added toDynamicFormArrayGroupModel
(closes #414- Bootstrap CSS class assignment adjusted for checkbox and radio control (closes #425
DynamicFormAutoFillService
has been refactored to a simple utility classAutoFillUtils
(see updated README.md)
- alternate custom validator notation to support production builds with Angular CLI (closes #424 - see updated README.md)
- new CSS class config properties
group
andhost
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
- custom
<ng-template>
input propertytype
has been renamed toas
(currently suported by Kendo UI and Prime NG - see updated README.md)
- Kendo custom templates now working again (closes #411)
- datepicker integration in Material UI package has been improved (closes #407)
- major internal component refactoring (part II of II)
- Buggy string enums reset (closes #409)
- Material template bug fixed
- major internal component refactoring (part I of II)
DynamicFormService
imports cleaned up (closes #402)- missing text mask dependency added in
package.json
files (closes #398)
- initial support for error messsaging in Kendo UI package (closes #386)
- initial text mask support for Basic, Bootstrap, Foundation, Ionic and NGBootstrap (closes #379)
DynamicFormControlEvent
has been enhanced bygroup
andcontext
properties (closes #378)disabled
input bindings have been completely removed from Kendo UI template
- missing
of
Observable operator import added (closes #372)
option
property ofDynamicOptionControlModel
now finally supportsObservable
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
- Kendo UI package updated to 1.0.0
- NG Bootstrap UI template now implements
NgbRadioGroup
(closes #351)
- 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 inui-primeng
- build refactoring
- sample app now also bundles flawless with Rollup
FileList
is now correctly read from file inputs (closes #304)
- 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
andui-primeng
- update to PrimeNG
4.0.0
(closes #340) - Remaining
noImplicitAny: true
TypeScript errors have been removed (closes #345)
- initial checkbox, input, radio group and textarea support in
ui-kendo
moveFormGroupControl()
function added toDynamicFormService
(closes #339)
DynamicDatepickerModel
has been renamed to DynamicDatePickerModel
placeholder
property added toDynamicDateControlModel
- initial datepicker support in
ui-kendo
DynamicFormBootstrapComponent
now has new@Input() asBootstrapFormGroup
: This is a major improvement to make complex form layouts more easy to achieve. By defaultform-group
CSS class now is not set for nested form models anymore.
- Initial UI support for Ionic 2
README.md
files of UI packages now contain form control overview
- update to Angular Material beta.3
multiple
now working forDynamicSelectModel
inui-material
md-error
added forDynamicInputModel
andDynamicTextareaModel
inui-material
- inital support for
DynamicEditorModel
inui-primeng
(closes #317) format
property added toDynamicDateControl
(closes #318)- checkbox and radio button labels are now clickable in
ui-primeng
(closes #319) - inital support for
Dateinput
inui-kendo
[controlGroup]
input binding ofDynamicFormControlComponent
is now deprecated! Use[group]
instead!
moduleId
is now removed from distributed component *.ts files (closes #301)
- Update to Angular 4 (closes #292)
- validation messages now working in nested form groups in
ui-material
andui-primeng
(closes #294)
- added
module
andtypings
properties topackage.json
to fix Rollup "MISSING IMPORTS" error (probably closes #267) DynamicFormArrayModel
typings adjusted (closes #289)
- custom template support in
ui-primeng
(see example)
- custom templates are now working in deep nested dynamic form control components (closes #280)
findById()
function ofDynamicFormService
is now capable of looking up nested form group models (closes #286)- initial support for
Chips
inui-primeng
(closes #275) - example code refactored
- custom
NG_VALIDATORS
now working when using Angular CLI withoutwebpack.config
(closes #271) - initial addition of file control models
- initial support for
Upload
inui-kendo
- update to Angular
2.4.8
- update to
@angular/material beta.2
- Template alignment can now be determined by
align
property (closes #264) - Templates can now be reused by using
modelType
property (closes #265)
- dev mode template change detection bug fixed (closes #266)
- update to Angular
2.4.7
- update to Prime NG
2.0.0
- AoT-Compiling is now officially supported
- major template refactoring in all UI modules
max
andmin
support for calendar inui-kendo
- update to Angular
2.4.6
- initial addition of date control models
- initial support for
Calendar
inui-kendo
andui-primeng
fromJSON(json: string | Object[])
function refactored to accept raw JSON strings and to reviveDate
objects- update to Angular
2.4.5
- functions to add and remove form controls after initialization added in
DynamicFormService
(closes #252) - initial support for
AutoComplete
,MaskedTextBox
andNumericTextBox
inui-kendo
- update to Angular
2.4.4
- 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
- error messaging enabled in
ui-material
andui-primeng
(closes #240) - update to Angular
2.4.2
- Caret now visible in Firefox (closes #237)
- validator properties can now be referenced in error messages (see README.md)
DynamicFormService
has now a functionmoveFormArrayGroup(index: number, step: number, formArray: FormArray, model: DynamicFormArrayModel)
to dynamically move form array elements (see updated live example)get(index: number)
function added toDynamicFormArrayGroupModel
[(ngModel)]
could be completely removed fromui-primeng
template at last
!!! 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 inDynamicFormMaterialComponent
DynamicSelectModel
now enabled inui-kendo
DynamicFormsCoreModule
now working when used in async routes (closes #212)
- async routing example added to demo application
- template improvements for checkboxes (closes #214)
hint
property added toCls
interface
DynamicSliderModel
andDynamicSwitchModel
are now correctly deserialized from JSON
min
andmax
typing updated (closes #206)- update to
@angular 2.3.1
- update to
foundation 6.3.0
- update to
primeng 1.1.0
- custom validator functions are now correctly detected in model configuration (closes #200)
DynamicSliderModel
added (working inui-material
,ui-kendo
,ui-primeng
)DynamicSelectModel
now working inui-material
hint
now working inui-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
!!! 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!!!
ui-material
now supportsoffLabel
andonLabel
properties ofDynamicSwitchModel
(see Material example)- update to
@angular 2.2.4
change
event handler inDynamicFormBasicComponent
corrected (closes #197)
- bad
@angular/material
import removed fromDynamicFormControlComponent
(closes #194)
ui-foundation
andui-primeng
now supportDynamicSwitchModel
DynamicSwitchModel
now hasoffLabel
andonLabel
propertiesDynamicFormControlRelationModel
refactored andDynamicFormRelationService
introduced- template files optimized
- update to tslint
4.0.0
DynamicCheckboxGroupModel
internally works identical toDynamicFormGroupModel
now in order to make property bindings work correctly (closes #172 and #189)
- !!! IMPORTANT !!!
blur, focus, change
events are now emitted for single checkbox in aDynamicCheckboxGroupModel
instead of the whole group @angular/material
change events are now correctly included inDynamicFormControlEvent
- update to
@angular 2.2.3
- update to
primeng 1.0.0
addGroup()
function ofDynamicFormArrayModel
does now work correctly (closes #183)
- update to
@angular 2.2.1
- update to
primeng rc.5
add()
,insert()
andremove()
function added toDynamicOptionControlModel
(closes #180)
DynamicFormControlComponent
does now emit aDynamicFormControlEvent
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)
- 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 valueschecked
setter/getter andtoggle()
function added toDynamicCheckControlModel
checkAll()
anduncheckAll()
function added toDynamicCheckboxGroupModel
select()
andget()
function added toDynamicOptionControlModel
get()
function added toDynamicFormGroupModel
andDynamicFormArrayModel
- textarea support for
ui-material
added
checked
attribute added to templates (closes #168)
validators
deserialization fixed (closes #163)rxjs
peer dependency downgraded to match with Angular 2 (closes #162)
- error validation messaging added for
ui-basic
(closes #154)
DynamicCheckboxGroupModel
template bugs fixed (closes #160)
label
,legend
,prefix
,suffix
andhint
are now bound via[innerHTML]
(see #157)
- Error Messaging system to
ui-bootstrap
andui-foundation
added (closes #153 , see README.md) Thanks @DavyJohnes @Output() change
EventEmitter<Event>
added toDynamicFormControlComponent
(#149)- Update to
@angular 2.1.2
fromJSON()
finally working flawless
- Upgrade to Angular
2.1.0
- support for nested
templates
(closes #139)
disabledUpdates
Rx.Subject
added for setting activation state at model level
focus
andblur
outputs added toDynamicFormControlComponent
for event bindings (closes #130)- JSON export code has been improved
- some JSON export flaws have been fixed
- !!! IMPORTANT !!!
[(ngModel)]
bindings have been completely removed. If you need to update thevalue
of anyDynamicFormControlModel
at runtime usevalueUpdates
Rx.Subject
(see README.md)
- proper JSON export of all
DynamicFormControlModel
s (closes #125)_
DynamicSwitchModel
introduced inui-material
id
attribute is now bound again to improve accessibility (see #42)disabled
bindings added inui-material
where appropriate
- Webpack flaws fixed (closes #118)
- !!! IMPORTANT !!! form control relation API changed (see
README.md
)
files
field added toDynamicInputModel
(closes #114)
- Multi-related Form Controls (closes #115)
- Related Form Controls(closes #111)
- !!! IMPORTANT !!! UMD bundles now provided in
bundles
sub folder
- UMD bundles now work correctly for all module systems (closes #106)
- Migration to Angular 2.0 final (closes #100)
fromJSON()
function added toDynamicFormService
(closes #99)
- UMD bundles added (see
README.md
)
- bad
BrowserModule
imports replaced byCommonModule
(closes #89)
- Migration to PrimeNG beta.15 (
ui-primeng
working again)
- !!! IMPORTANT !!!
DynamicFormsCoreModule
now needs to be imported in app rootNgModule
viaforRoot()
- !!! IMPORTANT !!!
disabled
property bindings were removed! Usedisable()
andenable()
functions ofDynamicFormControlComponent
instead (see Known Issues for explanation) help
property ofDynamicFormControlModel
renamed tohint
- Migration to Angular 2 RC.6
- Migration to Angular 2 Material alpha.8
required
property binding re-added toDynamicFormControlComponent
s due to fixes in Angular 2 RC.6tabIndex
property added toDynamicFormValueControlModel
-
Changing the
disabled
property ofDynamicFormControlModel
after initialization has no effect. This is due to Angular 2 RC.6 not supportingdisabled
property bindings anymore! Usedisable()
andenable()
functions ofDynamicFormControlComponent
as a workaround! -
Setting
disabled: true
on anyDynamicFormControlModel
inui-material
causes an exception. This is due to a bug in Angular 2 Material alpha.8-1.
FormGroup
validator extras now set correctly (closes #79)
- Sample app start simplified
*.ts
files added to npm packages for source map support (closes #82)
- property
validatorsAsync
ofDynamicFormValueControlModel
renamed toasyncValidators
- support for
FormGroup
andFormArray
validator functions added (closes #79) ui-primeng
now working withNgModule
required
attribute (temporarily) removed from templates due to issues still not being resolved in Angular 2
NgTemplateOutletContext
is now correctly set for<template>
forDynamicFormArrayModel
(closes #67)
- !!! IMPORTANT !!! ng2 DynamicForms now supports
NgModule
--> Please read updated `README.md
DynamicFormArrayModel
andDynamicFormGroupModel
now working in all UI packages
- !!! IMPORTANT !!!
DynamicFormModel
has been completely removed --> use a simpleArray<DynamicFormControlModel>
instead - !!! IMPORTANT !!!
findById()
function ofDynamicFormModel
has been moved toDynamicFormService
DynamicCheckboxModel
now working correctly again inui-primeng
DynamicFormControlModel
renamed toDynamicFormValueControlModel
DynamicFormAbstractControlModel
renamed toDynamicFormControlModel
- Nested form groups are now supported (closes #57)
- Type safety for
DynamicFormControlModel
coniguration objects added
Please checkout updated README and examples!
- !!! IMPORTANT !!!
items
property ofDynamicFormControlModel
andDynamicCheckboxGroup
has been renamed togroup
- !!! IMPORTANT !!!
DynamicFormService.createFormGroup
now expectsArray<DynamicFormControlModel<any>>
instead ofDynamicFormModel
- !!! IMPORTANT !!!
@Input()
form
ofDynamicFormControlComponent
has been renamed tocontrolGroup
- !!! IMPORTANT !!!
id
property binding ofDynamicFormControlModel
has been removed
- FormArrays are now fully supported (closes #53)
required
property ofDynamicFormControlModel
is now bound via[required]
and does not manually applyValidators.required
under the hood any morereadonly
property ofDynamicInputControlModel
renamed toreadOnly
- boolean
spellCheck
property added toDynamicInputControlModel
- default value for
autocomplete
property ofDynamicFormControlModel
is nowon
instead ofoff
text
property ofDynamicFormOption
renamed tolabel
DynamicCheckboxGroup
now working correctly inui-material
- Webpack bundling now supported (closes #47)
DynamicFormAutoFillService
added for importing and validating new HTML5 autofill detail tokensui-primeng
has arrived
maxlength
attribute is now bound correctly (closes #43)- labels of
DynamicCheckboxGroup
items do render now inui-basic
(closes #44) name
attribute now added to<fieldset>
(closes #45)disabled
attribute now added to all form controls
cls
configuration object has now nestedelement
configuration object to set css classes for certain elements (see example)name
property ofDynamicFormControlModel
cannot be set anymore by configuration (automatically mapped toid
)DynamicFormControlComponent
now throws when being bound to non-supported type ofDynamicFormControlModel
ui-material
finally working again after upgrading to new Angular 2 Material alpha.6 (closes #29)value
ofDynamicCheckboxModel
is now always initizialized withfalse
instead ofnull
when not explicitly set totrue
- datalists now supported by
DynamicInputControlModel
(list
property)
label
property ofDynamicFormControlModel
is now just a plainstring
instead of object (hidden
property is removed)
DynamicCheckboxGroupModel
has arrived (closes #32)
cls
is now a true optional declared constructor parameter- check included for mandatory
id
configuration property - #37 fixed
ui-foundation
has arrivedcls
configuration object is now a separate constructor parameter (the second) ofDynamicFormControlModel
in order to uncouple pure model configuration from style configurationcls
bugs in template files fixedreadonly
property introduced forDynamicFormInputModel
- Upgraded to RC.3
cls
property ofDynamicFormControlModel
refactored for advanced form layouts- Radio groups finally working in ui-basic and ui-bootstrap
- New chapter "Form Layouts" added in README.md
ui-material is currently broken due to Angular 2 Material not having upgraded to @angular/forms yet
- Updated everything to @angular/forms
order
property removed fromDynamicFormControlModel
DynamicRadioModel
renamed toDynamicRadioGroupModel
model
property ofDynamicFormModel
renamed toitems
- Major improvements and bug fixes for ui-bootstrap template
- Major improvements for example app
text
property removed fromDynamicCheckboxModel
due to redundancy (usetext
property oflabel
object instead)
DynamicTextInputModel
andDynamicNumberInputModel
condensed toDynamicInputModel
onBlur
andonFocus
event listeners added for input and textarea controls in ui-basic and ui-bootstrapmax
,min
, `step attributes now working correctly in ui-basic and ui-bootstraplabel
is now a configuration object with propertiescls
,hidden
andtext
- new property
cls
introduced inDynamicFormControlModel
for manually setting CSS classes for controls