@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
|
@@ -1,75 +1,75 @@
|
|
|
1
1
|
import { support } from '@progress/kendo-drawing';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const browser = support.browser || {};
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
const INITIAL_ANIMATION_DURATION = 600;
|
|
6
|
+
const FADEIN = "fadeIn";
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
8
|
+
const GLASS = "glass";
|
|
9
|
+
const BORDER_BRIGHTNESS = 0.8;
|
|
10
|
+
const TOOLTIP_OFFSET = 5;
|
|
11
|
+
const START_SCALE = browser.msie ? 0.001 : 0;
|
|
12
|
+
const ERROR_LOW_FIELD = "errorLow";
|
|
13
|
+
const ERROR_HIGH_FIELD = "errorHigh";
|
|
14
|
+
const X_ERROR_LOW_FIELD = "xErrorLow";
|
|
15
|
+
const X_ERROR_HIGH_FIELD = "xErrorHigh";
|
|
16
|
+
const Y_ERROR_LOW_FIELD = "yErrorLow";
|
|
17
|
+
const Y_ERROR_HIGH_FIELD = "yErrorHigh";
|
|
18
|
+
const LINE_MARKER_SIZE = 8;
|
|
19
|
+
const ZERO = "zero";
|
|
20
|
+
const INTERPOLATE = "interpolate";
|
|
21
|
+
const GAP = "gap";
|
|
22
|
+
const ABOVE = "above";
|
|
23
|
+
const BELOW = "below";
|
|
24
|
+
const BOTTOM = "bottom";
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
const SMOOTH = "smooth";
|
|
27
|
+
const STEP = "step";
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
29
|
+
const AREA = "area";
|
|
30
|
+
const BAR = "bar";
|
|
31
|
+
const BOX_PLOT = "boxPlot";
|
|
32
|
+
const BUBBLE = "bubble";
|
|
33
|
+
const BULLET = "bullet";
|
|
34
|
+
const CANDLESTICK = "candlestick";
|
|
35
|
+
const COLUMN = "column";
|
|
36
|
+
const DONUT = "donut";
|
|
37
|
+
const FUNNEL = "funnel";
|
|
38
|
+
const PYRAMID = "pyramid";
|
|
39
|
+
const HEATMAP = "heatmap";
|
|
40
|
+
const HORIZONTAL_WATERFALL = "horizontalWaterfall";
|
|
41
|
+
const LINE = "line";
|
|
42
|
+
const OHLC = "ohlc";
|
|
43
|
+
const PIE = "pie";
|
|
44
|
+
const POLAR_AREA = "polarArea";
|
|
45
|
+
const POLAR_LINE = "polarLine";
|
|
46
|
+
const POLAR_SCATTER = "polarScatter";
|
|
47
|
+
const RADAR_AREA = "radarArea";
|
|
48
|
+
const RADAR_COLUMN = "radarColumn";
|
|
49
|
+
const RADAR_LINE = "radarLine";
|
|
50
|
+
const RANGE_AREA = "rangeArea";
|
|
51
|
+
const RANGE_BAR = "rangeBar";
|
|
52
|
+
const RANGE_COLUMN = "rangeColumn";
|
|
53
|
+
const SCATTER = "scatter";
|
|
54
|
+
const SCATTER_LINE = "scatterLine";
|
|
55
|
+
const VERTICAL_AREA = "verticalArea";
|
|
56
|
+
const VERTICAL_BOX_PLOT = "verticalBoxPlot";
|
|
57
|
+
const VERTICAL_BULLET = "verticalBullet";
|
|
58
|
+
const VERTICAL_LINE = "verticalLine";
|
|
59
|
+
const VERTICAL_RANGE_AREA = "verticalRangeArea";
|
|
60
|
+
const WATERFALL = "waterfall";
|
|
61
|
+
const EQUALLY_SPACED_SERIES = [
|
|
62
62
|
BAR, COLUMN, OHLC, CANDLESTICK, BOX_PLOT, VERTICAL_BOX_PLOT,
|
|
63
63
|
BULLET, RANGE_COLUMN, RANGE_BAR, WATERFALL, HORIZONTAL_WATERFALL
|
|
64
64
|
];
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
const TRENDLINE_EXPONENTIAL = 'exponentialTrendline';
|
|
67
|
+
const TRENDLINE_LINEAR = 'linearTrendline';
|
|
68
|
+
const TRENDLINE_LOGARITHMIC = 'logarithmicTrendline';
|
|
69
|
+
const TRENDLINE_MOVING_AVERAGE = 'movingAverageTrendline';
|
|
70
|
+
const TRENDLINE_POLYNOMIAL = 'polynomialTrendline';
|
|
71
|
+
const TRENDLINE_POWER = 'powerTrendline';
|
|
72
|
+
const TRENDLINE_SERIES = [
|
|
73
73
|
TRENDLINE_EXPONENTIAL,
|
|
74
74
|
TRENDLINE_LINEAR,
|
|
75
75
|
TRENDLINE_LOGARITHMIC,
|
|
@@ -78,54 +78,54 @@ var TRENDLINE_SERIES = [
|
|
|
78
78
|
TRENDLINE_POWER
|
|
79
79
|
];
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
81
|
+
const LEGEND_ITEM_CLICK = "legendItemClick";
|
|
82
|
+
const LEGEND_ITEM_HOVER = "legendItemHover";
|
|
83
|
+
const LEGEND_ITEM_LEAVE = "legendItemLeave";
|
|
84
|
+
const SERIES_CLICK = "seriesClick";
|
|
85
|
+
const SERIES_HOVER = "seriesHover";
|
|
86
|
+
const SERIES_OVER = "seriesOver";
|
|
87
|
+
const SERIES_LEAVE = "seriesLeave";
|
|
88
|
+
const PLOT_AREA_CLICK = "plotAreaClick";
|
|
89
|
+
const PLOT_AREA_HOVER = "plotAreaHover";
|
|
90
|
+
const PLOT_AREA_LEAVE = "plotAreaLeave";
|
|
91
|
+
const DRAG = "drag";
|
|
92
|
+
const DRAG_END = "dragEnd";
|
|
93
|
+
const DRAG_START = "dragStart";
|
|
94
|
+
const ZOOM_START = "zoomStart";
|
|
95
|
+
const ZOOM = "zoom";
|
|
96
|
+
const ZOOM_END = "zoomEnd";
|
|
97
|
+
const SELECT_START = "selectStart";
|
|
98
|
+
const SELECT = "select";
|
|
99
|
+
const SELECT_END = "selectEnd";
|
|
100
|
+
const RENDER = "render";
|
|
101
|
+
const SHOW_TOOLTIP = "showTooltip";
|
|
102
|
+
const HIDE_TOOLTIP = "hideTooltip";
|
|
103
|
+
const PANE_RENDER = "paneRender";
|
|
104
104
|
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
const CHART_POINT_ROLE = "graphics-symbol";
|
|
107
|
+
const CHART_POINT_CLASSNAME = "k-chart-point";
|
|
108
|
+
const CHART_POINT_ROLE_DESCRIPTION = "Point";
|
|
109
|
+
const LEGEND_ITEM_ROLE = "checkbox";
|
|
110
|
+
const LEGEND_ITEM_CLASSNAME = "k-chart-legend-item";
|
|
111
|
+
const LEGEND_ITEM_ARIA_ROLE_DESCRIPTION = "Legend item";
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
const LOGARITHMIC = "log";
|
|
114
|
+
const CATEGORY = "category";
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
const INSIDE_END = "insideEnd";
|
|
117
|
+
const INSIDE_BASE = "insideBase";
|
|
118
|
+
const OUTSIDE_END = "outsideEnd";
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
const MOUSEWHEEL = "wheel";
|
|
121
|
+
const MOUSEWHEEL_DELAY = 150;
|
|
122
|
+
const MOUSEWHEEL_ZOOM_RATE = 0.3;
|
|
123
123
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
const DRILLDOWN = "drilldown";
|
|
125
|
+
const DRILLDOWN_FIELD = "drilldown";
|
|
126
|
+
const PATTERN_FIELD = "pattern";
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
const MIN_MOVING_AVERAGE_PERIOD = 2;
|
|
129
129
|
|
|
130
130
|
export {
|
|
131
131
|
INITIAL_ANIMATION_DURATION, FADEIN,
|
|
@@ -4,37 +4,31 @@ import { HIDE_TOOLTIP } from '../constants';
|
|
|
4
4
|
import { TOP, BOTTOM, LEFT, RIGHT, CENTER, DATE } from '../../common/constants';
|
|
5
5
|
import { setDefaultOptions } from '../../common';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
class CrosshairTooltip extends BaseTooltip {
|
|
8
|
+
constructor(chartService, crosshair, options) {
|
|
9
|
+
super(chartService, options);
|
|
10
10
|
|
|
11
11
|
this.crosshair = crosshair;
|
|
12
12
|
this.formatService = chartService.format;
|
|
13
13
|
this.initAxisName();
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
CrosshairTooltip.prototype.initAxisName = function initAxisName () {
|
|
21
|
-
var axis = this.crosshair.axis;
|
|
22
|
-
var plotArea = axis.plotArea;
|
|
23
|
-
var name;
|
|
16
|
+
initAxisName() {
|
|
17
|
+
const axis = this.crosshair.axis;
|
|
18
|
+
const plotArea = axis.plotArea;
|
|
19
|
+
let name;
|
|
24
20
|
if (plotArea.categoryAxis) {
|
|
25
21
|
name = axis.getCategory ? "categoryAxis" : "valueAxis";
|
|
26
22
|
} else {
|
|
27
23
|
name = axis.options.vertical ? "yAxis" : "xAxis";
|
|
28
24
|
}
|
|
29
25
|
this.axisName = name;
|
|
30
|
-
}
|
|
26
|
+
}
|
|
31
27
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
var value = axis[options.stickyMode ? "getCategory" : "getValue"](point);
|
|
37
|
-
var formattedValue = value;
|
|
28
|
+
showAt(point) {
|
|
29
|
+
const { crosshair: { axis }, options } = this;
|
|
30
|
+
let value = axis[options.stickyMode ? "getCategory" : "getValue"](point);
|
|
31
|
+
let formattedValue = value;
|
|
38
32
|
|
|
39
33
|
if (options.format) {
|
|
40
34
|
formattedValue = this.formatService.auto(options.format, value);
|
|
@@ -50,25 +44,21 @@ var CrosshairTooltip = (function (BaseTooltip) {
|
|
|
50
44
|
axisName: this.axisName,
|
|
51
45
|
axisIndex: this.crosshair.axis.axisIndex
|
|
52
46
|
}, this.options);
|
|
53
|
-
}
|
|
47
|
+
}
|
|
54
48
|
|
|
55
|
-
|
|
49
|
+
hide() {
|
|
56
50
|
this.chartService.notify(HIDE_TOOLTIP, {
|
|
57
51
|
crosshair: this.crosshair,
|
|
58
52
|
axisName: this.axisName,
|
|
59
53
|
axisIndex: this.crosshair.axis.axisIndex
|
|
60
54
|
});
|
|
61
|
-
}
|
|
55
|
+
}
|
|
62
56
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
var padding = ref_options.padding;
|
|
69
|
-
var vertical = !crosshair.axis.options.vertical;
|
|
70
|
-
var lineBox = crosshair.line.bbox();
|
|
71
|
-
var horizontalAlign, verticalAlign, point;
|
|
57
|
+
getAnchor() {
|
|
58
|
+
const { crosshair, options: { position, padding } } = this;
|
|
59
|
+
const vertical = !crosshair.axis.options.vertical;
|
|
60
|
+
const lineBox = crosshair.line.bbox();
|
|
61
|
+
let horizontalAlign, verticalAlign, point;
|
|
72
62
|
|
|
73
63
|
if (vertical) {
|
|
74
64
|
horizontalAlign = CENTER;
|
|
@@ -97,10 +87,8 @@ var CrosshairTooltip = (function (BaseTooltip) {
|
|
|
97
87
|
vertical: verticalAlign
|
|
98
88
|
}
|
|
99
89
|
};
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return CrosshairTooltip;
|
|
103
|
-
}(BaseTooltip));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
104
92
|
|
|
105
93
|
setDefaultOptions(CrosshairTooltip, {
|
|
106
94
|
padding: 10
|
|
@@ -6,14 +6,14 @@ import CrosshairTooltip from './crosshair-tooltip';
|
|
|
6
6
|
import { BLACK, X, Y } from '../../common/constants';
|
|
7
7
|
import { deepExtend, setDefaultOptions } from '../../common';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
class Crosshair extends ChartElement {
|
|
10
|
+
constructor(chartService, axis, options) {
|
|
11
|
+
super(options);
|
|
12
12
|
|
|
13
13
|
this.axis = axis;
|
|
14
14
|
this.stickyMode = axis instanceof CategoryAxis;
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const tooltipOptions = this.options.tooltip;
|
|
17
17
|
|
|
18
18
|
if (tooltipOptions.visible) {
|
|
19
19
|
this.tooltip = new CrosshairTooltip(chartService, this,
|
|
@@ -22,11 +22,7 @@ var Crosshair = (function (ChartElement) {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
Crosshair.prototype = Object.create( ChartElement && ChartElement.prototype );
|
|
27
|
-
Crosshair.prototype.constructor = Crosshair;
|
|
28
|
-
|
|
29
|
-
Crosshair.prototype.showAt = function showAt (point) {
|
|
25
|
+
showAt(point) {
|
|
30
26
|
this.point = point;
|
|
31
27
|
this.moveLine();
|
|
32
28
|
this.line.visible(true);
|
|
@@ -34,25 +30,23 @@ var Crosshair = (function (ChartElement) {
|
|
|
34
30
|
if (this.tooltip) {
|
|
35
31
|
this.tooltip.showAt(point);
|
|
36
32
|
}
|
|
37
|
-
}
|
|
33
|
+
}
|
|
38
34
|
|
|
39
|
-
|
|
35
|
+
hide() {
|
|
40
36
|
this.line.visible(false);
|
|
41
37
|
|
|
42
38
|
if (this.tooltip) {
|
|
43
39
|
this.tooltip.hide();
|
|
44
40
|
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
var lineStart = new geom.Point(box.x1, box.y1);
|
|
55
|
-
var lineEnd;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
moveLine() {
|
|
44
|
+
const { axis, point } = this;
|
|
45
|
+
const vertical = axis.options.vertical;
|
|
46
|
+
const box = this.getBox();
|
|
47
|
+
const dim = vertical ? Y : X;
|
|
48
|
+
const lineStart = new geom.Point(box.x1, box.y1);
|
|
49
|
+
let lineEnd;
|
|
56
50
|
|
|
57
51
|
if (vertical) {
|
|
58
52
|
lineEnd = new geom.Point(box.x2, box.y1);
|
|
@@ -62,7 +56,7 @@ var Crosshair = (function (ChartElement) {
|
|
|
62
56
|
|
|
63
57
|
if (point) {
|
|
64
58
|
if (this.stickyMode) {
|
|
65
|
-
|
|
59
|
+
const slot = axis.getSlot(axis.pointCategoryIndex(point));
|
|
66
60
|
lineStart[dim] = lineEnd[dim] = slot.center()[dim];
|
|
67
61
|
} else {
|
|
68
62
|
lineStart[dim] = lineEnd[dim] = point[dim];
|
|
@@ -72,19 +66,19 @@ var Crosshair = (function (ChartElement) {
|
|
|
72
66
|
this.box = box;
|
|
73
67
|
|
|
74
68
|
this.line.moveTo(lineStart).lineTo(lineEnd);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
for (
|
|
87
|
-
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
getBox() {
|
|
72
|
+
const axis = this.axis;
|
|
73
|
+
const axes = axis.pane.axes;
|
|
74
|
+
const length = axes.length;
|
|
75
|
+
const vertical = axis.options.vertical;
|
|
76
|
+
const box = axis.lineBox().clone();
|
|
77
|
+
const dim = vertical ? X : Y;
|
|
78
|
+
let axisLineBox;
|
|
79
|
+
|
|
80
|
+
for (let i = 0; i < length; i++) {
|
|
81
|
+
const currentAxis = axes[i];
|
|
88
82
|
if (currentAxis.options.vertical !== vertical) {
|
|
89
83
|
if (!axisLineBox) {
|
|
90
84
|
axisLineBox = currentAxis.lineBox().clone();
|
|
@@ -98,12 +92,12 @@ var Crosshair = (function (ChartElement) {
|
|
|
98
92
|
box[dim + 2] = axisLineBox[dim + 2];
|
|
99
93
|
|
|
100
94
|
return box;
|
|
101
|
-
}
|
|
95
|
+
}
|
|
102
96
|
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
createVisual() {
|
|
98
|
+
super.createVisual();
|
|
105
99
|
|
|
106
|
-
|
|
100
|
+
const options = this.options;
|
|
107
101
|
this.line = new draw.Path({
|
|
108
102
|
stroke: {
|
|
109
103
|
color: options.color,
|
|
@@ -116,18 +110,16 @@ var Crosshair = (function (ChartElement) {
|
|
|
116
110
|
|
|
117
111
|
this.moveLine();
|
|
118
112
|
this.visual.append(this.line);
|
|
119
|
-
}
|
|
113
|
+
}
|
|
120
114
|
|
|
121
|
-
|
|
115
|
+
destroy() {
|
|
122
116
|
if (this.tooltip) {
|
|
123
117
|
this.tooltip.destroy();
|
|
124
118
|
}
|
|
125
119
|
|
|
126
|
-
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return Crosshair;
|
|
130
|
-
}(ChartElement));
|
|
120
|
+
super.destroy();
|
|
121
|
+
}
|
|
122
|
+
}
|
|
131
123
|
|
|
132
124
|
setDefaultOptions(Crosshair, {
|
|
133
125
|
color: BLACK,
|
|
@@ -5,19 +5,11 @@ import { INITIAL_ANIMATION_DURATION } from '../constants';
|
|
|
5
5
|
|
|
6
6
|
import { deepExtend, defined, setDefaultOptions, valueOrDefault } from '../../common';
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
const DONUT_SECTOR_ANIM_DELAY = 50;
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if ( PieChart ) DonutChart.__proto__ = PieChart;
|
|
16
|
-
DonutChart.prototype = Object.create( PieChart && PieChart.prototype );
|
|
17
|
-
DonutChart.prototype.constructor = DonutChart;
|
|
18
|
-
|
|
19
|
-
DonutChart.prototype.addValue = function addValue (value, sector, fields) {
|
|
20
|
-
var segmentOptions = deepExtend({}, fields.series, { index: fields.index });
|
|
10
|
+
class DonutChart extends PieChart {
|
|
11
|
+
addValue(value, sector, fields) {
|
|
12
|
+
const segmentOptions = deepExtend({}, fields.series, { index: fields.index });
|
|
21
13
|
segmentOptions.pattern = fields.pattern || segmentOptions.pattern;
|
|
22
14
|
|
|
23
15
|
this.evalSegmentOptions(segmentOptions, value, fields);
|
|
@@ -28,34 +20,32 @@ var DonutChart = (function (PieChart) {
|
|
|
28
20
|
return;
|
|
29
21
|
}
|
|
30
22
|
|
|
31
|
-
|
|
23
|
+
const segment = new DonutSegment(value, sector, segmentOptions);
|
|
32
24
|
|
|
33
25
|
Object.assign(segment, fields);
|
|
34
26
|
this.append(segment);
|
|
35
27
|
this.points.push(segment);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
DonutChart.prototype.reflow = function reflow (targetBox) {
|
|
39
|
-
var this$1 = this;
|
|
40
|
-
|
|
41
|
-
var options = this.options;
|
|
42
|
-
var box = targetBox.clone();
|
|
43
|
-
var space = 5;
|
|
44
|
-
var minWidth = Math.min(box.width(), box.height());
|
|
45
|
-
var halfMinWidth = minWidth / 2;
|
|
46
|
-
var defaultPadding = minWidth - minWidth * 0.85;
|
|
47
|
-
var series = options.series;
|
|
48
|
-
var seriesCount = series.length;
|
|
28
|
+
}
|
|
49
29
|
|
|
50
|
-
|
|
30
|
+
reflow(targetBox) {
|
|
31
|
+
const options = this.options;
|
|
32
|
+
const box = targetBox.clone();
|
|
33
|
+
const space = 5;
|
|
34
|
+
const minWidth = Math.min(box.width(), box.height());
|
|
35
|
+
const halfMinWidth = minWidth / 2;
|
|
36
|
+
const defaultPadding = minWidth - minWidth * 0.85;
|
|
37
|
+
const series = options.series;
|
|
38
|
+
const seriesCount = series.length;
|
|
39
|
+
|
|
40
|
+
let padding = valueOrDefault(options.padding, defaultPadding);
|
|
51
41
|
padding = padding > halfMinWidth - space ? halfMinWidth - space : padding;
|
|
52
42
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
43
|
+
let totalSize = halfMinWidth - padding;
|
|
44
|
+
let seriesWithoutSize = 0;
|
|
45
|
+
let holeSize;
|
|
56
46
|
|
|
57
|
-
for (
|
|
58
|
-
|
|
47
|
+
for (let i = 0; i < seriesCount; i++) {
|
|
48
|
+
const currentSeries = series[i];
|
|
59
49
|
if (i === 0) {
|
|
60
50
|
if (defined(currentSeries.holeSize)) {
|
|
61
51
|
holeSize = currentSeries.holeSize;
|
|
@@ -75,37 +65,35 @@ var DonutChart = (function (PieChart) {
|
|
|
75
65
|
}
|
|
76
66
|
|
|
77
67
|
if (!defined(holeSize)) {
|
|
78
|
-
|
|
68
|
+
const currentSize = (halfMinWidth - padding) / (seriesCount + 0.75);
|
|
79
69
|
holeSize = currentSize * 0.75;
|
|
80
70
|
totalSize -= holeSize;
|
|
81
71
|
}
|
|
82
72
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
73
|
+
let innerRadius = holeSize;
|
|
74
|
+
let margin = 0;
|
|
75
|
+
let size, radius;
|
|
86
76
|
|
|
87
77
|
this.seriesConfigs = [];
|
|
88
78
|
|
|
89
|
-
for (
|
|
90
|
-
|
|
91
|
-
size = valueOrDefault(currentSeries
|
|
79
|
+
for (let i = 0; i < seriesCount; i++) {
|
|
80
|
+
const currentSeries = series[i];
|
|
81
|
+
size = valueOrDefault(currentSeries.size, totalSize / seriesWithoutSize);
|
|
92
82
|
innerRadius += margin;
|
|
93
83
|
radius = innerRadius + size;
|
|
94
|
-
this
|
|
95
|
-
margin = currentSeries
|
|
84
|
+
this.seriesConfigs.push({ innerRadius: innerRadius, radius: radius });
|
|
85
|
+
margin = currentSeries.margin || 0;
|
|
96
86
|
innerRadius = radius;
|
|
97
87
|
}
|
|
98
88
|
|
|
99
|
-
|
|
100
|
-
}
|
|
89
|
+
super.reflow(targetBox);
|
|
90
|
+
}
|
|
101
91
|
|
|
102
|
-
|
|
92
|
+
animationDelay(categoryIndex, seriesIndex, seriesCount) {
|
|
103
93
|
return categoryIndex * DONUT_SECTOR_ANIM_DELAY +
|
|
104
94
|
(INITIAL_ANIMATION_DURATION * (seriesIndex + 1) / (seriesCount + 1));
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return DonutChart;
|
|
108
|
-
}(PieChart));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
109
97
|
|
|
110
98
|
|
|
111
99
|
setDefaultOptions(DonutChart, {
|
|
@@ -8,42 +8,30 @@ import { ShapeBuilder, Box } from '../../core';
|
|
|
8
8
|
import { CENTER } from '../../common/constants';
|
|
9
9
|
import { deepExtend, setDefaultOptions } from '../../common';
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
if ( PieSegment ) DonutSegment.__proto__ = PieSegment;
|
|
17
|
-
DonutSegment.prototype = Object.create( PieSegment && PieSegment.prototype );
|
|
18
|
-
DonutSegment.prototype.constructor = DonutSegment;
|
|
19
|
-
|
|
20
|
-
DonutSegment.prototype.reflowLabel = function reflowLabel () {
|
|
21
|
-
var ref = this;
|
|
22
|
-
var labelsOptions = ref.options.labels;
|
|
23
|
-
var label = ref.label;
|
|
24
|
-
var sector = this.sector.clone();
|
|
25
|
-
var angle = sector.middle();
|
|
11
|
+
class DonutSegment extends PieSegment {
|
|
12
|
+
reflowLabel() {
|
|
13
|
+
const { options: { labels: labelsOptions }, label } = this;
|
|
14
|
+
const sector = this.sector.clone();
|
|
15
|
+
const angle = sector.middle();
|
|
26
16
|
|
|
27
17
|
if (label) {
|
|
28
|
-
|
|
18
|
+
const labelHeight = label.box.height();
|
|
29
19
|
if (labelsOptions.position === CENTER) {
|
|
30
20
|
sector.radius -= (sector.radius - sector.innerRadius) / 2;
|
|
31
21
|
|
|
32
|
-
|
|
22
|
+
const lp = sector.point(angle);
|
|
33
23
|
|
|
34
24
|
label.reflow(new Box(lp.x, lp.y - labelHeight / 2, lp.x, lp.y));
|
|
35
25
|
} else {
|
|
36
|
-
|
|
26
|
+
super.reflowLabel();
|
|
37
27
|
}
|
|
38
28
|
}
|
|
39
|
-
}
|
|
29
|
+
}
|
|
40
30
|
|
|
41
|
-
|
|
31
|
+
createSegment(sector, options) {
|
|
42
32
|
return ShapeBuilder.current.createRing(sector, options);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return DonutSegment;
|
|
46
|
-
}(PieSegment));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
47
35
|
|
|
48
36
|
setDefaultOptions(DonutSegment, {
|
|
49
37
|
overlay: {
|