DropdownListControl

Type class

A control with a dropdown list of items, which can be searchable.

Can be used in a StockToolbar.

Click here for more info

Sources

DropdownListControl can be used (imported) via one of the following packages.

// Import DropdownListControl
import * as am5stock from "@amcharts/amcharts5/stock";

// Create DropdownListControl
am5stock.DropdownListControl.new(root, {
  // ... config if applicable
});
<!-- Load DropdownListControl -->
<script src="stock.js"></script>

<script>
// Create DropdownListControl
am5stock.DropdownListControl.new(root, {
  // ... config if applicable
});
</script>

Inheritance

DropdownListControl extends StockControl.

DropdownListControl is extended by IndicatorControl, SeriesTypeControl, IntervalControl, DataSaveControl, SettingsControl, ComparisonControl.

Settings

Set these settings on a DropdownListControl object using its set() and setAll() methods.

Read about settings concept.

active
#

Type undefined | false | true

Default false

Inherited from IStockControlSettings

Turns the control on; its button shows as active.

align
#

Type "left" | "right"

Default "left"

Inherited from IStockControlSettings

Side of the toolbar the control is placed on.

animations
#

Type Array

Inherited from IEntitySettings

Animations 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's positionOnLine, 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" }
]);

@since 5.20.8

currentItem
#

Type string | IDropdownListItem

Item (or its ID) shown as selected when the control is created. It is not updated when another item is picked.

description
#

Type undefined | string

Inherited from IStockControlSettings

What the control does, shown as the button's tooltip. Falls back to name.

exclude
#

Type string[]

IDs of items to leave out of the list.

@since 5.7.0

fixedLabel
#

Type undefined | false | true

Keeps the button's label and icon when an item is picked, instead of showing that item.

forceHidden
#

Type undefined | false | true

Default false

Inherited from IStockControlSettings

Keeps the control hidden, even when show() is called.

@since 5.8.5

icon
#

Type HTMLElement | SVGElement | "none"

Inherited from IStockControlSettings

Icon element of the button, or "none" for no icon. Each control has its own default icon.

id
#

Type undefined | string

Inherited from IEntitySettings

A unique ID for looking the element up in root.entitiesById. Setting an ID that another element already has throws an error.

ignoreThemes
#

Type undefined | false | true

Default false

Inherited from IEntitySettings

Ignores themes: no theme rule applies to the element, not even one of the default theme.

@since 5.15.6

items
#

Type Array

Items of the dropdown: strings, or objects with an id and a label.

maxSearchItems
#

Type undefined | number

Most results of searchCallback to show; the rest are cut off with a note.

name
#

Type undefined | string

Inherited from IStockControlSettings

Label text of the control's button.

scrollable
#

Type undefined | false | true

Limits the list's height to the chart's height minus 100 pixels, scrolling the rest.

searchCallback
#

Type undefined | ( query: string) => IDropdownListItem[]

Returns the items to show for a search query.

searchable
#

Type undefined | false | true

Shows a search field above the list. Typing filters the items or, with searchCallback, replaces them with its results.

stateAnimationDuration
#

Type undefined | number

Default 0

Inherited from IEntitySettings

How long, in milliseconds, a switch from one state to another animates.

0 switches at once.

stateAnimationEasing
#

Type $ease.Easing

Default out(cubic)

Inherited from IEntitySettings

Easing of the animated switch from one state to another.

stockChart
#

Type StockChart

Inherited from IStockControlSettings

The StockChart the control acts on.

themeTags
#

Type Array

Inherited from IEntitySettings

Tags 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.

Click here for more info

themeTagsSelf
#

Type Array

Inherited from IEntitySettings

Tags that theme rules can target, like themeTags, but only for this element, not its children.

Click here for more info

themes
#

Type Array

Inherited from IEntitySettings

Themes applied to the element and everything inside it.

togglable
#

Type undefined | false | true

Default true

Inherited from IStockControlSettings

A click on the button toggles active.

userData
#

Type any

Inherited from IEntitySettings

Any data of your own to keep with the element.

visible
#

Type undefined | false | true

Default true

Inherited from IStockControlSettings

Shows the control's button; false hides it.

There are 18 inherited items currently hidden from this list.

Private settings

These are read-only settings accessible from a DropdownListControl object using its getPrivate() method.

Read about private settings.

button
#

Read only

Type HTMLDivElement

Inherited from IStockControlPrivate

dropdown
#

Read only

Type DropdownList

icon
#

Read only

Type HTMLElement

Inherited from IStockControlPrivate

label
#

Read only

Type HTMLDivElement

Inherited from IStockControlPrivate

toolbar
#

Read only

Type StockToolbar

Inherited from IStockControlPrivate

There are 4 inherited items currently hidden from this list.

Properties

adapters
#

Type Adapters

Default new Adapters(this)

Inherited from Entity

className
#

Static

Type string

Default "DropdownListControl"

classNames
#

Static

Type Array

Default "DropdownListControl", "StockControl", "Entity"

enableDispose
#

Type boolean

Default true

Inherited from Settings

Set to false to make dispose() do nothing.

events
#

Type EventDispatcher

Default this._createEvents()

Inherited from Entity

root
#

Type Root

Inherited from Entity

The Root the object belongs to.

@readonly
@since 5.0.6

states
#

Type States

Default new States(this)

Inherited from Entity

template
#

Type Template | undefined

Inherited from Entity

A Template applied to the object. Its settings apply where the object has none set of its own.

uid
#

Type number

Default ++counter

Inherited from Settings

A unique number, given to each object as it is created.

There are 7 inherited items currently hidden from this list.

