ChartSerializer
Type classSince 5.15.0
Serializes a whole chart, with its axes, series, data and legends, into a config that JsonParser builds the chart from again. Unlike Serializer, by default it writes states and adapters, keeps adapter callbacks as functions, and goes 10 levels deep.
More info: Chart Serializer
Sources
ChartSerializer can be used (imported) via one of the following packages.
// Import ChartSerializerimport * as am5plugins_json from "@amcharts/amcharts5/plugins/json";
// Create ChartSerializeram5plugins_json.ChartSerializer.new(root, { // ... config if applicable});<!-- Load ChartSerializer --><script src="plugins/json.js"></script>
<script>// Create ChartSerializeram5plugins_json.ChartSerializer.new(root, { // ... config if applicable});</script>Inheritance
ChartSerializer extends Serializer.
ChartSerializer is not extended by any other symbol.
Settings
Set these settings on a ChartSerializer object using its set() and setAll() methods. Read about settings concept.
includeRootType
undefined|false|trueDefaultfalseSince 5.20.2Adds a
rootsection with what was configured on theRoot, such as its settings, formatters and locale.removeEmptyObjectsType
undefined|false|trueDefaulttrueLeaves empty objects out of the output.
resourcesType
undefined|objectSince 5.21.4Objects to write out by name instead of copying them: geodata packs and locales, under the names
JsonParsergets them by in itsresources, e.g.{ am5geodata_worldLow }. Without them, only packs loaded as globals (the script version) are written as names.
18 inherited items
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" } ]);excludePropertiesType
ArrayInherited fromISerializerSettingsSince 5.3.2Properties to leave out of the output, e.g.
"data".excludeSettingsType
ArrayInherited fromISerializerSettingsSettings to leave out of the output. Ignored when
includeSettingsis set.fullSettingsType
ArrayInherited fromISerializerSettingsSince 5.7.0Settings whose plain-object values are written with all their keys.
In other settings, a plain object comes out empty.
functionsAsType
"string"|"function"Default"string"Inherited fromISerializerSettingsHow adapter callbacks are written (see
includeAdapters):"string"as their source code,"function"as the functions themselves, which JSON can't hold.ChartSerializeruses"function"unless set.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.
includeAdaptersType
undefined|false|trueDefaultfalseInherited fromISerializerSettingsSince 5.15.0Writes the elements' adapters.
includeSettingsType
ArrayInherited fromISerializerSettingsThe only settings to write; all others are left out.
includeStatesType
undefined|false|trueDefaultfalseInherited fromISerializerSettingsSince 5.15.0Writes the elements' states.
maxDepthType
undefined|numberDefault2Inherited fromISerializerSettingsHow many levels of nested objects to write; deeper ones are left out.
runningAnimationsType
undefined|false|trueDefaulttrueInherited fromISerializerSettingsSince 5.20.8Write an animation started in code that loops forever - a globe that keeps turning, a marker that keeps pulsing - into the
animationssetting, so the saved chart plays it too. Animations that end (appear(), state changes, zooming) are never written, and neither is one whose easing is a function of its own rather than one of amCharts' easings.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.
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
userDataType
anyInherited fromIEntitySettingsAny data of your own to keep with the element.
Private settings
These are read-only settings accessible from a ChartSerializer object using its getPrivate() method. Read about private settings.
ChartSerializer does not have any private settings.
Properties
classNameStaticType
stringDefault"ChartSerializer"classNamesStaticType
ArrayDefaultSerializer.classNames.concat([ChartSerializer.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
reset()Returns
voidClears what the serializer remembers from an earlier
serializeAll().Call it before serializing again with the same serializer.
serializeAll(source:Container)Returns
anySerializes a chart, or a container with charts, into a config object.
23 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
isDisposed()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
serialize(source:unknown,
depth:number,
full:boolean,
forceParse:boolean)Returns
unknownInherited fromSerializerSerializes an object into a plain object.
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.
Events
ChartSerializer does not have any events.