DropdownListControl
Type class
A control with a dropdown list of items, which can be searchable.
Can be used in a StockToolbar.
More info: Dropdown list control
Sources
DropdownListControl can be used (imported) via one of the following packages.
// Import DropdownListControlimport * as am5stock from "@amcharts/amcharts5/stock";
// Create DropdownListControlam5stock.DropdownListControl.new(root, { // ... config if applicable});<!-- Load DropdownListControl --><script src="stock.js"></script>
<script>// Create DropdownListControlam5stock.DropdownListControl.new(root, { // ... config if applicable});</script>Inheritance
DropdownListControl extends StockControl.
DropdownListControl is extended by ComparisonControl, DataSaveControl, IndicatorControl, IntervalControl, SeriesTypeControl, SettingsControl.
Settings
Set these settings on a DropdownListControl object using its set() and setAll() methods. Read about settings concept.
currentItemType
string|IDropdownListItemItem (or its ID) shown as selected when the control is created. It is not updated when another item is picked.
excludeType
string[]Since 5.7.0IDs of items to leave out of the list.
fixedLabelType
undefined|false|trueKeeps the button's label and icon when an item is picked, instead of showing that item.
itemsType
ArrayItems of the dropdown: strings, or objects with an
idand alabel.maxSearchItemsType
undefined|numberMost results of
searchCallbackto show; the rest are cut off with a note.scrollableType
undefined|false|trueLimits the list's height to the chart's height minus 100 pixels, scrolling the rest.
searchableType
undefined|false|trueShows a search field above the list. Typing filters the items or, with
searchCallback, replaces them with its results.searchCallbackType
undefined| (query:string) =>IDropdownListItem[]Returns the items to show for a search query.
18 inherited items
activeType
undefined|false|trueDefaultfalseInherited fromIStockControlSettingsTurns the control on; its button shows as active.
alignType
"left"|"right"Default"left"Inherited fromIStockControlSettingsSide of the toolbar the control is placed on.
animationsType
ArrayInherited fromIEntitySettingsSince 5.20.8Animations the element plays on its own, described as data - so they can be set from a JSON config and saved with it.
Each one animates a setting of the element (or, with
target: "dataItem", a value of its data item - a map point'spositionOnLine, say). They start when the setting is applied, restart when it changes, and stop when the element is disposed. A saved config keeps what was configured, never a value caught half way through an animation.sprite.set("animations", [ { key: "rotation", to: 360, duration: 4000, loops: 0 }, { key: "scale", from: 1, to: 1.3, duration: 800, loops: 0, yoyo: true, easing: "sine" } ]);descriptionType
undefined|stringInherited fromIStockControlSettingsWhat the control does, shown as the button's tooltip. Falls back to
name.forceHiddenType
undefined|false|trueDefaultfalseInherited fromIStockControlSettingsSince 5.8.5Keeps the control hidden, even when
show()is called.iconType
HTMLElement|SVGElement|"none"Inherited fromIStockControlSettingsIcon element of the button, or
"none"for no icon. Each control has its own default icon.idType
undefined|stringInherited fromIEntitySettingsA unique ID for looking the element up in
root.entitiesById. Setting an ID that another element already has throws an error.ignoreThemesType
undefined|false|trueDefaultfalseInherited fromIEntitySettingsSince 5.15.6Ignores themes: no theme rule applies to the element, not even one of the default theme.
nameType
undefined|stringInherited fromIStockControlSettingsLabel text of the control's button.
stateAnimationDurationType
undefined|numberDefault0Inherited fromIEntitySettingsHow long, in milliseconds, a switch from one state to another animates.
0switches at once.stateAnimationEasingType
$ease.EasingDefaultout(cubic)Inherited fromIEntitySettingsEasing of the animated switch from one state to another.
stockChartType
StockChartInherited fromIStockControlSettingsThe
StockChartthe control acts on.themesType
ArrayInherited fromIEntitySettingsThemes applied to the element and everything inside it.
themeTagsType
ArrayInherited fromIEntitySettingsTags that theme rules can target. They also count for the element's children, so a rule can match a child by a tag of its parent.
More info: Themes
themeTagsSelfType
ArrayInherited fromIEntitySettingsTags that theme rules can target, like
themeTags, but only for this element, not its children.More info: Themes
togglableType
undefined|false|trueDefaulttrueInherited fromIStockControlSettingsA click on the button toggles
active.userDataType
anyInherited fromIEntitySettingsAny data of your own to keep with the element.
visibleType
undefined|false|trueDefaulttrueInherited fromIStockControlSettingsShows the control's button;
falsehides it.
Private settings
These are read-only settings accessible from a DropdownListControl object using its getPrivate() method. Read about private settings.
dropdownRead onlyType
DropdownList
4 inherited items
Read onlyType
HTMLDivElementInherited fromIStockControlPrivateiconRead onlyType
HTMLElementInherited fromIStockControlPrivatelabelRead onlyType
HTMLDivElementInherited fromIStockControlPrivatetoolbarRead onlyType
StockToolbarInherited fromIStockControlPrivate
Properties
classNameStaticType
stringDefault"DropdownListControl"classNamesStaticType
ArrayDefaultStockControl.classNames.concat([DropdownListControl.className])
7 inherited items
adaptersType
AdaptersDefaultnew Adapters(this)Inherited fromEntityenableDisposeType
booleanDefaulttrueInherited fromSettingsSet to
falseto makedispose()do nothing.eventsType
EventDispatcherDefaultthis._createEvents()Inherited fromEntityrootType
RootInherited fromEntitySince 5.0.6The
Rootthe object belongs to.statestemplateType
Template|undefinedInherited fromEntityA
Templateapplied to the object. Its settings apply where the object has none set of its own.uidType
numberDefault++counterInherited fromSettingsA unique number, given to each object as it is created.
Methods
getItemById(id:string)Returns
IDropdownListItem|string|undefinedSince 5.9.0Returns the item with an ID from
items.setItem(item:string|IDropdownListItem)Returns
voidShows an item on the button as the selected one, unless
fixedLabelis set. Does not dispatchselected.setItemById(id:string)Returns
voidSince 5.9.0Selects an item by its ID: shows it on the button and dispatches
selected.
25 inherited items
animate(options:AnimationOptions)Returns
AnimationInherited fromSettingsAnimates a setting from its current value (or
from) toto. The setting jumps tofromat once. Withduration0, or no value to start from, it is set totoat once and the returned animation is already stopped.More info: Animations: animating settings
dispose()Returns
voidInherited fromSettingsDisposes the object, freeing everything it holds. A disposed object can't be used again.
get(key:Key,
fallback:F)Returns
NonNullable|FInherited fromEntityReturns the value of setting
key, run through any adapters, orfallbackif it is not set.More info: Settings
has(key:Key)Returns
booleanInherited fromSettingsReturns
trueif settingkeyis set.More info: Settings
hide()Returns
voidInherited fromStockControlHides the control's button.
isAccessible()Returns
booleanInherited fromStockControlisDisposed()Returns
booleanInherited fromSettingsReturns
trueif the object has been disposed.isType(type:string)Returns
thisInherited fromEntityReturns
trueif the object is of classtypeor extends it.new(root:Root,
settings:ITSettings,
template?:Template)StaticReturns
TInherited fromEntityCreates an instance of the class. Use it instead of
new Class().More info: Getting started: new element syntax
off(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsSince 5.9.2Removes a callback added with
on(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offDebounced(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsRemoves a callback added with
onDebounced(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offDebouncedPrivate(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsRemoves a callback added with
onPrivateDebounced(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
offPrivate(key:Key,
callback?:undefined| (value:[""], target:this, key:Key) =>void)Returns
voidInherited fromSettingsSince 5.9.2Removes a callback added with
onPrivate(). Withoutcallback, removes all of them forkey.More info: Events: settings value change
on(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsCalls
callbackeach time the value of settingkeychanges or is removed. Setting the same value again does not call it.More info: Events: settings value change
once(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsSince 5.20.4Like
on(), but the callback is removed after it is called once.More info: Events: settings value change
onceDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsSince 5.20.4Like
onDebounced(), but the callback is removed after it is called once.More info: Events: settings value change
onDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsLike
on(), but waits until settingkeyhas not changed fordebounceDelaymilliseconds, then callscallbackonce with the latest value.More info: Events: settings value change
onPrivate(key:Key,
callback: (value:[""], target:this, key:Key) =>void)Returns
IDisposerInherited fromSettingsCalls
callbackeach time the value of private settingkeychanges.More info: Events: settings value change
onPrivateDebounced(key:Key,
callback: (value:[""], target:this, key:Key) =>void,
debounceDelay:number)Returns
IDisposerInherited fromSettingsLike
onPrivate(), but waits until private settingkeyhas not changed fordebounceDelaymilliseconds, then callscallbackonce with the latest value.More info: Events: settings value change
remove(key:Key)Returns
voidInherited fromEntityRemoves the value set for setting
key. The setting goes back to the value from a theme or template, if one has it.More info: Settings
removeAll()Returns
voidInherited fromSettingsRemoves all settings, as
remove()does for each one.More info: Settings
set(key:Key,
value:Value)Returns
ValueInherited fromEntitySets setting
keytovalueand returnsvalue. A value set this way overrides themes and templates, and stops any animation of the setting.More info: Settings
setAll(settings:Partial)Returns
voidInherited fromSettingsSets several settings at once, from an object of key-value pairs.
More info: Settings
setTimeout(fn: () =>void,
delay:number)Returns
IDisposerInherited fromEntityCalls
fnafterdelaymilliseconds, unless the object is disposed first. Disposing the returned disposer cancels it.show()Returns
voidInherited fromStockControlShows the control's button, unless
forceHiddenis set.
Events
Add event handlers to DropdownListControl object using its events.on() method. Read about adding event handlers.
selectedParam { type:
"selected", target:DropdownListControl, item:string|IDropdownListItem}An item was picked from the list, or selected with
setItemById().
1 inherited item
clickParam { type:
"click", target:DropdownListControl, originalEvent:IPointerEvent}Inherited fromIStockControlEventsThe control's button was clicked.