WML Select
The Angular WML Select library is a specialized Angular component library designed to enhance form inputs by providing a robust and flexible select component. Its primary objective is to offer a more dynamic and feature-rich alternative to the native HTML select element, catering to the diverse needs of modern web applications. With its advanced functionalities, the library addresses common challenges faced in creating user-friendly, interactive forms, such as handling dynamic data sets, enabling search and filtering capabilities, and offering better control over the styling and behavior of select menus.
At the core of the Angular WML Select library are its central components: WMLSelectZeroComponent
and WMLSelectZeroOptionComponent
. The WMLSelectZeroComponent
acts as the main container for the select functionality, encapsulating the logic for opening and closing the dropdown, managing selections, and triggering custom events. The WMLSelectZeroOptionComponent
represents individual selectable items within the dropdown, providing a flexible structure for displaying options and handling user interactions. Developers can leverage these components to create highly interactive and customizable select menus, with support for single or multiple selections, search and filtering, and even asynchronous data loading. The library’s design encourages a modular approach, where the WMLSelectZeroComponent
can be dynamically populated with WMLSelectZeroOptionComponent
instances, allowing for a high degree of customization and adaptability in different usage scenarios.
Installation
Section titled “Installation”npm install -s --verbose @windmillcode/angular-wml-select @windmillcode/angular-wml-infinite-dropdown @windmillcode/angular-wml-field
Usage WMLSelectZero
Section titled “Usage WMLSelectZero”Getting Started
Section titled “Getting Started”Customize Prompt ,Options …
Section titled “Customize Prompt ,Options …”Remember you can replace the components for select and options with your own custom component refer to the infinite-dropdown docs
Reactive Forms Integration
Section titled “Reactive Forms Integration”Reference
Section titled “Reference”WMLSelectZeroProps Properties
Section titled “WMLSelectZeroProps Properties”Property | Type | Description |
---|---|---|
formControl | AbstractControl | Reactive form control linked with the select component. |
optionItems | WMLInfiniteDropdownZeroOption[] | Array of options available in the dropdown. |
chosenText | string | Text of the currently chosen option. |
component. | ||
select | WMLInfiniteDropdownZeroOption | string | Selected option object. For input can be string or WMLInfiniteDropdownZeroOption will resolve to WMLInfiniteDropdownZeroOption |
options | WMLInfiniteDropdownZeroInputOptions | Array of options displayed in the dropdown. |
dropdown | WMLInfiniteDropdownZeroProps | Properties of the dropdown component. |
cdref | ChangeDetectorRef | Change detector reference for the component. |
wmlField | WMLFieldZeroProps | Properties for the WML field component. |
initSubj | BehaviorSubject<boolean> | Subject to trigger initialization. |
WMLSelectZeroProps Methods
Section titled “WMLSelectZeroProps Methods”Method | Signature | Description |
---|---|---|
init | void | Initializes the select component. |
reset | void | Resets the select component properties. |
Changelog
Section titled “Changelog”v0.0.1
Section titled “v0.0.1”- wml-select complete and ready
- disabled support
- default value support
- update component support
- update via formcontrol support
v0.0.2
Section titled “v0.0.2”- added WMLSelectZeroProps.updateOptionValuesWithOptionText so that if users wanted text and value they can use
- made a minor change that will allow defaulr fields to populate under certain circumstances
v16.2.60
Section titled “v16.2.60”- updated dependencies
v16.2.80
Section titled “v16.2.80”- updated package to reflect the version 16.2.80 of @angular/core package),
v16.2.80
Section titled “v16.2.80”- updated package to reflect the version 16.2.80 of @angular/core package,
v16.2.90
Section titled “v16.2.90”- updated package to reflect the version 16.2.90 of @angular/core package,
v16.2.91
Section titled “v16.2.91”- updated package to reflect the version 16.2.91 of @angular/core package,
v16.2.93
Section titled “v16.2.93”- updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
v16.2.100
Section titled “v16.2.100”- updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
v16.2.110
Section titled “v16.2.110”- updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
v16.2.120
Section titled “v16.2.120”- updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
v17.0.10
Section titled “v17.0.10”- updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
v17.0.11
Section titled “v17.0.11”- updated package to conform with @windmillcode/angular-wml-components-base for unit testing features ,
v17.0.20
Section titled “v17.0.20”- updated package to reflect the version ^17.0.2 of @angular/core package,
v17.0.40
Section titled “v17.0.40”- updated package to reflect the version ^17.0.4 of @angular/core package,
v17.0.50
Section titled “v17.0.50”- updated package to reflect the version ^17.0.5 of @angular/core package,
v17.0.60
Section titled “v17.0.60”- updated package to reflect the version ^17.0.6 of @angular/core package,
v17.0.70
Section titled “v17.0.70”- updated package to reflect the version ^17.0.7 of @angular/core package,
v17.0.7100
Section titled “v17.0.7100”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.7200
Section titled “v17.0.7200”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.7300
Section titled “v17.0.7300”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.80
Section titled “v17.0.80”- updated package to reflect the version ^17.0.8 of @angular/core package,
v17.0.8100
Section titled “v17.0.8100”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.8102
Section titled “v17.0.8102”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.8103
Section titled “v17.0.8103”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.9000
Section titled “v17.0.9000”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.0.9001
Section titled “v17.0.9001”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.0000
Section titled “v17.1.0000”- updated package to reflect the version ^17.1.0 of @angular/core package,
v17.1.2
Section titled “v17.1.2”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.1000
Section titled “v17.1.1000”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.2000 [2/5/24]
Section titled “v17.1.2000 [2/5/24]”- updated package to reflect the version ^17.1.2 of @angular/core package,
v17.1.2001 [2/8/24]
Section titled “v17.1.2001 [2/8/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.1.3000 [2/8/24]
Section titled “v17.1.3000 [2/8/24]”- updated package to reflect the version ^17.1.3 of @angular/core package,
v17.2.1000 [2/17/24]
Section titled “v17.2.1000 [2/17/24]”- updated package to reflect the version ^17.2.1 of @angular/core package,
v17.2.2001 [2/23/24]
Section titled “v17.2.2001 [2/23/24]”- updated package to reflect the version ^17.2.2 of @angular/core package,
v17.2.3000 [2/28/24]
Section titled “v17.2.3000 [2/28/24]”- updated package to reflect the version ^17.2.3 of @angular/core package,
v17.2.3001 [3/2/24]
Section titled “v17.2.3001 [3/2/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.3002 [3/5/24]
Section titled “v17.2.3002 [3/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4000 [3/8/24]
Section titled “v17.2.4000 [3/8/24]”- updated package to reflect the version ^17.2.4 of @angular/core package,
v17.2.4001 [3/12/24]
Section titled “v17.2.4001 [3/12/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4002 [3/12/24]
Section titled “v17.2.4002 [3/12/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4003 [3/13/24]
Section titled “v17.2.4003 [3/13/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.2.4004 [3/13/24]
Section titled “v17.2.4004 [3/13/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.3.0 [3/17/24]
Section titled “v17.3.0 [3/17/24]”- updated package to reflect the version ^17.3.0 of @angular/core package ,
v17.3.1000 [3/22/24]
Section titled “v17.3.1000 [3/22/24]”- updated package to reflect the version ^17.3.1 of @angular/core package,
v17.3.2000 [3/28/24]
Section titled “v17.3.2000 [3/28/24]”- updated package to reflect the version ^17.3.2 of @angular/core package,
v17.3.3000 [4/4/24]
Section titled “v17.3.3000 [4/4/24]”- updated package to reflect the version ^17.3.3 of @angular/core package,
v17.3.4000 [4/11/24]
Section titled “v17.3.4000 [4/11/24]”- updated package to reflect the version ^17.3.4 of @angular/core package,
v17.3.4001 [4/16/24]
Section titled “v17.3.4001 [4/16/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.3.5000 [4/20/24]
Section titled “v17.3.5000 [4/20/24]”- updated package to reflect the version ^17.3.5 of @angular/core package,
v17.3.5110 [5/1/24]
Section titled “v17.3.5110 [5/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v17.3.6000 [5/1/24]
Section titled “v17.3.6000 [5/1/24]”- updated package to reflect the version ^17.3.6 of @angular/core package,
v17.3.7000 [5/9/24]
Section titled “v17.3.7000 [5/9/24]”- updated package to reflect the version ^17.3.7 of @angular/core package,
v17.3.8000 [5/9/24]
Section titled “v17.3.8000 [5/9/24]”- updated package to reflect the version ^17.3.8 of @angular/core package,
v17.3.9000 [5/16/24]
Section titled “v17.3.9000 [5/16/24]”- updated package to reflect the version ^17.3.9 of @angular/core package,
v18.0.1 [5/23/24]
Section titled “v18.0.1 [5/23/24]”- updated package to reflect the version ^18.0.0 of @angular/core package,
v18.0.4 [5/25/24]
Section titled “v18.0.4 [5/25/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.0.1000 [5/29/24]
Section titled “v18.0.1000 [5/29/24]”- updated package to reflect the version ^18.0.1 of @angular/core package,
v18.0.2000 [6/6/24]
Section titled “v18.0.2000 [6/6/24]”- updated package to reflect the version ^18.0.2 of @angular/core package,
v18.0.3000 [6/13/24]
Section titled “v18.0.3000 [6/13/24]”- updated package to reflect the version ^18.0.3 of @angular/core package,
v18.0.3010 [6/18/24]
Section titled “v18.0.3010 [6/18/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.0.4000 [6/23/24]
Section titled “v18.0.4000 [6/23/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.0.5000 [6/26/24]
Section titled “v18.0.5000 [6/26/24]”- updated package to reflect the version ^18.0.5 of @angular/core package,
v18.0.6000 [7/5/24]
Section titled “v18.0.6000 [7/5/24]”- updated package to reflect the version ^18.0.6 of @angular/core package,
v18.1.4 [7/13/24]
Section titled “v18.1.4 [7/13/24]”- updated package to reflect the version ^18.1.0 of @angular/core package,
v18.1.6 [7/14/24]
Section titled “v18.1.6 [7/14/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.1000 [7/18/24]
Section titled “v18.1.1000 [7/18/24]”- updated package to reflect the version ^18.1.1 of @angular/core package,
v18.1.2000 [7/24/24]
Section titled “v18.1.2000 [7/24/24]”- updated package to reflect the version ^18.1.2 of @angular/core package,
v18.1.2300 [7/27/24]
Section titled “v18.1.2300 [7/27/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.2301 [7/30/24]
Section titled “v18.1.2301 [7/30/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.3000-beta3 [8/1/24]
Section titled “v18.1.3000-beta3 [8/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base ,
v18.1.3000-beta4 [8/1/24]
Section titled “v18.1.3000-beta4 [8/1/24]”v18.1.3002 [8/4/24]
Section titled “v18.1.3002 [8/4/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3001 [8/4/24]
Section titled “v18.1.3001 [8/4/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3003 [8/5/24]
Section titled “v18.1.3003 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3004 [8/5/24]
Section titled “v18.1.3004 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3005 [8/5/24]
Section titled “v18.1.3005 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3006 [8/5/24]
Section titled “v18.1.3006 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.3007 [8/5/24]
Section titled “v18.1.3007 [8/5/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.4000 [8/14/24]
Section titled “v18.1.4000 [8/14/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.1.4001 [8/14/24]
Section titled “v18.1.4001 [8/14/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.0 [8/15/24]
Section titled “v18.2.0 [8/15/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.1 [8/20/24]
Section titled “v18.2.1 [8/20/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.1000 [8/22/24]
Section titled “v18.2.1000 [8/22/24]”- updated package to reflect the version 18.2.1 of @angular/core package
v18.2.2000 [8/30/24]
Section titled “v18.2.2000 [8/30/24]”- updated package to reflect the version 18.2.2 of @angular/core package
v18.2.2100 [9/1/24]
Section titled “v18.2.2100 [9/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.2101 [9/1/24]
Section titled “v18.2.2101 [9/1/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.2200 [9/3/24]
Section titled “v18.2.2200 [9/3/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.3000 [9/4/24]
Section titled “v18.2.3000 [9/4/24]”- updated package to reflect the version 18.2.3 of @angular/core package
v18.2.3100 [9/8/24]
Section titled “v18.2.3100 [9/8/24]”- updated package to reflect the version 18.2.3 of @angular/core package
v18.2.3110 [9/10/24]
Section titled “v18.2.3110 [9/10/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.3112 [9/10/24]
Section titled “v18.2.3112 [9/10/24]”- updated package to conform with @windmillcode/angular-wml-components-base
v18.2.3200 [9/16/24]
Section titled “v18.2.3200 [9/16/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.4000 [9/16/24]
Section titled “v18.2.4000 [9/16/24]”- updated package to reflect the version 18.2.4 of @angular/core package
v18.2.4100 [9/19/24]
Section titled “v18.2.4100 [9/19/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.4200 [9/21/24]
Section titled “v18.2.4200 [9/21/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.5001 [9/22/24]
Section titled “v18.2.5001 [9/22/24]”- updated package to reflect the version 18.2.5 of @angular/core package
v18.2.6000 [10/1/24]
Section titled “v18.2.6000 [10/1/24]”- updated package to reflect the version 18.2.6 of @angular/core package
v18.2.7000 [10/2/24]
Section titled “v18.2.7000 [10/2/24]”- updated package to reflect the version 18.2.7 of @angular/core package
v18.2.7001 [10/6/24]
Section titled “v18.2.7001 [10/6/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.7010 [10/9/24]
Section titled “v18.2.7010 [10/9/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.7020 [10/10/24]
Section titled “v18.2.7020 [10/10/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.8000 [10/10/24]
Section titled “v18.2.8000 [10/10/24]”- updated package to reflect the version 18.2.8 of @angular/core package
v18.2.8000 [10/11/24]
Section titled “v18.2.8000 [10/11/24]”- updated package to reflect the version 18.2.8 of @angular/core package
v18.2.8001 [10/11/24]
Section titled “v18.2.8001 [10/11/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.9000 [10/23/24]
Section titled “v18.2.9000 [10/23/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.10000 [10/31/24]
Section titled “v18.2.10000 [10/31/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.11000 [11/7/24]
Section titled “v18.2.11000 [11/7/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.12000 [11/15/24]
Section titled “v18.2.12000 [11/15/24]”- updated package to conform with @windmillcode/wml-components-base
v18.2.12001 [11/17/24]
Section titled “v18.2.12001 [11/17/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.0 [11/19/24]
Section titled “v19.0.0 [11/19/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.3 [11/20/24]
Section titled “v19.0.3 [11/20/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.4 [11/26/24]
Section titled “v19.0.4 [11/26/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.1000 [11/26/24]
Section titled “v19.0.1000 [11/26/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.2000 [12/4/24]
Section titled “v19.0.2000 [12/4/24]”- updated package to reflect the version 19.0.2 of @angular/core package
v19.0.3000 [12/6/24]
Section titled “v19.0.3000 [12/6/24]”- updated package to reflect the version 19.0.3 of @angular/core package
v19.0.4000 [12/12/24]
Section titled “v19.0.4000 [12/12/24]”- updated package to reflect the version 19.0.4 of @angular/core package
v19.0.5000 [12/19/24]
Section titled “v19.0.5000 [12/19/24]”- updated package to reflect the version 19.0.5 of @angular/core package
v19.0.5100 [12/29/24]
Section titled “v19.0.5100 [12/29/24]”- updated package to conform with @windmillcode/wml-components-base
v19.0.6000 [1/12/25]
Section titled “v19.0.6000 [1/12/25]”- updated package to reflect the version 19.0.6 of @angular/core package
v19.0.7000 [1/16/25]
Section titled “v19.0.7000 [1/16/25]”- updated package to reflect the version 19.0.7 of @angular/core package
v19.1.0 [1/17/25]
Section titled “v19.1.0 [1/17/25]”- updated package to reflect the version 19.1.0 of @angular/core package
v19.1.1000 [1/17/25]
Section titled “v19.1.1000 [1/17/25]”- updated package to reflect the version 19.1.1 of @angular/core package
v19.1.2000 [1/23/25]
Section titled “v19.1.2000 [1/23/25]”- updated package to reflect the version 19.1.2 of @angular/core package
v19.1.3000 [1/23/25]
Section titled “v19.1.3000 [1/23/25]”- updated package to reflect the version 19.1.3 of @angular/core package
v19.1.3100 [1/23/25]
Section titled “v19.1.3100 [1/23/25]”- update package to support the react native ecosystem
v19.1.3111 [1/27/25]
Section titled “v19.1.3111 [1/27/25]”- updated package to conform with @windmillcode/wml-components-base
v19.1.3112 [1/28/25]
Section titled “v19.1.3112 [1/28/25]”- updated package to conform with @windmillcode/wml-components-base
v19.1.4000 [1/31/25]
Section titled “v19.1.4000 [1/31/25]”- updated package to reflect the version 19.1.4 of @angular/core package
v19.1.5000 [2/8/25]
Section titled “v19.1.5000 [2/8/25]”- updated package to reflect the version 19.1.5 of @angular/core package
v19.1.6000 [2/13/25]
Section titled “v19.1.6000 [2/13/25]”- updated package to reflect the version 19.1.6 of @angular/core package
v19.1.7000 [2/21/25]
Section titled “v19.1.7000 [2/21/25]”- updated package to reflect the version 19.1.7 of @angular/core package
v19.1.8000 [3/4/25]
Section titled “v19.1.8000 [3/4/25]”- updated package to reflect the version 19.1.8 of @angular/core package
v19.2.0 [3/4/25]
Section titled “v19.2.0 [3/4/25]”- updated package to reflect the version 19.2.0 of @angular/core package
v19.2.1000 [3/9/25]
Section titled “v19.2.1000 [3/9/25]”- updated package to reflect the version 19.2.1 of @angular/core package
v19.2.2000 [3/15/25]
Section titled “v19.2.2000 [3/15/25]”- updated package to reflect the version 19.2.2 of @angular/core package
v19.2.3000 [3/21/25]
Section titled “v19.2.3000 [3/21/25]”- updated package to reflect the version 19.2.3 of @angular/core package
v19.2.4000 [3/27/25]
Section titled “v19.2.4000 [3/27/25]”- updated package to reflect the version 19.2.4 of @angular/core package
v19.2.5000 [4/3/25]
Section titled “v19.2.5000 [4/3/25]”- updated package to reflect the version 19.2.5 of @angular/core package
v19.2.5001 [4/6/25]
Section titled “v19.2.5001 [4/6/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.5100 [4/10/25]
Section titled “v19.2.5100 [4/10/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.6000 [4/10/25]
Section titled “v19.2.6000 [4/10/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.7000 [4/21/25]
Section titled “v19.2.7000 [4/21/25]”- updated package to conform with @windmillcode/wml-components-base
v19.2.8000 [4/24/25]
Section titled “v19.2.8000 [4/24/25]”- updated package to reflect the version 19.2.8 of @angular/core package
v19.2.9000 [5/1/25]
Section titled “v19.2.9000 [5/1/25]”- updated package to reflect the version 19.2.9 of @angular/core package
v19.2.10000 [5/8/25]
Section titled “v19.2.10000 [5/8/25]”- updated package to reflect the version 19.2.10 of @angular/core package