Methods

animate(

options: AnimationOptions

)

#

Returns Animation

Inherited from Settings

Animates a setting from its current value (or from) to to. The setting jumps to from at once. With duration 0, or no value to start from, it is set to to at once and the returned animation is already stopped.

Click here for more info

dispose()

#

Returns void

Inherited from Settings

Disposes the object, freeing everything it holds. A disposed object can't be used again.

get(

key: Key,
fallback: F

)

#

Returns NonNullable | F

Inherited from Entity

Returns the value of setting key, run through any adapters, or fallback if it is not set.

Click here for more info

getItemById(

id: string

)

#

Returns IDropdownListItem | string | undefined

Returns the item with an ID from items.

@since 5.9.0

has(

key: Key

)

#

Returns boolean

Inherited from Settings

Returns true if setting key is set.

Click here for more info

hide()

#

Returns void

Inherited from StockControl

Hides the control's button.

isAccessible()

#

Returns boolean

Inherited from StockControl

isDisposed()

#

Returns boolean

Inherited from Settings

Returns true if the object has been disposed.

isType(

type: string

)

#

Returns this

Inherited from Entity

Returns true if the object is of class type or extends it.

new(

root: Root,
settings: ITSettings,
template?: Template

)

#

Static

Returns T

Inherited from Entity

Creates an instance of the class. Use it instead of new Class().

Click here for more info

off(

key: Key,
callback?: undefined | ( value: [""], target: this, key: Key) => void

)

#

Returns void

Inherited from Settings

Removes a callback added with on(). Without callback, removes all of them for key.

Click here for more info
@since 5.9.2

offDebounced(

key: Key,
callback?: undefined | ( value: [""], target: this, key: Key) => void

)

#

Returns void

Inherited from Settings

Removes a callback added with onDebounced(). Without callback, removes all of them for key.

Click here for more info

offDebouncedPrivate(

key: Key,
callback?: undefined | ( value: [""], target: this, key: Key) => void

)

#

Returns void

Inherited from Settings

Removes a callback added with onPrivateDebounced(). Without callback, removes all of them for key.

Click here for more info

offPrivate(

key: Key,
callback?: undefined | ( value: [""], target: this, key: Key) => void

)

#

Returns void

Inherited from Settings

Removes a callback added with onPrivate(). Without callback, removes all of them for key.

Click here for more info
@since 5.9.2

on(

key: Key,
callback: ( value: [""], target: this, key: Key) => void

)

#

Returns IDisposer

Inherited from Settings

Calls callback each time the value of setting key changes or is removed. Setting the same value again does not call it.

Click here for more info

onDebounced(

key: Key,
callback: ( value: [""], target: this, key: Key) => void,
debounceDelay: number

)

#

Returns IDisposer

Inherited from Settings

Like on(), but waits until setting key has not changed for debounceDelay milliseconds, then calls callback once with the latest value.

Click here for more info

onPrivate(

key: Key,
callback: ( value: [""], target: this, key: Key) => void

)

#

Returns IDisposer

Inherited from Settings

Calls callback each time the value of private setting key changes.

Click here for more info

onPrivateDebounced(

key: Key,
callback: ( value: [""], target: this, key: Key) => void,
debounceDelay: number

)

#

Returns IDisposer

Inherited from Settings

Like onPrivate(), but waits until private setting key has not changed for debounceDelay milliseconds, then calls callback once with the latest value.

Click here for more info

once(

key: Key,
callback: ( value: [""], target: this, key: Key) => void

)

#

Returns IDisposer

Inherited from Settings

Like on(), but the callback is removed after it is called once.

Click here for more info
@since 5.20.4

onceDebounced(

key: Key,
callback: ( value: [""], target: this, key: Key) => void,
debounceDelay: number

)

#

Returns IDisposer

Inherited from Settings

Like onDebounced(), but the callback is removed after it is called once.

Click here for more info
@since 5.20.4

remove(

key: Key

)

#

Returns void

Inherited from Entity

Removes the value set for setting key. The setting goes back to the value from a theme or template, if one has it.

Click here for more info

removeAll()

#

Returns void

Inherited from Settings

Removes all settings, as remove() does for each one.

Click here for more info

set(

key: Key,
value: Value

)

#

Returns Value

Inherited from Entity

Sets setting key to value and returns value. A value set this way overrides themes and templates, and stops any animation of the setting.

Click here for more info

setAll(

settings: Partial

)

#

Returns void

Inherited from Settings

Sets several settings at once, from an object of key-value pairs.

Click here for more info

setItem(

item: string | IDropdownListItem

)

#

Returns void

Shows an item on the button as the selected one, unless fixedLabel is set. Does not dispatch selected.

setItemById(

id: string

)

#

Returns void

Selects an item by its ID: shows it on the button and dispatches selected.

@since 5.9.0

setTimeout(

fn: () => void,
delay: number

)

#

Returns IDisposer

Inherited from Entity

Calls fn after delay milliseconds, unless the object is disposed first. Disposing the returned disposer cancels it.

show()

#

Returns void

Inherited from StockControl

Shows the control's button, unless forceHidden is set.

There are 25 inherited items currently hidden from this list.

Events

Add event handlers to DropdownListControl object using its events.on() method.

Read about adding event handlers.

#click

Param { originalEvent: IPointerEvent,
  type: "click",
  target: this }

Inherited from IStockControlEvents

The control's button was clicked.

#selected

Param { item: string | IDropdownListItem,
  type: "selected",
  target: this }

An item was picked from the list, or selected with setItemById().

There is 1 inherited item currently hidden from this list.