UNPKG

highcharts

Version:
112 lines (111 loc) 2.98 kB
/* * * * (c) 2010-2021 Torstein Honsi * * License: www.highcharts.com/license * * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!! * * */ 'use strict'; import SeriesRegistry from '../Core/Series/SeriesRegistry.js'; var columnProto = SeriesRegistry.seriesTypes.column.prototype; import U from '../Core/Utilities.js'; var addEvent = U.addEvent, defined = U.defined; /* * * * Composition * * */ var ColorMapComposition; (function (ColorMapComposition) { /* * * * Declarations * * */ /* * * * Constants * * */ var composedClasses = []; ColorMapComposition.pointMembers = { dataLabelOnNull: true, moveToTopOnHover: true, isValid: pointIsValid }; ColorMapComposition.seriesMembers = { colorKey: 'value', axisTypes: ['xAxis', 'yAxis', 'colorAxis'], parallelArrays: ['x', 'y', 'value'], pointArrayMap: ['value'], trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'], colorAttribs: seriesColorAttribs, pointAttribs: columnProto.pointAttribs }; /* * * * Functions * * */ /** * @private */ function compose(SeriesClass) { var PointClass = SeriesClass.prototype.pointClass; if (composedClasses.indexOf(PointClass) === -1) { composedClasses.push(PointClass); addEvent(PointClass, 'afterSetState', onPointAfterSetState); } return SeriesClass; } ColorMapComposition.compose = compose; /** * Move points to the top of the z-index order when hovered. * @private */ function onPointAfterSetState(e) { var point = this; if (point.moveToTopOnHover && point.graphic) { point.graphic.attr({ zIndex: e && e.state === 'hover' ? 1 : 0 }); } } /** * Color points have a value option that determines whether or not it is * a null point * @private */ function pointIsValid() { return (this.value !== null && this.value !== Infinity && this.value !== -Infinity && // undefined is allowed, but NaN is not (#17279) (this.value === void 0 || !isNaN(this.value))); } /** * Get the color attibutes to apply on the graphic * @private * @function Highcharts.colorMapSeriesMixin.colorAttribs * @param {Highcharts.Point} point * @return {Highcharts.SVGAttributes} * The SVG attributes */ function seriesColorAttribs(point) { var ret = {}; if (defined(point.color) && (!point.state || point.state === 'normal') // #15746 ) { ret[this.colorProp || 'fill'] = point.color; } return ret; } })(ColorMapComposition || (ColorMapComposition = {})); /* * * * Default Export * * */ export default ColorMapComposition;