customizeChartElement(customizeChartElementFunction: Function)
[starting from version: 2.8.8]
This API call allows customizing separate chart elements in Flexmonster Charts. For example, you can add custom attributes or set element colors. Learn more in this guide: Customizing the pivot charts.
customizeChartElement
can be defined in two ways:
pivot.customizeChartElement(customizeChartElementFunction)
.new Flexmonster({customizeChartElement: customizeChartElementFunction, ...})
.The customizeChartElementFunction
function. If set to null
, no customization is applied.
This function has the following signature: customizeChartElementFunction(element: HTMLElement | SVGElement, data: ChartDataObject | ChartLegendDataObject): Object
.
Data passed to the customizeChartElementFunction
:
Parameter/Type | Description |
---|---|
element HTMLElement | SVGElement | The object that contains the current representation of the chart element and through which the chart element representation can be customized. |
data ChartDataObject | ChartLegendDataObject | Contains information about the chart element. |
Highlighting chart elements containing info about a certain member regardless of their position:
function customizeChartElementFunction(element, data) { let newColor = "purple"; let memberToHighlight = "country.[united states]"; /* contains() is a function that checks whether a given member is present in rows or column */ if (contains(data, memberToHighlight)) { /* highlight the given member in rows or columns */ if (data.chartType == "pie") { if (element.querySelector('path')) { element.querySelector('path').style.fill = newColor; } } else { element.style.fill = newColor; } } /* change the legend item color for the given member */ if (data && data.type == 'legend') { if (data.member && data.member.uniqueName == memberToHighlight && !data.isExpanded) { element.querySelector(".fm-icon-display").style .backgroundColor = newColor; } /* isChild() is a function that checks whether the current member is a child of the given member */ if (data.tuple && isChild(data.tuple, data.member.uniqueName, memberToHighlight) && !data.isExpanded) { element.querySelector(".fm-icon-display").style .backgroundColor = newColor; } } }
Customizing the pivot charts
customizeCell()
customizeContextMenu()