The Angular WML Form Libary is a versatile and customizable library designed to streamline form creation and management in Angular applications. This component offers the following features:
Dynamic Field Management: Easily manage and update fields dynamically using the updateFields
and updateFieldsWrapper
methods.Flexible Layouts: Define field sections to organize and layout fields in a structured manner.Responsive Design: Ensures forms look great on various screen sizes with built-in media queries.Custom Styling: Supports custom styles including glassmorphism effects for a modern UI.Input Handling: Handles various types of inputs including standalone fields and WML cards.Event Handling: Emits events when fields are updated, allowing for reactive and interactive forms.
Terminal window
npm install --verbose @windmillcode/angular-wml-form
# to populate the field, submit form
npm install --verbose @windmillcode/angular-wml-field
npm install --verbose @windmillcode/angular-wml-input
npm install --verbose @windmillcode/angular-wml-button
<iframe src="https://stackblitz.com/edit/stackblitz-starters-fgsk2e?ctl=1&embed=1&file=src%2Fmain.ts&theme=dark" style="width: 100%; height: calc(500/16 * 1em) !important;"></iframe>
the FormGroup is applied at the field level not the form level so essentiallly you do not need wml-form-zero to create your custom formto see how this complex form works if you type in abc in the name field then the email field is required however if the name field is not abc then you can empty the email field and submit the form. WMLForm is very impervious<iframe src="https://stackblitz.com/edit/stackblitz-starters-4zvh8e?ctl=1&embed=1&file=src%2Fmain.ts&theme=dark" style="width: 100%; height: calc(500/16 * 1em) !important;"></iframe>
it replaces so you need the orginal field in case of adding fields<iframe src="https://stackblitz.com/edit/stackblitz-starters-wgiqyj?ctl=1&embed=1&file=src%2Fmain.ts&theme=dark" style="width: 100%; height: calc(500/16 * 1em) !important;"></iframe>
using field sections helps style the layout of the formAll you have to do is to apply display flex to the target form<iframe src="https://stackblitz.com/edit/stackblitz-starters-24xsgt?ctl=1&embed=1&file=src%2Fmain.ts&theme=dark" style="width: 100%; height: calc(500/16 * 1em) !important;"></iframe>
Property | Type | Description |
---|---|---|
props |
WMLFormZeroProps |
The main properties object for configuring the form. |
Property | Type | Description |
---|---|---|
view |
WMLView |
View configuration for the form. |
fields |
Array<WMLFieldZeroProps> |
List of fields in the form. |
fieldSections |
Array<number> |
Array defining the layout sections of the fields. |
fieldsUpdatedEvent |
Subject<void> |
Event emitted when fields are updated. |
resetFieldSections |
() => void |
Method to reset field sections. |
updateFields |
(fields: Array<WMLFieldZeroProps>) => void |
Method to update fields. |
This structured and organized documentation provides a clear and comprehensive guide for developers to understand and use the WMLFormZero
component effectively.
updated package to reflect the version ^18.1.0 of @angular/core package,
updated package to conform with @windmillcode/angular-wml-components-base ,
updated package to reflect the version ^18.1.1 of @angular/core package,
updated package to reflect the version ^18.1.2 of @angular/core package,
updated package to conform with @windmillcode/angular-wml-components-base ,
updated package to conform with @windmillcode/angular-wml-components-base ,
updated package to conform with @windmillcode/angular-wml-components-base ,
updated package to conform with @windmillcode/angular-wml-components-base ,
updated package to conform with @windmillcode/angular-wml-components-base ,
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to reflect the version 18.2.1 of @angular/core package
updated package to reflect the version 18.2.2 of @angular/core package
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to reflect the version 18.2.3 of @angular/core package
updated package to reflect the version 18.2.3 of @angular/core package
updated package to conform with @windmillcode/angular-wml-components-base
updated package to conform with @windmillcode/angular-wml-components-base
updated package to reflect the version 18.2.4 of @angular/core package
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to reflect the version 18.2.5 of @angular/core package
updated package to reflect the version 18.2.6 of @angular/core package
updated package to reflect the version 18.2.7 of @angular/core package
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to reflect the version 18.2.8 of @angular/core package
updated package to reflect the version 18.2.8 of @angular/core package
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base
updated package to conform with @windmillcode/wml-components-base