@carbon/charts 0.41.20 → 0.41.24
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/CHANGELOG.md +28 -46
- package/axis-chart.d.ts +4 -4
- package/axis-chart.js +46 -46
- package/axis-chart.js.map +1 -1
- package/build/demo/create-codesandbox.d.ts +42 -42
- package/build/demo/data/bar.d.ts +2 -2
- package/build/demo/data/index.d.ts +13 -13
- package/build/demo/data/line.d.ts +4 -4
- package/build/demo/data/meter.d.ts +1 -1
- package/build/src/axis-chart.d.ts +4 -4
- package/build/src/chart.d.ts +3 -3
- package/build/src/charts/area-stacked.d.ts +2 -2
- package/build/src/charts/area.d.ts +2 -2
- package/build/src/charts/bar-grouped.d.ts +2 -2
- package/build/src/charts/bar-simple.d.ts +2 -2
- package/build/src/charts/bar-stacked.d.ts +2 -2
- package/build/src/charts/bubble.d.ts +2 -2
- package/build/src/charts/combo.d.ts +2 -2
- package/build/src/charts/donut.d.ts +2 -2
- package/build/src/charts/gauge.d.ts +3 -3
- package/build/src/charts/index.d.ts +16 -16
- package/build/src/charts/line.d.ts +2 -2
- package/build/src/charts/lollipop.d.ts +2 -2
- package/build/src/charts/meter.d.ts +3 -3
- package/build/src/charts/pie.d.ts +3 -3
- package/build/src/charts/radar.d.ts +2 -2
- package/build/src/charts/scatter.d.ts +2 -2
- package/build/src/charts/treemap.d.ts +2 -2
- package/build/src/components/axes/axis.d.ts +3 -3
- package/build/src/components/axes/chart-clip.d.ts +2 -2
- package/build/src/components/axes/grid-brush.d.ts +1 -1
- package/build/src/components/axes/grid.d.ts +1 -1
- package/build/src/components/axes/ruler-stacked.d.ts +1 -1
- package/build/src/components/axes/ruler.d.ts +2 -2
- package/build/src/components/axes/toolbar.d.ts +2 -2
- package/build/src/components/axes/two-dimensional-axes.d.ts +2 -2
- package/build/src/components/axes/zero-line.d.ts +1 -1
- package/build/src/components/axes/zoom-bar.d.ts +2 -2
- package/build/src/components/component.d.ts +1 -1
- package/build/src/components/essentials/legend.d.ts +1 -1
- package/build/src/components/essentials/threshold.d.ts +3 -3
- package/build/src/components/essentials/title-meter.d.ts +1 -1
- package/build/src/components/essentials/title.d.ts +1 -1
- package/build/src/components/essentials/tooltip-axis.d.ts +1 -1
- package/build/src/components/essentials/tooltip.d.ts +3 -3
- package/build/src/components/graphs/area-stacked.d.ts +1 -1
- package/build/src/components/graphs/area.d.ts +1 -1
- package/build/src/components/graphs/bar-grouped.d.ts +2 -2
- package/build/src/components/graphs/bar-simple.d.ts +1 -1
- package/build/src/components/graphs/bar-stacked.d.ts +1 -1
- package/build/src/components/graphs/bar.d.ts +1 -1
- package/build/src/components/graphs/bubble.d.ts +2 -2
- package/build/src/components/graphs/donut.d.ts +1 -1
- package/build/src/components/graphs/gauge.d.ts +1 -1
- package/build/src/components/graphs/line.d.ts +1 -1
- package/build/src/components/graphs/lollipop.d.ts +1 -1
- package/build/src/components/graphs/meter.d.ts +1 -1
- package/build/src/components/graphs/pie.d.ts +1 -1
- package/build/src/components/graphs/radar.d.ts +1 -1
- package/build/src/components/graphs/scatter-stacked.d.ts +1 -1
- package/build/src/components/graphs/scatter.d.ts +2 -2
- package/build/src/components/graphs/skeleton-lines.d.ts +1 -1
- package/build/src/components/graphs/skeleton.d.ts +1 -1
- package/build/src/components/graphs/treemap.d.ts +1 -1
- package/build/src/components/index.d.ts +36 -36
- package/build/src/components/layout/layout.d.ts +3 -3
- package/build/src/components/layout/spacer.d.ts +1 -1
- package/build/src/configuration-non-customizable.d.ts +7 -7
- package/build/src/configuration.d.ts +2 -2
- package/build/src/interfaces/axis-scales.d.ts +7 -7
- package/build/src/interfaces/charts.d.ts +11 -4
- package/build/src/interfaces/components.d.ts +3 -3
- package/build/src/interfaces/enums.d.ts +1 -1
- package/build/src/interfaces/index.d.ts +7 -7
- package/build/src/interfaces/layout.d.ts +1 -1
- package/build/src/interfaces/model.d.ts +1 -1
- package/build/src/model-cartesian-charts.d.ts +1 -1
- package/build/src/model-gauge.d.ts +1 -1
- package/build/src/model-meter.d.ts +1 -1
- package/build/src/model-pie.d.ts +1 -1
- package/build/src/model.d.ts +1 -9
- package/build/src/services/angle-utils.d.ts +1 -1
- package/build/src/services/curves.d.ts +2 -2
- package/build/src/services/essentials/dom-utils.d.ts +2 -2
- package/build/src/services/essentials/events.d.ts +1 -1
- package/build/src/services/essentials/gradient-utils.d.ts +1 -1
- package/build/src/services/essentials/transitions.d.ts +2 -2
- package/build/src/services/index.d.ts +7 -7
- package/build/src/services/scales-cartesian.d.ts +2 -2
- package/build/src/services/service.d.ts +1 -1
- package/build/src/services/time-series.d.ts +1 -1
- package/build/src/services/zoom.d.ts +2 -2
- package/build/src/tools.d.ts +2 -2
- package/build/stories/all.stories.d.ts +1 -1
- package/build/stories/tutorials/index.d.ts +11 -11
- package/build/stories/tutorials.stories.d.ts +1 -1
- package/bundle.js +1 -1
- package/chart.d.ts +3 -3
- package/chart.js +35 -35
- package/chart.js.map +1 -1
- package/charts/area-stacked.d.ts +2 -2
- package/charts/area-stacked.js +8 -8
- package/charts/area-stacked.js.map +1 -1
- package/charts/area.d.ts +2 -2
- package/charts/area.js +8 -8
- package/charts/area.js.map +1 -1
- package/charts/bar-grouped.d.ts +2 -2
- package/charts/bar-grouped.js +7 -7
- package/charts/bar-grouped.js.map +1 -1
- package/charts/bar-simple.d.ts +2 -2
- package/charts/bar-simple.js +7 -7
- package/charts/bar-simple.js.map +1 -1
- package/charts/bar-stacked.d.ts +2 -2
- package/charts/bar-stacked.js +7 -7
- package/charts/bar-stacked.js.map +1 -1
- package/charts/bubble.d.ts +2 -2
- package/charts/bubble.js +7 -7
- package/charts/bubble.js.map +1 -1
- package/charts/combo.d.ts +2 -2
- package/charts/combo.js +12 -12
- package/charts/combo.js.map +1 -1
- package/charts/donut.d.ts +2 -2
- package/charts/donut.js +7 -7
- package/charts/donut.js.map +1 -1
- package/charts/gauge.d.ts +3 -3
- package/charts/gauge.js +5 -5
- package/charts/gauge.js.map +1 -1
- package/charts/index.d.ts +16 -16
- package/charts/index.js +16 -16
- package/charts/index.js.map +1 -1
- package/charts/line.d.ts +2 -2
- package/charts/line.js +5 -5
- package/charts/line.js.map +1 -1
- package/charts/lollipop.d.ts +2 -2
- package/charts/lollipop.js +7 -7
- package/charts/lollipop.js.map +1 -1
- package/charts/meter.d.ts +3 -3
- package/charts/meter.js +18 -18
- package/charts/meter.js.map +1 -1
- package/charts/pie.d.ts +3 -3
- package/charts/pie.js +8 -8
- package/charts/pie.js.map +1 -1
- package/charts/radar.d.ts +2 -2
- package/charts/radar.js +5 -5
- package/charts/radar.js.map +1 -1
- package/charts/scatter.d.ts +2 -2
- package/charts/scatter.js +7 -7
- package/charts/scatter.js.map +1 -1
- package/charts/treemap.d.ts +2 -2
- package/charts/treemap.js +4 -4
- package/charts/treemap.js.map +1 -1
- package/components/axes/axis.d.ts +3 -3
- package/components/axes/axis.js +98 -98
- package/components/axes/axis.js.map +1 -1
- package/components/axes/chart-clip.d.ts +2 -2
- package/components/axes/chart-clip.js +9 -9
- package/components/axes/chart-clip.js.map +1 -1
- package/components/axes/grid-brush.d.ts +1 -1
- package/components/axes/grid-brush.js +32 -32
- package/components/axes/grid-brush.js.map +1 -1
- package/components/axes/grid.d.ts +1 -1
- package/components/axes/grid.js +34 -34
- package/components/axes/grid.js.map +1 -1
- package/components/axes/ruler-stacked.d.ts +1 -1
- package/components/axes/ruler-stacked.js +5 -5
- package/components/axes/ruler-stacked.js.map +1 -1
- package/components/axes/ruler.d.ts +2 -2
- package/components/axes/ruler.js +36 -36
- package/components/axes/ruler.js.map +1 -1
- package/components/axes/toolbar.d.ts +2 -2
- package/components/axes/toolbar.js +85 -85
- package/components/axes/toolbar.js.map +1 -1
- package/components/axes/two-dimensional-axes.d.ts +2 -2
- package/components/axes/two-dimensional-axes.js +13 -13
- package/components/axes/two-dimensional-axes.js.map +1 -1
- package/components/axes/zero-line.d.ts +1 -1
- package/components/axes/zero-line.js +12 -12
- package/components/axes/zero-line.js.map +1 -1
- package/components/axes/zoom-bar.d.ts +2 -2
- package/components/axes/zoom-bar.js +114 -114
- package/components/axes/zoom-bar.js.map +1 -1
- package/components/component.d.ts +1 -1
- package/components/component.js +13 -13
- package/components/component.js.map +1 -1
- package/components/essentials/legend.d.ts +1 -1
- package/components/essentials/legend.js +95 -92
- package/components/essentials/legend.js.map +1 -1
- package/components/essentials/threshold.d.ts +3 -3
- package/components/essentials/threshold.js +39 -39
- package/components/essentials/threshold.js.map +1 -1
- package/components/essentials/title-meter.d.ts +1 -1
- package/components/essentials/title-meter.js +42 -42
- package/components/essentials/title-meter.js.map +1 -1
- package/components/essentials/title.d.ts +1 -1
- package/components/essentials/title.js +19 -19
- package/components/essentials/title.js.map +1 -1
- package/components/essentials/tooltip-axis.d.ts +1 -1
- package/components/essentials/tooltip-axis.js +23 -23
- package/components/essentials/tooltip-axis.js.map +1 -1
- package/components/essentials/tooltip.d.ts +3 -3
- package/components/essentials/tooltip.js +31 -31
- package/components/essentials/tooltip.js.map +1 -1
- package/components/graphs/area-stacked.d.ts +1 -1
- package/components/graphs/area-stacked.js +28 -29
- package/components/graphs/area-stacked.js.map +1 -1
- package/components/graphs/area.d.ts +1 -1
- package/components/graphs/area.js +62 -57
- package/components/graphs/area.js.map +1 -1
- package/components/graphs/bar-grouped.d.ts +2 -2
- package/components/graphs/bar-grouped.js +56 -56
- package/components/graphs/bar-grouped.js.map +1 -1
- package/components/graphs/bar-simple.d.ts +1 -1
- package/components/graphs/bar-simple.js +45 -45
- package/components/graphs/bar-simple.js.map +1 -1
- package/components/graphs/bar-stacked.d.ts +1 -1
- package/components/graphs/bar-stacked.js +50 -51
- package/components/graphs/bar-stacked.js.map +1 -1
- package/components/graphs/bar.d.ts +1 -1
- package/components/graphs/bar.js +4 -4
- package/components/graphs/bar.js.map +1 -1
- package/components/graphs/bubble.d.ts +2 -2
- package/components/graphs/bubble.js +19 -19
- package/components/graphs/bubble.js.map +1 -1
- package/components/graphs/donut.d.ts +1 -1
- package/components/graphs/donut.js +20 -20
- package/components/graphs/donut.js.map +1 -1
- package/components/graphs/gauge.d.ts +1 -1
- package/components/graphs/gauge.js +89 -87
- package/components/graphs/gauge.js.map +1 -1
- package/components/graphs/line.d.ts +1 -1
- package/components/graphs/line.js +33 -33
- package/components/graphs/line.js.map +1 -1
- package/components/graphs/lollipop.d.ts +1 -1
- package/components/graphs/lollipop.js +32 -32
- package/components/graphs/lollipop.js.map +1 -1
- package/components/graphs/meter.d.ts +1 -1
- package/components/graphs/meter.js +39 -39
- package/components/graphs/meter.js.map +1 -1
- package/components/graphs/pie.d.ts +1 -1
- package/components/graphs/pie.js +102 -100
- package/components/graphs/pie.js.map +1 -1
- package/components/graphs/radar.d.ts +1 -1
- package/components/graphs/radar.js +180 -180
- package/components/graphs/radar.js.map +1 -1
- package/components/graphs/scatter-stacked.d.ts +1 -1
- package/components/graphs/scatter-stacked.js +22 -22
- package/components/graphs/scatter-stacked.js.map +1 -1
- package/components/graphs/scatter.d.ts +2 -2
- package/components/graphs/scatter.js +67 -66
- package/components/graphs/scatter.js.map +1 -1
- package/components/graphs/skeleton-lines.d.ts +1 -1
- package/components/graphs/skeleton-lines.js +27 -27
- package/components/graphs/skeleton-lines.js.map +1 -1
- package/components/graphs/skeleton.d.ts +1 -1
- package/components/graphs/skeleton.js +85 -85
- package/components/graphs/skeleton.js.map +1 -1
- package/components/graphs/treemap.d.ts +1 -1
- package/components/graphs/treemap.js +82 -82
- package/components/graphs/treemap.js.map +1 -1
- package/components/index.d.ts +36 -36
- package/components/index.js +36 -36
- package/components/index.js.map +1 -1
- package/components/layout/layout.d.ts +3 -3
- package/components/layout/layout.js +28 -28
- package/components/layout/layout.js.map +1 -1
- package/components/layout/spacer.d.ts +1 -1
- package/components/layout/spacer.js +10 -10
- package/components/layout/spacer.js.map +1 -1
- package/configuration-non-customizable.d.ts +7 -7
- package/configuration-non-customizable.js +37 -37
- package/configuration-non-customizable.js.map +1 -1
- package/configuration.d.ts +2 -2
- package/configuration.js +81 -78
- package/configuration.js.map +1 -1
- package/demo/create-codesandbox.d.ts +42 -42
- package/demo/create-codesandbox.js +100 -100
- package/demo/create-codesandbox.js.map +1 -1
- package/demo/data/area.js +220 -190
- package/demo/data/area.js.map +1 -1
- package/demo/data/bar.d.ts +2 -2
- package/demo/data/bar.js +302 -302
- package/demo/data/bar.js.map +1 -1
- package/demo/data/bubble.js +108 -108
- package/demo/data/bubble.js.map +1 -1
- package/demo/data/combo.js +323 -323
- package/demo/data/combo.js.map +1 -1
- package/demo/data/donut.js +19 -19
- package/demo/data/donut.js.map +1 -1
- package/demo/data/gauge.js +20 -20
- package/demo/data/gauge.js.map +1 -1
- package/demo/data/high-scale.js +3 -3
- package/demo/data/high-scale.js.map +1 -1
- package/demo/data/index.d.ts +13 -13
- package/demo/data/index.js +299 -299
- package/demo/data/index.js.map +1 -1
- package/demo/data/line.d.ts +4 -4
- package/demo/data/line.js +332 -332
- package/demo/data/line.js.map +1 -1
- package/demo/data/lollipop.js +19 -19
- package/demo/data/lollipop.js.map +1 -1
- package/demo/data/meter.d.ts +1 -1
- package/demo/data/meter.js +22 -22
- package/demo/data/meter.js.map +1 -1
- package/demo/data/pie.js +17 -17
- package/demo/data/pie.js.map +1 -1
- package/demo/data/radar.js +84 -84
- package/demo/data/radar.js.map +1 -1
- package/demo/data/scatter.js +125 -125
- package/demo/data/scatter.js.map +1 -1
- package/demo/data/step.js +11 -11
- package/demo/data/step.js.map +1 -1
- package/demo/data/time-series-axis.js +164 -164
- package/demo/data/time-series-axis.js.map +1 -1
- package/demo/data/toolbar.js +15 -15
- package/demo/data/toolbar.js.map +1 -1
- package/demo/data/treemap.js +63 -63
- package/demo/data/treemap.js.map +1 -1
- package/demo/data/zoom-bar.js +65 -65
- package/demo/data/zoom-bar.js.map +1 -1
- package/demo/styles.css +1 -1
- package/demo/styles.min.css +1 -1
- package/demo/tsconfig.tsbuildinfo +45 -45
- package/index.d.ts +3 -3
- package/index.js +3 -3
- package/index.js.map +1 -1
- package/interfaces/a11y.js.map +1 -1
- package/interfaces/axis-scales.d.ts +7 -7
- package/interfaces/axis-scales.js.map +1 -1
- package/interfaces/charts.d.ts +11 -4
- package/interfaces/charts.js.map +1 -1
- package/interfaces/components.d.ts +3 -3
- package/interfaces/components.js.map +1 -1
- package/interfaces/enums.d.ts +1 -1
- package/interfaces/enums.js +1 -1
- package/interfaces/enums.js.map +1 -1
- package/interfaces/events.js.map +1 -1
- package/interfaces/index.d.ts +7 -7
- package/interfaces/index.js +2 -2
- package/interfaces/index.js.map +1 -1
- package/interfaces/layout.d.ts +1 -1
- package/interfaces/layout.js.map +1 -1
- package/interfaces/model.d.ts +1 -1
- package/interfaces/model.js.map +1 -1
- package/model-cartesian-charts.d.ts +1 -1
- package/model-cartesian-charts.js +7 -7
- package/model-cartesian-charts.js.map +1 -1
- package/model-gauge.d.ts +1 -1
- package/model-gauge.js +2 -2
- package/model-gauge.js.map +1 -1
- package/model-meter.d.ts +1 -1
- package/model-meter.js +7 -7
- package/model-meter.js.map +1 -1
- package/model-pie.d.ts +1 -1
- package/model-pie.js +1 -1
- package/model-pie.js.map +1 -1
- package/model.d.ts +1 -9
- package/model.js +31 -42
- package/model.js.map +1 -1
- package/package.json +2 -3
- package/polyfills.js +9 -9
- package/polyfills.js.map +1 -1
- package/services/angle-utils.d.ts +1 -1
- package/services/angle-utils.js +9 -9
- package/services/angle-utils.js.map +1 -1
- package/services/curves.d.ts +2 -2
- package/services/curves.js +6 -6
- package/services/curves.js.map +1 -1
- package/services/essentials/dom-utils.d.ts +2 -2
- package/services/essentials/dom-utils.js +37 -37
- package/services/essentials/dom-utils.js.map +1 -1
- package/services/essentials/events.d.ts +1 -1
- package/services/essentials/events.js +3 -3
- package/services/essentials/events.js.map +1 -1
- package/services/essentials/gradient-utils.d.ts +1 -1
- package/services/essentials/gradient-utils.js +25 -25
- package/services/essentials/gradient-utils.js.map +1 -1
- package/services/essentials/transitions.d.ts +2 -2
- package/services/essentials/transitions.js +8 -8
- package/services/essentials/transitions.js.map +1 -1
- package/services/index.d.ts +7 -7
- package/services/index.js +7 -7
- package/services/index.js.map +1 -1
- package/services/scales-cartesian.d.ts +2 -2
- package/services/scales-cartesian.js +57 -60
- package/services/scales-cartesian.js.map +1 -1
- package/services/service.d.ts +1 -1
- package/services/service.js.map +1 -1
- package/services/time-series.d.ts +1 -1
- package/services/time-series.js +27 -27
- package/services/time-series.js.map +1 -1
- package/services/zoom.d.ts +2 -2
- package/services/zoom.js +20 -20
- package/services/zoom.js.map +1 -1
- package/styles/_type.scss +7 -7
- package/styles/color-palatte.scss +218 -218
- package/styles/colors.scss +3 -3
- package/styles/components/_axis.scss +5 -5
- package/styles/components/_ruler.scss +2 -2
- package/styles/components/_threshold.scss +1 -1
- package/styles/components/_title.scss +3 -3
- package/styles/components/_toolbar.scss +1 -1
- package/styles/components/_tooltip.scss +6 -6
- package/styles/components/index.scss +16 -16
- package/styles/graphs/_bubble.scss +1 -1
- package/styles/graphs/_radar.scss +2 -2
- package/styles/graphs/_scatter.scss +1 -1
- package/styles/graphs/_treemap.scss +1 -1
- package/styles/graphs/index.scss +9 -9
- package/styles/styles-g10.scss +2 -2
- package/styles/styles-g100.scss +2 -2
- package/styles/styles-g90.scss +2 -2
- package/styles/styles-white.scss +2 -2
- package/styles/styles.scss +10 -10
- package/tools.d.ts +2 -2
- package/tools.js +26 -26
- package/tools.js.map +1 -1
- package/tsconfig.tsbuildinfo +173 -173
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"two-dimensional-axes.js","sourceRoot":"","sources":["two-dimensional-axes.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from
|
|
1
|
+
{"version":3,"file":"two-dimensional-axes.js","sourceRoot":"","sources":["two-dimensional-axes.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { AxisPositions, ScaleTypes, AxesOptions } from '../../interfaces';\nimport { Axis } from './axis';\nimport { Tools } from '../../tools';\nimport { DOMUtils } from '../../services';\nimport { Threshold } from '../essentials/threshold';\nimport { Events } from './../../interfaces';\n\nexport class TwoDimensionalAxes extends Component {\n\ttype = '2D-axes';\n\n\tchildren: any = {};\n\n\tthresholds: Threshold[] = [];\n\n\tmargins = {\n\t\ttop: 0,\n\t\tright: 0,\n\t\tbottom: 0,\n\t\tleft: 0,\n\t};\n\n\trender(animate = false) {\n\t\tconst axes = {};\n\t\tconst axisPositions = Object.keys(AxisPositions);\n\t\tconst axesOptions = Tools.getProperty(this.getOptions(), 'axes');\n\n\t\taxisPositions.forEach((axisPosition) => {\n\t\t\tconst axisOptions = axesOptions[AxisPositions[axisPosition]];\n\t\t\tif (axisOptions) {\n\t\t\t\taxes[AxisPositions[axisPosition]] = true;\n\t\t\t}\n\t\t});\n\n\t\tthis.configs.axes = axes;\n\n\t\t// Check the configs to know which axes need to be rendered\n\t\taxisPositions.forEach((axisPositionKey) => {\n\t\t\tconst axisPosition = AxisPositions[axisPositionKey];\n\t\t\tif (\n\t\t\t\tthis.configs.axes[axisPosition] &&\n\t\t\t\t!this.children[axisPosition]\n\t\t\t) {\n\t\t\t\tconst axisComponent = new Axis(this.model, this.services, {\n\t\t\t\t\tposition: axisPosition,\n\t\t\t\t\taxes: this.configs.axes,\n\t\t\t\t\tmargins: this.margins,\n\t\t\t\t});\n\n\t\t\t\t// Set model, services & parent for the new axis component\n\t\t\t\taxisComponent.setModel(this.model);\n\t\t\t\taxisComponent.setServices(this.services);\n\t\t\t\taxisComponent.setParent(this.parent);\n\n\t\t\t\tthis.children[axisPosition] = axisComponent;\n\t\t\t}\n\t\t});\n\n\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\tconst child = this.children[childKey];\n\t\t\tchild.render(animate);\n\t\t});\n\n\t\tconst margins = {} as any;\n\n\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\tconst child = this.children[childKey];\n\t\t\tconst axisPosition = child.configs.position;\n\n\t\t\t// Grab the invisibly rendered axis' width & height, and set margins\n\t\t\t// Based off of that\n\t\t\t// We draw the invisible axis because of the async nature of d3 transitions\n\t\t\t// To be able to tell the final width & height of the axis when initiaing the transition\n\t\t\t// The invisible axis is updated instantly and without a transition\n\t\t\tconst invisibleAxisRef = child.getInvisibleAxisRef();\n\t\t\tconst {\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} = DOMUtils.getSVGElementSize(invisibleAxisRef, { useBBox: true });\n\n\t\t\tlet offset;\n\t\t\tif (child.getTitleRef().empty()) {\n\t\t\t\toffset = 0;\n\t\t\t} else {\n\t\t\t\toffset = DOMUtils.getSVGElementSize(child.getTitleRef(), {\n\t\t\t\t\tuseBBox: true,\n\t\t\t\t}).height;\n\n\t\t\t\tif (\n\t\t\t\t\taxisPosition === AxisPositions.LEFT ||\n\t\t\t\t\taxisPosition === AxisPositions.RIGHT\n\t\t\t\t) {\n\t\t\t\t\toffset += 5;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tswitch (axisPosition) {\n\t\t\t\tcase AxisPositions.TOP:\n\t\t\t\t\tmargins.top = height + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.BOTTOM:\n\t\t\t\t\tmargins.bottom = height + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.LEFT:\n\t\t\t\t\tmargins.left = width + offset;\n\t\t\t\t\tbreak;\n\t\t\t\tcase AxisPositions.RIGHT:\n\t\t\t\t\tmargins.right = width + offset;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Add thresholds\n\t\t\tthis.addAxisThresholds(animate, axisPosition);\n\t\t});\n\n\t\t// If the new margins are different than the existing ones\n\t\tconst isNotEqual = Object.keys(margins).some((marginKey) => {\n\t\t\treturn this.margins[marginKey] !== margins[marginKey];\n\t\t});\n\n\t\tif (isNotEqual) {\n\t\t\tthis.margins = Object.assign(this.margins, margins);\n\n\t\t\t// also set new margins to model to allow external components to access\n\t\t\tthis.model.set({ axesMargins: this.margins }, { skipUpdate: true });\n\t\t\tthis.services.events.dispatchEvent(Events.ZoomBar.UPDATE);\n\n\t\t\tObject.keys(this.children).forEach((childKey) => {\n\t\t\t\tconst child = this.children[childKey];\n\t\t\t\tchild.margins = this.margins;\n\t\t\t});\n\n\t\t\tthis.render(true);\n\t\t}\n\t}\n\n\taddAxisThresholds(animate, axisPosition) {\n\t\tconst axesOptions = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'axes',\n\t\t\taxisPosition\n\t\t);\n\t\tconst { thresholds } = axesOptions;\n\n\t\tif (thresholds) {\n\t\t\tthresholds.forEach((thresholdConfig, i) => {\n\t\t\t\tconst thresholdComponent = new Threshold(\n\t\t\t\t\tthis.model,\n\t\t\t\t\tthis.services,\n\t\t\t\t\t{ ...thresholdConfig, axisPosition, index: i }\n\t\t\t\t);\n\t\t\t\tthis.thresholds.push(thresholdComponent);\n\t\t\t});\n\n\t\t\tthis.thresholds.forEach((threshold) => {\n\t\t\t\tthreshold.setParent(this.parent);\n\t\t\t\tthreshold.render(animate);\n\t\t\t});\n\t\t}\n\t}\n}\n"]}
|
|
@@ -12,14 +12,14 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
12
12
|
};
|
|
13
13
|
})();
|
|
14
14
|
// Internal Imports
|
|
15
|
-
import { Component } from
|
|
16
|
-
import { DOMUtils } from
|
|
17
|
-
import { Tools } from
|
|
15
|
+
import { Component } from '../component';
|
|
16
|
+
import { DOMUtils } from '../../services';
|
|
17
|
+
import { Tools } from '../../tools';
|
|
18
18
|
var ZeroLine = /** @class */ (function (_super) {
|
|
19
19
|
__extends(ZeroLine, _super);
|
|
20
20
|
function ZeroLine() {
|
|
21
21
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
22
|
-
_this.type =
|
|
22
|
+
_this.type = 'zero-line';
|
|
23
23
|
return _this;
|
|
24
24
|
}
|
|
25
25
|
ZeroLine.prototype.render = function (animate) {
|
|
@@ -35,7 +35,7 @@ var ZeroLine = /** @class */ (function (_super) {
|
|
|
35
35
|
// previously had a domain that went into negatives
|
|
36
36
|
if (!drawZeroLine) {
|
|
37
37
|
// otherwise if a chart draws a zero line and then the domain change the zero line is still in the DOM
|
|
38
|
-
svg.selectAll(
|
|
38
|
+
svg.selectAll('line.domain').remove();
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
41
|
// Get x & y position of the line
|
|
@@ -51,14 +51,14 @@ var ZeroLine = /** @class */ (function (_super) {
|
|
|
51
51
|
x0: x0,
|
|
52
52
|
x1: x1,
|
|
53
53
|
y0: yPosition,
|
|
54
|
-
y1: yPosition
|
|
54
|
+
y1: yPosition,
|
|
55
55
|
}, this.services.cartesianScales.getOrientation());
|
|
56
|
-
var line = DOMUtils.appendOrSelect(svg,
|
|
57
|
-
line.transition(this.services.transitions.getTransition(
|
|
58
|
-
.attr(
|
|
59
|
-
.attr(
|
|
60
|
-
.attr(
|
|
61
|
-
.attr(
|
|
56
|
+
var line = DOMUtils.appendOrSelect(svg, 'line.domain');
|
|
57
|
+
line.transition(this.services.transitions.getTransition('zero-line-update', animate))
|
|
58
|
+
.attr('y1', lineCoordinates.y0)
|
|
59
|
+
.attr('y2', lineCoordinates.y1)
|
|
60
|
+
.attr('x1', lineCoordinates.x0)
|
|
61
|
+
.attr('x2', lineCoordinates.x1);
|
|
62
62
|
};
|
|
63
63
|
return ZeroLine;
|
|
64
64
|
}(Component));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-line.js","sourceRoot":"","sources":["zero-line.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;IAA8B,4BAAS;IAAvC;QAAA,qEA0DC;QAzDA,UAAI,GAAG,WAAW,CAAC;;IAyDpB,CAAC;IAvDA,yBAAM,GAAN,UAAO,OAAgB;QACtB,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CACtE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAC/B,CAAC;QACF,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CAClE,YAAY,CACZ,CAAC;QACF,mBAAmB;QACb,IAAA,wBAAsD,EAArD,sBAAc,EAAE,sBAAqC,CAAC;QAE7D,IAAM,YAAY,GACjB,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;YAC1C,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QAE5C,qBAAqB;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnC,6FAA6F;QAC7F,mDAAmD;QACnD,IAAI,CAAC,YAAY,EAAE;YAClB,sGAAsG;YACtG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;SACP;QAED,iCAAiC;QAC3B,IAAA,2DAAiE,EAAhE,UAAE,EAAE,UAA4D,CAAC;QACxE,IAAI,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAErC,oEAAoE;QACpE,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,CAAC,SAAS,EAAE;YACf,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,IAAM,eAAe,GAAG,KAAK,CAAC,oCAAoC,CACjE;YACC,EAAE,IAAA;YACF,EAAE,IAAA;YACF,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;SACb,EACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,CAC9C,CAAC;QAEF,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,CACpE;aACC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACF,eAAC;AAAD,CAAC,AA1DD,CAA8B,SAAS,GA0DtC","sourcesContent":["// Internal Imports\nimport { Component } from
|
|
1
|
+
{"version":3,"file":"zero-line.js","sourceRoot":"","sources":["zero-line.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;IAA8B,4BAAS;IAAvC;QAAA,qEA0DC;QAzDA,UAAI,GAAG,WAAW,CAAC;;IAyDpB,CAAC;IAvDA,yBAAM,GAAN,UAAO,OAAgB;QACtB,IAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CACtE,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAC/B,CAAC;QACF,IAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CAClE,YAAY,CACZ,CAAC;QACF,mBAAmB;QACb,IAAA,wBAAsD,EAArD,sBAAc,EAAE,sBAAqC,CAAC;QAE7D,IAAM,YAAY,GACjB,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;YAC1C,CAAC,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;QAE5C,qBAAqB;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEnC,6FAA6F;QAC7F,mDAAmD;QACnD,IAAI,CAAC,YAAY,EAAE;YAClB,sGAAsG;YACtG,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO;SACP;QAED,iCAAiC;QAC3B,IAAA,2DAAiE,EAAhE,UAAE,EAAE,UAA4D,CAAC;QACxE,IAAI,SAAS,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QAErC,oEAAoE;QACpE,uEAAuE;QACvE,4DAA4D;QAC5D,IAAI,CAAC,SAAS,EAAE;YACf,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,IAAM,eAAe,GAAG,KAAK,CAAC,oCAAoC,CACjE;YACC,EAAE,IAAA;YACF,EAAE,IAAA;YACF,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;SACb,EACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,CAC9C,CAAC;QAEF,IAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,CACpE;aACC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;aAC9B,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACF,eAAC;AAAD,CAAC,AA1DD,CAA8B,SAAS,GA0DtC","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport { DOMUtils } from '../../services';\nimport { Tools } from '../../tools';\n\nexport class ZeroLine extends Component {\n\ttype = 'zero-line';\n\n\trender(animate: boolean) {\n\t\tconst axisPosition = this.services.cartesianScales.getRangeAxisPosition(\n\t\t\t{ groups: this.configs.groups }\n\t\t);\n\t\tconst rangeScale = this.services.cartesianScales.getScaleByPosition(\n\t\t\taxisPosition\n\t\t);\n\t\t// check the domain\n\t\tconst [minDomainValue, maxDomainValue] = rangeScale.domain();\n\n\t\tconst drawZeroLine =\n\t\t\t(minDomainValue > 0 && maxDomainValue < 0) ||\n\t\t\t(minDomainValue < 0 && maxDomainValue > 0);\n\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG();\n\n\t\t// show zero line only if is necessary, otherwise make sure tto remove zero line if the chart\n\t\t// previously had a domain that went into negatives\n\t\tif (!drawZeroLine) {\n\t\t\t// otherwise if a chart draws a zero line and then the domain change the zero line is still in the DOM\n\t\t\tsvg.selectAll('line.domain').remove();\n\t\t\treturn;\n\t\t}\n\n\t\t// Get x & y position of the line\n\t\tconst [x0, x1] = this.services.cartesianScales.getDomainScale().range();\n\t\tlet yPosition = +rangeScale(0) + 0.5;\n\n\t\t// if scale domain contains NaN, return the first value of the range\n\t\t// this is necessary for the zero line y position that otherwise is NaN\n\t\t// so on the top of the chart while we want it on the bottom\n\t\tif (!yPosition) {\n\t\t\tyPosition = rangeScale.range()[0];\n\t\t}\n\n\t\tconst lineCoordinates = Tools.flipSVGCoordinatesBasedOnOrientation(\n\t\t\t{\n\t\t\t\tx0,\n\t\t\t\tx1,\n\t\t\t\ty0: yPosition,\n\t\t\t\ty1: yPosition,\n\t\t\t},\n\t\t\tthis.services.cartesianScales.getOrientation()\n\t\t);\n\n\t\tconst line = DOMUtils.appendOrSelect(svg, 'line.domain');\n\t\tline.transition(\n\t\t\tthis.services.transitions.getTransition('zero-line-update', animate)\n\t\t)\n\t\t\t.attr('y1', lineCoordinates.y0)\n\t\t\t.attr('y2', lineCoordinates.y1)\n\t\t\t.attr('x1', lineCoordinates.x0)\n\t\t\t.attr('x2', lineCoordinates.x1);\n\t}\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Component } from
|
|
2
|
-
import { ChartModelCartesian } from
|
|
1
|
+
import { Component } from '../component';
|
|
2
|
+
import { ChartModelCartesian } from '../../model-cartesian-charts';
|
|
3
3
|
export declare class ZoomBar extends Component {
|
|
4
4
|
type: string;
|
|
5
5
|
MIN_SELECTION_DIFF: number;
|
|
@@ -12,37 +12,37 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
12
12
|
};
|
|
13
13
|
})();
|
|
14
14
|
// Internal Imports
|
|
15
|
-
import { Component } from
|
|
16
|
-
import { Tools } from
|
|
17
|
-
import { AxisPositions, Events, ScaleTypes, ZoomBarTypes } from
|
|
18
|
-
import { DOMUtils } from
|
|
19
|
-
import * as Configuration from
|
|
15
|
+
import { Component } from '../component';
|
|
16
|
+
import { Tools } from '../../tools';
|
|
17
|
+
import { AxisPositions, Events, ScaleTypes, ZoomBarTypes, } from '../../interfaces';
|
|
18
|
+
import { DOMUtils } from '../../services';
|
|
19
|
+
import * as Configuration from '../../configuration';
|
|
20
20
|
// D3 Imports
|
|
21
|
-
import { extent } from
|
|
22
|
-
import { brushX } from
|
|
23
|
-
import { area, line } from
|
|
24
|
-
import { event } from
|
|
21
|
+
import { extent } from 'd3-array';
|
|
22
|
+
import { brushX } from 'd3-brush';
|
|
23
|
+
import { area, line } from 'd3-shape';
|
|
24
|
+
import { event } from 'd3-selection';
|
|
25
25
|
var ZoomBar = /** @class */ (function (_super) {
|
|
26
26
|
__extends(ZoomBar, _super);
|
|
27
27
|
function ZoomBar() {
|
|
28
28
|
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
29
|
-
_this.type =
|
|
29
|
+
_this.type = 'zoom-bar';
|
|
30
30
|
// The minimum selection x range to trigger handler update
|
|
31
31
|
// Smaller number may introduce a handler flash during initialization
|
|
32
32
|
// Bigger number may not trigger handler update while selection area on chart is very small
|
|
33
33
|
_this.MIN_SELECTION_DIFF = 9e-10;
|
|
34
34
|
// needs to match the style in _zoom-bar.scss
|
|
35
|
-
_this.brushSelector =
|
|
35
|
+
_this.brushSelector = 'g.zoom-bar-brush';
|
|
36
36
|
// Give every zoomBarClip a distinct ID
|
|
37
37
|
// so they don't interfere the other zoom bars in a page
|
|
38
|
-
_this.clipId =
|
|
38
|
+
_this.clipId = 'zoomBarClip-' + Math.floor(Math.random() * 99999999999);
|
|
39
39
|
_this.brush = brushX();
|
|
40
40
|
return _this;
|
|
41
41
|
}
|
|
42
42
|
ZoomBar.prototype.init = function () {
|
|
43
43
|
this.services.events.addEventListener(Events.ZoomBar.UPDATE, this.render.bind(this));
|
|
44
44
|
// check if pre-defined zoom bar data exists
|
|
45
|
-
var definedZoomBarData = Tools.getProperty(this.getOptions(),
|
|
45
|
+
var definedZoomBarData = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'data');
|
|
46
46
|
// load up the zoomBarData into this model
|
|
47
47
|
this.model.setZoomBarData(definedZoomBarData);
|
|
48
48
|
};
|
|
@@ -52,10 +52,10 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
52
52
|
var svg = this.getContainerSVG();
|
|
53
53
|
var isTopZoomBarLoading = this.services.zoom.isZoomBarLoading(AxisPositions.TOP);
|
|
54
54
|
var isTopZoomBarLocked = this.services.zoom.isZoomBarLocked(AxisPositions.TOP);
|
|
55
|
-
var zoombarType = Tools.getProperty(this.getOptions(),
|
|
55
|
+
var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
|
|
56
56
|
var zoombarHeight = Configuration.zoomBar.height[zoombarType];
|
|
57
57
|
var width = DOMUtils.getSVGElementSize(this.parent, {
|
|
58
|
-
useAttrs: true
|
|
58
|
+
useAttrs: true,
|
|
59
59
|
}).width;
|
|
60
60
|
// initialization is not completed yet
|
|
61
61
|
if (width === 0) {
|
|
@@ -63,38 +63,38 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
63
63
|
}
|
|
64
64
|
// get axes margins
|
|
65
65
|
var axesLeftMargin = 0;
|
|
66
|
-
var axesMargins = this.model.get(
|
|
66
|
+
var axesMargins = this.model.get('axesMargins');
|
|
67
67
|
if (axesMargins && axesMargins.left) {
|
|
68
68
|
axesLeftMargin = axesMargins.left;
|
|
69
69
|
}
|
|
70
|
-
var container = DOMUtils.appendOrSelect(svg,
|
|
71
|
-
.attr(
|
|
72
|
-
.attr(
|
|
73
|
-
.attr(
|
|
74
|
-
var spacer = DOMUtils.appendOrSelect(svg,
|
|
75
|
-
.attr(
|
|
76
|
-
.attr(
|
|
77
|
-
.attr(
|
|
78
|
-
.attr(
|
|
79
|
-
.attr(
|
|
80
|
-
.attr(
|
|
70
|
+
var container = DOMUtils.appendOrSelect(svg, 'svg.zoom-container')
|
|
71
|
+
.attr('width', '100%')
|
|
72
|
+
.attr('height', zoombarHeight)
|
|
73
|
+
.attr('opacity', 1);
|
|
74
|
+
var spacer = DOMUtils.appendOrSelect(svg, 'rect.zoom-spacer')
|
|
75
|
+
.attr('x', 0)
|
|
76
|
+
.attr('y', zoombarHeight)
|
|
77
|
+
.attr('width', '100%')
|
|
78
|
+
.attr('height', Configuration.zoomBar.spacerHeight)
|
|
79
|
+
.attr('opacity', 1)
|
|
80
|
+
.attr('fill', 'none');
|
|
81
81
|
if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
|
|
82
82
|
// Draw zoombar background rectangle
|
|
83
|
-
DOMUtils.appendOrSelect(container,
|
|
84
|
-
.attr(
|
|
85
|
-
.attr(
|
|
86
|
-
.attr(
|
|
87
|
-
.attr(
|
|
88
|
-
.classed(
|
|
83
|
+
DOMUtils.appendOrSelect(container, 'rect.zoom-bg')
|
|
84
|
+
.attr('x', axesLeftMargin)
|
|
85
|
+
.attr('y', 0)
|
|
86
|
+
.attr('width', width - axesLeftMargin)
|
|
87
|
+
.attr('height', '100%')
|
|
88
|
+
.classed('zoom-bg-skeleton', isTopZoomBarLoading);
|
|
89
89
|
}
|
|
90
90
|
else if (zoombarType === ZoomBarTypes.SLIDER_VIEW) {
|
|
91
91
|
// Draw zoombar background line
|
|
92
|
-
DOMUtils.appendOrSelect(container,
|
|
93
|
-
.attr(
|
|
94
|
-
.attr(
|
|
95
|
-
.attr(
|
|
96
|
-
.attr(
|
|
97
|
-
.classed(
|
|
92
|
+
DOMUtils.appendOrSelect(container, 'rect.zoom-slider-bg')
|
|
93
|
+
.attr('x', axesLeftMargin)
|
|
94
|
+
.attr('y', zoombarHeight / 2 - 1)
|
|
95
|
+
.attr('width', width - axesLeftMargin)
|
|
96
|
+
.attr('height', 2)
|
|
97
|
+
.classed('zoom-slider-bg-skeleton', isTopZoomBarLoading);
|
|
98
98
|
}
|
|
99
99
|
if (isTopZoomBarLoading) {
|
|
100
100
|
this.renderSkeleton(container, axesLeftMargin, width);
|
|
@@ -116,9 +116,9 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
116
116
|
// add value 0 to the extended domain for zoom bar area graph
|
|
117
117
|
zoomBarData = this.compensateDataForDefaultDomain(zoomBarData, defaultDomain);
|
|
118
118
|
// get old initialZoomDomain from model
|
|
119
|
-
var oldInitialZoomDomain = this.model.get(
|
|
119
|
+
var oldInitialZoomDomain = this.model.get('initialZoomDomain');
|
|
120
120
|
// get new initialZoomDomain from option
|
|
121
|
-
var newInitialZoomDomain = Tools.getProperty(this.getOptions(),
|
|
121
|
+
var newInitialZoomDomain = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'initialZoomDomain');
|
|
122
122
|
// change string date to Date object if necessary
|
|
123
123
|
if (newInitialZoomDomain &&
|
|
124
124
|
newInitialZoomDomain[0] &&
|
|
@@ -139,7 +139,7 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
139
139
|
initialZoomDomain: newInitialZoomDomain,
|
|
140
140
|
zoomDomain: newInitialZoomDomain
|
|
141
141
|
? newInitialZoomDomain
|
|
142
|
-
: defaultDomain
|
|
142
|
+
: defaultDomain,
|
|
143
143
|
}, { skipUpdate: true });
|
|
144
144
|
}
|
|
145
145
|
this.xScale.range([axesLeftMargin, width]).domain(defaultDomain);
|
|
@@ -148,11 +148,11 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
148
148
|
this.yScale
|
|
149
149
|
.range([0, zoombarHeight - 6])
|
|
150
150
|
.domain(extent(zoomBarData, function (d) { return d.value; }));
|
|
151
|
-
var zoomDomain = this.model.get(
|
|
151
|
+
var zoomDomain = this.model.get('zoomDomain');
|
|
152
152
|
if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
|
|
153
|
-
this.renderZoomBarArea(container,
|
|
153
|
+
this.renderZoomBarArea(container, 'path.zoom-graph-area-unselected', zoomBarData, null);
|
|
154
154
|
this.updateClipPath(svg, this.clipId, 0, 0, 0, 0);
|
|
155
|
-
this.renderZoomBarArea(container,
|
|
155
|
+
this.renderZoomBarArea(container, 'path.zoom-graph-area', zoomBarData, this.clipId);
|
|
156
156
|
// Draw the zoom bar base line
|
|
157
157
|
this.renderZoomBarBaseline(container, axesLeftMargin, width);
|
|
158
158
|
}
|
|
@@ -186,7 +186,7 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
186
186
|
return false;
|
|
187
187
|
});
|
|
188
188
|
// reset all cursor to auto
|
|
189
|
-
brushArea.selectAll(
|
|
189
|
+
brushArea.selectAll('rect').attr('cursor', 'auto');
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
192
|
};
|
|
@@ -206,34 +206,34 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
206
206
|
_this.handleBrushedEvent(zoomDomain, _this.xScale, selection);
|
|
207
207
|
}
|
|
208
208
|
};
|
|
209
|
-
var zoombarType = Tools.getProperty(this.getOptions(),
|
|
209
|
+
var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
|
|
210
210
|
var zoombarHeight = Configuration.zoomBar.height[zoombarType];
|
|
211
211
|
// Initialize the d3 brush
|
|
212
212
|
this.brush
|
|
213
213
|
.extent([
|
|
214
214
|
[axesLeftMargin, 0],
|
|
215
|
-
[width, zoombarHeight]
|
|
215
|
+
[width, zoombarHeight],
|
|
216
216
|
])
|
|
217
|
-
.on(
|
|
218
|
-
.on(
|
|
217
|
+
.on('start brush end', null) // remove old listener first
|
|
218
|
+
.on('start brush end', brushEventListener);
|
|
219
219
|
};
|
|
220
220
|
// brush event listener
|
|
221
221
|
ZoomBar.prototype.handleBrushedEvent = function (zoomDomain, scale, selection) {
|
|
222
222
|
var newDomain = [
|
|
223
223
|
scale.invert(selection[0]),
|
|
224
|
-
scale.invert(selection[1])
|
|
224
|
+
scale.invert(selection[1]),
|
|
225
225
|
];
|
|
226
226
|
// update brush handle position
|
|
227
227
|
this.updateBrushHandle(this.getContainerSVG(), selection, newDomain);
|
|
228
228
|
// be aware that the value of d3.event changes during an event!
|
|
229
229
|
// update zoomDomain only if the event comes from mouse/touch event
|
|
230
230
|
if (event.sourceEvent != null &&
|
|
231
|
-
(event.sourceEvent.type ===
|
|
232
|
-
event.sourceEvent.type ===
|
|
233
|
-
event.sourceEvent.type ===
|
|
234
|
-
event.sourceEvent.type ===
|
|
235
|
-
event.sourceEvent.type ===
|
|
236
|
-
event.sourceEvent.type ===
|
|
231
|
+
(event.sourceEvent.type === 'mousemove' ||
|
|
232
|
+
event.sourceEvent.type === 'mouseup' ||
|
|
233
|
+
event.sourceEvent.type === 'mousedown' ||
|
|
234
|
+
event.sourceEvent.type === 'touchstart' ||
|
|
235
|
+
event.sourceEvent.type === 'touchmove' ||
|
|
236
|
+
event.sourceEvent.type === 'touchend')) {
|
|
237
237
|
// only if zoomDomain is never set or needs update
|
|
238
238
|
if (zoomDomain === undefined ||
|
|
239
239
|
zoomDomain[0] !== newDomain[0] ||
|
|
@@ -241,34 +241,34 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
241
241
|
// don't dispatch event for all event types
|
|
242
242
|
// let the following code to dispatch necessary events
|
|
243
243
|
this.services.zoom.handleDomainChange(newDomain, {
|
|
244
|
-
dispatchEvent: false
|
|
244
|
+
dispatchEvent: false,
|
|
245
245
|
});
|
|
246
246
|
}
|
|
247
247
|
// dispatch selection events
|
|
248
248
|
var zoomBarEventType = void 0;
|
|
249
|
-
if (event.type ===
|
|
249
|
+
if (event.type === 'start') {
|
|
250
250
|
zoomBarEventType = Events.ZoomBar.SELECTION_START;
|
|
251
251
|
}
|
|
252
|
-
else if (event.type ===
|
|
252
|
+
else if (event.type === 'brush') {
|
|
253
253
|
zoomBarEventType = Events.ZoomBar.SELECTION_IN_PROGRESS;
|
|
254
254
|
}
|
|
255
|
-
else if (event.type ===
|
|
255
|
+
else if (event.type === 'end') {
|
|
256
256
|
zoomBarEventType = Events.ZoomBar.SELECTION_END;
|
|
257
257
|
// only dispatch zoom domain change event for triggering api call when event type equals to end
|
|
258
258
|
this.services.events.dispatchEvent(Events.ZoomDomain.CHANGE, {
|
|
259
|
-
newDomain: newDomain
|
|
259
|
+
newDomain: newDomain,
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
262
|
this.services.events.dispatchEvent(zoomBarEventType, {
|
|
263
263
|
selection: selection,
|
|
264
|
-
newDomain: newDomain
|
|
264
|
+
newDomain: newDomain,
|
|
265
265
|
});
|
|
266
266
|
}
|
|
267
267
|
};
|
|
268
268
|
ZoomBar.prototype.updateBrushHandle = function (svg, selection, domain) {
|
|
269
269
|
var self = this;
|
|
270
270
|
var handleWidth = Configuration.zoomBar.handleWidth;
|
|
271
|
-
var zoombarType = Tools.getProperty(this.getOptions(),
|
|
271
|
+
var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
|
|
272
272
|
var handleHeight = Configuration.zoomBar.height[zoombarType];
|
|
273
273
|
var handleXDiff = -handleWidth / 2;
|
|
274
274
|
var handleBarWidth = Configuration.zoomBar.handleBarWidth;
|
|
@@ -279,49 +279,49 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
279
279
|
var handleYBarDiff = (handleHeight - handleBarHeight) / 2;
|
|
280
280
|
// handle
|
|
281
281
|
svg.select(this.brushSelector)
|
|
282
|
-
.selectAll(
|
|
283
|
-
.data([{ type:
|
|
284
|
-
.attr(
|
|
285
|
-
if (d.type ===
|
|
282
|
+
.selectAll('rect.handle')
|
|
283
|
+
.data([{ type: 'w' }, { type: 'e' }])
|
|
284
|
+
.attr('x', function (d) {
|
|
285
|
+
if (d.type === 'w') {
|
|
286
286
|
// handle should not exceed zoom bar range
|
|
287
287
|
return Math.max(selection[0] + handleXDiff, self.maxSelectionRange[0]);
|
|
288
288
|
}
|
|
289
|
-
else if (d.type ===
|
|
289
|
+
else if (d.type === 'e') {
|
|
290
290
|
// handle should not exceed zoom bar range
|
|
291
291
|
return Math.min(selection[1] + handleXDiff, self.maxSelectionRange[1] - handleWidth);
|
|
292
292
|
}
|
|
293
293
|
})
|
|
294
|
-
.attr(
|
|
295
|
-
.attr(
|
|
296
|
-
.attr(
|
|
297
|
-
.attr(
|
|
298
|
-
.style(
|
|
294
|
+
.attr('y', 0)
|
|
295
|
+
.attr('width', handleWidth)
|
|
296
|
+
.attr('height', handleHeight)
|
|
297
|
+
.attr('cursor', 'ew-resize')
|
|
298
|
+
.style('display', null); // always display
|
|
299
299
|
// handle-bar
|
|
300
300
|
var handleBars = svg
|
|
301
301
|
.select(this.brushSelector)
|
|
302
|
-
.selectAll(
|
|
303
|
-
.data([{ type:
|
|
302
|
+
.selectAll('rect.handle-bar')
|
|
303
|
+
.data([{ type: 'w' }, { type: 'e' }]);
|
|
304
304
|
// create rect if not exists
|
|
305
305
|
handleBars
|
|
306
306
|
.enter()
|
|
307
|
-
.append(
|
|
308
|
-
.attr(
|
|
309
|
-
return
|
|
307
|
+
.append('rect')
|
|
308
|
+
.attr('class', function (d) {
|
|
309
|
+
return 'handle-bar handle-bar--' + d.type;
|
|
310
310
|
});
|
|
311
311
|
// update positions
|
|
312
312
|
handleBars
|
|
313
|
-
.attr(
|
|
314
|
-
if (d.type ===
|
|
313
|
+
.attr('x', function (d) {
|
|
314
|
+
if (d.type === 'w') {
|
|
315
315
|
return Math.max(selection[0] + handleBarXDiff, self.maxSelectionRange[0] - handleXDiff + handleBarXDiff);
|
|
316
316
|
}
|
|
317
|
-
else if (d.type ===
|
|
317
|
+
else if (d.type === 'e') {
|
|
318
318
|
return Math.min(selection[1] + handleBarXDiff, self.maxSelectionRange[1] + handleXDiff + handleBarXDiff);
|
|
319
319
|
}
|
|
320
320
|
})
|
|
321
|
-
.attr(
|
|
322
|
-
.attr(
|
|
323
|
-
.attr(
|
|
324
|
-
.attr(
|
|
321
|
+
.attr('y', handleYBarDiff)
|
|
322
|
+
.attr('width', handleBarWidth)
|
|
323
|
+
.attr('height', handleBarHeight)
|
|
324
|
+
.attr('cursor', 'ew-resize');
|
|
325
325
|
// Update slider selected area
|
|
326
326
|
if (zoombarType === ZoomBarTypes.SLIDER_VIEW) {
|
|
327
327
|
this.updateSliderSelectedArea(selection);
|
|
@@ -329,25 +329,25 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
329
329
|
this.updateClipPath(svg, this.clipId, selection[0], 0, selection[1] - selection[0], handleHeight);
|
|
330
330
|
};
|
|
331
331
|
ZoomBar.prototype.updateSliderSelectedArea = function (selection) {
|
|
332
|
-
var zoombarType = Tools.getProperty(this.getOptions(),
|
|
332
|
+
var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
|
|
333
333
|
var zoombarHeight = Configuration.zoomBar.height[zoombarType];
|
|
334
334
|
var width = DOMUtils.getSVGElementSize(this.parent, {
|
|
335
|
-
useAttrs: true
|
|
335
|
+
useAttrs: true,
|
|
336
336
|
}).width;
|
|
337
337
|
// get axes margins
|
|
338
338
|
var axesLeftMargin = 0;
|
|
339
|
-
var axesMargins = this.model.get(
|
|
339
|
+
var axesMargins = this.model.get('axesMargins');
|
|
340
340
|
if (axesMargins && axesMargins.left) {
|
|
341
341
|
axesLeftMargin = axesMargins.left;
|
|
342
342
|
}
|
|
343
343
|
var svg = this.getContainerSVG();
|
|
344
|
-
var container = svg.select(
|
|
344
|
+
var container = svg.select('svg.zoom-container');
|
|
345
345
|
// Draw zoombar background line
|
|
346
|
-
DOMUtils.appendOrSelect(container,
|
|
347
|
-
.attr(
|
|
348
|
-
.attr(
|
|
349
|
-
.attr(
|
|
350
|
-
.attr(
|
|
346
|
+
DOMUtils.appendOrSelect(container, 'rect.zoom-slider-selected-area')
|
|
347
|
+
.attr('x', selection[0])
|
|
348
|
+
.attr('y', zoombarHeight / 2 - 1)
|
|
349
|
+
.attr('width', selection[1] - selection[0])
|
|
350
|
+
.attr('height', 2);
|
|
351
351
|
};
|
|
352
352
|
ZoomBar.prototype.renderZoomBarArea = function (container, querySelector, data, clipId) {
|
|
353
353
|
var cartesianScales = this.services.cartesianScales;
|
|
@@ -362,7 +362,7 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
362
362
|
};
|
|
363
363
|
var xAccessor = accessorFunction(this.xScale, mainXScaleType, mainXAxisPosition);
|
|
364
364
|
var yAccessor = accessorFunction(this.yScale, mainYScaleType, mainYAxisPosition);
|
|
365
|
-
var zoombarType = Tools.getProperty(this.getOptions(),
|
|
365
|
+
var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
|
|
366
366
|
var zoombarHeight = Configuration.zoomBar.height[zoombarType];
|
|
367
367
|
var areaGenerator = area()
|
|
368
368
|
.x(function (d, i) { return xAccessor(d, i); })
|
|
@@ -370,18 +370,18 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
370
370
|
.y1(function (d, i) { return zoombarHeight - yAccessor(d, i); });
|
|
371
371
|
var areaGraph = DOMUtils.appendOrSelect(container, querySelector)
|
|
372
372
|
.datum(data)
|
|
373
|
-
.attr(
|
|
373
|
+
.attr('d', areaGenerator);
|
|
374
374
|
if (clipId) {
|
|
375
|
-
areaGraph.attr(
|
|
375
|
+
areaGraph.attr('clip-path', "url(#" + clipId + ")");
|
|
376
376
|
}
|
|
377
377
|
};
|
|
378
378
|
ZoomBar.prototype.updateClipPath = function (svg, clipId, x, y, width, height) {
|
|
379
|
-
var zoomBarClipPath = DOMUtils.appendOrSelect(svg, "clipPath").attr(
|
|
380
|
-
DOMUtils.appendOrSelect(zoomBarClipPath,
|
|
381
|
-
.attr(
|
|
382
|
-
.attr(
|
|
383
|
-
.attr(
|
|
384
|
-
.attr(
|
|
379
|
+
var zoomBarClipPath = DOMUtils.appendOrSelect(svg, "clipPath").attr('id', clipId);
|
|
380
|
+
DOMUtils.appendOrSelect(zoomBarClipPath, 'rect')
|
|
381
|
+
.attr('x', x)
|
|
382
|
+
.attr('y', y)
|
|
383
|
+
.attr('width', width)
|
|
384
|
+
.attr('height', height);
|
|
385
385
|
};
|
|
386
386
|
// assume the domains in data are already sorted
|
|
387
387
|
ZoomBar.prototype.compensateDataForDefaultDomain = function (data, defaultDomain) {
|
|
@@ -410,32 +410,32 @@ var ZoomBar = /** @class */ (function (_super) {
|
|
|
410
410
|
};
|
|
411
411
|
ZoomBar.prototype.renderZoomBarBaseline = function (container, startX, endX, skeletonClass) {
|
|
412
412
|
if (skeletonClass === void 0) { skeletonClass = false; }
|
|
413
|
-
var zoombarType = Tools.getProperty(this.model.getOptions(),
|
|
413
|
+
var zoombarType = Tools.getProperty(this.model.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
|
|
414
414
|
var zoombarHeight = Configuration.zoomBar.height[zoombarType];
|
|
415
415
|
var baselineGenerator = line()([
|
|
416
416
|
[startX, zoombarHeight],
|
|
417
|
-
[endX, zoombarHeight]
|
|
417
|
+
[endX, zoombarHeight],
|
|
418
418
|
]);
|
|
419
|
-
DOMUtils.appendOrSelect(container,
|
|
420
|
-
.attr(
|
|
421
|
-
.classed(
|
|
419
|
+
DOMUtils.appendOrSelect(container, 'path.zoom-bg-baseline')
|
|
420
|
+
.attr('d', baselineGenerator)
|
|
421
|
+
.classed('zoom-bg-baseline-skeleton', skeletonClass);
|
|
422
422
|
};
|
|
423
423
|
ZoomBar.prototype.renderSkeleton = function (container, startX, endX) {
|
|
424
424
|
// need to clear current zoom bar area
|
|
425
|
-
this.renderZoomBarArea(container,
|
|
426
|
-
this.renderZoomBarArea(container,
|
|
425
|
+
this.renderZoomBarArea(container, 'path.zoom-graph-area-unselected', [], null);
|
|
426
|
+
this.renderZoomBarArea(container, 'path.zoom-graph-area', [], this.clipId);
|
|
427
427
|
// remove brush listener
|
|
428
|
-
this.brush.on(
|
|
428
|
+
this.brush.on('start brush end', null);
|
|
429
429
|
// clear d3 brush
|
|
430
430
|
DOMUtils.appendOrSelect(this.getContainerSVG(), this.brushSelector).html(null);
|
|
431
431
|
// re-render baseline because no axis labels in skeleton so the baseline length needs to change
|
|
432
|
-
var zoombarType = Tools.getProperty(this.getOptions(),
|
|
432
|
+
var zoombarType = Tools.getProperty(this.getOptions(), 'zoomBar', AxisPositions.TOP, 'type');
|
|
433
433
|
if (zoombarType === ZoomBarTypes.GRAPH_VIEW) {
|
|
434
434
|
this.renderZoomBarBaseline(container, startX, endX, true);
|
|
435
435
|
}
|
|
436
436
|
};
|
|
437
437
|
ZoomBar.prototype.destroy = function () {
|
|
438
|
-
this.brush.on(
|
|
438
|
+
this.brush.on('start brush end', null); // remove event listener
|
|
439
439
|
this.services.events.removeEventListener(Events.ZoomBar.UPDATE, this.render.bind(this));
|
|
440
440
|
};
|
|
441
441
|
return ZoomBar;
|