Highcharts Stock Demo
author(s):
Torstein Hønsi
by Torstein Hønsi
HTML
<div id="container" style="height: 400px; min-width: 320px; max-width: 600px; margin: 0 auto"></div>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script src="https://code.highcharts.com/stock/modules/accessibility.js"></script>
JavaScript
(function (H) {
var U = H, addEvent = U.addEvent, defined = U.defined, pick = U.pick;
H._modules["Core/Axis/ScrollbarAxis.js"] = /** @class */ (function () {
function ScrollbarAxis() {
}
/**
* Attaches to axis events to create scrollbars if enabled.
*
* @private
*
* @param AxisClass
* Axis class to extend.
*
* @param ScrollbarClass
* Scrollbar class to use.
*/
ScrollbarAxis.compose = function (AxisClass, ScrollbarClass) {
if (ScrollbarAxis.composed.indexOf(AxisClass) === -1) {
ScrollbarAxis.composed.push(AxisClass);
}
else {
return AxisClass;
}
var getExtremes = function (axis) {
var axisMin = pick(axis.options && axis.options.min, axis.min);
var axisMax = pick(axis.options && axis.options.max, axis.max);
return {
axisMin: axisMin,
axisMax: axisMax,
scrollMin: defined(axis.dataMin) ?
Math.min(axisMin, axis.min, axis.dataMin, pick(axis.threshold, Infinity)) : axisMin,
scrollMax: defined(axis.dataMax) ?
Math.max(axisMax, axis.max, axis.dataMax, pick(axis.threshold, -Infinity)) : axisMax
};
};
// Wrap axis initialization and create scrollbar if enabled:
addEvent(AxisClass, 'afterInit', function () {
var axis = this;
if (axis.options &&
axis.options.scrollbar &&
axis.options.scrollbar.enabled) {
// Predefined options:
axis.options.scrollbar.vertical = !axis.horiz;
axis.options.startOnTick = axis.options.endOnTick = false;
axis.scrollbar = new ScrollbarClass(axis.chart.renderer, axis.options.scrollbar, axis.chart);
addEvent(axis.scrollbar, 'changed', function (e) {
var _a = getExtremes(axis), axisMin =...