@progress/kendo-charts 2.7.2-dev.202502101310 → 2.7.2-develop.1
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/dist/cdn/js/kendo-charts.js +1 -1
- package/dist/cdn/main.js +1 -1
- package/dist/es/barcode/barcode-validator.js +10 -12
- package/dist/es/barcode/barcode.js +84 -96
- package/dist/es/barcode/encodings/code11.js +41 -57
- package/dist/es/barcode/encodings/code128.js +222 -354
- package/dist/es/barcode/encodings/code39-extended.js +20 -34
- package/dist/es/barcode/encodings/code39.js +49 -75
- package/dist/es/barcode/encodings/code93-extended.js +12 -24
- package/dist/es/barcode/encodings/code93.js +52 -70
- package/dist/es/barcode/encodings/ean13.js +28 -42
- package/dist/es/barcode/encodings/ean8.js +8 -18
- package/dist/es/barcode/encodings/encoding.js +18 -24
- package/dist/es/barcode/encodings/main.js +13 -10
- package/dist/es/barcode/encodings/msi.js +56 -112
- package/dist/es/barcode/encodings/postnet.js +31 -45
- package/dist/es/barcode/surface-size.js +2 -2
- package/dist/es/chart/aggregates/aggregates.js +23 -23
- package/dist/es/chart/aggregates/default-aggregates.js +10 -18
- package/dist/es/chart/aggregates/series-aggregator.js +42 -54
- package/dist/es/chart/animations/bar-chart-animation.js +15 -26
- package/dist/es/chart/animations/bubble-animation.js +7 -17
- package/dist/es/chart/animations/clip-animation.js +13 -23
- package/dist/es/chart/animations/fade-in-animation.js +6 -16
- package/dist/es/chart/animations/pie-animation.js +6 -16
- package/dist/es/chart/api-elements/chart-axis.js +14 -22
- package/dist/es/chart/api-elements/chart-pane.js +10 -8
- package/dist/es/chart/api-elements/chart-plotarea.js +4 -10
- package/dist/es/chart/api-elements/find-axis-by-name.js +1 -1
- package/dist/es/chart/area-chart/area-chart.js +46 -60
- package/dist/es/chart/area-chart/area-segment.js +46 -52
- package/dist/es/chart/area-chart/spline-area-segment.js +12 -21
- package/dist/es/chart/area-chart/step-area-segment.js +6 -15
- package/dist/es/chart/axis-group-range-tracker.js +14 -20
- package/dist/es/chart/bar-chart/bar-chart.js +65 -80
- package/dist/es/chart/bar-chart/bar-label.js +25 -32
- package/dist/es/chart/bar-chart/bar.js +76 -91
- package/dist/es/chart/box-plot-chart/box-plot-chart.js +33 -48
- package/dist/es/chart/box-plot-chart/box-plot.js +55 -68
- package/dist/es/chart/box-plot-chart/vertical-box-plot.js +13 -23
- package/dist/es/chart/bubble-chart/bubble-chart.js +51 -64
- package/dist/es/chart/bubble-chart/bubble.js +21 -27
- package/dist/es/chart/bullet-chart/bullet-chart.js +45 -57
- package/dist/es/chart/bullet-chart/bullet.js +48 -57
- package/dist/es/chart/bullet-chart/target.js +1 -11
- package/dist/es/chart/candlestick-chart/candlestick-chart.js +41 -55
- package/dist/es/chart/candlestick-chart/candlestick.js +60 -69
- package/dist/es/chart/categorical-chart.js +178 -206
- package/dist/es/chart/chart-container.js +30 -39
- package/dist/es/chart/chart.js +641 -701
- package/dist/es/chart/constants.js +103 -103
- package/dist/es/chart/crosshair/crosshair-tooltip.js +22 -34
- package/dist/es/chart/crosshair/crosshair.js +39 -47
- package/dist/es/chart/donut-chart/donut-chart.js +36 -48
- package/dist/es/chart/donut-chart/donut-segment.js +12 -24
- package/dist/es/chart/error-bars/categorical-error-bar.js +5 -15
- package/dist/es/chart/error-bars/error-bar-base.js +37 -49
- package/dist/es/chart/error-bars/error-range-calculator.js +46 -56
- package/dist/es/chart/error-bars/scatter-error-bar.js +6 -16
- package/dist/es/chart/funnel-chart/funnel-chart.js +86 -103
- package/dist/es/chart/funnel-chart/funnel-segment.js +46 -54
- package/dist/es/chart/funnel-chart/pyramid-chart.js +5 -11
- package/dist/es/chart/heatmap-chart/color-scale.js +7 -9
- package/dist/es/chart/heatmap-chart/heatmap-chart.js +87 -110
- package/dist/es/chart/heatmap-chart/heatmap-point.js +72 -78
- package/dist/es/chart/highlight.js +26 -36
- package/dist/es/chart/layout/cluster-layout.js +16 -25
- package/dist/es/chart/layout/radar-cluster-layout.js +15 -24
- package/dist/es/chart/layout/radar-stack-layout.js +10 -22
- package/dist/es/chart/layout/stack-wrap.js +12 -24
- package/dist/es/chart/layout/utils.js +2 -2
- package/dist/es/chart/legend/legend-item-line-area.js +8 -19
- package/dist/es/chart/legend/legend-item-line.js +21 -31
- package/dist/es/chart/legend/legend-item-marker.js +18 -28
- package/dist/es/chart/legend/legend-item-square.js +8 -18
- package/dist/es/chart/legend/legend-item.js +91 -105
- package/dist/es/chart/legend/legend-layout.js +18 -25
- package/dist/es/chart/legend/legend.js +68 -92
- package/dist/es/chart/line-chart/line-chart.js +35 -48
- package/dist/es/chart/line-chart/line-point.js +90 -103
- package/dist/es/chart/line-chart/line-segment.js +23 -34
- package/dist/es/chart/line-chart/spline-segment.js +10 -20
- package/dist/es/chart/line-chart/step-line-mixin.js +14 -17
- package/dist/es/chart/line-chart/step-line-segment.js +4 -14
- package/dist/es/chart/mixins/accessibility-attributes-mixin.js +7 -7
- package/dist/es/chart/mixins/clip-animation-mixin.js +7 -7
- package/dist/es/chart/mixins/line-chart-mixin.js +27 -31
- package/dist/es/chart/mixins/note-mixin.js +3 -3
- package/dist/es/chart/mixins/pie-chart-mixin.js +9 -9
- package/dist/es/chart/mixins/plotarea-events-mixin.js +1 -1
- package/dist/es/chart/mixins/point-events-mixin.js +1 -1
- package/dist/es/chart/ohlc-chart/ohlc-chart.js +4 -14
- package/dist/es/chart/ohlc-chart/ohlc-point.js +15 -28
- package/dist/es/chart/pan-and-zoom/accept-key.js +3 -3
- package/dist/es/chart/pan-and-zoom/mousewheel-zoom.js +25 -33
- package/dist/es/chart/pan-and-zoom/pannable.js +29 -37
- package/dist/es/chart/pan-and-zoom/to-chart-axis-ranges.js +3 -3
- package/dist/es/chart/pan-and-zoom/zoom-selection.js +61 -70
- package/dist/es/chart/pane.js +71 -79
- package/dist/es/chart/pie-chart/pie-chart.js +153 -183
- package/dist/es/chart/pie-chart/pie-segment.js +82 -98
- package/dist/es/chart/plotarea/categorical-plotarea.js +285 -318
- package/dist/es/chart/plotarea/donut-plotarea.js +12 -22
- package/dist/es/chart/plotarea/funnel-plotarea.js +17 -27
- package/dist/es/chart/plotarea/heatmap-plotarea.js +139 -167
- package/dist/es/chart/plotarea/pie-plotarea.js +15 -25
- package/dist/es/chart/plotarea/plotarea-base.js +423 -462
- package/dist/es/chart/plotarea/plotarea-factory.js +15 -20
- package/dist/es/chart/plotarea/polar-plotarea-base.js +37 -51
- package/dist/es/chart/plotarea/polar-plotarea.js +39 -49
- package/dist/es/chart/plotarea/radar-plotarea.js +55 -65
- package/dist/es/chart/plotarea/xy-plotarea.js +111 -128
- package/dist/es/chart/polar-area-chart/polar-area-chart.js +22 -36
- package/dist/es/chart/polar-area-chart/polar-area-segment.js +7 -17
- package/dist/es/chart/polar-area-chart/spline-polar-area-segment.js +15 -25
- package/dist/es/chart/polar-line-chart/polar-line-chart.js +2 -11
- package/dist/es/chart/polar-scatter-chart/polar-scatter-chart.js +6 -16
- package/dist/es/chart/radar-area-chart/radar-area-chart.js +11 -21
- package/dist/es/chart/radar-area-chart/radar-area-segment.js +3 -13
- package/dist/es/chart/radar-area-chart/spline-radar-area-segment.js +3 -13
- package/dist/es/chart/radar-bar-chart/radar-bar-chart.js +19 -29
- package/dist/es/chart/radar-bar-chart/radar-segment.js +6 -12
- package/dist/es/chart/radar-line-chart/radar-line-chart.js +26 -35
- package/dist/es/chart/range-area-chart/range-area-chart.js +46 -58
- package/dist/es/chart/range-area-chart/range-area-point.js +55 -66
- package/dist/es/chart/range-area-chart/range-area-segment.js +19 -28
- package/dist/es/chart/range-area-chart/range-line-point.js +4 -14
- package/dist/es/chart/range-area-chart/spline-range-area-segment.js +11 -18
- package/dist/es/chart/range-area-chart/step-range-area-segment.js +7 -16
- package/dist/es/chart/range-bar-chart/range-bar-chart.js +18 -29
- package/dist/es/chart/range-bar-chart/range-bar.js +10 -23
- package/dist/es/chart/register-charts.js +20 -16
- package/dist/es/chart/scatter-charts/scatter-chart.js +100 -122
- package/dist/es/chart/scatter-charts/scatter-line-chart.js +15 -25
- package/dist/es/chart/selection.js +176 -201
- package/dist/es/chart/series-binder.js +55 -66
- package/dist/es/chart/theme/base-theme.js +75 -79
- package/dist/es/chart/theme/load-theme.js +52 -52
- package/dist/es/chart/tooltip/base-tooltip.js +17 -24
- package/dist/es/chart/tooltip/shared-tooltip.js +25 -31
- package/dist/es/chart/tooltip/tooltip.js +10 -20
- package/dist/es/chart/trendlines/calculate-moving-average.js +11 -13
- package/dist/es/chart/trendlines/calculate-polynomial.js +24 -26
- package/dist/es/chart/trendlines/calculate-slope.js +12 -14
- package/dist/es/chart/trendlines/check-all-positive.js +2 -5
- package/dist/es/chart/trendlines/exponential-trendline.js +15 -24
- package/dist/es/chart/trendlines/get-scatter-trendline-data.js +6 -7
- package/dist/es/chart/trendlines/get-trendline-data.js +6 -6
- package/dist/es/chart/trendlines/linear-trendline.js +12 -21
- package/dist/es/chart/trendlines/logarithmic-trendline.js +14 -23
- package/dist/es/chart/trendlines/moving-average.js +15 -26
- package/dist/es/chart/trendlines/polynomial-trendline.js +13 -21
- package/dist/es/chart/trendlines/power-trendline.js +15 -24
- package/dist/es/chart/trendlines/scatter-exponential-trendline.js +15 -24
- package/dist/es/chart/trendlines/scatter-linear-trendline.js +10 -16
- package/dist/es/chart/trendlines/scatter-logarithmic-trendline.js +17 -27
- package/dist/es/chart/trendlines/scatter-moving-average.js +7 -10
- package/dist/es/chart/trendlines/scatter-polynomial-trendline.js +11 -16
- package/dist/es/chart/trendlines/scatter-power-trendline.js +15 -22
- package/dist/es/chart/trendlines/scatter-trendline-registry.js +1 -1
- package/dist/es/chart/trendlines/scatter-value-getter.js +2 -5
- package/dist/es/chart/trendlines/trendline-factory.js +1 -1
- package/dist/es/chart/trendlines/trendline-registry.js +1 -1
- package/dist/es/chart/trendlines/x-value-limits.js +6 -8
- package/dist/es/chart/utils/any-has-z-index.js +1 -1
- package/dist/es/chart/utils/bind-segments.js +8 -8
- package/dist/es/chart/utils/categories-count.js +3 -3
- package/dist/es/chart/utils/count-numbers.js +4 -4
- package/dist/es/chart/utils/create-out-of-range-points.js +13 -22
- package/dist/es/chart/utils/eval-options.js +7 -10
- package/dist/es/chart/utils/filter-series-by-type.js +4 -4
- package/dist/es/chart/utils/get-field.js +1 -1
- package/dist/es/chart/utils/has-gradient-overlay.js +1 -1
- package/dist/es/chart/utils/is-date-axis.js +2 -2
- package/dist/es/chart/utils/parse-date-category.js +2 -2
- package/dist/es/chart/utils/segment-visible.js +2 -2
- package/dist/es/chart/waterfall-chart/waterfall-chart.js +41 -55
- package/dist/es/chart/waterfall-chart/waterfall-segment.js +16 -24
- package/dist/es/chart-wizard/get-wizard-data-from-data-rows.js +5 -6
- package/dist/es/chart-wizard/messages.js +1 -1
- package/dist/es/chart-wizard/state.js +145 -137
- package/dist/es/chart-wizard.js +12 -12
- package/dist/es/common/add-class.js +3 -3
- package/dist/es/common/align-path-to-pixel.js +2 -2
- package/dist/es/common/auto-text-color.js +1 -1
- package/dist/es/common/constants.js +53 -53
- package/dist/es/common/create-hash-set.js +59 -65
- package/dist/es/common/cycleDown.js +1 -1
- package/dist/es/common/deep-extend.js +10 -12
- package/dist/es/common/element-scale.js +9 -9
- package/dist/es/common/element-styles.js +8 -8
- package/dist/es/common/event-map.js +4 -4
- package/dist/es/common/event-utils.js +13 -13
- package/dist/es/common/find.js +2 -2
- package/dist/es/common/font-loader.js +42 -44
- package/dist/es/common/get-aria-template.js +2 -4
- package/dist/es/common/get-spacing.js +2 -4
- package/dist/es/common/get-supported-features.js +7 -7
- package/dist/es/common/get-template.js +2 -4
- package/dist/es/common/getter.js +5 -5
- package/dist/es/common/grep.js +3 -3
- package/dist/es/common/has-classes.js +2 -2
- package/dist/es/common/hash-map.js +11 -11
- package/dist/es/common/instance-observer.js +28 -33
- package/dist/es/common/keys.js +1 -1
- package/dist/es/common/map.js +4 -4
- package/dist/es/common/matrix.js +142 -150
- package/dist/es/common/mousewheel-delta.js +2 -2
- package/dist/es/common/observable.js +40 -52
- package/dist/es/common/remove-class.js +1 -1
- package/dist/es/common/render-icon.js +50 -60
- package/dist/es/common/set-default-options.js +1 -1
- package/dist/es/common/sparse-array-limits.js +4 -4
- package/dist/es/common/user-events.js +124 -150
- package/dist/es/core/axis-label.js +38 -43
- package/dist/es/core/axis.js +293 -345
- package/dist/es/core/box-element.js +36 -46
- package/dist/es/core/box.js +75 -83
- package/dist/es/core/category-axis.js +265 -314
- package/dist/es/core/chart-element.js +98 -109
- package/dist/es/core/constants.js +3 -3
- package/dist/es/core/curve-processor.js +86 -93
- package/dist/es/core/date-category-axis.js +381 -413
- package/dist/es/core/date-value-axis.js +108 -118
- package/dist/es/core/float-element.js +54 -78
- package/dist/es/core/gradients.js +3 -3
- package/dist/es/core/logarithmic-axis.js +134 -186
- package/dist/es/core/mixins/grid-lines-mixin.js +18 -20
- package/dist/es/core/mixins/radar-numeric-axis-mixin.js +46 -51
- package/dist/es/core/note.js +58 -73
- package/dist/es/core/numeric-axis.js +111 -133
- package/dist/es/core/pattern.js +4 -8
- package/dist/es/core/point.js +25 -34
- package/dist/es/core/polar-axis.js +73 -91
- package/dist/es/core/radar-category-axis.js +90 -114
- package/dist/es/core/radar-logarithmic-axis.js +10 -20
- package/dist/es/core/radar-numeric-axis.js +10 -20
- package/dist/es/core/ring.js +61 -68
- package/dist/es/core/root-element.js +40 -48
- package/dist/es/core/sector.js +11 -17
- package/dist/es/core/shape-builder.js +13 -23
- package/dist/es/core/shape-element.js +27 -37
- package/dist/es/core/text-box.js +50 -59
- package/dist/es/core/text.js +13 -24
- package/dist/es/core/title.js +19 -25
- package/dist/es/core/utils/auto-axis-max.js +3 -3
- package/dist/es/core/utils/auto-axis-min.js +3 -3
- package/dist/es/core/utils/auto-major-unit.js +4 -4
- package/dist/es/core/utils/box-diff.js +9 -9
- package/dist/es/core/utils/create-axis-grid-line.js +2 -4
- package/dist/es/core/utils/create-axis-tick.js +2 -4
- package/dist/es/core/utils/guid.js +3 -3
- package/dist/es/core/utils/rect-to-box.js +2 -2
- package/dist/es/date-utils/absolute-date-diff.js +2 -2
- package/dist/es/date-utils/add-duration.js +5 -5
- package/dist/es/date-utils/ceil-date.js +1 -1
- package/dist/es/date-utils/constants.js +17 -17
- package/dist/es/date-utils/date-index.js +3 -3
- package/dist/es/date-utils/duration.js +1 -1
- package/dist/es/date-utils/lte-date-index.js +4 -4
- package/dist/es/date-utils/parse-date.js +1 -1
- package/dist/es/date-utils/parse-dates.js +2 -2
- package/dist/es/date-utils/start-of-week.js +3 -5
- package/dist/es/date-utils/to-date.js +1 -1
- package/dist/es/date-utils/to-time.js +2 -2
- package/dist/es/drawing-utils.js +18 -17
- package/dist/es/gauges/arc/arc-gauge.js +29 -38
- package/dist/es/gauges/arc/arc-scale.js +16 -29
- package/dist/es/gauges/arc/range-pointer-animation.js +16 -25
- package/dist/es/gauges/arc/range-pointer.js +25 -46
- package/dist/es/gauges/circular/circular-gauge.js +7 -17
- package/dist/es/gauges/constants.js +14 -14
- package/dist/es/gauges/gauge.js +84 -96
- package/dist/es/gauges/linear/arrow-linear-pointer-animation.js +13 -25
- package/dist/es/gauges/linear/arrow-linear-pointer.js +23 -35
- package/dist/es/gauges/linear/bar-linear-pointer-animation.js +15 -24
- package/dist/es/gauges/linear/bar-linear-pointer.js +38 -51
- package/dist/es/gauges/linear/linear-gauge.js +61 -83
- package/dist/es/gauges/linear/linear-pointer.js +25 -39
- package/dist/es/gauges/linear/linear-scale.js +57 -74
- package/dist/es/gauges/pointer.js +11 -21
- package/dist/es/gauges/radial/radial-gauge.js +58 -81
- package/dist/es/gauges/radial/radial-pointer-animation.js +9 -15
- package/dist/es/gauges/radial/radial-pointer.js +33 -48
- package/dist/es/gauges/radial/radial-scale.js +154 -186
- package/dist/es/gauges/utils/build-label-element.js +10 -12
- package/dist/es/gauges/utils/get-range.js +2 -2
- package/dist/es/gauges/utils/pad.js +3 -3
- package/dist/es/gauges/utils/unpad.js +1 -1
- package/dist/es/map/attribution.js +42 -52
- package/dist/es/map/constants.js +5 -5
- package/dist/es/map/crs.js +68 -112
- package/dist/es/map/datums.js +3 -3
- package/dist/es/map/extent.js +40 -54
- package/dist/es/map/layers/bubble.js +52 -70
- package/dist/es/map/layers/layer.js +50 -56
- package/dist/es/map/layers/marker.js +109 -129
- package/dist/es/map/layers/shape.js +111 -133
- package/dist/es/map/layers/tile.js +144 -170
- package/dist/es/map/location.js +70 -78
- package/dist/es/map/map.js +261 -291
- package/dist/es/map/navigator.js +33 -39
- package/dist/es/map/scroller/draggable.js +98 -134
- package/dist/es/map/scroller/fx.js +39 -46
- package/dist/es/map/scroller/scroller.js +144 -174
- package/dist/es/map/tooltip/tooltip.js +15 -25
- package/dist/es/map/utils.js +25 -26
- package/dist/es/map/zoom.js +30 -36
- package/dist/es/qrcode/encodings/data-modes/alpha-numeric-data-mode.js +14 -26
- package/dist/es/qrcode/encodings/data-modes/byte-data-mode.js +15 -25
- package/dist/es/qrcode/encodings/data-modes/data-mode-instances.js +8 -7
- package/dist/es/qrcode/encodings/data-modes/numeric-data-mode.js +14 -24
- package/dist/es/qrcode/encodings/data-modes/qr-data-mode.js +15 -21
- package/dist/es/qrcode/encodings/encoders/iso-encoder.js +6 -16
- package/dist/es/qrcode/encodings/encoders/utf8-encoder.js +28 -36
- package/dist/es/qrcode/encodings/encoding-result.js +4 -10
- package/dist/es/qrcode/encodings/encoding.js +68 -192
- package/dist/es/qrcode/encodings/free-cell-visitor.js +16 -24
- package/dist/es/qrcode/encodings/utils/choose-mode.js +44 -0
- package/dist/es/qrcode/encodings/utils/get-data-codewords-count.js +13 -0
- package/dist/es/qrcode/encodings/utils/get-data-string.js +13 -0
- package/dist/es/qrcode/encodings/utils/get-modes.js +35 -0
- package/dist/es/qrcode/encodings/utils/get-version.js +23 -0
- package/dist/es/qrcode/encodings/utils/index.js +5 -0
- package/dist/es/qrcode/encodings/version-codewords.js +1 -1
- package/dist/es/qrcode/qrcode-validator.js +3 -5
- package/dist/es/qrcode/qrcode.js +104 -114
- package/dist/es/qrcode/utils.js +4 -4
- package/dist/es/sankey/calculation.js +286 -307
- package/dist/es/sankey/element.js +15 -23
- package/dist/es/sankey/label.js +29 -44
- package/dist/es/sankey/legend.js +15 -29
- package/dist/es/sankey/link.js +80 -98
- package/dist/es/sankey/node.js +26 -37
- package/dist/es/sankey/sankey.js +318 -385
- package/dist/es/sankey/title.js +9 -20
- package/dist/es/sankey/utils.js +18 -23
- package/dist/es/services/chart-service.js +24 -28
- package/dist/es/services/dom-events-builder.js +15 -15
- package/dist/es/services/format-service.js +30 -35
- package/dist/es/services/intl-service.js +14 -18
- package/dist/es/services/map-service.js +11 -11
- package/dist/es/services/template-service.js +9 -9
- package/dist/es/sparkline/shared-tooltip.js +11 -21
- package/dist/es/sparkline/sparkline.js +50 -60
- package/dist/es/stock/constants.js +3 -3
- package/dist/es/stock/fade-out-animation.js +12 -21
- package/dist/es/stock/navigator-hint.js +37 -49
- package/dist/es/stock/navigator.js +130 -161
- package/dist/es/stock/stock-chart.js +58 -67
- package/dist/es2015/chart/legend/legend-item.js +1 -1
- package/dist/es2015/qrcode/encodings/encoders/iso-encoder.js +1 -1
- package/dist/es2015/qrcode/encodings/encoders/utf8-encoder.js +1 -1
- package/dist/es2015/qrcode/encodings/encoding.js +3 -127
- package/dist/es2015/qrcode/encodings/utils/choose-mode.js +44 -0
- package/dist/es2015/qrcode/encodings/utils/get-data-codewords-count.js +13 -0
- package/dist/es2015/qrcode/encodings/utils/get-data-string.js +13 -0
- package/dist/es2015/qrcode/encodings/utils/get-modes.js +35 -0
- package/dist/es2015/qrcode/encodings/utils/get-version.js +23 -0
- package/dist/es2015/qrcode/encodings/utils/index.js +5 -0
- package/dist/npm/main.js +3222 -3589
- package/dist/systemjs/kendo-charts.js +1 -1
- package/package.json +19 -57
|
@@ -13,11 +13,11 @@ import { dateComparer, toDate, addTicks, addDuration, dateDiff, absoluteDateDiff
|
|
|
13
13
|
|
|
14
14
|
import { DateLabelFormats } from './constants';
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const AUTO = "auto";
|
|
17
|
+
const BASE_UNITS = [
|
|
18
18
|
MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS
|
|
19
19
|
];
|
|
20
|
-
|
|
20
|
+
const FIT = "fit";
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
function categoryRange(categories, clearCache) {
|
|
@@ -25,7 +25,7 @@ function categoryRange(categories, clearCache) {
|
|
|
25
25
|
categories._range = undefined;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
let range = categories._range;
|
|
29
29
|
if (!range) {
|
|
30
30
|
range = categories._range = sparseArrayLimits(categories);
|
|
31
31
|
range.min = toDate(range.min);
|
|
@@ -35,202 +35,201 @@ function categoryRange(categories, clearCache) {
|
|
|
35
35
|
return range;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
class EmptyDateRange {
|
|
39
|
+
constructor(options) {
|
|
40
|
+
this.options = options;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
displayIndices() {
|
|
44
|
+
return {
|
|
45
|
+
min: 0,
|
|
46
|
+
max: 1
|
|
47
|
+
};
|
|
48
|
+
}
|
|
41
49
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
max: 1
|
|
46
|
-
};
|
|
47
|
-
};
|
|
50
|
+
displayRange() {
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
48
53
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
54
|
+
total() {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
52
57
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
58
|
+
valueRange() {
|
|
59
|
+
return {};
|
|
60
|
+
}
|
|
56
61
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
62
|
+
valueIndex() {
|
|
63
|
+
return -1;
|
|
64
|
+
}
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
66
|
+
values() {
|
|
67
|
+
return [];
|
|
68
|
+
}
|
|
64
69
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
70
|
+
totalIndex() {
|
|
71
|
+
return -1;
|
|
72
|
+
}
|
|
68
73
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
74
|
+
valuesCount() {
|
|
75
|
+
return 0;
|
|
76
|
+
}
|
|
72
77
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
78
|
+
totalCount() {
|
|
79
|
+
return 0;
|
|
80
|
+
}
|
|
76
81
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
82
|
+
dateAt() {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
80
86
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
class DateRange {
|
|
88
|
+
constructor(start, end, options) {
|
|
89
|
+
this.options = options;
|
|
90
|
+
options.baseUnitStep = options.baseUnitStep || 1;
|
|
84
91
|
|
|
85
|
-
|
|
86
|
-
this.options = options;
|
|
87
|
-
options.baseUnitStep = options.baseUnitStep || 1;
|
|
92
|
+
const { roundToBaseUnit, justified } = options;
|
|
88
93
|
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
this.start = addDuration(start, 0, options.baseUnit, options.weekStartDay);
|
|
95
|
+
const lowerEnd = this.roundToTotalStep(end);
|
|
96
|
+
const expandEnd = !justified && dateEquals(end, lowerEnd) && !options.justifyEnd;
|
|
91
97
|
|
|
92
|
-
|
|
93
|
-
var lowerEnd = this.roundToTotalStep(end);
|
|
94
|
-
var expandEnd = !justified && dateEquals(end, lowerEnd) && !options.justifyEnd;
|
|
98
|
+
this.end = this.roundToTotalStep(end, !justified, expandEnd ? 1 : 0);
|
|
95
99
|
|
|
96
|
-
|
|
100
|
+
const min = options.min || start;
|
|
101
|
+
this.valueStart = this.roundToTotalStep(min);
|
|
102
|
+
this.displayStart = roundToBaseUnit ? this.valueStart : min;
|
|
97
103
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
const max = options.max;
|
|
105
|
+
if (!max) {
|
|
106
|
+
this.valueEnd = lowerEnd;
|
|
107
|
+
this.displayEnd = roundToBaseUnit || expandEnd ? this.end : end;
|
|
108
|
+
} else {
|
|
109
|
+
const next = !justified && dateEquals(max, this.roundToTotalStep(max)) ? -1 : 0;
|
|
110
|
+
this.valueEnd = this.roundToTotalStep(max, false, next);
|
|
111
|
+
this.displayEnd = roundToBaseUnit ? this.roundToTotalStep(max, !justified) : options.max;
|
|
112
|
+
}
|
|
101
113
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
this.displayEnd
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
this.valueEnd = this.roundToTotalStep(max, false, next);
|
|
109
|
-
this.displayEnd = roundToBaseUnit ? this.roundToTotalStep(max, !justified) : options.max;
|
|
114
|
+
if (this.valueEnd < this.valueStart) {
|
|
115
|
+
this.valueEnd = this.valueStart;
|
|
116
|
+
}
|
|
117
|
+
if (this.displayEnd <= this.displayStart) {
|
|
118
|
+
this.displayEnd = this.roundToTotalStep(this.displayStart, false, 1);
|
|
119
|
+
}
|
|
110
120
|
}
|
|
111
121
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
122
|
+
displayRange() {
|
|
123
|
+
return {
|
|
124
|
+
min: this.displayStart,
|
|
125
|
+
max: this.displayEnd
|
|
126
|
+
};
|
|
117
127
|
}
|
|
118
|
-
};
|
|
119
128
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
max: this.displayEnd
|
|
124
|
-
};
|
|
125
|
-
};
|
|
129
|
+
displayIndices() {
|
|
130
|
+
if (!this._indices) {
|
|
131
|
+
const options = this.options;
|
|
126
132
|
|
|
127
|
-
|
|
128
|
-
if (!this._indices) {
|
|
129
|
-
var options = this.options;
|
|
133
|
+
const { baseUnit, baseUnitStep } = options;
|
|
130
134
|
|
|
131
|
-
|
|
132
|
-
|
|
135
|
+
const minIdx = dateIndex(this.displayStart, this.valueStart, baseUnit, baseUnitStep);
|
|
136
|
+
const maxIdx = dateIndex(this.displayEnd, this.valueStart, baseUnit, baseUnitStep);
|
|
133
137
|
|
|
134
|
-
|
|
135
|
-
|
|
138
|
+
this._indices = { min: minIdx, max: maxIdx };
|
|
139
|
+
}
|
|
136
140
|
|
|
137
|
-
this._indices
|
|
141
|
+
return this._indices;
|
|
138
142
|
}
|
|
139
143
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
max: this.end
|
|
147
|
-
};
|
|
148
|
-
};
|
|
144
|
+
total() {
|
|
145
|
+
return {
|
|
146
|
+
min: this.start,
|
|
147
|
+
max: this.end
|
|
148
|
+
};
|
|
149
|
+
}
|
|
149
150
|
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
totalCount() {
|
|
152
|
+
const last = this.totalIndex(this.end);
|
|
152
153
|
|
|
153
|
-
|
|
154
|
-
}
|
|
154
|
+
return last + (this.options.justified ? 1 : 0);
|
|
155
|
+
}
|
|
155
156
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
157
|
+
valueRange() {
|
|
158
|
+
return {
|
|
159
|
+
min: this.valueStart,
|
|
160
|
+
max: this.valueEnd
|
|
161
|
+
};
|
|
162
|
+
}
|
|
162
163
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
164
|
+
valueIndex(value) {
|
|
165
|
+
const options = this.options;
|
|
166
|
+
return Math.floor(dateIndex(value, this.valueStart, options.baseUnit, options.baseUnitStep));
|
|
167
|
+
}
|
|
167
168
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
169
|
+
totalIndex(value) {
|
|
170
|
+
const options = this.options;
|
|
171
|
+
return Math.floor(dateIndex(value, this.start, options.baseUnit, options.baseUnitStep));
|
|
172
|
+
}
|
|
172
173
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
174
|
+
dateIndex(value) {
|
|
175
|
+
const options = this.options;
|
|
176
|
+
return dateIndex(value, this.valueStart, options.baseUnit, options.baseUnitStep);
|
|
177
|
+
}
|
|
177
178
|
|
|
178
|
-
|
|
179
|
-
|
|
179
|
+
valuesCount() {
|
|
180
|
+
const maxIdx = this.valueIndex(this.valueEnd);
|
|
180
181
|
|
|
181
|
-
|
|
182
|
-
}
|
|
182
|
+
return maxIdx + 1;
|
|
183
|
+
}
|
|
183
184
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
185
|
+
values() {
|
|
186
|
+
let values = this._values;
|
|
187
|
+
if (!values) {
|
|
188
|
+
const options = this.options;
|
|
189
|
+
const range = this.valueRange();
|
|
190
|
+
this._values = values = [];
|
|
190
191
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
for (let date = range.min; date <= range.max;) {
|
|
193
|
+
values.push(date);
|
|
194
|
+
date = addDuration(date, options.baseUnitStep, options.baseUnit, options.weekStartDay);
|
|
195
|
+
}
|
|
194
196
|
}
|
|
197
|
+
|
|
198
|
+
return values;
|
|
195
199
|
}
|
|
196
200
|
|
|
197
|
-
|
|
198
|
-
|
|
201
|
+
dateAt(index, total) {
|
|
202
|
+
const options = this.options;
|
|
199
203
|
|
|
200
|
-
|
|
201
|
-
|
|
204
|
+
return addDuration(total ? this.start : this.valueStart, options.baseUnitStep * index, options.baseUnit, options.weekStartDay);
|
|
205
|
+
}
|
|
202
206
|
|
|
203
|
-
|
|
204
|
-
};
|
|
207
|
+
roundToTotalStep(value, upper, next) {
|
|
208
|
+
const { baseUnit, baseUnitStep, weekStartDay } = this.options;
|
|
209
|
+
const start = this.start;
|
|
205
210
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
var baseUnit = ref.baseUnit;
|
|
209
|
-
var baseUnitStep = ref.baseUnitStep;
|
|
210
|
-
var weekStartDay = ref.weekStartDay;
|
|
211
|
-
var start = this.start;
|
|
211
|
+
const step = dateIndex(value, start, baseUnit, baseUnitStep);
|
|
212
|
+
let roundedStep = upper ? Math.ceil(step) : Math.floor(step);
|
|
212
213
|
|
|
213
|
-
|
|
214
|
-
|
|
214
|
+
if (next) {
|
|
215
|
+
roundedStep += next;
|
|
216
|
+
}
|
|
215
217
|
|
|
216
|
-
|
|
217
|
-
roundedStep += next;
|
|
218
|
+
return addDuration(start, roundedStep * baseUnitStep, baseUnit, weekStartDay);
|
|
218
219
|
}
|
|
219
220
|
|
|
220
|
-
|
|
221
|
-
};
|
|
221
|
+
}
|
|
222
222
|
|
|
223
223
|
function autoBaseUnit(options, startUnit, startStep) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
var unitSteps, step, nextStep;
|
|
224
|
+
const categoryLimits = categoryRange(options.categories);
|
|
225
|
+
const span = (options.max || categoryLimits.max) - (options.min || categoryLimits.min);
|
|
226
|
+
const { autoBaseUnitSteps, maxDateGroups } = options;
|
|
227
|
+
const autoUnit = options.baseUnit === FIT;
|
|
228
|
+
let autoUnitIx = startUnit ? BASE_UNITS.indexOf(startUnit) : 0;
|
|
229
|
+
let baseUnit = autoUnit ? BASE_UNITS[autoUnitIx++] : options.baseUnit;
|
|
230
|
+
let units = span / TIME_PER_UNIT[baseUnit];
|
|
231
|
+
let totalUnits = units;
|
|
232
|
+
let unitSteps, step, nextStep;
|
|
234
233
|
|
|
235
234
|
while (!step || units >= maxDateGroups) {
|
|
236
235
|
unitSteps = unitSteps || autoBaseUnitSteps[baseUnit].slice(0);
|
|
@@ -262,16 +261,16 @@ function autoBaseUnit(options, startUnit, startStep) {
|
|
|
262
261
|
}
|
|
263
262
|
|
|
264
263
|
function defaultBaseUnit(options) {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
264
|
+
const categories = options.categories;
|
|
265
|
+
const count = defined(categories) ? categories.length : 0;
|
|
266
|
+
let minDiff = MAX_VALUE;
|
|
267
|
+
let lastCategory, unit;
|
|
269
268
|
|
|
270
|
-
for (
|
|
271
|
-
|
|
269
|
+
for (let categoryIx = 0; categoryIx < count; categoryIx++) {
|
|
270
|
+
const category = categories[categoryIx];
|
|
272
271
|
|
|
273
272
|
if (category && lastCategory) {
|
|
274
|
-
|
|
273
|
+
let diff = Math.abs(absoluteDateDiff(category, lastCategory));
|
|
275
274
|
|
|
276
275
|
if (diff !== 0) {
|
|
277
276
|
minDiff = Math.min(minDiff, diff);
|
|
@@ -301,8 +300,8 @@ function defaultBaseUnit(options) {
|
|
|
301
300
|
}
|
|
302
301
|
|
|
303
302
|
function initUnit(options) {
|
|
304
|
-
|
|
305
|
-
|
|
303
|
+
const baseUnit = (options.baseUnit || "").toLowerCase();
|
|
304
|
+
const useDefault = baseUnit !== FIT && !inArray(baseUnit, BASE_UNITS);
|
|
306
305
|
|
|
307
306
|
if (useDefault) {
|
|
308
307
|
defaultBaseUnit(options);
|
|
@@ -315,39 +314,32 @@ function initUnit(options) {
|
|
|
315
314
|
return options;
|
|
316
315
|
}
|
|
317
316
|
|
|
318
|
-
|
|
319
|
-
function DateCategoryAxis () {
|
|
320
|
-
CategoryAxis.apply(this, arguments);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
if ( CategoryAxis ) DateCategoryAxis.__proto__ = CategoryAxis;
|
|
324
|
-
DateCategoryAxis.prototype = Object.create( CategoryAxis && CategoryAxis.prototype );
|
|
325
|
-
DateCategoryAxis.prototype.constructor = DateCategoryAxis;
|
|
317
|
+
class DateCategoryAxis extends CategoryAxis {
|
|
326
318
|
|
|
327
|
-
|
|
328
|
-
|
|
319
|
+
clone() {
|
|
320
|
+
const copy = new DateCategoryAxis(Object.assign({}, this.options), this.chartService);
|
|
329
321
|
copy.createLabels();
|
|
330
322
|
|
|
331
323
|
return copy;
|
|
332
|
-
}
|
|
324
|
+
}
|
|
333
325
|
|
|
334
|
-
|
|
335
|
-
|
|
326
|
+
categoriesHash() {
|
|
327
|
+
const start = this.dataRange.total().min;
|
|
336
328
|
return this.options.baseUnit + this.options.baseUnitStep + start;
|
|
337
|
-
}
|
|
329
|
+
}
|
|
338
330
|
|
|
339
|
-
|
|
331
|
+
initUserOptions(options) {
|
|
340
332
|
return options;
|
|
341
|
-
}
|
|
333
|
+
}
|
|
342
334
|
|
|
343
|
-
|
|
344
|
-
|
|
335
|
+
initFields() {
|
|
336
|
+
super.initFields();
|
|
345
337
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
338
|
+
const chartService = this.chartService;
|
|
339
|
+
const intlService = chartService.intl;
|
|
340
|
+
let options = this.options;
|
|
349
341
|
|
|
350
|
-
|
|
342
|
+
let categories = options.categories || [];
|
|
351
343
|
if (!categories._parsed) {
|
|
352
344
|
categories = parseDates(intlService, categories);
|
|
353
345
|
categories._parsed = true;
|
|
@@ -373,11 +365,11 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
373
365
|
options.srcCategories = categories;
|
|
374
366
|
|
|
375
367
|
if (categories.length > 0) {
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
368
|
+
const range = categoryRange(categories, true);
|
|
369
|
+
const maxDivisions = options.maxDivisions;
|
|
370
|
+
const safeOptions = initUnit(options);
|
|
379
371
|
|
|
380
|
-
|
|
372
|
+
const forecast = options._forecast;
|
|
381
373
|
if (forecast) {
|
|
382
374
|
if (forecast.before > 0) {
|
|
383
375
|
range.min = addDuration(range.min, -forecast.before, safeOptions.baseUnit, safeOptions.weekStartDay);
|
|
@@ -391,9 +383,9 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
391
383
|
this.dataRange = new DateRange(range.min, range.max, safeOptions);
|
|
392
384
|
|
|
393
385
|
if (maxDivisions) {
|
|
394
|
-
|
|
386
|
+
const dataRange = this.dataRange.displayRange();
|
|
395
387
|
|
|
396
|
-
|
|
388
|
+
const divisionOptions = Object.assign({}, options, {
|
|
397
389
|
justified: true,
|
|
398
390
|
roundToBaseUnit: false,
|
|
399
391
|
baseUnit: 'fit',
|
|
@@ -402,7 +394,7 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
402
394
|
maxDateGroups: maxDivisions
|
|
403
395
|
});
|
|
404
396
|
|
|
405
|
-
|
|
397
|
+
const dataRangeOptions = this.dataRange.options;
|
|
406
398
|
|
|
407
399
|
autoBaseUnit(divisionOptions, dataRangeOptions.baseUnit, dataRangeOptions.baseUnitStep);
|
|
408
400
|
|
|
@@ -417,67 +409,63 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
417
409
|
}
|
|
418
410
|
|
|
419
411
|
this.rangeLabels = [];
|
|
420
|
-
}
|
|
412
|
+
}
|
|
421
413
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
var divisionRange = ref.divisionRange;
|
|
426
|
-
var valuesCount = divisionRange.valuesCount();
|
|
414
|
+
tickIndices(stepSize) {
|
|
415
|
+
const { dataRange, divisionRange } = this;
|
|
416
|
+
const valuesCount = divisionRange.valuesCount();
|
|
427
417
|
|
|
428
418
|
if (!this.options.maxDivisions || !valuesCount) {
|
|
429
|
-
return
|
|
419
|
+
return super.tickIndices(stepSize);
|
|
430
420
|
}
|
|
431
421
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
422
|
+
const indices = [];
|
|
423
|
+
let values = divisionRange.values();
|
|
424
|
+
let offset = 0;
|
|
435
425
|
|
|
436
426
|
if (!this.options.justified) {
|
|
437
427
|
values = values.concat(divisionRange.dateAt(valuesCount));
|
|
438
428
|
offset = 0.5;//align ticks to the center of not justified categories
|
|
439
429
|
}
|
|
440
430
|
|
|
441
|
-
for (
|
|
431
|
+
for (let idx = 0; idx < values.length; idx++) {
|
|
442
432
|
indices.push(dataRange.dateIndex(values[idx]) + offset);
|
|
443
433
|
if (stepSize !== 1 && idx >= 1) {
|
|
444
|
-
|
|
434
|
+
const last = indices.length - 1;
|
|
445
435
|
indices.splice(idx, 0, indices[last - 1] + (indices[last] - indices[last - 1]) * stepSize);
|
|
446
436
|
}
|
|
447
437
|
}
|
|
448
438
|
|
|
449
439
|
return indices;
|
|
450
|
-
}
|
|
440
|
+
}
|
|
451
441
|
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
442
|
+
shouldRenderNote(value) {
|
|
443
|
+
const range = this.range();
|
|
444
|
+
const categories = this.options.categories || [];
|
|
455
445
|
|
|
456
446
|
return dateComparer(value, range.min) >= 0 && dateComparer(value, range.max) <= 0 && categories.length;
|
|
457
|
-
}
|
|
447
|
+
}
|
|
458
448
|
|
|
459
|
-
|
|
449
|
+
parseNoteValue(value) {
|
|
460
450
|
return parseDate(this.chartService.intl, value);
|
|
461
|
-
}
|
|
451
|
+
}
|
|
462
452
|
|
|
463
|
-
|
|
453
|
+
noteSlot(value) {
|
|
464
454
|
return this.getSlot(value);
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
var scale = size / (range.max - range.min);
|
|
476
|
-
var offset = round(delta / scale, DEFAULT_PRECISION);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
translateRange(delta) {
|
|
458
|
+
const options = this.options;
|
|
459
|
+
const { baseUnit, weekStartDay, vertical } = options;
|
|
460
|
+
const lineBox = this.lineBox();
|
|
461
|
+
const size = vertical ? lineBox.height() : lineBox.width();
|
|
462
|
+
let range = this.range();
|
|
463
|
+
const scale = size / (range.max - range.min);
|
|
464
|
+
const offset = round(delta / scale, DEFAULT_PRECISION);
|
|
477
465
|
|
|
478
466
|
if (range.min && range.max) {
|
|
479
|
-
|
|
480
|
-
|
|
467
|
+
const from = addTicks(options.min || range.min, offset);
|
|
468
|
+
const to = addTicks(options.max || range.max, offset);
|
|
481
469
|
|
|
482
470
|
range = {
|
|
483
471
|
min: addDuration(from, 0, baseUnit, weekStartDay),
|
|
@@ -486,33 +474,31 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
486
474
|
}
|
|
487
475
|
|
|
488
476
|
return range;
|
|
489
|
-
}
|
|
477
|
+
}
|
|
490
478
|
|
|
491
|
-
|
|
479
|
+
labelsRange() {
|
|
492
480
|
return {
|
|
493
481
|
min: this.options.labels.skip,
|
|
494
482
|
max: this.divisionRange.valuesCount()
|
|
495
483
|
};
|
|
496
|
-
}
|
|
484
|
+
}
|
|
497
485
|
|
|
498
|
-
|
|
486
|
+
pan(delta) {
|
|
499
487
|
if (this.isEmpty()) {
|
|
500
488
|
return null;
|
|
501
489
|
}
|
|
502
490
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
var from = addTicks(min, offset);
|
|
513
|
-
var to = addTicks(max, offset);
|
|
491
|
+
const options = this.options;
|
|
492
|
+
const lineBox = this.lineBox();
|
|
493
|
+
const size = options.vertical ? lineBox.height() : lineBox.width();
|
|
494
|
+
const { min, max } = this.dataRange.displayRange();
|
|
495
|
+
const totalLimits = this.dataRange.total();
|
|
496
|
+
const scale = size / (max - min);
|
|
497
|
+
const offset = round(delta / scale, DEFAULT_PRECISION) * (options.reverse ? -1 : 1);
|
|
498
|
+
const from = addTicks(min, offset);
|
|
499
|
+
const to = addTicks(max, offset);
|
|
514
500
|
|
|
515
|
-
|
|
501
|
+
const panRange = this.limitRange(toTime(from), toTime(to), toTime(totalLimits.min), toTime(totalLimits.max), offset);
|
|
516
502
|
|
|
517
503
|
if (panRange) {
|
|
518
504
|
panRange.min = toDate(panRange.min);
|
|
@@ -524,21 +510,21 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
524
510
|
|
|
525
511
|
return panRange;
|
|
526
512
|
}
|
|
527
|
-
}
|
|
513
|
+
}
|
|
528
514
|
|
|
529
|
-
|
|
515
|
+
pointsRange(start, end) {
|
|
530
516
|
if (this.isEmpty()) {
|
|
531
517
|
return null;
|
|
532
518
|
}
|
|
533
519
|
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
520
|
+
const pointsRange = super.pointsRange(start, end);
|
|
521
|
+
const datesRange = this.dataRange.displayRange();
|
|
522
|
+
const indicesRange = this.dataRange.displayIndices();
|
|
523
|
+
const scale = dateDiff(datesRange.max, datesRange.min) / (indicesRange.max - indicesRange.min);
|
|
524
|
+
const options = this.options;
|
|
539
525
|
|
|
540
|
-
|
|
541
|
-
|
|
526
|
+
const min = addTicks(datesRange.min, pointsRange.min * scale);
|
|
527
|
+
const max = addTicks(datesRange.min, pointsRange.max * scale);
|
|
542
528
|
|
|
543
529
|
return {
|
|
544
530
|
min: min,
|
|
@@ -546,40 +532,36 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
546
532
|
baseUnit: options.userSetBaseUnit || options.baseUnit,
|
|
547
533
|
baseUnitStep: options.userSetBaseUnitStep || options.baseUnitStep
|
|
548
534
|
};
|
|
549
|
-
}
|
|
535
|
+
}
|
|
550
536
|
|
|
551
|
-
|
|
537
|
+
scaleRange(scale, cursor) {
|
|
552
538
|
if (this.isEmpty()) {
|
|
553
539
|
return {};
|
|
554
540
|
}
|
|
555
541
|
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
var rangeMin = ref.min;
|
|
561
|
-
var rangeMax = ref.max;
|
|
542
|
+
const options = this.options;
|
|
543
|
+
const fit = options.userSetBaseUnit === FIT;
|
|
544
|
+
const totalLimits = this.dataRange.total();
|
|
545
|
+
const { min: rangeMin, max: rangeMax } = this.dataRange.displayRange();
|
|
562
546
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
547
|
+
const position = Math.abs(this.pointOffset(cursor));
|
|
548
|
+
const range = rangeMax - rangeMin;
|
|
549
|
+
const delta = this.scaleToDelta(scale, range);
|
|
550
|
+
const minDelta = Math.round(position * delta);
|
|
551
|
+
const maxDelta = Math.round((1 - position) * delta);
|
|
568
552
|
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
var max = new Date(rangeMax.getTime() - maxDelta);
|
|
553
|
+
let { baseUnit } = this.dataRange.options;
|
|
554
|
+
let min = new Date(rangeMin.getTime() + minDelta);
|
|
555
|
+
let max = new Date(rangeMax.getTime() - maxDelta);
|
|
573
556
|
|
|
574
557
|
if (fit) {
|
|
575
|
-
|
|
576
|
-
var maxDateGroups = options.maxDateGroups;
|
|
558
|
+
const { autoBaseUnitSteps, maxDateGroups } = options;
|
|
577
559
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
560
|
+
const maxDiff = last(autoBaseUnitSteps[baseUnit]) * maxDateGroups * TIME_PER_UNIT[baseUnit];
|
|
561
|
+
const rangeDiff = dateDiff(rangeMax, rangeMin);
|
|
562
|
+
const diff = dateDiff(max, min);
|
|
563
|
+
let baseUnitIndex = BASE_UNITS.indexOf(baseUnit);
|
|
564
|
+
let autoBaseUnitStep, ticks;
|
|
583
565
|
|
|
584
566
|
if (diff < TIME_PER_UNIT[baseUnit] && baseUnit !== MILLISECONDS) {
|
|
585
567
|
baseUnit = BASE_UNITS[baseUnitIndex - 1];
|
|
@@ -589,7 +571,7 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
589
571
|
max = addTicks(rangeMax, -ticks);
|
|
590
572
|
|
|
591
573
|
} else if (diff > maxDiff && baseUnit !== YEARS) {
|
|
592
|
-
|
|
574
|
+
let stepIndex = 0;
|
|
593
575
|
|
|
594
576
|
do {
|
|
595
577
|
baseUnitIndex++;
|
|
@@ -620,11 +602,11 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
620
602
|
baseUnitStep: options.userSetBaseUnitStep || options.baseUnitStep
|
|
621
603
|
};
|
|
622
604
|
}
|
|
623
|
-
}
|
|
605
|
+
}
|
|
624
606
|
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
607
|
+
zoomRange(scale, cursor) {
|
|
608
|
+
const totalLimits = this.dataRange.total();
|
|
609
|
+
const range = this.scaleRange(scale, cursor);
|
|
628
610
|
|
|
629
611
|
if (range) {
|
|
630
612
|
if (range.min < totalLimits.min) {
|
|
@@ -636,66 +618,62 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
636
618
|
}
|
|
637
619
|
|
|
638
620
|
return range;
|
|
639
|
-
}
|
|
621
|
+
}
|
|
640
622
|
|
|
641
|
-
|
|
623
|
+
range() {
|
|
642
624
|
return this.dataRange.displayRange();
|
|
643
|
-
}
|
|
625
|
+
}
|
|
644
626
|
|
|
645
|
-
|
|
646
|
-
|
|
627
|
+
createLabels() {
|
|
628
|
+
super.createLabels();
|
|
647
629
|
this.createRangeLabels();
|
|
648
|
-
}
|
|
630
|
+
}
|
|
649
631
|
|
|
650
|
-
|
|
651
|
-
|
|
632
|
+
clearLabels() {
|
|
633
|
+
super.clearLabels();
|
|
652
634
|
this.rangeLabels = [];
|
|
653
|
-
}
|
|
635
|
+
}
|
|
654
636
|
|
|
655
|
-
|
|
637
|
+
arrangeLabels() {
|
|
656
638
|
this.arrangeRangeLabels();
|
|
657
|
-
|
|
658
|
-
}
|
|
639
|
+
super.arrangeLabels();
|
|
640
|
+
}
|
|
659
641
|
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
var options = ref.options;
|
|
663
|
-
var rangeLabels = ref.rangeLabels;
|
|
642
|
+
arrangeRangeLabels() {
|
|
643
|
+
const { options, rangeLabels } = this;
|
|
664
644
|
if (rangeLabels.length === 0) {
|
|
665
645
|
return;
|
|
666
646
|
}
|
|
667
647
|
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
648
|
+
const lineBox = this.lineBox();
|
|
649
|
+
const vertical = options.vertical;
|
|
650
|
+
const mirror = options.rangeLabels.mirror || options.labels.mirror;
|
|
671
651
|
|
|
672
|
-
|
|
652
|
+
const firstLabel = rangeLabels[0];
|
|
673
653
|
if (firstLabel) {
|
|
674
|
-
|
|
654
|
+
const position = vertical ? lineBox.y1 - (firstLabel.box.height() / 2) : lineBox.x1;
|
|
675
655
|
this.positionLabel(firstLabel, mirror, position);
|
|
676
656
|
}
|
|
677
657
|
|
|
678
|
-
|
|
658
|
+
const lastLabel = rangeLabels[1];
|
|
679
659
|
if (lastLabel) {
|
|
680
|
-
|
|
681
|
-
this.positionLabel(lastLabel, mirror, position
|
|
660
|
+
const position = vertical ? lineBox.y2 - (lastLabel.box.height() / 2) : lineBox.x2;
|
|
661
|
+
this.positionLabel(lastLabel, mirror, position);
|
|
682
662
|
}
|
|
683
|
-
}
|
|
663
|
+
}
|
|
684
664
|
|
|
685
|
-
|
|
686
|
-
|
|
665
|
+
autoRotateLabels() {
|
|
666
|
+
super.autoRotateLabels();
|
|
687
667
|
this.autoRotateRangeLabels();
|
|
688
|
-
}
|
|
668
|
+
}
|
|
689
669
|
|
|
690
|
-
|
|
691
|
-
|
|
670
|
+
hideOutOfRangeLabels() {
|
|
671
|
+
super.hideOutOfRangeLabels();
|
|
692
672
|
this.hideOverlappingLabels();
|
|
693
|
-
}
|
|
673
|
+
}
|
|
694
674
|
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
var rangeLabels = ref.rangeLabels;
|
|
698
|
-
var labels = ref.labels;
|
|
675
|
+
hideOverlappingLabels() {
|
|
676
|
+
const { rangeLabels, labels } = this;
|
|
699
677
|
if (rangeLabels.length === 0) {
|
|
700
678
|
return;
|
|
701
679
|
}
|
|
@@ -709,66 +687,60 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
709
687
|
return false;
|
|
710
688
|
}
|
|
711
689
|
|
|
712
|
-
|
|
690
|
+
const firstRangeLabel = rangeLabels[0];
|
|
713
691
|
if (firstRangeLabel && firstRangeLabel.options.visible) {
|
|
714
|
-
for (
|
|
715
|
-
|
|
692
|
+
for (let i = 0; i < labels.length; i++) {
|
|
693
|
+
const overlaps = clip(firstRangeLabel, labels[i]);
|
|
716
694
|
if (!overlaps) {
|
|
717
695
|
break;
|
|
718
696
|
}
|
|
719
697
|
}
|
|
720
698
|
}
|
|
721
699
|
|
|
722
|
-
|
|
700
|
+
const lastRangeLabel = rangeLabels[1];
|
|
723
701
|
if (lastRangeLabel && lastRangeLabel.options.visible) {
|
|
724
|
-
for (
|
|
725
|
-
|
|
726
|
-
if (!overlaps
|
|
702
|
+
for (let i = labels.length - 1; i > 0; --i) {
|
|
703
|
+
const overlaps = clip(lastRangeLabel, labels[i]);
|
|
704
|
+
if (!overlaps) {
|
|
727
705
|
break;
|
|
728
706
|
}
|
|
729
707
|
}
|
|
730
708
|
}
|
|
731
|
-
}
|
|
709
|
+
}
|
|
732
710
|
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
711
|
+
contentBox() {
|
|
712
|
+
const box = super.contentBox();
|
|
713
|
+
const rangeLabels = this.rangeLabels;
|
|
736
714
|
|
|
737
|
-
for (
|
|
738
|
-
|
|
715
|
+
for (let i = 0; i < rangeLabels.length; i++) {
|
|
716
|
+
const label = rangeLabels[i];
|
|
739
717
|
if (label.options.visible) {
|
|
740
718
|
box.wrap(label.box);
|
|
741
719
|
}
|
|
742
720
|
}
|
|
743
721
|
|
|
744
722
|
return box;
|
|
745
|
-
}
|
|
746
|
-
|
|
747
|
-
DateCategoryAxis.prototype.createAxisLabel = function createAxisLabel (index, labelOptions, labelContext) {
|
|
748
|
-
if ( labelContext === void 0 ) labelContext = {};
|
|
723
|
+
}
|
|
749
724
|
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
725
|
+
createAxisLabel(index, labelOptions, labelContext = {}) {
|
|
726
|
+
const options = this.options;
|
|
727
|
+
const dataItem = options.dataItems && !options.maxDivisions ? options.dataItems[index] : null;
|
|
728
|
+
const date = this.divisionRange.dateAt(index);
|
|
729
|
+
const unitFormat = labelOptions.dateFormats[this.divisionRange.options.baseUnit];
|
|
754
730
|
|
|
755
731
|
labelOptions.format = labelOptions.format || unitFormat;
|
|
756
732
|
labelContext.dataItem = dataItem;
|
|
757
733
|
|
|
758
|
-
|
|
734
|
+
const text = this.axisLabelText(date, labelOptions, labelContext);
|
|
759
735
|
if (text) {
|
|
760
736
|
return new AxisLabel(date, text, index, dataItem, labelOptions);
|
|
761
737
|
}
|
|
762
|
-
}
|
|
763
|
-
|
|
764
|
-
DateCategoryAxis.prototype.createRangeLabels = function createRangeLabels () {
|
|
765
|
-
var this$1 = this;
|
|
738
|
+
}
|
|
766
739
|
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
var labelOptions = Object.assign({}, options.labels, options.rangeLabels, {
|
|
740
|
+
createRangeLabels() {
|
|
741
|
+
const { displayStart, displayEnd } = this.divisionRange;
|
|
742
|
+
const options = this.options;
|
|
743
|
+
const labelOptions = Object.assign({}, options.labels, options.rangeLabels, {
|
|
772
744
|
align: CENTER,
|
|
773
745
|
zIndex: options.zIndex
|
|
774
746
|
});
|
|
@@ -785,54 +757,52 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
785
757
|
options.autoRotateRangeLabels = true;
|
|
786
758
|
}
|
|
787
759
|
|
|
788
|
-
|
|
760
|
+
const unitFormat = labelOptions.dateFormats[this.divisionRange.options.baseUnit];
|
|
789
761
|
labelOptions.format = labelOptions.format || unitFormat;
|
|
790
762
|
|
|
791
|
-
|
|
763
|
+
const createLabel = (index, date, text) => {
|
|
792
764
|
if (text) {
|
|
793
|
-
|
|
794
|
-
this
|
|
795
|
-
this
|
|
765
|
+
const label = new AxisLabel(date, text, index, null, labelOptions);
|
|
766
|
+
this.append(label);
|
|
767
|
+
this.rangeLabels.push(label);
|
|
796
768
|
}
|
|
797
769
|
};
|
|
798
770
|
|
|
799
|
-
|
|
771
|
+
const startText = this.axisLabelText(displayStart, labelOptions, { index: 0, count: 2 });
|
|
800
772
|
createLabel(0, displayStart, startText);
|
|
801
773
|
|
|
802
|
-
|
|
774
|
+
const endText = this.axisLabelText(displayEnd, labelOptions, { index: 1, count: 2 });
|
|
803
775
|
createLabel(1, displayEnd, endText);
|
|
804
|
-
}
|
|
805
|
-
|
|
806
|
-
DateCategoryAxis.prototype.autoRotateRangeLabels = function autoRotateRangeLabels () {
|
|
807
|
-
var this$1 = this;
|
|
776
|
+
}
|
|
808
777
|
|
|
809
|
-
|
|
778
|
+
autoRotateRangeLabels() {
|
|
779
|
+
const labels = this.rangeLabels;
|
|
810
780
|
if (!this.options.autoRotateRangeLabels || this.options.vertical || labels.length !== 2) {
|
|
811
781
|
return;
|
|
812
782
|
}
|
|
813
783
|
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
784
|
+
const rotateLabel = (label, tickPositions, index) => {
|
|
785
|
+
const width = Math.abs(tickPositions[index + 1] - tickPositions[index]) * 2;
|
|
786
|
+
const angle = this.autoRotateLabelAngle(label.box, width);
|
|
817
787
|
if (angle !== 0) {
|
|
818
788
|
label.options.rotation = angle;
|
|
819
789
|
label.reflow(new Box());
|
|
820
790
|
}
|
|
821
791
|
};
|
|
822
792
|
|
|
823
|
-
|
|
793
|
+
const tickPositions = this.getMajorTickPositions();
|
|
824
794
|
rotateLabel(labels[0], tickPositions, 0);
|
|
825
795
|
rotateLabel(labels[1], tickPositions, tickPositions.length - 2);
|
|
826
|
-
}
|
|
796
|
+
}
|
|
827
797
|
|
|
828
|
-
|
|
798
|
+
categoryIndex(value) {
|
|
829
799
|
return this.dataRange.valueIndex(value);
|
|
830
|
-
}
|
|
800
|
+
}
|
|
831
801
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
802
|
+
slot(from, to, limit) {
|
|
803
|
+
const dateRange = this.dataRange;
|
|
804
|
+
let start = from;
|
|
805
|
+
let end = to;
|
|
836
806
|
|
|
837
807
|
if (start instanceof Date) {
|
|
838
808
|
start = dateRange.dateIndex(start);
|
|
@@ -842,15 +812,15 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
842
812
|
end = dateRange.dateIndex(end);
|
|
843
813
|
}
|
|
844
814
|
|
|
845
|
-
|
|
815
|
+
const slot = this.getSlot(start, end, limit);
|
|
846
816
|
if (slot) {
|
|
847
817
|
return slot.toRect();
|
|
848
818
|
}
|
|
849
|
-
}
|
|
819
|
+
}
|
|
850
820
|
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
821
|
+
getSlot(a, b, limit) {
|
|
822
|
+
let start = a;
|
|
823
|
+
let end = b;
|
|
854
824
|
|
|
855
825
|
if (typeof start === OBJECT) {
|
|
856
826
|
start = this.categoryIndex(start);
|
|
@@ -860,104 +830,102 @@ var DateCategoryAxis = (function (CategoryAxis) {
|
|
|
860
830
|
end = this.categoryIndex(end);
|
|
861
831
|
}
|
|
862
832
|
|
|
863
|
-
return
|
|
864
|
-
}
|
|
833
|
+
return super.getSlot(start, end, limit);
|
|
834
|
+
}
|
|
865
835
|
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
836
|
+
valueRange() {
|
|
837
|
+
const options = this.options;
|
|
838
|
+
const range = categoryRange(options.srcCategories);
|
|
869
839
|
|
|
870
840
|
return {
|
|
871
841
|
min: toDate(range.min),
|
|
872
842
|
max: toDate(range.max)
|
|
873
843
|
};
|
|
874
|
-
}
|
|
844
|
+
}
|
|
875
845
|
|
|
876
|
-
|
|
846
|
+
categoryAt(index, total) {
|
|
877
847
|
return this.dataRange.dateAt(index, total);
|
|
878
|
-
}
|
|
848
|
+
}
|
|
879
849
|
|
|
880
|
-
|
|
850
|
+
categoriesCount() {
|
|
881
851
|
return this.dataRange.valuesCount();
|
|
882
|
-
}
|
|
852
|
+
}
|
|
883
853
|
|
|
884
|
-
|
|
854
|
+
rangeIndices() {
|
|
885
855
|
return this.dataRange.displayIndices();
|
|
886
|
-
}
|
|
856
|
+
}
|
|
887
857
|
|
|
888
|
-
|
|
858
|
+
labelsBetweenTicks() {
|
|
889
859
|
return !this.divisionRange.options.justified;
|
|
890
|
-
}
|
|
860
|
+
}
|
|
891
861
|
|
|
892
|
-
|
|
862
|
+
prepareUserOptions() {
|
|
893
863
|
if (this.isEmpty()) {
|
|
894
864
|
return;
|
|
895
865
|
}
|
|
896
866
|
|
|
897
867
|
this.options.categories = this.dataRange.values();
|
|
898
|
-
}
|
|
868
|
+
}
|
|
899
869
|
|
|
900
|
-
|
|
901
|
-
|
|
870
|
+
getCategory(point) {
|
|
871
|
+
const index = this.pointCategoryIndex(point);
|
|
902
872
|
|
|
903
873
|
if (index === null) {
|
|
904
874
|
return null;
|
|
905
875
|
}
|
|
906
876
|
|
|
907
877
|
return this.dataRange.dateAt(index);
|
|
908
|
-
}
|
|
878
|
+
}
|
|
909
879
|
|
|
910
|
-
|
|
880
|
+
totalIndex(value) {
|
|
911
881
|
return this.dataRange.totalIndex(value);
|
|
912
|
-
}
|
|
882
|
+
}
|
|
913
883
|
|
|
914
|
-
|
|
915
|
-
|
|
884
|
+
currentRangeIndices() {
|
|
885
|
+
const range = this.dataRange.valueRange();
|
|
916
886
|
return {
|
|
917
887
|
min: this.dataRange.totalIndex(range.min),
|
|
918
888
|
max: this.dataRange.totalIndex(range.max)
|
|
919
889
|
};
|
|
920
|
-
}
|
|
890
|
+
}
|
|
921
891
|
|
|
922
|
-
|
|
892
|
+
totalRange() {
|
|
923
893
|
return this.dataRange.total();
|
|
924
|
-
}
|
|
894
|
+
}
|
|
925
895
|
|
|
926
|
-
|
|
927
|
-
|
|
896
|
+
totalRangeIndices() {
|
|
897
|
+
const range = this.dataRange.total();
|
|
928
898
|
return {
|
|
929
899
|
min: this.dataRange.totalIndex(range.min),
|
|
930
900
|
max: this.dataRange.totalIndex(range.max)
|
|
931
901
|
};
|
|
932
|
-
}
|
|
902
|
+
}
|
|
933
903
|
|
|
934
|
-
|
|
904
|
+
totalCount() {
|
|
935
905
|
return this.dataRange.totalCount();
|
|
936
|
-
}
|
|
906
|
+
}
|
|
937
907
|
|
|
938
|
-
|
|
908
|
+
isEmpty() {
|
|
939
909
|
return !this.options.srcCategories.length;
|
|
940
|
-
}
|
|
910
|
+
}
|
|
941
911
|
|
|
942
|
-
|
|
912
|
+
roundedRange() {
|
|
943
913
|
if (this.options.roundToBaseUnit !== false || this.isEmpty()) {
|
|
944
914
|
return this.range();
|
|
945
915
|
}
|
|
946
916
|
|
|
947
|
-
|
|
948
|
-
|
|
917
|
+
const options = this.options;
|
|
918
|
+
const datesRange = categoryRange(options.srcCategories);
|
|
949
919
|
|
|
950
|
-
|
|
920
|
+
const dateRange = new DateRange(datesRange.min, datesRange.max, Object.assign({}, options, {
|
|
951
921
|
justified: false,
|
|
952
922
|
roundToBaseUnit: true,
|
|
953
923
|
justifyEnd: false
|
|
954
924
|
}));
|
|
955
925
|
|
|
956
926
|
return dateRange.displayRange();
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
return DateCategoryAxis;
|
|
960
|
-
}(CategoryAxis));
|
|
927
|
+
}
|
|
928
|
+
}
|
|
961
929
|
|
|
962
930
|
setDefaultOptions(DateCategoryAxis, {
|
|
963
931
|
type: DATE,
|