DataSaveControl

Type class

A control that saves the chart's drawings and indicators to the browser's local storage, and restores them.

Click here for more info
@since 5.7.0

Sources

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

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

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

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

Inheritance

DataSaveControl extends DropdownListControl.

DataSaveControl is not extended by any other symbol.

Settings

Set these settings on a DataSaveControl 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

autoSave
#

Type undefined | false | true

Default false

Saves the chart's drawings and indicators to the browser's local storage whenever they change, and restores them on the next load.

currentItem
#

Type string | IDropdownListItem

Inherited from IDropdownListControlSettings

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[]

Inherited from IDropdownListControlSettings

IDs of items to leave out of the list.

@since 5.7.0

fixedLabel
#

Type undefined | false | true

Inherited from IDropdownListControlSettings

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

Inherited from IDropdownListControlSettings

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

maxSearchItems
#

Type undefined | number

Inherited from IDropdownListControlSettings

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

Inherited from IDropdownListControlSettings

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

searchCallback
#

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

Inherited from IDropdownListControlSettings

Returns the items to show for a search query.

searchable
#

Type undefined | false | true

Inherited from IDropdownListControlSettings

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.

storageId
#

Type undefined | string

Key for the data in local storage. If not set, the page URL plus the ID of the chart's container element is used.

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 26 inherited items currently hidden from this list.

Private settings

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

Read about private settings.

button
#

Read only

Type HTMLDivElement

Inherited from IStockControlPrivate

drawingControl
#

Read only

Type DrawingControl

dropdown
#

Read only

Type DropdownList

Inherited from IDropdownListControlPrivate

icon
#

Read only

Type HTMLElement

Inherited from IStockControlPrivate

indicatorControl
#

Read only

Type IndicatorControl

label
#

Read only

Type HTMLDivElement

Inherited from IStockControlPrivate

storageId
#

Read only

Type undefined | string

toolbar
#

Read only

Type StockToolbar

Inherited from IStockControlPrivate

There are 5 inherited items currently hidden from this list.

Properties

adapters
#

Type Adapters

Default new Adapters(this)

Inherited from Entity

className
#

Static

Type string

Default "DataSaveControl"

classNames
#

Static

Type Array

Default "DataSaveControl", "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

clearData()

#

Returns void

Removes the saved drawings and indicators from local storage.

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

Inherited from DropdownListControl

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

restoreData()

#

Returns void

Replaces the chart's drawings and indicators with the ones saved in local storage.

saveData()

#

Returns void

Saves the chart's drawings and indicators to local storage.

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

Inherited from DropdownListControl

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

setItemById(

id: string

)

#

Returns void

Inherited from DropdownListControl

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 28 inherited items currently hidden from this list.

Events

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

Read about adding event handlers.

#cleared

Param { type: "cleared",
  target: this }

The saved drawings and indicators were removed from local storage.

#click

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

Inherited from IStockControlEvents

The control's button was clicked.

#restored

Param { drawings: string,
  indicators: string,
  type: "restored",
  target: this }

Drawings and indicators were restored from local storage.

#saved

Param { drawings: string,
  indicators: string,
  type: "saved",
  target: this }

Drawings and indicators were saved to local storage. drawings and indicators hold them as JSON.

#selected

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

Inherited from IDropdownListControlEvents

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

There are 2 inherited items currently hidden from this list.