DataItem
Type class
DataItem represents single element in data, for example a data point in a Serial Chart Series, e.g. a column.
DataItem defines relationship between structured data, required for specific chart type or task, and raw source data.
It also implements required calculations, updates related visual elements, etc.
Sources
DataItem can be used (imported) via one of the following packages.
/** * Import from: "core.ts" * Use like: am4core.DataItem */import * as am4core from "@amcharts/amcharts4/core";/** * Include via: <script src="core.js"></script> * Access items like: am4core.DataItem */Inheritance
DataItem extends BaseObjectEvents.
DataItem is extended by LegendDataItem, ChartDataItem, SeriesDataItem, AxisDataItem, NavigationBarDataItem.
Properties
adapterType
Adapter<this,IDataItemAdapters>Holds Adapter.
animationsA list of
Animationsobjects currently mutating Data Item's values.categoriesType
objectAn object containing categories.
dataContextType
ObjectSets to a reference to an original object from Component's data.
A reference to an original object in Component's data, that this Data Item is derived from.
datesType
objectAn object containing dates.
depthType
numberDepth of the Data Item.
In nested data structures, like TreeMap, this indicates the level this data point is at, in relation to the parent Data Item.
hasPropertiesType
booleanDefaultfalseIndicates whether Data Item has any properties set.
If it does not have any, the code can use this property to check whether they need to apply costly operation of re-applying properties, whenever Data Item-related element is redrawn, e.g. series.
Type
booleanSets hidden flag for data item. Mostly used to initially hide data item.
Returns
trueif this Data Item is currently hidden.ignoreMinMaxType
booleanSets whether this data point should not be included in the scale and minimum/maximum calculations.
Exclude from min/max calculations?
E.g. some we may want to exclude a particular data point from influencing
ValueAxisscale.indexType
numberData Item's position index in Component's data.
isHidingType
booleanDefaultfalseIndicates whether Data Item is currently animiting from visible to hidden state.
isTemplateType
booleanDefaultfalseIdentifies if this object is a "template" and should not be treated as real object that is drawn or actually used in the chart.
locationsType
objectAn object containing locations for the Data Item.
A location is a position within date or category, or, in some other cases, where there is no single point but rather some period.
More info: Series: data item locations for info how data item locations work
opacityType
numberSets opacity for all Data Item's related elements (Sprites).
parentType
$type.Optional<this>When we are using a nested data structure, like for example in a TreeMap, this property points to a parent Data Item of this one.
propertiesType
objectAn object containing Data Item specific appearance properties in key-value pairs.
Sometimes a single Data Item needs to apply different properties than the rest of the data
Seriesit is part of. E.g. a single column, represented by a Data Item needs to be filled with a different color than the reset of theColumnSeriesit belongs to.That's where Data Item's
propertiescome into play.Please note that you should set Data Item-specific properties using
setProperty()method, rather than accesspropertiesobject directly.spritesType
Sprite[]Default[]A list of
Spriteelements that are associated with this Data Item.E.g. an
AxisData Item has several separate elements associated with it, likeAxisTick,AxisLabel, andGrid.Data Item keeps track of all of them, so it can toggle all related visual elements when it itself is toggled.
valuesType
objectAn object containing calculated values.
visibleType
booleanSets visibility of the Data Item.
Returns
trueif this Data Item is currently visible.workingLocationsType
objectCurrent working locations.
5 inherited items
clonedFromType
$type.Optional<this>Inherited fromBaseObjectReference to the original object this object was cloned from. We need to keep this so we can disassociate it from source object when this object is disposed.
configType
objectInherited fromBaseObjectUse this property to set JSON-based config. When set, triggers processing routine, which will go through all properties, and try to apply values, create instances, etc.
Use this with caution, as it is a time-consuming process. It's used for initialchart setup only, not routine operations.
eventsType
EventDispatcher<AMEvent<this,IBaseObjectEvents>>Inherited fromBaseObjectEventsAn
EventDispatcherinstanceidType
$type.Optional<string>Inherited fromBaseObjectSets the user-defined id of the element.
uidType
stringInherited fromBaseObjectReturns object's internal unique ID.
Methods
animate(animationOptions:IAnimationOptions[]|IAnimationOptions,
duration:number,
easing?: (value:number) =>number)Returns
AnimationCreates and starts an
Animationto interpolate (morph) Data Item's properties and/or values.More info:
Animationconstructor()Returns
DataItemConstructor
copyFrom(source:this)Returns
voidCopies all properties and related data from different data item.
dispose()Returns
voidDestroys this object and all related data.
getDate(name:string)Returns
DateReturns a Date value of the data field.
getDuration(duration?:number)Returns
$type.Optional<number>Returns a duration (ms) the Data Item should take to animate from one value to another.
If the duration is not specified via parameter, this method will try to request a default duration from the related
Component.getValue(name:string,
calculated?:CalculatedValue)Returns
$type.Optional<number>Returns a numeric value for specific data field.
If
calculatedis not set, it will return a raw value, as it is in source data.If
calculatedis set, it will return a pre-calculated specific value.getWorkingValue(name:string)Returns
$type.Optional<number>Returns a current working value for a specific data field.
The actual value may differ from the one returned by
getValue(). The latter returns static values from the data source.getWorkingValue()returns current value, which is usually different if Data Item is animating from one state to another.hide(duration?:number,
delay?:number,
toValue?:number,
fields?:string[])Returns
$type.Optional<Animation>Hides the Data Item and related visual elements.
setCalculatedValue(name:string,
value:number,
calculated:CalculatedValue)Returns
voidsetCategory(name:string,
value:string)Returns
voidSets a related category for this Data Item.
setDate(name:string,
date:Date,
duration?:number)Returns
voidSets Date value to a data field.
setLocation(name:string,
value:number,
duration?:number,
delay?:number)Returns
voidSets a relative location for a data field.
A location is always relative on a 0 to 1 scale, with 0 being beginning, 0.5 middle and 1 end.
setProperty(name:string,
value:any)Returns
voidSets a Data Item-specific visual properties to apply to related elements.
setValue(name:string,
value:number,
duration?:number,
delay?:number)Returns
voidSets a numeric value for specific data field.
setVisibility(value:boolean,
noChangeValues?:boolean)Returns
voidSets visibility of the Data Item.
setWorkingLocation(name:string,
value:number,
duration?:number,
delay?:number)Returns
$type.Optional<Animation>Sets a current working location for a data field.
setWorkingValue(name:string,
value:number,
duration?:number,
delay?:number)Returns
$type.Optional<Animation>Set current working numeric value for a specific data field.
show(duration?:number,
delay?:number,
fields?:string[])Returns
$type.Optional<Animation>Shows the Data Item and related visual elements.
5 inherited items
clone(cloneId?:string)Returns
thisInherited fromBaseObjectMakes a copy of this object and returns the clone. Try to avoid cloning complex objects like chart, create new instances if you need them.
dispatch(eventType:Key,
data?:any)Returns
voidInherited fromBaseObjectEventsDispatches an event using own event dispatcher. Will automatically populate event data object with event type and target (this element).
It also checks if there are any handlers registered for this sepecific event.
dispatchImmediately(eventType:Key,
data?:any)Returns
voidInherited fromBaseObjectEventsWorks like
dispatch, except event is triggered immediately, without waiting for the next frame cycle.getCurrentThemes()Returns
ITheme[]Inherited fromBaseObjectReturns a list of themes that should be applied to this element. It could either be a list of themes set explicitly on this element, or system-wide.
isDisposed()Returns
booleanInherited fromBaseObjectReturns if this object has been already been disposed.
Events
calculatedvaluechangedParam { type:
"calculatedvaluechanged", target:DataItem, property:string}Invoked when the calculated value has changed
locationchangedParam { type:
"locationchanged", target:DataItem, property:string}Invoked when the location of Data Item changes
propertychangedParam { type:
"propertychanged", target:DataItem, property:string, value:any}Invoked when a property of the Data Item changes
valuechangedParam { type:
"valuechanged", target:DataItem, property:string}Invoked when the value is changed
visibilitychangedParam { type:
"visibilitychanged", target:DataItem, visible:boolean}Invoked when the visibility of the Data Item changes, i.e. Series is hidden
workinglocationchangedParam { type:
"workinglocationchanged", target:DataItem, property:string}Invoked when working location of Data Item changes
workingvaluechangedParam { type:
"workingvaluechanged", target:DataItem, property:string}Invoked when the internal/intermediate value has changed
Adapters
dateParam { date:
Date, field:string}durationParam
numbervalueParam { field:
string, value:number}workingValueParam { field:
string, workingValue:number}