Carga
Carga
This commit is contained in:
@@ -0,0 +1,114 @@
|
||||
/* *
|
||||
*
|
||||
* This module implements sunburst charts in Highcharts.
|
||||
*
|
||||
* (c) 2016-2021 Highsoft AS
|
||||
*
|
||||
* Authors: Jon Arild Nygard
|
||||
*
|
||||
* License: www.highcharts.com/license
|
||||
*
|
||||
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
||||
*
|
||||
* */
|
||||
'use strict';
|
||||
var __extends = (this && this.__extends) || (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
|
||||
var Point = SeriesRegistry.series.prototype.pointClass, TreemapPoint = SeriesRegistry.seriesTypes.treemap.prototype.pointClass;
|
||||
import U from '../../Core/Utilities.js';
|
||||
var correctFloat = U.correctFloat, extend = U.extend, wrap = U.wrap;
|
||||
/* *
|
||||
*
|
||||
* Class
|
||||
*
|
||||
* */
|
||||
var SunburstPoint = /** @class */ (function (_super) {
|
||||
__extends(SunburstPoint, _super);
|
||||
function SunburstPoint() {
|
||||
/* *
|
||||
*
|
||||
* Properties
|
||||
*
|
||||
* */
|
||||
var _this = _super !== null && _super.apply(this, arguments) || this;
|
||||
_this.node = void 0;
|
||||
_this.options = void 0;
|
||||
_this.series = void 0;
|
||||
_this.shapeExisting = void 0;
|
||||
return _this;
|
||||
/* eslint-enable valid-jsdoc */
|
||||
}
|
||||
/* *
|
||||
*
|
||||
* Functions
|
||||
*
|
||||
* */
|
||||
/* eslint-disable valid-jsdoc */
|
||||
SunburstPoint.prototype.getDataLabelPath = function (label) {
|
||||
var renderer = this.series.chart.renderer, shapeArgs = this.shapeExisting, start = shapeArgs.start, end = shapeArgs.end, angle = start + (end - start) / 2, // arc middle value
|
||||
upperHalf = angle < 0 &&
|
||||
angle > -Math.PI ||
|
||||
angle > Math.PI, r = (shapeArgs.r + (label.options.distance || 0)), moreThanHalf;
|
||||
// Check if point is a full circle
|
||||
if (start === -Math.PI / 2 &&
|
||||
correctFloat(end) === correctFloat(Math.PI * 1.5)) {
|
||||
start = -Math.PI + Math.PI / 360;
|
||||
end = -Math.PI / 360;
|
||||
upperHalf = true;
|
||||
}
|
||||
// Check if dataLabels should be render in the
|
||||
// upper half of the circle
|
||||
if (end - start > Math.PI) {
|
||||
upperHalf = false;
|
||||
moreThanHalf = true;
|
||||
}
|
||||
if (this.dataLabelPath) {
|
||||
this.dataLabelPath = this.dataLabelPath.destroy();
|
||||
}
|
||||
// All times
|
||||
this.dataLabelPath = renderer
|
||||
.arc({
|
||||
open: true,
|
||||
longArc: moreThanHalf ? 1 : 0
|
||||
})
|
||||
.attr({
|
||||
start: (upperHalf ? start : end),
|
||||
end: (upperHalf ? end : start),
|
||||
clockwise: +upperHalf,
|
||||
x: shapeArgs.x,
|
||||
y: shapeArgs.y,
|
||||
r: (r + shapeArgs.innerR) / 2
|
||||
})
|
||||
.add(renderer.defs);
|
||||
return this.dataLabelPath;
|
||||
};
|
||||
SunburstPoint.prototype.isValid = function () {
|
||||
return true;
|
||||
};
|
||||
return SunburstPoint;
|
||||
}(TreemapPoint));
|
||||
extend(SunburstPoint.prototype, {
|
||||
getClassName: Point.prototype.getClassName,
|
||||
haloPath: Point.prototype.haloPath,
|
||||
setState: Point.prototype.setState
|
||||
});
|
||||
/* *
|
||||
*
|
||||
* Defaul Export
|
||||
*
|
||||
* */
|
||||
export default SunburstPoint;
|
||||
Reference in New Issue
Block a user