@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
|
@@ -3,32 +3,27 @@ import scatterValueGetter from './scatter-value-getter';
|
|
|
3
3
|
import calculatePolynomial from './calculate-polynomial';
|
|
4
4
|
|
|
5
5
|
function scatterPolynomialTrendline(context) {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const {
|
|
7
|
+
options,
|
|
8
|
+
seriesValues
|
|
9
|
+
} = context;
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
const data = getData({ seriesValues, options });
|
|
10
12
|
if (data) {
|
|
11
13
|
return Object.assign({}, options,
|
|
12
14
|
|
|
13
15
|
{type: 'scatterLine',
|
|
14
|
-
data
|
|
16
|
+
data});
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
return null;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
|
-
function getData(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var valueGetter = scatterValueGetter(options.field);
|
|
26
|
-
var ref$1 = calculatePolynomial(seriesValues(), valueGetter, order);
|
|
27
|
-
var count = ref$1.count;
|
|
28
|
-
var valueMapper = ref$1.valueMapper;
|
|
29
|
-
var xMin = ref$1.xMin;
|
|
30
|
-
var xMax = ref$1.xMax;
|
|
31
|
-
var range = { xMin: xMin, xMax: xMax };
|
|
22
|
+
function getData({ seriesValues, options }) {
|
|
23
|
+
const order = (options.trendline || {}).order;
|
|
24
|
+
const valueGetter = scatterValueGetter(options.field);
|
|
25
|
+
const { count, valueMapper, xMin, xMax } = calculatePolynomial(seriesValues(), valueGetter, order);
|
|
26
|
+
const range = { xMin, xMax };
|
|
32
27
|
|
|
33
28
|
if (count > 0) {
|
|
34
29
|
// Polynomial trendline equation:
|
|
@@ -5,47 +5,40 @@ import scatterValueGetter from './scatter-value-getter';
|
|
|
5
5
|
import xValueLimits from './x-value-limits';
|
|
6
6
|
|
|
7
7
|
function scatterPowerTrendline(context) {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const {
|
|
9
|
+
options,
|
|
10
|
+
seriesValues
|
|
11
|
+
} = context;
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
const data = getData({ seriesValues, options });
|
|
12
14
|
if (data) {
|
|
13
15
|
return Object.assign({}, options,
|
|
14
16
|
|
|
15
17
|
{type: 'scatterLine',
|
|
16
|
-
data
|
|
18
|
+
data});
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
return null;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
const valueGetter = fieldName => ({ valueFields }) =>
|
|
25
|
+
({ xValue: Math.log(valueFields.x), yValue: Math.log(valueFields[fieldName]) });
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
function getData(ref) {
|
|
29
|
-
var seriesValues = ref.seriesValues;
|
|
30
|
-
var options = ref.options;
|
|
31
|
-
|
|
32
|
-
var sourceValues = seriesValues();
|
|
27
|
+
function getData({ seriesValues, options }) {
|
|
28
|
+
const sourceValues = seriesValues();
|
|
33
29
|
if (!checkAllPositive(sourceValues, 'x')) {
|
|
34
30
|
return null;
|
|
35
31
|
}
|
|
36
32
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var intercept = ref$1.intercept;
|
|
40
|
-
var count = ref$1.count;
|
|
41
|
-
var range = xValueLimits(sourceValues, scatterValueGetter(options.field));
|
|
33
|
+
let { slope, intercept, count } = calculateSlope(sourceValues, valueGetter(options.field));
|
|
34
|
+
let range = xValueLimits(sourceValues, scatterValueGetter(options.field));
|
|
42
35
|
|
|
43
36
|
if (count > 0) {
|
|
44
37
|
// Power trendline equation:
|
|
45
38
|
// y = a * x ^ b
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return getScatterTrendlineData(
|
|
39
|
+
const a = Math.exp(intercept);
|
|
40
|
+
const b = slope;
|
|
41
|
+
return getScatterTrendlineData(x => a * Math.pow(x, b), range, options.trendline);
|
|
49
42
|
}
|
|
50
43
|
|
|
51
44
|
return null;
|
|
@@ -13,7 +13,7 @@ import scatterMovingAverageTrendline from './scatter-moving-average';
|
|
|
13
13
|
import scatterPolynomialTrendline from './scatter-polynomial-trendline';
|
|
14
14
|
import scatterPowerTrendline from './scatter-power-trendline';
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const scatterRegistry = {};
|
|
17
17
|
scatterRegistry[TRENDLINE_EXPONENTIAL] = scatterExponentialTrendline;
|
|
18
18
|
scatterRegistry[TRENDLINE_LINEAR] = scatterLinearTrendline;
|
|
19
19
|
scatterRegistry[TRENDLINE_LOGARITHMIC] = scatterLogarithmicTrendline;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return ({ xValue: valueFields.x, yValue: valueFields[fieldName] });
|
|
5
|
-
; } };
|
|
1
|
+
const scatterValueGetter = fieldName => ({ valueFields }) =>
|
|
2
|
+
({ xValue: valueFields.x, yValue: valueFields[fieldName] });
|
|
6
3
|
|
|
7
4
|
export default scatterValueGetter;
|
|
@@ -13,7 +13,7 @@ import movingAverageTrendline from './moving-average';
|
|
|
13
13
|
import polynomialTrendline from './polynomial-trendline';
|
|
14
14
|
import powerTrendline from './power-trendline';
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const registry = {};
|
|
17
17
|
registry[TRENDLINE_EXPONENTIAL] = exponentialTrendline;
|
|
18
18
|
registry[TRENDLINE_LINEAR] = linearTrendline;
|
|
19
19
|
registry[TRENDLINE_LOGARITHMIC] = logarithmicTrendline;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
function xValueLimits(sourceValues, valueGetter) {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
let xMin = Number.MAX_VALUE;
|
|
3
|
+
let xMax = Number.MIN_VALUE;
|
|
4
4
|
|
|
5
|
-
for (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var xValue = ref.xValue;
|
|
9
|
-
var yValue = ref.yValue;
|
|
5
|
+
for (let i = 0; i < sourceValues.length; i++) {
|
|
6
|
+
const value = sourceValues[i];
|
|
7
|
+
const { xValue, yValue } = valueGetter(value);
|
|
10
8
|
|
|
11
9
|
if (isFinite(xValue) && xValue !== null && isFinite(yValue) && yValue !== null) {
|
|
12
10
|
xMin = Math.min(xValue, xMin);
|
|
@@ -14,7 +12,7 @@ function xValueLimits(sourceValues, valueGetter) {
|
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
14
|
|
|
17
|
-
return { xMin
|
|
15
|
+
return { xMin, xMax };
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
export default xValueLimits;
|
|
@@ -3,14 +3,14 @@ import SeriesBinder from '../series-binder';
|
|
|
3
3
|
import segmentVisible from './segment-visible';
|
|
4
4
|
|
|
5
5
|
export default function bindSegments(series) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
for (
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
const data = series.data;
|
|
7
|
+
const points = [];
|
|
8
|
+
let sum = 0;
|
|
9
|
+
let count = 0;
|
|
10
|
+
|
|
11
|
+
for (let idx = 0; idx < data.length; idx++) {
|
|
12
|
+
const pointData = SeriesBinder.current.bindPoint(series, idx);
|
|
13
|
+
let value = pointData.valueFields.value;
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
if (isString(value)) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export default function categoriesCount(series) {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
const seriesCount = series.length;
|
|
3
|
+
let categories = 0;
|
|
4
4
|
|
|
5
|
-
for (
|
|
5
|
+
for (let i = 0; i < seriesCount; i++) {
|
|
6
6
|
categories = Math.max(categories, series[i].data.length);
|
|
7
7
|
}
|
|
8
8
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { isNumber } from '../../common';
|
|
2
2
|
|
|
3
3
|
export default function countNumbers(values) {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
const length = values.length;
|
|
5
|
+
let count = 0;
|
|
6
6
|
|
|
7
|
-
for (
|
|
8
|
-
|
|
7
|
+
for (let i = 0; i < length; i++) {
|
|
8
|
+
const num = values[i];
|
|
9
9
|
if (isNumber(num)) {
|
|
10
10
|
count++;
|
|
11
11
|
}
|
|
@@ -2,7 +2,7 @@ import { INTERPOLATE, ZERO } from '../constants';
|
|
|
2
2
|
import { convertableToNumber } from '../../common';
|
|
3
3
|
import SeriesBinder from '../series-binder';
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
const AREA_REGEX = /area/i;
|
|
6
6
|
|
|
7
7
|
function seriesMissingValues(series) {
|
|
8
8
|
if (series.missingValues) {
|
|
@@ -13,27 +13,19 @@ function seriesMissingValues(series) {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
function hasValue(series, item) {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const fields = SeriesBinder.current.bindPoint(series, null, item);
|
|
17
|
+
const valueFields = fields.valueFields;
|
|
18
18
|
|
|
19
|
-
for (
|
|
19
|
+
for (let field in valueFields) {
|
|
20
20
|
if (convertableToNumber(valueFields[field])) {
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
function findNext(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var min = ref.min;
|
|
30
|
-
var max = ref.max;
|
|
31
|
-
var getter = ref.getter;
|
|
32
|
-
var hasItem = ref.hasItem;
|
|
33
|
-
var series = ref.series;
|
|
34
|
-
|
|
35
|
-
var pointHasValue, outPoint;
|
|
36
|
-
var idx = start;
|
|
26
|
+
function findNext({ start, dir, min, max, getter, hasItem, series }) {
|
|
27
|
+
let pointHasValue, outPoint;
|
|
28
|
+
let idx = start;
|
|
37
29
|
do {
|
|
38
30
|
idx += dir;
|
|
39
31
|
//aggregating and binding the item takes too much time for large number of categories
|
|
@@ -50,14 +42,13 @@ function findNext(ref) {
|
|
|
50
42
|
}
|
|
51
43
|
|
|
52
44
|
export default function createOutOfRangePoints(series, range, count, getter, hasItem) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var hasMaxPoint = max + 1 < count;
|
|
45
|
+
const { min, max } = range;
|
|
46
|
+
const hasMinPoint = min > 0 && min < count;
|
|
47
|
+
const hasMaxPoint = max + 1 < count;
|
|
57
48
|
|
|
58
49
|
if (hasMinPoint || hasMaxPoint) {
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
const missingValues = seriesMissingValues(series);
|
|
51
|
+
let minPoint, maxPoint;
|
|
61
52
|
if (missingValues !== INTERPOLATE) {
|
|
62
53
|
if (hasMinPoint) {
|
|
63
54
|
minPoint = getter(min - 1);
|
|
@@ -67,7 +58,7 @@ export default function createOutOfRangePoints(series, range, count, getter, has
|
|
|
67
58
|
maxPoint = getter(max + 1);
|
|
68
59
|
}
|
|
69
60
|
} else {
|
|
70
|
-
|
|
61
|
+
let outPoint, pointHasValue;
|
|
71
62
|
if (hasMinPoint) {
|
|
72
63
|
outPoint = getter(min - 1);
|
|
73
64
|
pointHasValue = hasValue(series, outPoint.item);
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { inArray, isFunction, isObject, valueOrDefault, hasOwnProperty } from '../../common';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const MAX_EXPAND_DEPTH = 5;
|
|
4
4
|
|
|
5
|
-
export default function evalOptions(options, context, state, dryRun) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var defaults = state.defaults = state.defaults || {};
|
|
10
|
-
var depth = state.depth = state.depth || 0;
|
|
11
|
-
var needsEval = false;
|
|
5
|
+
export default function evalOptions(options, context, state = {}, dryRun = false) {
|
|
6
|
+
const defaults = state.defaults = state.defaults || {};
|
|
7
|
+
const depth = state.depth = state.depth || 0;
|
|
8
|
+
let needsEval = false;
|
|
12
9
|
|
|
13
10
|
state.excluded = state.excluded || [];
|
|
14
11
|
|
|
@@ -16,9 +13,9 @@ export default function evalOptions(options, context, state, dryRun) {
|
|
|
16
13
|
return null;
|
|
17
14
|
}
|
|
18
15
|
|
|
19
|
-
for (
|
|
16
|
+
for (let property in options) {
|
|
20
17
|
if (!inArray(property, state.excluded) && hasOwnProperty(options, property)) {
|
|
21
|
-
|
|
18
|
+
const propValue = options[property];
|
|
22
19
|
if (isFunction(propValue)) {
|
|
23
20
|
needsEval = true;
|
|
24
21
|
if (!dryRun) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { inArray } from '../../common';
|
|
2
2
|
|
|
3
3
|
export default function filterSeriesByType(series, types) {
|
|
4
|
-
|
|
4
|
+
const result = [];
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
for (
|
|
8
|
-
|
|
6
|
+
const seriesTypes = [].concat(types);
|
|
7
|
+
for (let idx = 0; idx < series.length; idx++) {
|
|
8
|
+
const currentSeries = series[idx];
|
|
9
9
|
if (inArray(currentSeries.type, seriesTypes)) {
|
|
10
10
|
result.push(currentSeries);
|
|
11
11
|
}
|
|
@@ -3,8 +3,8 @@ import equalsIgnoreCase from './equals-ignore-case';
|
|
|
3
3
|
import { DATE } from '../../common/constants';
|
|
4
4
|
|
|
5
5
|
export default function isDateAxis(axisOptions, sampleCategory) {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
const type = axisOptions.type;
|
|
7
|
+
const dateCategory = sampleCategory instanceof Date;
|
|
8
8
|
|
|
9
9
|
return (!type && dateCategory) || equalsIgnoreCase(type, DATE);
|
|
10
10
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { parseDate } from '../../date-utils';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const dateCache = new WeakMap();
|
|
4
4
|
|
|
5
5
|
export default function parseDateCategory(category, row, intlService) {
|
|
6
6
|
if (row === null || typeof row !== 'object') {
|
|
7
7
|
return parseDate(intlService, category);
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
let date = dateCache.get(row);
|
|
11
11
|
if (!date) {
|
|
12
12
|
date = parseDate(intlService, category);
|
|
13
13
|
dateCache.set(row, date);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defined } from '../../common';
|
|
2
2
|
|
|
3
3
|
export default function segmentVisible(series, fields, index) {
|
|
4
|
-
|
|
4
|
+
const visible = fields.visible;
|
|
5
5
|
if (defined(visible)) {
|
|
6
6
|
return visible;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
const pointVisibility = series.pointVisibility;
|
|
10
10
|
if (pointVisibility) {
|
|
11
11
|
return pointVisibility[index];
|
|
12
12
|
}
|
|
@@ -6,38 +6,28 @@ import categoriesCount from '../utils/categories-count';
|
|
|
6
6
|
|
|
7
7
|
import { isNumber } from '../../common';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if ( BarChart ) WaterfallChart.__proto__ = BarChart;
|
|
15
|
-
WaterfallChart.prototype = Object.create( BarChart && BarChart.prototype );
|
|
16
|
-
WaterfallChart.prototype.constructor = WaterfallChart;
|
|
17
|
-
|
|
18
|
-
WaterfallChart.prototype.render = function render () {
|
|
19
|
-
BarChart.prototype.render.call(this);
|
|
9
|
+
class WaterfallChart extends BarChart {
|
|
10
|
+
render() {
|
|
11
|
+
super.render();
|
|
20
12
|
this.createSegments();
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
WaterfallChart.prototype.traverseDataPoints = function traverseDataPoints (callback) {
|
|
24
|
-
var this$1 = this;
|
|
13
|
+
}
|
|
25
14
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
traverseDataPoints(callback) {
|
|
16
|
+
const series = this.options.series;
|
|
17
|
+
const totalCategories = categoriesCount(series);
|
|
18
|
+
const isVertical = !this.options.invertAxes;
|
|
29
19
|
|
|
30
|
-
for (
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
for (let seriesIx = 0; seriesIx < series.length; seriesIx++) {
|
|
21
|
+
const currentSeries = series[seriesIx];
|
|
22
|
+
let total = 0;
|
|
23
|
+
let runningTotal = 0;
|
|
34
24
|
|
|
35
|
-
for (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
25
|
+
for (let categoryIx = 0; categoryIx < totalCategories; categoryIx++) {
|
|
26
|
+
const data = SeriesBinder.current.bindPoint(currentSeries, categoryIx);
|
|
27
|
+
const value = data.valueFields.value;
|
|
28
|
+
const summary = data.fields.summary;
|
|
29
|
+
let from = total;
|
|
30
|
+
let to;
|
|
41
31
|
|
|
42
32
|
if (summary) {
|
|
43
33
|
if (summary.toLowerCase() === "total") {
|
|
@@ -56,7 +46,7 @@ var WaterfallChart = (function (BarChart) {
|
|
|
56
46
|
}
|
|
57
47
|
|
|
58
48
|
callback(data, {
|
|
59
|
-
category: this
|
|
49
|
+
category: this.categoryAxis.categoryAt(categoryIx),
|
|
60
50
|
categoryIx: categoryIx,
|
|
61
51
|
series: currentSeries,
|
|
62
52
|
seriesIx: seriesIx,
|
|
@@ -68,49 +58,45 @@ var WaterfallChart = (function (BarChart) {
|
|
|
68
58
|
});
|
|
69
59
|
}
|
|
70
60
|
}
|
|
71
|
-
}
|
|
61
|
+
}
|
|
72
62
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
63
|
+
updateRange(value, fields) {
|
|
64
|
+
super.updateRange({ value: fields.to }, fields);
|
|
65
|
+
}
|
|
76
66
|
|
|
77
|
-
|
|
67
|
+
aboveAxis(point) {
|
|
78
68
|
return point.value >= 0;
|
|
79
|
-
}
|
|
69
|
+
}
|
|
80
70
|
|
|
81
|
-
|
|
71
|
+
plotRange(point) {
|
|
82
72
|
return [ point.from, point.to ];
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
WaterfallChart.prototype.createSegments = function createSegments () {
|
|
86
|
-
var this$1 = this;
|
|
73
|
+
}
|
|
87
74
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
75
|
+
createSegments() {
|
|
76
|
+
const series = this.options.series;
|
|
77
|
+
const seriesPoints = this.seriesPoints;
|
|
78
|
+
const segments = this.segments = [];
|
|
91
79
|
|
|
92
|
-
for (
|
|
93
|
-
|
|
94
|
-
|
|
80
|
+
for (let seriesIx = 0; seriesIx < series.length; seriesIx++) {
|
|
81
|
+
const currentSeries = series[seriesIx];
|
|
82
|
+
const points = seriesPoints[seriesIx];
|
|
95
83
|
|
|
96
84
|
if (points) {
|
|
97
|
-
|
|
98
|
-
for (
|
|
99
|
-
|
|
85
|
+
let prevPoint;
|
|
86
|
+
for (let pointIx = 0; pointIx < points.length; pointIx++) {
|
|
87
|
+
const point = points[pointIx];
|
|
100
88
|
|
|
101
89
|
if (point && prevPoint) {
|
|
102
|
-
|
|
90
|
+
const segment = new WaterfallSegment(prevPoint, point, currentSeries);
|
|
103
91
|
segments.push(segment);
|
|
104
|
-
this
|
|
92
|
+
this.append(segment);
|
|
105
93
|
}
|
|
106
94
|
|
|
107
95
|
prevPoint = point;
|
|
108
96
|
}
|
|
109
97
|
}
|
|
110
98
|
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
return WaterfallChart;
|
|
114
|
-
}(BarChart));
|
|
99
|
+
}
|
|
100
|
+
}
|
|
115
101
|
|
|
116
102
|
export default WaterfallChart;
|
|
@@ -6,34 +6,28 @@ import { FADEIN, INITIAL_ANIMATION_DURATION } from '../constants';
|
|
|
6
6
|
|
|
7
7
|
import { alignPathToPixel, setDefaultOptions } from '../../common';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
class WaterfallSegment extends ChartElement {
|
|
10
|
+
constructor(from, to, series) {
|
|
11
|
+
super();
|
|
12
12
|
|
|
13
13
|
this.from = from;
|
|
14
14
|
this.to = to;
|
|
15
15
|
this.series = series;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
WaterfallSegment.prototype.linePoints = function linePoints () {
|
|
23
|
-
var from = this.from;
|
|
24
|
-
var ref = this;
|
|
25
|
-
var fromBox = ref.from.box;
|
|
26
|
-
var toBox = ref.to.box;
|
|
27
|
-
var points = [];
|
|
18
|
+
linePoints() {
|
|
19
|
+
const from = this.from;
|
|
20
|
+
const { from: { box: fromBox }, to: { box: toBox } } = this;
|
|
21
|
+
const points = [];
|
|
28
22
|
|
|
29
23
|
if (from.isVertical) {
|
|
30
|
-
|
|
24
|
+
const y = from.aboveAxis ? fromBox.y1 : fromBox.y2;
|
|
31
25
|
points.push(
|
|
32
26
|
[ fromBox.x1, y ],
|
|
33
27
|
[ toBox.x2, y ]
|
|
34
28
|
);
|
|
35
29
|
} else {
|
|
36
|
-
|
|
30
|
+
const x = from.aboveAxis ? fromBox.x2 : fromBox.x1;
|
|
37
31
|
points.push(
|
|
38
32
|
[ x, fromBox.y1 ],
|
|
39
33
|
[ x, toBox.y2 ]
|
|
@@ -41,14 +35,14 @@ var WaterfallSegment = (function (ChartElement) {
|
|
|
41
35
|
}
|
|
42
36
|
|
|
43
37
|
return points;
|
|
44
|
-
}
|
|
38
|
+
}
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
createVisual() {
|
|
41
|
+
super.createVisual();
|
|
48
42
|
|
|
49
|
-
|
|
43
|
+
const line = this.series.line || {};
|
|
50
44
|
|
|
51
|
-
|
|
45
|
+
const path = draw.Path.fromPoints(this.linePoints(), {
|
|
52
46
|
stroke: {
|
|
53
47
|
color: line.color,
|
|
54
48
|
width: line.width,
|
|
@@ -59,10 +53,8 @@ var WaterfallSegment = (function (ChartElement) {
|
|
|
59
53
|
|
|
60
54
|
alignPathToPixel(path);
|
|
61
55
|
this.visual.append(path);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return WaterfallSegment;
|
|
65
|
-
}(ChartElement));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
66
58
|
|
|
67
59
|
setDefaultOptions(WaterfallSegment, {
|
|
68
60
|
animation: {
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import getter from './../common/getter';
|
|
2
2
|
|
|
3
3
|
export function getWizardDataFromDataRows(dataRows) {
|
|
4
|
-
|
|
4
|
+
const result = [];
|
|
5
5
|
|
|
6
|
-
dataRows.forEach(
|
|
7
|
-
|
|
8
|
-
var dataColumns = item.dataColumns;
|
|
6
|
+
dataRows.forEach(item => {
|
|
7
|
+
const { dataItem, dataColumns } = item;
|
|
9
8
|
|
|
10
|
-
|
|
11
|
-
dataColumns.forEach(
|
|
9
|
+
const row = [];
|
|
10
|
+
dataColumns.forEach(column => {
|
|
12
11
|
row.push({
|
|
13
12
|
field: column.title || column.field,
|
|
14
13
|
value: getter(column.field)(dataItem)
|