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
- 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:
-
dataProviderArrayThe dataProvider for the chart.
Returns:
Array
_dataProviderChangeHandler
-
e
Event handler for dataProviderChange.
Parameters:
-
eObjectEvent object.
_getAllKeys
-
dp
Returns all the keys contained in a dataProvider.
Parameters:
-
dpArrayCollection of objects to be parsed.
Returns:
Object
_getAriaMessage
-
key
Returns the appropriate message based on the key press.
Parameters:
-
keyNumberThe keycode that was pressed.
Returns:
String
_getAxisClass
-
t
Helper method that returns the axis class that a key references.
Parameters:
-
tStringThe 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:
-
eObjectEvent object.
_markerEventDispatcher
-
e
Event handler for marker events.
Parameters:
-
eObjectEvent object.
_parseAxes
-
val
Creates Axis instances.
Parameters:
-
valObjectObject containing
Axisinstances or objects in which to constructAxisinstances.
Returns:
Object
_parseSeriesAxes
-
c
Parse and sets the axes for the chart.
Parameters:
-
cArrayA collection
PieSeriesinstance.
_planarLabelFunction
-
categoryAxis -
valueItems -
index -
seriesArray -
seriesIndex
Formats tooltip text when interactionType is planar.
Parameters:
-
categoryAxisAxisReference to the categoryAxis of the chart.
-
valueItemsArrayArray 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)
-
indexNumberThe index of the item within its series.
-
seriesArrayArrayArray of series instances for each value item.
-
seriesIndexNumberThe 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:
-
cbNodeReference to the Chart's
contentBoxattribute.
_setDataValues
-
val
Setter method for dataProvider attribute.
Parameters:
-
valArrayArray 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:
-
labelHTMLElementlabel to be updated
-
valStringvalue with which to update the label
_showTooltip
-
msg -
x -
y
Shows a tooltip
_tooltipChangeHandler
-
e
Event handler for the tooltipChange.
Parameters:
-
eObjectEvent object.
_tooltipLabelFunction
-
categoryItem -
valueItem -
itemIndex -
series
Formats tooltip text for a pie chart.
Parameters:
-
categoryItemObjectAn 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
-
valueItemObjectAn 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.
-
itemIndexNumberThe index of the item within the series.
-
seriesCartesianSeriesThe
PieSeriesinstance of the item.
Returns:
_updateTooltip
-
val
Updates the tooltip attribute.
Parameters:
-
valObjectObject 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
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:
-
valStringKey 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:
-
valObject
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:
-
eObjectEvent object.
Properties
_setSeriesCollection
Unknown
private
Setter method for seriesCollection attribute.
Sub-properties:
-
valArrayArray of either
CartesianSeriesinstances 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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
CartesianSeriesinstance of the item. - seriesIndex
- The index of the series in the
seriesCollection.
HTMLElementwhich 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'ssetTextFunctionmethod to accept an html string. - planarLabelFunction
- Reference to the function used to format a planar event triggered tooltip's text
- categoryAxis
-
CategoryAxisReference 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
HTMLElementthat the content is to be added. - val
- The content to be rendered into tooltip. This can be a
StringorHTMLElement. 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:
-
eEventFacadeAn 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:
-
eEventFacadeAn 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:
-
eEventFacadeEvent 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
orderof 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:
-
eEventFacadeEvent 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
orderof the marker's series.
markerEvent:mouseout
Broadcasts when interactionType is set to marker and a series marker has received a mouseout event.
Event Payload:
-
eEventFacadeEvent 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
orderof the marker's series.
markerEvent:mouseover
Broadcasts when interactionType is set to marker and a series marker has received a mouseover event.
Event Payload:
-
eEventFacadeEvent 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
orderof the marker's series.
markerEvent:mouseup
Broadcasts when interactionType is set to marker and a series marker has received a mouseup event.
Event Payload:
-
eEventFacadeEvent 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
orderof the marker's series.
