highcharts 7.1.1 → 7.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/annotations/popup.css +3 -3
- package/css/annotations/popup.scss +1 -1
- package/css/stocktools/gui.css +5 -5
- package/css/stocktools/gui.scss +1 -1
- package/es-modules/annotations/ControlPoint.js +1 -1
- package/es-modules/annotations/MockPoint.js +45 -12
- package/es-modules/annotations/annotations.src.js +203 -166
- package/es-modules/annotations/controllable/ControllableCircle.js +2 -10
- package/es-modules/annotations/controllable/ControllableImage.js +2 -10
- package/es-modules/annotations/controllable/ControllableLabel.js +54 -9
- package/es-modules/annotations/controllable/ControllableRect.js +2 -10
- package/es-modules/annotations/controllable/controllableMixin.js +32 -4
- package/es-modules/annotations/controllable/markerMixin.js +1 -0
- package/es-modules/annotations/eventEmitterMixin.js +1 -0
- package/es-modules/annotations/navigationBindings.js +15 -11
- package/es-modules/annotations/popup.js +59 -81
- package/es-modules/annotations/types/CrookedLine.js +19 -7
- package/es-modules/annotations/types/ElliottWave.js +7 -6
- package/es-modules/annotations/types/Fibonacci.js +14 -14
- package/es-modules/annotations/types/InfinityLine.js +4 -4
- package/es-modules/annotations/types/Measure.js +41 -41
- package/es-modules/annotations/types/Pitchfork.js +5 -4
- package/es-modules/annotations/types/VerticalLine.js +6 -5
- package/es-modules/error-messages.js +6 -1
- package/es-modules/indicators/indicators.src.js +5 -3
- package/es-modules/mixins/nodes.js +16 -8
- package/es-modules/modules/accessibility/AccessibilityComponent.js +4 -4
- package/es-modules/modules/accessibility/KeyboardNavigation.js +17 -4
- package/es-modules/modules/accessibility/components/RangeSelectorComponent.js +3 -2
- package/es-modules/modules/accessibility/components/SeriesComponent.js +110 -2
- package/es-modules/modules/accessibility/components/ZoomComponent.js +1 -1
- package/es-modules/modules/accessibility/options.js +2 -1
- package/es-modules/modules/bellcurve.src.js +27 -29
- package/es-modules/modules/boost/boost-init.js +14 -0
- package/es-modules/modules/boost/boost-overrides.js +13 -3
- package/es-modules/modules/boost/wgl-renderer.js +30 -15
- package/es-modules/modules/boost/wgl-shader.js +33 -16
- package/es-modules/modules/boost/wgl-vbuffer.js +8 -4
- package/es-modules/modules/broken-axis.src.js +1 -1
- package/es-modules/modules/bullet.src.js +68 -68
- package/es-modules/modules/cylinder.src.js +3 -1
- package/es-modules/modules/data.src.js +9 -5
- package/es-modules/modules/draggable-points.src.js +1 -1
- package/es-modules/modules/drilldown.src.js +1 -1
- package/es-modules/modules/export-data.src.js +7 -8
- package/es-modules/modules/exporting.src.js +9 -1
- package/es-modules/modules/full-screen.src.js +1 -1
- package/es-modules/modules/funnel3d.src.js +10 -3
- package/es-modules/modules/histogram.src.js +162 -164
- package/es-modules/modules/item-series.src.js +10 -10
- package/es-modules/modules/networkgraph/layouts.js +16 -12
- package/es-modules/modules/networkgraph/networkgraph.src.js +147 -51
- package/es-modules/modules/offline-exporting.src.js +15 -2
- package/es-modules/modules/oldie-polyfills.src.js +1 -1
- package/es-modules/modules/organization.src.js +65 -20
- package/es-modules/modules/pareto.src.js +52 -51
- package/es-modules/modules/pattern-fill.src.js +1 -1
- package/es-modules/modules/price-indicator.src.js +1 -1
- package/es-modules/modules/pyramid3d.src.js +1 -1
- package/es-modules/modules/sankey.src.js +22 -10
- package/es-modules/modules/series-label.src.js +16 -8
- package/es-modules/modules/solid-gauge.src.js +128 -79
- package/es-modules/modules/static-scale.src.js +8 -1
- package/es-modules/modules/stock-tools-gui.js +1 -1
- package/es-modules/modules/streamgraph.src.js +11 -11
- package/es-modules/modules/sunburst.src.js +23 -2
- package/es-modules/modules/tilemap.src.js +58 -57
- package/es-modules/modules/timeline.src.js +17 -12
- package/es-modules/modules/treemap.src.js +6 -6
- package/es-modules/modules/variwide.src.js +39 -39
- package/es-modules/modules/vector.src.js +108 -107
- package/es-modules/modules/venn.src.js +4 -2
- package/es-modules/modules/windbarb.src.js +43 -43
- package/es-modules/modules/wordcloud.src.js +1 -0
- package/es-modules/modules/xrange.src.js +112 -104
- package/es-modules/parts/AreaSeries.js +4 -1
- package/es-modules/parts/Axis.js +809 -1870
- package/es-modules/parts/Chart.js +254 -743
- package/es-modules/parts/Color.js +160 -113
- package/es-modules/parts/ColumnSeries.js +9 -3
- package/es-modules/parts/DataLabels.js +31 -2
- package/es-modules/parts/Dynamics.js +73 -26
- package/es-modules/parts/FlagsSeries.js +6 -4
- package/es-modules/parts/Globals.js +20 -36
- package/es-modules/parts/Html.js +116 -235
- package/es-modules/parts/Interaction.js +17 -7
- package/es-modules/parts/Legend.js +277 -632
- package/es-modules/parts/MSPointer.js +62 -106
- package/es-modules/parts/Options.js +128 -367
- package/es-modules/parts/OrdinalAxis.js +12 -0
- package/es-modules/parts/PieSeries.js +61 -44
- package/es-modules/parts/PlotLineOrBand.js +38 -3
- package/es-modules/parts/Point.js +117 -227
- package/es-modules/parts/Pointer.js +273 -558
- package/es-modules/parts/RangeSelector.js +5 -3
- package/es-modules/parts/Responsive.js +8 -4
- package/es-modules/parts/ScrollablePlotArea.js +215 -81
- package/es-modules/parts/Scrollbar.js +38 -23
- package/es-modules/parts/Series.js +151 -47
- package/es-modules/parts/Stacking.js +8 -3
- package/es-modules/parts/StockChart.js +42 -29
- package/es-modules/parts/SvgRenderer.js +1080 -2100
- package/es-modules/parts/Tick.js +11 -4
- package/es-modules/parts/Time.js +179 -363
- package/es-modules/parts/Tooltip.js +23 -12
- package/es-modules/parts/TouchPointer.js +69 -187
- package/es-modules/parts/Utilities.js +593 -846
- package/es-modules/parts-3d/Axis.js +2 -2
- package/es-modules/parts-3d/Column.js +18 -8
- package/es-modules/parts-gantt/GanttSeries.js +17 -21
- package/es-modules/parts-gantt/GridAxis.js +183 -101
- package/es-modules/parts-gantt/PathfinderAlgorithms.js +2 -2
- package/es-modules/parts-gantt/TreeGrid.js +53 -36
- package/es-modules/parts-map/ColorAxis.js +35 -14
- package/es-modules/parts-map/MapBubbleSeries.js +2 -1
- package/es-modules/parts-map/MapSeries.js +29 -18
- package/es-modules/parts-more/AreaRangeSeries.js +13 -12
- package/es-modules/parts-more/ColumnRangeSeries.js +8 -2
- package/es-modules/parts-more/GaugeSeries.js +9 -9
- package/es-modules/parts-more/PackedBubbleSeries.js +152 -115
- package/es-modules/parts-more/RadialAxis.js +102 -8
- package/es-modules/parts-more/WaterfallSeries.js +148 -35
- package/highcharts-3d.js +68 -67
- package/highcharts-3d.js.map +1 -1
- package/highcharts-3d.src.js +21 -11
- package/highcharts-gantt.d.ts +5 -3
- package/highcharts-gantt.js +618 -610
- package/highcharts-gantt.js.map +1 -1
- package/highcharts-gantt.src.d.ts +5 -3
- package/highcharts-gantt.src.js +5185 -8892
- package/highcharts-more.js +144 -140
- package/highcharts-more.js.map +1 -1
- package/highcharts-more.src.js +449 -194
- package/highcharts.d.ts +3943 -5236
- package/highcharts.js +454 -449
- package/highcharts.js.map +1 -1
- package/highcharts.src.d.ts +3943 -5236
- package/highcharts.src.js +4767 -8601
- package/highmaps.d.ts +5 -3
- package/highmaps.js +498 -494
- package/highmaps.js.map +1 -1
- package/highmaps.src.d.ts +5 -3
- package/highmaps.src.js +4547 -8507
- package/highstock.d.ts +5 -3
- package/highstock.js +597 -590
- package/highstock.js.map +1 -1
- package/highstock.src.d.ts +5 -3
- package/highstock.src.js +4871 -8661
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.src.js +1 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +1 -1
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +105 -105
- package/indicators/indicators-all.js.map +1 -1
- package/indicators/indicators-all.src.js +6 -4
- package/indicators/indicators.js +9 -9
- package/indicators/indicators.js.map +1 -1
- package/indicators/indicators.src.js +6 -4
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +92 -89
- package/modules/accessibility.js.map +1 -1
- package/modules/accessibility.src.js +138 -15
- package/modules/annotations-advanced.js +128 -127
- package/modules/annotations-advanced.js.map +1 -1
- package/modules/annotations-advanced.src.js +514 -396
- package/modules/annotations.d.ts +36 -0
- package/modules/annotations.js +81 -81
- package/modules/annotations.js.map +1 -1
- package/modules/annotations.src.d.ts +36 -0
- package/modules/annotations.src.js +418 -315
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +1 -1
- package/modules/boost-canvas.src.js +1 -1
- package/modules/boost.js +63 -63
- package/modules/boost.js.map +1 -1
- package/modules/boost.src.js +99 -39
- package/modules/broken-axis.js +1 -1
- package/modules/broken-axis.src.js +2 -2
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +69 -69
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.js.map +1 -1
- package/modules/cylinder.src.js +4 -2
- package/modules/data.js +4 -4
- package/modules/data.js.map +1 -1
- package/modules/data.src.js +10 -6
- package/modules/datagrouping.js +1 -1
- package/modules/datagrouping.src.js +1 -1
- package/modules/debugger.js +4 -4
- package/modules/debugger.js.map +1 -1
- package/modules/debugger.src.js +7 -2
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +2 -2
- package/modules/drilldown.js +1 -1
- package/modules/drilldown.src.js +2 -2
- package/modules/export-data.js +2 -2
- package/modules/export-data.js.map +1 -1
- package/modules/export-data.src.js +8 -9
- package/modules/exporting.js +25 -25
- package/modules/exporting.js.map +1 -1
- package/modules/exporting.src.js +11 -3
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +2 -2
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +1 -1
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.js.map +1 -1
- package/modules/funnel3d.src.js +11 -4
- package/modules/gantt.js +166 -164
- package/modules/gantt.js.map +1 -1
- package/modules/gantt.src.js +422 -295
- package/modules/grid-axis.js +18 -16
- package/modules/grid-axis.js.map +1 -1
- package/modules/grid-axis.src.js +184 -102
- package/modules/heatmap.js +22 -22
- package/modules/heatmap.js.map +1 -1
- package/modules/heatmap.src.js +36 -15
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.js.map +1 -1
- package/modules/histogram-bellcurve.src.js +186 -183
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +11 -11
- package/modules/map-parser.js +1 -1
- package/modules/map-parser.src.js +1 -1
- package/modules/map.js +83 -83
- package/modules/map.js.map +1 -1
- package/modules/map.src.js +67 -34
- package/modules/networkgraph.js +10 -9
- package/modules/networkgraph.js.map +1 -1
- package/modules/networkgraph.src.js +180 -72
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/offline-exporting.js +15 -15
- package/modules/offline-exporting.js.map +1 -1
- package/modules/offline-exporting.src.js +17 -4
- package/modules/oldie-polyfills.js +1 -1
- package/modules/oldie-polyfills.src.js +2 -2
- package/modules/oldie.js +2 -2
- package/modules/oldie.src.js +2 -2
- package/modules/organization.js +1 -1
- package/modules/organization.js.map +1 -1
- package/modules/organization.src.js +66 -21
- package/modules/overlapping-datalabels.js +1 -1
- package/modules/overlapping-datalabels.src.js +1 -1
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +1 -1
- package/modules/pareto.js.map +1 -1
- package/modules/pareto.src.js +53 -52
- package/modules/pathfinder.js +3 -3
- package/modules/pathfinder.js.map +1 -1
- package/modules/pathfinder.src.js +3 -3
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +2 -2
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +2 -2
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +2 -2
- package/modules/sankey.js +14 -14
- package/modules/sankey.js.map +1 -1
- package/modules/sankey.src.js +39 -19
- package/modules/series-label.js +16 -16
- package/modules/series-label.js.map +1 -1
- package/modules/series-label.src.js +17 -9
- package/modules/solid-gauge.js +5 -5
- package/modules/solid-gauge.js.map +1 -1
- package/modules/solid-gauge.src.js +129 -80
- package/modules/sonification.js +1 -1
- package/modules/sonification.src.js +1 -1
- package/modules/static-scale.js +4 -4
- package/modules/static-scale.js.map +1 -1
- package/modules/static-scale.src.js +9 -2
- package/modules/stock-tools.js +2 -2
- package/modules/stock-tools.src.js +3 -3
- package/modules/stock.js +146 -145
- package/modules/stock.js.map +1 -1
- package/modules/stock.src.js +105 -61
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +12 -12
- package/modules/sunburst.js +40 -40
- package/modules/sunburst.js.map +1 -1
- package/modules/sunburst.src.js +30 -9
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.js.map +1 -1
- package/modules/tilemap.src.js +59 -58
- package/modules/timeline.js +12 -11
- package/modules/timeline.js.map +1 -1
- package/modules/timeline.src.js +18 -13
- package/modules/treegrid.js +45 -43
- package/modules/treegrid.js.map +1 -1
- package/modules/treegrid.src.js +238 -139
- package/modules/treemap.js +1 -1
- package/modules/treemap.src.js +7 -7
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +1 -1
- package/modules/variwide.src.js +40 -40
- package/modules/vector.js +1 -1
- package/modules/vector.js.map +1 -1
- package/modules/vector.src.js +109 -108
- package/modules/venn.js +23 -23
- package/modules/venn.js.map +1 -1
- package/modules/venn.src.js +5 -3
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +44 -44
- package/modules/wordcloud.js +10 -10
- package/modules/wordcloud.js.map +1 -1
- package/modules/wordcloud.src.js +2 -1
- package/modules/xrange.js +12 -12
- package/modules/xrange.js.map +1 -1
- package/modules/xrange.src.js +113 -105
- package/package.json +1 -1
- package/themes/avocado.js +21 -37
- package/themes/avocado.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +21 -37
- package/themes/sunset.src.js +1 -1
- package/.DS_Store +0 -0
- package/es-modules/.DS_Store +0 -0
- package/es-modules/modules/annotations-legacy.src.js +0 -1977
- package/js/.DS_Store +0 -0
|
@@ -1232,13 +1232,15 @@ RangeSelector.prototype = {
|
|
|
1232
1232
|
};
|
|
1233
1233
|
// Hide away the input box
|
|
1234
1234
|
input.onblur = function () {
|
|
1235
|
+
// update extermes only when inputs are active
|
|
1235
1236
|
if (input === H.doc.activeElement) { // Only when focused
|
|
1236
1237
|
// Update also when no `change` event is triggered, like when
|
|
1237
1238
|
// clicking inside the SVG (#4710)
|
|
1238
1239
|
updateExtremes();
|
|
1239
|
-
rangeSelector.hideInput(name);
|
|
1240
|
-
input.blur(); // #4606
|
|
1241
1240
|
}
|
|
1241
|
+
// #10404 - move hide and blur outside focus
|
|
1242
|
+
rangeSelector.hideInput(name);
|
|
1243
|
+
input.blur(); // #4606
|
|
1242
1244
|
};
|
|
1243
1245
|
|
|
1244
1246
|
// handle changes in the input boxes
|
|
@@ -1818,7 +1820,7 @@ Axis.prototype.minFromRange = function () {
|
|
|
1818
1820
|
time.set(timeName, date, basePeriod + count);
|
|
1819
1821
|
|
|
1820
1822
|
if (basePeriod === time.get(timeName, date)) {
|
|
1821
|
-
|
|
1823
|
+
time.set('Date', date, 0); // #6537
|
|
1822
1824
|
}
|
|
1823
1825
|
|
|
1824
1826
|
return date.getTime() - base;
|
|
@@ -190,7 +190,7 @@ Chart.prototype.setResponsive = function (redraw, reset) {
|
|
|
190
190
|
// Undo previous rules. Before we apply a new set of rules, we need to
|
|
191
191
|
// roll back completely to base options (#6291).
|
|
192
192
|
if (currentResponsive) {
|
|
193
|
-
this.update(currentResponsive.undoOptions, redraw);
|
|
193
|
+
this.update(currentResponsive.undoOptions, redraw, true);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
if (ruleIds) {
|
|
@@ -203,7 +203,7 @@ Chart.prototype.setResponsive = function (redraw, reset) {
|
|
|
203
203
|
undoOptions: undoOptions
|
|
204
204
|
};
|
|
205
205
|
|
|
206
|
-
this.update(mergedOptions, redraw);
|
|
206
|
+
this.update(mergedOptions, redraw, true);
|
|
207
207
|
|
|
208
208
|
} else {
|
|
209
209
|
this.currentResponsive = undefined;
|
|
@@ -253,7 +253,8 @@ Chart.prototype.matchResponsiveRule = function (rule, matches) {
|
|
|
253
253
|
*/
|
|
254
254
|
Chart.prototype.currentOptions = function (options) {
|
|
255
255
|
|
|
256
|
-
var
|
|
256
|
+
var chart = this,
|
|
257
|
+
ret = {};
|
|
257
258
|
|
|
258
259
|
/**
|
|
259
260
|
* Recurse over a set of options and its current values,
|
|
@@ -263,7 +264,10 @@ Chart.prototype.currentOptions = function (options) {
|
|
|
263
264
|
var i;
|
|
264
265
|
|
|
265
266
|
H.objectEach(options, function (val, key) {
|
|
266
|
-
if (
|
|
267
|
+
if (
|
|
268
|
+
!depth &&
|
|
269
|
+
chart.collectionsWithUpdate.indexOf(key) > -1
|
|
270
|
+
) {
|
|
267
271
|
val = splat(val);
|
|
268
272
|
|
|
269
273
|
ret[key] = [];
|
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
* horizontally on mobile devices. Supports left and right side axes.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
/*
|
|
11
|
+
WIP on vertical scrollable plot area (#9378). To do:
|
|
12
|
+
- Bottom axis positioning
|
|
13
|
+
- Test with Gantt
|
|
14
|
+
- Look for size optimizing the code
|
|
15
|
+
- API and demos
|
|
16
|
+
*/
|
|
17
|
+
|
|
10
18
|
'use strict';
|
|
11
19
|
|
|
12
20
|
import H from './Globals.js';
|
|
@@ -15,20 +23,36 @@ var addEvent = H.addEvent,
|
|
|
15
23
|
Chart = H.Chart;
|
|
16
24
|
|
|
17
25
|
/**
|
|
18
|
-
* Options for a scrollable plot area. This feature provides a minimum
|
|
19
|
-
* the plot area of the chart. If the
|
|
20
|
-
* on mobile devices, a native browser scrollbar is presented
|
|
21
|
-
*
|
|
22
|
-
*
|
|
26
|
+
* Options for a scrollable plot area. This feature provides a minimum size for
|
|
27
|
+
* the plot area of the chart. If the size gets smaller than this, typically
|
|
28
|
+
* on mobile devices, a native browser scrollbar is presented. This scrollbar
|
|
29
|
+
* provides smooth scrolling for the contents of the plot area, whereas the
|
|
30
|
+
* title, legend and unaffected axes are fixed.
|
|
31
|
+
*
|
|
32
|
+
* Since v7.1.2, a scrollable plot area can be defined for either horizontal or
|
|
33
|
+
* vertical scrolling, depending on whether the `minWidth` or `minHeight`
|
|
34
|
+
* option is set.
|
|
23
35
|
*
|
|
24
|
-
* @sample
|
|
36
|
+
* @sample highcharts/chart/scrollable-plotarea
|
|
25
37
|
* Scrollable plot area
|
|
38
|
+
* @sample highcharts/chart/scrollable-plotarea-vertical
|
|
39
|
+
* Vertically scrollable plot area
|
|
40
|
+
* @sample {gantt} highcharts/chart/scrollable-plotarea-vertical
|
|
41
|
+
* Gantt chart with vertically scrollable plot area
|
|
26
42
|
*
|
|
27
43
|
* @since 6.1.0
|
|
28
44
|
* @product highcharts gantt
|
|
29
45
|
* @apioption chart.scrollablePlotArea
|
|
30
46
|
*/
|
|
31
47
|
|
|
48
|
+
/**
|
|
49
|
+
* The minimum height for the plot area. If it gets smaller than this, the plot
|
|
50
|
+
* area will become scrollable.
|
|
51
|
+
*
|
|
52
|
+
* @type {number}
|
|
53
|
+
* @apioption chart.scrollablePlotArea.minHeight
|
|
54
|
+
*/
|
|
55
|
+
|
|
32
56
|
/**
|
|
33
57
|
* The minimum width for the plot area. If it gets smaller than this, the plot
|
|
34
58
|
* area will become scrollable.
|
|
@@ -46,6 +70,14 @@ var addEvent = H.addEvent,
|
|
|
46
70
|
* @apioption chart.scrollablePlotArea.scrollPositionX
|
|
47
71
|
*/
|
|
48
72
|
|
|
73
|
+
/**
|
|
74
|
+
* The initial scrolling position of the scrollable plot area. Ranges from 0 to
|
|
75
|
+
* 1, where 0 aligns the plot area to the top and 1 aligns it to the bottom.
|
|
76
|
+
*
|
|
77
|
+
* @type {number}
|
|
78
|
+
* @apioption chart.scrollablePlotArea.scrollPositionY
|
|
79
|
+
*/
|
|
80
|
+
|
|
49
81
|
/**
|
|
50
82
|
* The opacity of mask applied on one of the sides of the plot
|
|
51
83
|
* area.
|
|
@@ -64,52 +96,90 @@ addEvent(Chart, 'afterSetChartSize', function (e) {
|
|
|
64
96
|
var scrollablePlotArea = this.options.chart.scrollablePlotArea,
|
|
65
97
|
scrollableMinWidth =
|
|
66
98
|
scrollablePlotArea && scrollablePlotArea.minWidth,
|
|
67
|
-
|
|
99
|
+
scrollableMinHeight =
|
|
100
|
+
scrollablePlotArea && scrollablePlotArea.minHeight,
|
|
101
|
+
scrollablePixelsX,
|
|
102
|
+
scrollablePixelsY,
|
|
103
|
+
corrections;
|
|
68
104
|
|
|
69
|
-
if (
|
|
105
|
+
if (!this.renderer.forExport) {
|
|
70
106
|
|
|
71
107
|
// The amount of pixels to scroll, the difference between chart
|
|
72
108
|
// width and scrollable width
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
109
|
+
if (scrollableMinWidth) {
|
|
110
|
+
this.scrollablePixelsX = scrollablePixelsX = Math.max(
|
|
111
|
+
0,
|
|
112
|
+
scrollableMinWidth - this.chartWidth
|
|
113
|
+
);
|
|
114
|
+
if (scrollablePixelsX) {
|
|
115
|
+
this.plotWidth += scrollablePixelsX;
|
|
116
|
+
if (this.inverted) {
|
|
117
|
+
this.clipBox.height += scrollablePixelsX;
|
|
118
|
+
} else {
|
|
119
|
+
this.clipBox.width += scrollablePixelsX;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
corrections = {
|
|
123
|
+
// Corrections for right side
|
|
124
|
+
1: { name: 'right', value: scrollablePixelsX }
|
|
125
|
+
};
|
|
126
|
+
}
|
|
77
127
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
arguments
|
|
95
|
-
);
|
|
96
|
-
this.right = right;
|
|
97
|
-
return path;
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
} else {
|
|
101
|
-
// Apply the corrected plotWidth
|
|
102
|
-
axis.setAxisSize();
|
|
103
|
-
axis.setAxisTranslation();
|
|
104
|
-
}
|
|
105
|
-
});
|
|
128
|
+
// Currently we can only do either X or Y
|
|
129
|
+
} else if (scrollableMinHeight) {
|
|
130
|
+
this.scrollablePixelsY = scrollablePixelsY = Math.max(
|
|
131
|
+
0,
|
|
132
|
+
scrollableMinHeight - this.chartHeight
|
|
133
|
+
);
|
|
134
|
+
if (scrollablePixelsY) {
|
|
135
|
+
this.plotHeight += scrollablePixelsY;
|
|
136
|
+
if (this.inverted) {
|
|
137
|
+
this.clipBox.width += scrollablePixelsY;
|
|
138
|
+
} else {
|
|
139
|
+
this.clipBox.height += scrollablePixelsY;
|
|
140
|
+
}
|
|
141
|
+
corrections = {
|
|
142
|
+
2: { name: 'bottom', value: scrollablePixelsY }
|
|
143
|
+
};
|
|
106
144
|
}
|
|
107
145
|
}
|
|
146
|
+
|
|
147
|
+
if (corrections && !e.skipAxes) {
|
|
148
|
+
this.axes.forEach(function (axis) {
|
|
149
|
+
// For right and bottom axes, only fix the plot line length
|
|
150
|
+
if (corrections[axis.side]) {
|
|
151
|
+
// Get the plot lines right in getPlotLinePath,
|
|
152
|
+
// temporarily set it to the adjusted plot width.
|
|
153
|
+
axis.getPlotLinePath = function () {
|
|
154
|
+
var marginName = corrections[axis.side].name,
|
|
155
|
+
correctionValue = corrections[axis.side].value,
|
|
156
|
+
// axis.right or axis.bottom
|
|
157
|
+
margin = this[marginName],
|
|
158
|
+
path;
|
|
159
|
+
|
|
160
|
+
// Temporarily adjust
|
|
161
|
+
this[marginName] = margin - correctionValue;
|
|
162
|
+
path = H.Axis.prototype.getPlotLinePath.apply(
|
|
163
|
+
this,
|
|
164
|
+
arguments
|
|
165
|
+
);
|
|
166
|
+
// Reset
|
|
167
|
+
this[marginName] = margin;
|
|
168
|
+
return path;
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
} else {
|
|
172
|
+
// Apply the corrected plotWidth
|
|
173
|
+
axis.setAxisSize();
|
|
174
|
+
axis.setAxisTranslation();
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}
|
|
108
178
|
}
|
|
109
179
|
});
|
|
110
180
|
|
|
111
181
|
addEvent(Chart, 'render', function () {
|
|
112
|
-
if (this.
|
|
182
|
+
if (this.scrollablePixelsX || this.scrollablePixelsY) {
|
|
113
183
|
if (this.setUpScrolling) {
|
|
114
184
|
this.setUpScrolling();
|
|
115
185
|
}
|
|
@@ -126,13 +196,23 @@ addEvent(Chart, 'render', function () {
|
|
|
126
196
|
*/
|
|
127
197
|
Chart.prototype.setUpScrolling = function () {
|
|
128
198
|
|
|
199
|
+
var attribs = {
|
|
200
|
+
WebkitOverflowScrolling: 'touch',
|
|
201
|
+
overflowX: 'hidden',
|
|
202
|
+
overflowY: 'hidden'
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
if (this.scrollablePixelsX) {
|
|
206
|
+
attribs.overflowX = 'auto';
|
|
207
|
+
}
|
|
208
|
+
if (this.scrollablePixelsY) {
|
|
209
|
+
attribs.overflowY = 'auto';
|
|
210
|
+
}
|
|
211
|
+
|
|
129
212
|
// Add the necessary divs to provide scrolling
|
|
130
213
|
this.scrollingContainer = H.createElement('div', {
|
|
131
214
|
'className': 'highcharts-scrolling'
|
|
132
|
-
},
|
|
133
|
-
overflowX: 'auto',
|
|
134
|
-
WebkitOverflowScrolling: 'touch'
|
|
135
|
-
}, this.renderTo);
|
|
215
|
+
}, attribs, this.renderTo);
|
|
136
216
|
|
|
137
217
|
this.innerContainer = H.createElement('div', {
|
|
138
218
|
'className': 'highcharts-inner-container'
|
|
@@ -152,23 +232,31 @@ Chart.prototype.setUpScrolling = function () {
|
|
|
152
232
|
*/
|
|
153
233
|
Chart.prototype.moveFixedElements = function () {
|
|
154
234
|
var container = this.container,
|
|
155
|
-
fixedRenderer = this.fixedRenderer
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
'.highcharts-
|
|
160
|
-
'.highcharts-
|
|
161
|
-
|
|
162
|
-
'.highcharts-
|
|
163
|
-
'.highcharts-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
'.highcharts-
|
|
169
|
-
|
|
170
|
-
'.highcharts-
|
|
171
|
-
|
|
235
|
+
fixedRenderer = this.fixedRenderer,
|
|
236
|
+
fixedSelectors = [
|
|
237
|
+
'.highcharts-contextbutton',
|
|
238
|
+
'.highcharts-credits',
|
|
239
|
+
'.highcharts-legend',
|
|
240
|
+
'.highcharts-reset-zoom',
|
|
241
|
+
'.highcharts-subtitle',
|
|
242
|
+
'.highcharts-title',
|
|
243
|
+
'.highcharts-legend-checkbox'
|
|
244
|
+
],
|
|
245
|
+
axisClass;
|
|
246
|
+
|
|
247
|
+
if (this.scrollablePixelsX && !this.inverted) {
|
|
248
|
+
axisClass = '.highcharts-yaxis';
|
|
249
|
+
} else if (this.scrollablePixelsX && this.inverted) {
|
|
250
|
+
axisClass = '.highcharts-xaxis';
|
|
251
|
+
} else if (this.scrollablePixelsY && !this.inverted) {
|
|
252
|
+
axisClass = '.highcharts-xaxis';
|
|
253
|
+
} else if (this.scrollablePixelsY && this.inverted) {
|
|
254
|
+
axisClass = '.highcharts-yaxis';
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
fixedSelectors.push(axisClass, axisClass + '-labels');
|
|
258
|
+
|
|
259
|
+
fixedSelectors.forEach(function (className) {
|
|
172
260
|
[].forEach.call(
|
|
173
261
|
container.querySelectorAll(className),
|
|
174
262
|
function (elem) {
|
|
@@ -190,6 +278,7 @@ Chart.prototype.moveFixedElements = function () {
|
|
|
190
278
|
Chart.prototype.applyFixed = function () {
|
|
191
279
|
var fixedRenderer,
|
|
192
280
|
scrollableWidth,
|
|
281
|
+
scrollableHeight,
|
|
193
282
|
firstTime = !this.fixedDiv,
|
|
194
283
|
scrollableOptions = this.options.chart.scrollablePlotArea;
|
|
195
284
|
|
|
@@ -218,8 +307,8 @@ Chart.prototype.applyFixed = function () {
|
|
|
218
307
|
|
|
219
308
|
this.fixedRenderer = fixedRenderer = new H.Renderer(
|
|
220
309
|
this.fixedDiv,
|
|
221
|
-
|
|
222
|
-
|
|
310
|
+
this.chartWidth,
|
|
311
|
+
this.chartHeight
|
|
223
312
|
);
|
|
224
313
|
|
|
225
314
|
// Mask
|
|
@@ -238,43 +327,64 @@ Chart.prototype.applyFixed = function () {
|
|
|
238
327
|
this.moveFixedElements();
|
|
239
328
|
|
|
240
329
|
addEvent(this, 'afterShowResetZoom', this.moveFixedElements);
|
|
241
|
-
}
|
|
242
330
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
this.
|
|
247
|
-
|
|
331
|
+
} else {
|
|
332
|
+
|
|
333
|
+
// Set the size of the fixed renderer to the visible width
|
|
334
|
+
this.fixedRenderer.setSize(
|
|
335
|
+
this.chartWidth,
|
|
336
|
+
this.chartHeight
|
|
337
|
+
);
|
|
338
|
+
}
|
|
248
339
|
|
|
249
340
|
// Increase the size of the scrollable renderer and background
|
|
250
|
-
scrollableWidth = this.chartWidth + this.
|
|
341
|
+
scrollableWidth = this.chartWidth + (this.scrollablePixelsX || 0);
|
|
342
|
+
scrollableHeight = this.chartHeight + (this.scrollablePixelsY || 0);
|
|
251
343
|
H.stop(this.container);
|
|
252
344
|
this.container.style.width = scrollableWidth + 'px';
|
|
345
|
+
this.container.style.height = scrollableHeight + 'px';
|
|
253
346
|
this.renderer.boxWrapper.attr({
|
|
254
347
|
width: scrollableWidth,
|
|
255
|
-
height:
|
|
256
|
-
viewBox: [0, 0, scrollableWidth,
|
|
348
|
+
height: scrollableHeight,
|
|
349
|
+
viewBox: [0, 0, scrollableWidth, scrollableHeight].join(' ')
|
|
350
|
+
});
|
|
351
|
+
this.chartBackground.attr({
|
|
352
|
+
width: scrollableWidth,
|
|
353
|
+
height: scrollableHeight
|
|
257
354
|
});
|
|
258
|
-
|
|
355
|
+
|
|
356
|
+
if (this.scrollablePixelsY) {
|
|
357
|
+
this.scrollingContainer.style.height = this.chartHeight + 'px';
|
|
358
|
+
}
|
|
259
359
|
|
|
260
360
|
// Set scroll position
|
|
261
361
|
if (firstTime) {
|
|
262
362
|
|
|
263
363
|
if (scrollableOptions.scrollPositionX) {
|
|
264
364
|
this.scrollingContainer.scrollLeft =
|
|
265
|
-
this.
|
|
365
|
+
this.scrollablePixelsX * scrollableOptions.scrollPositionX;
|
|
366
|
+
}
|
|
367
|
+
if (scrollableOptions.scrollPositionY) {
|
|
368
|
+
this.scrollingContainer.scrollTop =
|
|
369
|
+
this.scrollablePixelsY * scrollableOptions.scrollPositionY;
|
|
266
370
|
}
|
|
267
371
|
}
|
|
268
372
|
|
|
269
373
|
// Mask behind the left and right side
|
|
270
374
|
var axisOffset = this.axisOffset,
|
|
271
375
|
maskTop = this.plotTop - axisOffset[0] - 1,
|
|
272
|
-
|
|
376
|
+
maskLeft = this.plotLeft - axisOffset[3] - 1,
|
|
377
|
+
maskBottom = this.plotTop + this.plotHeight + axisOffset[2] + 1,
|
|
378
|
+
maskRight = this.plotLeft + this.plotWidth + axisOffset[1] + 1,
|
|
273
379
|
maskPlotRight = this.plotLeft + this.plotWidth -
|
|
274
|
-
this.
|
|
380
|
+
(this.scrollablePixelsX || 0),
|
|
381
|
+
maskPlotBottom = this.plotTop + this.plotHeight -
|
|
382
|
+
(this.scrollablePixelsY || 0),
|
|
383
|
+
d;
|
|
384
|
+
|
|
275
385
|
|
|
276
|
-
this.
|
|
277
|
-
d
|
|
386
|
+
if (this.scrollablePixelsX) {
|
|
387
|
+
d = [
|
|
278
388
|
// Left side
|
|
279
389
|
'M', 0, maskTop,
|
|
280
390
|
'L', this.plotLeft - 1, maskTop,
|
|
@@ -288,6 +398,30 @@ Chart.prototype.applyFixed = function () {
|
|
|
288
398
|
'L', this.chartWidth, maskBottom,
|
|
289
399
|
'L', maskPlotRight, maskBottom,
|
|
290
400
|
'Z'
|
|
291
|
-
]
|
|
292
|
-
})
|
|
401
|
+
];
|
|
402
|
+
} else if (this.scrollablePixelsY) {
|
|
403
|
+
d = [
|
|
404
|
+
// Top side
|
|
405
|
+
'M', maskLeft, 0,
|
|
406
|
+
'L', maskLeft, this.plotTop - 1,
|
|
407
|
+
'L', maskRight, this.plotTop - 1,
|
|
408
|
+
'L', maskRight, 0,
|
|
409
|
+
'Z',
|
|
410
|
+
|
|
411
|
+
// Bottom side
|
|
412
|
+
'M', maskLeft, maskPlotBottom,
|
|
413
|
+
'L', maskLeft, this.chartHeight,
|
|
414
|
+
'L', maskRight, this.chartHeight,
|
|
415
|
+
'L', maskRight, maskPlotBottom,
|
|
416
|
+
'Z'
|
|
417
|
+
];
|
|
418
|
+
} else {
|
|
419
|
+
d = ['M', 0, 0];
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
if (this.redrawTrigger !== 'adjustHeight') {
|
|
423
|
+
this.scrollableMask.attr({
|
|
424
|
+
d: d
|
|
425
|
+
});
|
|
426
|
+
}
|
|
293
427
|
};
|
|
@@ -1053,7 +1053,9 @@ if (!H.Scrollbar) {
|
|
|
1053
1053
|
pick(axis.dataMax, axis.max) // #6930
|
|
1054
1054
|
),
|
|
1055
1055
|
scrollbar = axis.scrollbar,
|
|
1056
|
-
|
|
1056
|
+
offset = axis.axisTitleMargin + (axis.titleOffset || 0),
|
|
1057
|
+
scrollbarsOffsets = axis.chart.scrollbarsOffsets,
|
|
1058
|
+
axisMargin = axis.options.margin || 0,
|
|
1057
1059
|
offsetsIndex,
|
|
1058
1060
|
from,
|
|
1059
1061
|
to;
|
|
@@ -1061,49 +1063,62 @@ if (!H.Scrollbar) {
|
|
|
1061
1063
|
if (scrollbar) {
|
|
1062
1064
|
|
|
1063
1065
|
if (axis.horiz) {
|
|
1066
|
+
|
|
1067
|
+
// Reserve space for labels/title
|
|
1068
|
+
if (!axis.opposite) {
|
|
1069
|
+
scrollbarsOffsets[1] += offset;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1064
1072
|
scrollbar.position(
|
|
1065
1073
|
axis.left,
|
|
1066
|
-
axis.top + axis.height + 2 +
|
|
1067
|
-
axis.
|
|
1068
|
-
(axis.opposite ?
|
|
1069
|
-
0 :
|
|
1070
|
-
titleOffset + axis.axisTitleMargin + axis.offset
|
|
1071
|
-
),
|
|
1074
|
+
axis.top + axis.height + 2 + scrollbarsOffsets[1] -
|
|
1075
|
+
(axis.opposite ? axisMargin : 0),
|
|
1072
1076
|
axis.width,
|
|
1073
1077
|
axis.height
|
|
1074
1078
|
);
|
|
1079
|
+
|
|
1080
|
+
// Next scrollbar should reserve space for margin (if set)
|
|
1081
|
+
if (!axis.opposite) {
|
|
1082
|
+
scrollbarsOffsets[1] += axisMargin;
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1075
1085
|
offsetsIndex = 1;
|
|
1076
1086
|
} else {
|
|
1087
|
+
|
|
1088
|
+
// Reserve space for labels/title
|
|
1089
|
+
if (axis.opposite) {
|
|
1090
|
+
scrollbarsOffsets[0] += offset;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1077
1093
|
scrollbar.position(
|
|
1078
|
-
axis.left + axis.width + 2 +
|
|
1079
|
-
axis.
|
|
1080
|
-
(axis.opposite ?
|
|
1081
|
-
titleOffset + axis.axisTitleMargin + axis.offset :
|
|
1082
|
-
0
|
|
1083
|
-
),
|
|
1094
|
+
axis.left + axis.width + 2 + scrollbarsOffsets[0] -
|
|
1095
|
+
(axis.opposite ? 0 : axisMargin),
|
|
1084
1096
|
axis.top,
|
|
1085
1097
|
axis.width,
|
|
1086
1098
|
axis.height
|
|
1087
1099
|
);
|
|
1100
|
+
|
|
1101
|
+
// Next scrollbar should reserve space for margin (if set)
|
|
1102
|
+
if (axis.opposite) {
|
|
1103
|
+
scrollbarsOffsets[0] += axisMargin;
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1088
1106
|
offsetsIndex = 0;
|
|
1089
1107
|
}
|
|
1090
1108
|
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
) {
|
|
1094
|
-
axis.chart.scrollbarsOffsets[offsetsIndex] +=
|
|
1095
|
-
axis.scrollbar.size + axis.scrollbar.options.margin;
|
|
1096
|
-
}
|
|
1109
|
+
scrollbarsOffsets[offsetsIndex] += scrollbar.size +
|
|
1110
|
+
scrollbar.options.margin;
|
|
1097
1111
|
|
|
1098
1112
|
if (
|
|
1099
1113
|
isNaN(scrollMin) ||
|
|
1100
1114
|
isNaN(scrollMax) ||
|
|
1101
1115
|
!defined(axis.min) ||
|
|
1102
|
-
!defined(axis.max)
|
|
1116
|
+
!defined(axis.max) ||
|
|
1117
|
+
axis.min === axis.max // #10733
|
|
1103
1118
|
) {
|
|
1104
|
-
// default action: when
|
|
1105
|
-
// scrollbar exists, make it full size
|
|
1106
|
-
scrollbar.setRange(0,
|
|
1119
|
+
// default action: when extremes are the same or there is not
|
|
1120
|
+
// extremes on the axis, but scrollbar exists, make it full size
|
|
1121
|
+
scrollbar.setRange(0, 1);
|
|
1107
1122
|
} else {
|
|
1108
1123
|
from = (axis.min - scrollMin) / (scrollMax - scrollMin);
|
|
1109
1124
|
to = (axis.max - scrollMin) / (scrollMax - scrollMin);
|