createSelect<
Item
>(config
?):SelectWidget
<Item
>
Creates a new select widget instance.
• Item
• config?: PropsConfig
<SelectProps
<Item
>>
config of the modal, either as a store or as an object containing values or stores.
SelectWidget
<Item
>
a new select widget instance
getSelectDefaultConfig():
SelectProps
<any
>
Retrieve a shallow copy of the default Select config
SelectProps
<any
>
the default Select config
Item representation built from the items provided in parameters
• T
id:
string
Unique id to identify the item
item:
T
Original item given in the parameters
selected:
boolean
Specify if the item is checked
Interface representing the API for a Select component.
• Item
clear():
void
Clear all the selected items
void
clearText():
void
Clear the filter text
void
close():
void
close the select
void
highlight(
item
):void
Highlight the given item, if there is a corresponding match among the visible list
• item: Item
void
highlightFirst():
void
Highlight the first item among the visible list
void
highlightLast():
void
Highlight the last item among the visible list
void
highlightNext():
void
Highlight the next item among the visible list. Loop to the first item if needed
void
highlightPrevious():
void
Highlight the previous item among the visible list Loop to the last item if needed
void
open():
void
open the select
void
select(
item
):void
Select the provided item. The selected list is used to
• item: Item
the item to select
void
toggle(
isOpen
?):void
Toggle the dropdown menu
• isOpen?: boolean
If specified, set the menu in the defined state.
void
toggleItem(
item
,selected
?):void
Toggle the selection of an item
• item: Item
the item to toggle
• selected?: boolean
an optional boolean to enforce the selected/unselected state instead of toggling
void
unselect(
item
):void
Unselect the provided item.
• item: Item
the item to unselect
void
Directive to provide a custom template for the badge label in a select component.
• Item
The type of the item in the select component.
A component that represents a customizable select dropdown widget.
• Item
The type of items in the select dropdown.
allowedPlacements:
undefined
|Placement
[]
List of allowed placements for the dropdown. This refers to the allowedPlacements from floating UI, given the different Placement possibilities.
['bottom-start', 'top-start', 'bottom-end', 'top-end']
ariaLabel:
undefined
|string
aria-label used for the input inside the select
'Select'
badgeClassName:
undefined
|string
Class to be added on selected items (displayed in the input zone)
''
badgeLabel:
SlotContent
<SelectItemContext
<Item
>>
The template to override the way each badge on the left of the input is displayed. This define the content of the badge inside the badge container.
({itemContext}: SelectItemContext<any>) => itemContext.item
className:
undefined
|string
CSS classes to be applied on the widget main container
''
disabled:
undefined
|boolean
true if the select is disabled
false
filterText:
undefined
|string
Filtered text to be display in the filter input
''
filterTextChange:
EventEmitter
<string
>
Callback called when the text filter change
Filtered text
() => {}
id:
undefined
|string
id used for the input inside the select
itemIdFn:
undefined
| (item
) =>string
Custom function to get the id of an item By default, the item is returned
(item: any) => '' + item
itemLabel:
SlotContent
<SelectItemContext
<Item
>>
The template to override the way each item is displayed in the list. This define the content of the badge inside the badge container.
({itemContext}: SelectItemContext<any>) => itemContext.item
items:
undefined
|Item
[]
List of available items for the dropdown
[]
loading:
undefined
|boolean
true if a loading process is being done
false
menuClassName:
undefined
|string
Class to be added on the dropdown menu container
''
menuItemClassName:
undefined
|string
Class to be added on menu items
''
navSelector:
undefined
| (node
) =>NodeListOf
<HTMLInputElement
|HTMLSpanElement
>
Retrieves navigable elements within an HTML element containing badges and the input.
HTMLElement that contains the badges and the input
(node: HTMLElement) => node.querySelectorAll('.au-select-badge,input')
open:
undefined
|boolean
true if the select is open
false
openChange:
EventEmitter
<boolean
>
Callback called dropdown open state change
updated open state
() => {}
selected:
undefined
|Item
[]
List of selected item ids
[]
selectedChange:
EventEmitter
<Item
[]>
Callback called when the selection change
() => {}
get
api():W
["api"
]
Retrieves the widget api
W
["api"
]
the widget api
get
directives():W
["directives"
]
Retrieves the widget directives
W
["directives"
]
the widget directives
get
state():AngularState
<W
>
Retrieves the widget state as an Angular Signal
AngularState
<W
>
the widget state
Interface for the slot context of the pagination widget
• Item
The type of the items in the Select component.
api:
SelectApi
<Item
>
all the api functions to interact with the widget
directives:
SelectDirectives
<Item
>
directives to be used on html elements in the template of the widget or in the slots
state:
AngularState
<SelectWidget
<Item
>>
the state of the widget
Interface representing the directives used in the Select component.
• Item
badgeAttributesDirective:
Directive
<ItemContext
<Item
>>
A directive that applies all the necessary attributes to the container badges
badgeCloseButtonDirective:
Directive
<ItemContext
<Item
>>
A directive to be applied to a button that closes a badge
floatingDirective:
Directive
<void
,SSRHTMLElement
>
Directive that enables dynamic positioning of menu element
hasFocusDirective:
Directive
Directive to be used in the input group and the menu containers
inputContainerDirective:
Directive
A directive to be applied to the element that contains the badges and the input
inputDirective:
Directive
A directive to be applied to the input
itemAttributesDirective:
Directive
<ItemContext
<Item
>>
A directive that applies all the necessary attributes to the dropdown item
menuAttributesDirective:
Directive
A directive that applies all the necessary attributes to the dropdown menu
referenceDirective:
Directive
<void
,SSRHTMLElement
>
A directive to be applied to the input group element serves as the base for menu positioning
Represents the context for a select item, extending the base SelectContext
with additional
contextual data specific to an item.
• Item
The type of the item within the select context.
api:
SelectApi
<Item
>
all the api functions to interact with the widget
directives:
SelectDirectives
<Item
>
directives to be used on html elements in the template of the widget or in the slots
itemContext:
ItemContext
<Item
>
Contextual data related to an item
state:
AngularState
<SelectWidget
<Item
>>
the state of the widget
Directive to provide a custom label template for select items.
This directive allows you to define a custom template for the labels of items
in a select component. The template can be specified using an Angular TemplateRef
.
• Item
The type of the items in the select component.
Represents the properties for the Select component.
• Item
The type of the items in the select component.
allowedPlacements:
Placement
[]
List of allowed placements for the dropdown. This refers to the allowedPlacements from floating UI, given the different Placement possibilities.
['bottom-start', 'top-start', 'bottom-end', 'top-end']
ariaLabel:
undefined
|string
aria-label used for the input inside the select
'Select'
badgeClassName:
string
Class to be added on selected items (displayed in the input zone)
''
badgeLabel:
SlotContent
<SelectItemContext
<Item
>>
The template to override the way each badge on the left of the input is displayed. This define the content of the badge inside the badge container.
({itemContext}: SelectItemContext<any>) => itemContext.item
className:
string
CSS classes to be applied on the widget main container
''
disabled:
boolean
true if the select is disabled
false
filterText:
string
Filtered text to be display in the filter input
''
id:
undefined
|string
id used for the input inside the select
itemLabel:
SlotContent
<SelectItemContext
<Item
>>
The template to override the way each item is displayed in the list. This define the content of the badge inside the badge container.
({itemContext}: SelectItemContext<any>) => itemContext.item
items:
Item
[]
List of available items for the dropdown
[]
loading:
boolean
true if a loading process is being done
false
menuClassName:
string
Class to be added on the dropdown menu container
''
menuItemClassName:
string
Class to be added on menu items
''
open:
boolean
true if the select is open
false
selected:
Item
[]
List of selected item ids
[]
itemIdFn(
item
):string
Custom function to get the id of an item By default, the item is returned
• item: Item
string
(item: any) => '' + item
navSelector(
node
):NodeListOf
<HTMLInputElement
|HTMLSpanElement
>
Retrieves navigable elements within an HTML element containing badges and the input.
• node: HTMLElement
HTMLElement that contains the badges and the input
NodeListOf
<HTMLInputElement
| HTMLSpanElement
>
(node: HTMLElement) => node.querySelectorAll('.au-select-badge,input')
onFilterTextChange(
text
):void
Callback called when the text filter change
• text: string
Filtered text
void
() => {}
onOpenChange(
isOpen
):void
Callback called dropdown open state change
• isOpen: boolean
updated open state
void
() => {}
onSelectedChange(
selected
):void
Callback called when the selection change
• selected: Item
[]
void
() => {}
Represents the state of a Select component.
• Item
The type of the items in the select component.
ariaLabel:
undefined
|string
aria-label used for the input inside the select
'Select'
badgeClassName:
string
Class to be added on selected items (displayed in the input zone)
''
badgeLabel:
SlotContent
<SelectItemContext
<Item
>>
The template to override the way each badge on the left of the input is displayed. This define the content of the badge inside the badge container.
({itemContext}: SelectItemContext<any>) => itemContext.item
className:
string
CSS classes to be applied on the widget main container
''
disabled:
boolean
true if the select is disabled
false
filterText:
string
Filtered text to be display in the filter input
''
highlighted:
undefined
|ItemContext
<Item
>
Highlighted item context. It is designed to define the highlighted item in the dropdown menu
id:
undefined
|string
id used for the input inside the select
itemLabel:
SlotContent
<SelectItemContext
<Item
>>
The template to override the way each item is displayed in the list. This define the content of the badge inside the badge container.
({itemContext}: SelectItemContext<any>) => itemContext.item
loading:
boolean
true if a loading process is being done
false
menuClassName:
string
Class to be added on the dropdown menu container
''
menuItemClassName:
string
Class to be added on menu items
''
open:
boolean
true if the select is open
false
placement:
undefined
|Placement
Current placement of the dropdown
selected:
Item
[]
List of selected item ids
[]
selectedContexts:
ItemContext
<Item
>[]
List of selected items to be display
visibleItems:
ItemContext
<Item
>[]
List of item contexts, to be displayed in the menu
SelectWidget<
Item
>:Widget
<SelectProps
<Item
>,SelectState
<Item
>,SelectApi
<Item
>,SelectDirectives
<Item
>>
Represents a Select widget component.
• Item
The type of the items that the select widget will handle.