PieChart Class
The PieChart class creates a pie chart
Constructor
PieChart
()
Item Index
Methods
- _addAxes
- _addSeries
- _addTooltip
- _buildSeriesKeys
- _dataProviderChangeHandler
- _getAllKeys
- _getAriaMessage
- _getAxisClass
- _getDefaultAxes
- _getGraph
- _getSeriesCollection
- _getTooltip
- _groupMarkersChangeHandler
- _itemRendered
- _markerEventDispatcher
- _parseAxes
- _parseSeriesAxes
- _planarLabelFunction
- _positionTooltip
- _redraw
- _setAriaElements
- _setDataValues
- _setOffscreen
- _setText
- _showTooltip
- _sizeChanged
- _tooltipChangeHandler
- _tooltipLabelFunction
- _updateTooltip
- _wereSeriesKeysExplicitlySet
- bindUI
- destructor
- getAxisByKey
- getCategoryAxis
- getSeries
- getSeriesItem
- hideTooltip
- initializer
- renderUI
- syncUI
- toggleTooltip
Attributes
Methods
_addAxes
()
private
Adds axes to the chart.
_addSeries
()
private
Renders the Graph.
_addTooltip
()
private
Adds a tooltip to the dom.
_buildSeriesKeys
-
dataProvider
Constructs seriesKeys if not explicitly specified.
Parameters:
-
dataProvider
ArrayThe dataProvider for the chart.
Returns:
Array
_dataProviderChangeHandler
-
e
Event handler for dataProviderChange.
Parameters:
-
e
ObjectEvent object.
_getAllKeys
-
dp
Returns all the keys contained in a dataProvider
.
Parameters:
-
dp
ArrayCollection of objects to be parsed.
Returns:
Object
_getAriaMessage
-
key
Returns the appropriate message based on the key press.
Parameters:
-
key
NumberThe keycode that was pressed.
Returns:
String
_getAxisClass
-
t
Helper method that returns the axis class that a key references.
Parameters:
-
t
StringThe type of axis.
Returns:
Axis
_getDefaultAxes
()
private
Generates and returns a key-indexed object containing Axis
instances or objects used to create Axis
instances.
Returns:
Object
_getGraph
()
private
Default value function for the Graph
attribute.
Returns:
Graph
_getSeriesCollection
()
private
Calculates and returns a seriesCollection
.
Returns:
Array
_getTooltip
()
private
Default getter for tooltip
attribute.
Returns:
Object
_groupMarkersChangeHandler
-
e
Handles groupMarkers change event.
Parameters:
-
e
ObjectEvent object.
_markerEventDispatcher
-
e
Event handler for marker events.
Parameters:
-
e
ObjectEvent object.
_parseAxes
-
val
Creates Axis
instances.
Parameters:
-
val
ObjectObject containing
Axis
instances or objects in which to constructAxis
instances.
Returns:
Object
_parseSeriesAxes
-
c
Parse and sets the axes for the chart.
Parameters:
-
c
ArrayA collection
PieSeries
instance.
_planarLabelFunction
-
categoryAxis
-
valueItems
-
index
-
seriesArray
-
seriesIndex
Formats tooltip text when interactionType
is planar
.
Parameters:
-
categoryAxis
AxisReference to the categoryAxis of the chart.
-
valueItems
ArrayArray of objects for each series that has a data point in the coordinate plane of the event. Each object contains the following data:
- axis
- The value axis of the series.
- key
- The key for the series.
- value
- The value for the series item.
- displayName
- The display name of the series. (defaults to key if not provided)
-
index
NumberThe index of the item within its series.
-
seriesArray
ArrayArray of series instances for each value item.
-
seriesIndex
NumberThe index of the series in the
seriesCollection
.
Returns:
_redraw
()
private
Redraws the chart instance.
_setAriaElements
-
cb
Creates an aria live-region
, aria-label
and aria-describedby
for the Chart.
Parameters:
-
cb
NodeReference to the Chart's
contentBox
attribute.
_setDataValues
-
val
Setter method for dataProvider
attribute.
Parameters:
-
val
ArrayArray to be set as
dataProvider
.
Returns:
Array
_setOffscreen
()
private
Sets a node offscreen for use as aria-description or aria-live-regin.
Returns:
Node
_setText
-
label
-
val
Updates the content of text field. This method writes a value into a text field using
appendChild
. If the value is a String
, it is converted to a TextNode
first.
Parameters:
-
label
HTMLElementlabel to be updated
-
val
Stringvalue with which to update the label
_showTooltip
-
msg
-
x
-
y
Shows a tooltip
_tooltipChangeHandler
-
e
Event handler for the tooltipChange.
Parameters:
-
e
ObjectEvent object.
_tooltipLabelFunction
-
categoryItem
-
valueItem
-
itemIndex
-
series
Formats tooltip text for a pie chart.
Parameters:
-
categoryItem
ObjectAn object containing the following:
- axis
- The axis to which the category is bound.
- displayName
- The display name set to the category (defaults to key if not provided)
- key
- The key of the category.
- value
- The value of the category
-
valueItem
ObjectAn object containing the following:
- axis
- The axis to which the item's series is bound.
- displayName
- The display name of the series. (defaults to key if not provided)
- key
- The key for the series.
- value
- The value for the series item.
-
itemIndex
NumberThe index of the item within the series.
-
series
CartesianSeriesThe
PieSeries
instance of the item.
Returns:
_updateTooltip
-
val
Updates the tooltip attribute.
Parameters:
-
val
ObjectObject containing properties for the tooltip.
Returns:
Object
_wereSeriesKeysExplicitlySet
()
private
Utility method to determine if seriesKeys
was explicitly provided
(for example during construction, or set by the user), as opposed to
being derived from the dataProvider for example.
Returns:
boolean true if the seriesKeys
attribute was explicitly set.
bindUI
()
private
destructor
()
protected
Destructor implementation for the PieChart class.
getAxisByKey
-
val
Returns an Axis
instance by key reference. If the axis was explicitly set through the axes
attribute,
the key will be the same as the key used in the axes
object. For default axes, the key for
the category axis is the value of the categoryKey
(category
). For the value axis, the default
key is values
.
Parameters:
-
val
StringKey reference used to look up the axis.
Returns:
Axis
getCategoryAxis
()
Returns the category axis for the chart.
Returns:
Axis
getSeries
-
val
Returns a series instance by index or key value.
Parameters:
-
val
Object
Returns:
CartesianSeries
getSeriesItem
-
series
-
index
Returns an object literal containing a categoryItem and a valueItem for a given series index.
Parameters:
Returns:
Object
hideTooltip
()
Hides the default tooltip
initializer
()
private
renderUI
()
private
syncUI
()
private
toggleTooltip
-
e
Event listener for toggling the tooltip. If a tooltip is visible, hide it. If not, it will create and show a tooltip based on the event object.
Parameters:
-
e
ObjectEvent object.
Properties
_setSeriesCollection
Unknown
private
Setter method for seriesCollection
attribute.
Sub-properties:
-
val
ArrayArray of either
CartesianSeries
instances or objects containing series attribute key value pairs.
Attributes
ariaDescription
String
Sets the aria description for the chart.
Fires event ariaDescriptionChange
Fires when the value for the configuration attribute ariaDescription
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
ariaLabel
String
Sets the aria-label
for the chart.
Fires event ariaLabelChange
Fires when the value for the configuration attribute ariaLabel
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
axes
Object
Axes to appear in the chart.
Fires event axesChange
Fires when the value for the configuration attribute axes
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
axesCollection
Array
Reference to all the axes in the chart.
Fires event axesCollectionChange
Fires when the value for the configuration attribute axesCollection
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
categoryKey
String
The key value used for the chart's category axis.
Default: category
Fires event categoryKeyChange
Fires when the value for the configuration attribute categoryKey
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
categoryType
String
Indicates the type of axis to use for the category axis.
- category
- Specifies a
CategoryAxis
. - time
- Specifies a `TimeAxis
Default: category
Fires event categoryTypeChange
Fires when the value for the configuration attribute categoryType
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
dataProvider
Array
Data used to generate the chart.
Fires event dataProviderChange
Fires when the value for the configuration attribute dataProvider
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
graph
Graph
Reference to graph instance.
Fires event graphChange
Fires when the value for the configuration attribute graph
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
groupMarkers
Boolean
Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
Fires event groupMarkersChange
Fires when the value for the configuration attribute groupMarkers
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
interactionType
String
Indicates the the type of interactions that will fire events.
- marker
- Events will be broadcasted when the mouse interacts with individual markers.
- planar
- Events will be broadcasted when the mouse intersects the plane of any markers on the chart.
- none
- No events will be broadcasted.
Default: marker
Fires event interactionTypeChange
Fires when the value for the configuration attribute interactionType
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
seriesCollection
Array
Collection of series to appear on the chart. This can be an array of Series instances or object literals used to describe a Series instance.
Fires event seriesCollectionChange
Fires when the value for the configuration attribute seriesCollection
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
seriesKeys
Array
A collection of keys that map to the series axes. If no keys are set, they will be generated automatically depending on the data structure passed into the chart.
Fires event seriesKeysChange
Fires when the value for the configuration attribute seriesKeys
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
tooltip
Object
Reference to the default tooltip available for the chart.
Contains the following properties:
- node
- Reference to the actual dom node
- showEvent
- Event that should trigger the tooltip
- hideEvent
- Event that should trigger the removal of a tooltip (can be an event or an array of events)
- styles
- A hash of style properties that will be applied to the tooltip node
- show
- Indicates whether or not to show the tooltip
- markerEventHandler
- Displays and hides tooltip based on marker events
- planarEventHandler
- Displays and hides tooltip based on planar events
- markerLabelFunction
- Reference to the function used to format a marker event triggered tooltip's text.
The method contains the following arguments:
- categoryItem
- An object containing the following:
- axis
- The axis to which the category is bound.
- displayName
- The display name set to the category (defaults to key if not provided).
- key
- The key of the category.
- value
- The value of the category.
- valueItem
- An object containing the following:
- axis
- The axis to which the item's series is bound.
- displayName
- The display name of the series. (defaults to key if not provided)
- key
- The key for the series.
- value
- The value for the series item.
- itemIndex
- The index of the item within the series.
- series
- The
CartesianSeries
instance of the item. - seriesIndex
- The index of the series in the
seriesCollection
.
HTMLElement
which is written into the DOM usingappendChild
. If you override this method and choose to return an html string, you will also need to override the tooltip'ssetTextFunction
method to accept an html string. - planarLabelFunction
- Reference to the function used to format a planar event triggered tooltip's text
- categoryAxis
-
CategoryAxis
Reference to the categoryAxis of the chart. - valueItems
- Array of objects for each series that has a data point in the coordinate plane of the event. Each
object contains the following data:
- axis
- The value axis of the series.
- key
- The key for the series.
- value
- The value for the series item.
- displayName
- The display name of the series. (defaults to key if not provided)
- index
- The index of the item within its series.
- seriesArray
- Array of series instances for each value item.
- seriesIndex
- The index of the series in the
seriesCollection
.
HTMLElement
which is written into the DOM using appendChild
. If you override this method and choose
to return an html string, you will also need to override the tooltip's setTextFunction
method to accept an html string.
planarLabelFunction
or markerLabelFunction
into the
the tooltip node. Has the following signature:
- label
- The
HTMLElement
that the content is to be added. - val
- The content to be rendered into tooltip. This can be a
String
orHTMLElement
. If an HTML string is used, it will be rendered as a string.
Fires event tooltipChange
Fires when the value for the configuration attribute tooltip
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
type
String
Type of chart when there is no series collection specified.
Fires event typeChange
Fires when the value for the configuration attribute type
is
changed. You can listen for the event using the on
method if you
wish to be notified before the attribute's value has changed, or
using the after
method if you wish to be notified after the
attribute's value has changed.
Parameters:
-
e
EventFacadeAn Event Facade object with the following attribute-specific properties added:
Events
markerEvent:click
Broadcasts when interactionType
is set to marker
and a series marker has received a click event.
Event Payload:
-
e
EventFacadeEvent facade with the following additional properties:
- categoryItem
- Hash containing information about the category
Axis
. - valueItem
- Hash containing information about the value
Axis
. - node
- The dom node of the marker.
- x
- The x-coordinate of the mouse in relation to the Chart.
- y
- The y-coordinate of the mouse in relation to the Chart.
- pageX
- The x location of the event on the page (including scroll)
- pageY
- The y location of the event on the page (including scroll)
- series
- Reference to the series of the marker.
- index
- Index of the marker in the series.
- seriesIndex
- The
order
of the marker's series. - originEvent
- Underlying dom event.
markerEvent:mousedown
Broadcasts when interactionType
is set to marker
and a series marker has received a mousedown event.
Event Payload:
-
e
EventFacadeEvent facade with the following additional properties:
- categoryItem
- Hash containing information about the category
Axis
. - valueItem
- Hash containing information about the value
Axis
. - node
- The dom node of the marker.
- x
- The x-coordinate of the mouse in relation to the Chart.
- y
- The y-coordinate of the mouse in relation to the Chart.
- series
- Reference to the series of the marker.
- index
- Index of the marker in the series.
- seriesIndex
- The
order
of the marker's series.
markerEvent:mouseout
Broadcasts when interactionType
is set to marker
and a series marker has received a mouseout event.
Event Payload:
-
e
EventFacadeEvent facade with the following additional properties:
- categoryItem
- Hash containing information about the category
Axis
. - valueItem
- Hash containing information about the value
Axis
. - node
- The dom node of the marker.
- x
- The x-coordinate of the mouse in relation to the Chart.
- y
- The y-coordinate of the mouse in relation to the Chart.
- series
- Reference to the series of the marker.
- index
- Index of the marker in the series.
- seriesIndex
- The
order
of the marker's series.
markerEvent:mouseover
Broadcasts when interactionType
is set to marker
and a series marker has received a mouseover event.
Event Payload:
-
e
EventFacadeEvent facade with the following additional properties:
- categoryItem
- Hash containing information about the category
Axis
. - valueItem
- Hash containing information about the value
Axis
. - node
- The dom node of the marker.
- x
- The x-coordinate of the mouse in relation to the Chart.
- y
- The y-coordinate of the mouse in relation to the Chart.
- series
- Reference to the series of the marker.
- index
- Index of the marker in the series.
- seriesIndex
- The
order
of the marker's series.
markerEvent:mouseup
Broadcasts when interactionType
is set to marker
and a series marker has received a mouseup event.
Event Payload:
-
e
EventFacadeEvent facade with the following additional properties:
- categoryItem
- Hash containing information about the category
Axis
. - valueItem
- Hash containing information about the value
Axis
. - node
- The dom node of the marker.
- x
- The x-coordinate of the mouse in relation to the Chart.
- y
- The y-coordinate of the mouse in relation to the Chart.
- series
- Reference to the series of the marker.
- index
- Index of the marker in the series.
- seriesIndex
- The
order
of the marker's series.