1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /* *
- * (c) 2010-2019 Torstein Honsi
- *
- * License: www.highcharts.com/license
- */
- /* ************************************************************************** *
- * Start PlotBand series code *
- * ************************************************************************** */
- /* This is an experiment of implementing plotBands and plotLines as a series.
- It could solve problems with export, updating etc., add tooltip and mouse
- events, and provide a more compact and consistent implementation.
- Demo: https://jsfiddle.net/highcharts/5Rbf6/ */
- 'use strict';
- import H from './Globals.js';
- import './Utilities.js';
- import './Series.js';
- import './Options.js';
- var seriesType = H.seriesType,
- Series = H.Series;
- seriesType('plotband', 'column', {
- lineWidth: 0,
- threshold: null
- }, {
- // mapping between SVG attributes and the corresponding options
- pointAttrToOptions: {
- fill: 'color',
- stroke: 'lineColor',
- 'stroke-width': 'lineWidth'
- },
- animate: function () {},
- translate: function () {
- var series = this,
- xAxis = series.xAxis,
- yAxis = series.yAxis;
- Series.prototype.translate.apply(series);
- series.points.forEach(function (point) {
- var onXAxis = point.onXAxis,
- ownAxis = onXAxis ? xAxis : yAxis,
- otherAxis = onXAxis ? yAxis : xAxis,
- from = ownAxis.toPixels(point.from, true),
- to = ownAxis.toPixels(point.to, true),
- start = Math.min(from, to),
- width = Math.abs(to - from);
- point.plotY = 1; // lure ColumnSeries.drawPoints
- point.shapeType = 'rect';
- point.shapeArgs = ownAxis.horiz ? {
- x: start,
- y: 0,
- width: width,
- height: otherAxis.len
- } : {
- x: 0,
- y: start,
- width: otherAxis.len,
- height: width
- };
- });
- }
- });
- /* ************************************************************************** *
- * End PlotBand series code *
- * ************************************************************************** */
|