starlightViewModes.switchTofunction h(){const t=window.location.hash;document.querySelectorAll(".starlight-view-modes-switcher-a").forEach(e=>{e.href&&(e.href=e.href.split("#")[0]+t)})}h();window.addEventListener("hashchange",h);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.
Section titled “Installation”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
Section titled “Basic Form Setup”<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>
Section titled “Form Submission”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>
Section titled “Dynamic Field Update”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>
Section titled “Field Sections”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>
Section titled “WMLFormZeroComponent Properties”
Property | Type | Description |
---|---|---|
props |
WMLFormZeroProps |
The main properties object for configuring the form. |
Section titled “WMLFormZeroProps Properties”
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.
Section titled “v18.1.4 [7/13/24]”updated package to reflect the version ^18.1.0 of @angular/core package,
Section titled “v18.1.6 [7/14/24]”updated package to conform with @windmillcode/angular-wml-components-base ,
Section titled “v18.1.1000 [7/18/24]”updated package to reflect the version ^18.1.1 of @angular/core package,
Section titled “v18.1.2000 [7/24/24]”updated package to reflect the version ^18.1.2 of @angular/core package,
Section titled “v18.1.2300 [7/27/24]”updated package to conform with @windmillcode/angular-wml-components-base ,
Section titled “v18.1.2301 [7/30/24]”updated package to conform with @windmillcode/angular-wml-components-base ,
Section titled “v18.1.3000-beta1 [8/1/24]”updated package to conform with @windmillcode/angular-wml-components-base ,
Section titled “v18.1.3000-beta2 [8/1/24]”updated package to conform with @windmillcode/angular-wml-components-base ,
Section titled “v18.1.3000-beta3 [8/1/24]”updated package to conform with @windmillcode/angular-wml-components-base ,
Section titled “v18.1.3000-beta4 [8/1/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3001 [8/4/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3002 [8/4/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3002 [8/5/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3003 [8/5/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3004 [8/5/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3005 [8/5/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3006 [8/5/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.3007 [8/5/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.4000 [8/14/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.1.4001 [8/14/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.0 [8/15/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.1 [8/20/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.1000 [8/22/24]”updated package to reflect the version 18.2.1 of @angular/core package
Section titled “v18.2.2000 [8/30/24]”updated package to reflect the version 18.2.2 of @angular/core package
Section titled “v18.2.2100 [9/1/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.2101 [9/1/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.2200 [9/3/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.3000 [9/4/24]”updated package to reflect the version 18.2.3 of @angular/core package
Section titled “v18.2.3100 [9/8/24]”updated package to reflect the version 18.2.3 of @angular/core package
Section titled “v18.2.3110 [9/10/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.3112 [9/10/24]”updated package to conform with @windmillcode/angular-wml-components-base
Section titled “v18.2.4000 [9/16/24]”updated package to reflect the version 18.2.4 of @angular/core package
Section titled “v18.2.4100 [9/19/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.4200 [9/21/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.5001 [9/22/24]”updated package to reflect the version 18.2.5 of @angular/core package
Section titled “v18.2.6000 [10/1/24]”updated package to reflect the version 18.2.6 of @angular/core package
Section titled “v18.2.7000 [10/2/24]”updated package to reflect the version 18.2.7 of @angular/core package
Section titled “v18.2.7001 [10/5/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.7010 [10/9/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.7020 [10/10/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.8000 [10/10/24]”updated package to reflect the version 18.2.8 of @angular/core package
Section titled “v18.2.8000 [10/11/24]”updated package to reflect the version 18.2.8 of @angular/core package
Section titled “v18.2.8001 [10/11/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.9000 [10/23/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.10000 [10/31/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.11000 [11/7/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.12000 [11/15/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v18.2.12001 [11/17/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v19.0.0 [11/19/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v19.0.3 [11/20/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v19.0.4 [11/26/24]”updated package to conform with @windmillcode/wml-components-base
Section titled “v19.0.1000 [11/26/24]”updated package to conform with @windmillcode/wml-components-base