Skip to content

Latest commit

 

History

History
1839 lines (1051 loc) · 53.7 KB

CHANGELOG.md

File metadata and controls

1839 lines (1051 loc) · 53.7 KB

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

  • Migration to Angular 13

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

  • Support for Angular 11

12.0.0

Features

  • Support for Angular 10

11.0.2 / 11.0.3

Bugfixes

  • fixes error on DynamicFormService.detectChanges() (closes #1060)

11.0.0 / 11.0.1

Features

  • Support for Angular 9

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:

// 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> 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 Subjects have been removed from DynamicFormControlModel.

You can still track changes via newly introduced valueChanges and disabledChanges Observables.


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

‼️@ng2-dynamic-forms has been renamed to @ng-dynamic-forms‼️


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 FormGroups (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 Observables (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

  • Upgrade to Angular 2.1.0

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 DynamicFormControlModels (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 DynamicFormControlComponents 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 DynamicFormValueControlModelrenamed 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 DynamicCheckboxModelis 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