| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- /* *
- *
- * (c) 2010-2020 Torstein Honsi
- *
- * License: www.highcharts.com/license
- *
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
- *
- * */
- 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 (b.hasOwnProperty(p)) d[p] = b[p]; };
- return extendStatics(d, b);
- };
- return function (d, b) {
- extendStatics(d, b);
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- })();
- import Axis from './Axis.js';
- import U from '../Utilities.js';
- var addEvent = U.addEvent, merge = U.merge, pick = U.pick, splat = U.splat;
- /* eslint-disable valid-jsdoc */
- /**
- * 3D chart with support of z coordinates.
- * @private
- * @class
- */
- var ZChart = /** @class */ (function () {
- function ZChart() {
- }
- /* *
- *
- * Static Functions
- *
- * */
- ZChart.compose = function (ChartClass) {
- addEvent(ChartClass, 'afterGetAxes', ZChart.onAfterGetAxes);
- var chartProto = ChartClass.prototype;
- chartProto.addZAxis = ZChart.wrapAddZAxis;
- chartProto.collectionsWithInit.zAxis = [chartProto.addZAxis];
- chartProto.collectionsWithUpdate.push('zAxis');
- };
- /**
- * Get the Z axis in addition to the default X and Y.
- * @private
- */
- ZChart.onAfterGetAxes = function () {
- var chart = this;
- var options = this.options;
- var zAxisOptions = options.zAxis = splat(options.zAxis || {});
- if (!chart.is3d()) {
- return;
- }
- chart.zAxis = [];
- zAxisOptions.forEach(function (axisOptions, i) {
- axisOptions.index = i;
- // Z-Axis is shown horizontally, so it's kind of a X-Axis
- axisOptions.isX = true;
- chart
- .addZAxis(axisOptions)
- .setScale();
- });
- };
- /**
- * @private
- */
- ZChart.wrapAddZAxis = function (options) {
- return new ZAxis(this, options);
- };
- return ZChart;
- }());
- /**
- * 3D axis for z coordinates.
- */
- var ZAxis = /** @class */ (function (_super) {
- __extends(ZAxis, _super);
- /* *
- *
- * Constructors
- *
- * */
- function ZAxis(chart, userOptions) {
- var _this = _super.call(this, chart, userOptions) || this;
- _this.isZAxis = true;
- return _this;
- }
- /* *
- *
- * Functions
- *
- * */
- ZAxis.prototype.getSeriesExtremes = function () {
- var axis = this;
- var chart = axis.chart;
- axis.hasVisibleSeries = false;
- // Reset properties in case we're redrawing (#3353)
- axis.dataMin = axis.dataMax = axis.ignoreMinPadding = axis.ignoreMaxPadding = void 0;
- if (axis.stacking) {
- axis.stacking.buildStacks();
- }
- // loop through this axis' series
- axis.series.forEach(function (series) {
- if (series.visible ||
- !(chart.options.chart &&
- chart.options.chart.ignoreHiddenSeries)) {
- var seriesOptions = series.options, zData, threshold = seriesOptions.threshold;
- axis.hasVisibleSeries = true;
- // Validate threshold in logarithmic axes
- if (axis.positiveValuesOnly && threshold <= 0) {
- threshold = void 0;
- }
- zData = series.zData;
- if (zData.length) {
- axis.dataMin = Math.min(pick(axis.dataMin, zData[0]), Math.min.apply(null, zData));
- axis.dataMax = Math.max(pick(axis.dataMax, zData[0]), Math.max.apply(null, zData));
- }
- }
- });
- };
- /**
- * @private
- */
- ZAxis.prototype.setAxisSize = function () {
- var axis = this;
- var chart = axis.chart;
- _super.prototype.setAxisSize.call(this);
- axis.width = axis.len = (chart.options.chart &&
- chart.options.chart.options3d &&
- chart.options.chart.options3d.depth) || 0;
- axis.right = chart.chartWidth - axis.width - axis.left;
- };
- /**
- * @private
- */
- ZAxis.prototype.setOptions = function (userOptions) {
- userOptions = merge({
- offset: 0,
- lineWidth: 0
- }, userOptions);
- _super.prototype.setOptions.call(this, userOptions);
- this.coll = 'zAxis';
- };
- /* *
- *
- * Static Properties
- *
- * */
- ZAxis.ZChartComposition = ZChart;
- return ZAxis;
- }(Axis));
- export default ZAxis;
|