mdt-charts 1.29.0 → 1.30.0

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.
Files changed (257) hide show
  1. package/lib/config/config.d.ts +170 -178
  2. package/lib/designer/designerConfig.d.ts +59 -62
  3. package/lib/engine/block/block.d.ts +16 -22
  4. package/lib/engine/block/block.js +51 -51
  5. package/lib/engine/block/blockHelper.d.ts +6 -6
  6. package/lib/engine/block/blockHelper.js +16 -16
  7. package/lib/engine/block/blockHtml.d.ts +8 -8
  8. package/lib/engine/block/blockHtml.js +15 -15
  9. package/lib/engine/block/blockSvg.d.ts +20 -20
  10. package/lib/engine/block/blockSvg.js +66 -65
  11. package/lib/engine/block/defs/LinearGradientDef.d.ts +2 -2
  12. package/lib/engine/block/defs/LinearGradientDef.js +27 -27
  13. package/lib/engine/block/defs/hatchPattern.d.ts +4 -4
  14. package/lib/engine/block/defs/hatchPattern.js +9 -9
  15. package/lib/engine/colorReader/colorReader.d.ts +5 -5
  16. package/lib/engine/colorReader/colorReader.js +18 -18
  17. package/lib/engine/contentManager/contentManager.d.ts +7 -6
  18. package/lib/engine/contentManager/contentManager.js +15 -15
  19. package/lib/engine/contentManager/contentManagerFactory.d.ts +7 -7
  20. package/lib/engine/contentManager/contentManagerFactory.js +12 -12
  21. package/lib/engine/elementHighlighter/elementHighlighter.d.ts +22 -70
  22. package/lib/engine/elementHighlighter/elementHighlighter.js +181 -230
  23. package/lib/engine/elementHighlighter/selectHighlighter.d.ts +4 -29
  24. package/lib/engine/elementHighlighter/selectHighlighter.js +87 -189
  25. package/lib/engine/engine.d.ts +17 -17
  26. package/lib/engine/engine.js +62 -87
  27. package/lib/engine/features/aggregator/aggregator.d.ts +17 -24
  28. package/lib/engine/features/aggregator/aggregator.js +102 -113
  29. package/lib/engine/features/axis/axis.d.ts +9 -22
  30. package/lib/engine/features/axis/axis.js +150 -159
  31. package/lib/engine/features/axis/axisDomHelper.d.ts +2 -7
  32. package/lib/engine/features/axis/axisDomHelper.js +20 -19
  33. package/lib/engine/features/axis/axisHelper.d.ts +5 -9
  34. package/lib/engine/features/axis/axisHelper.js +33 -28
  35. package/lib/engine/features/axis/axisLabelDomHelper.d.ts +11 -26
  36. package/lib/engine/features/axis/axisLabelDomHelper.js +152 -156
  37. package/lib/engine/features/axis/axisLabelsEventManager.d.ts +2 -2
  38. package/lib/engine/features/axis/axisLabelsEventManager.js +32 -32
  39. package/lib/engine/features/embeddedLabels/embeddedLabels.d.ts +16 -51
  40. package/lib/engine/features/embeddedLabels/embeddedLabels.js +134 -234
  41. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.d.ts +2 -13
  42. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.js +23 -20
  43. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.d.ts +15 -32
  44. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.js +63 -56
  45. package/lib/engine/features/gridLine/gidLineHelper.d.ts +7 -13
  46. package/lib/engine/features/gridLine/gidLineHelper.js +49 -42
  47. package/lib/engine/features/gridLine/gridLine.d.ts +5 -19
  48. package/lib/engine/features/gridLine/gridLine.js +36 -35
  49. package/lib/engine/features/legend/legend.d.ts +28 -38
  50. package/lib/engine/features/legend/legend.js +92 -118
  51. package/lib/engine/features/legend/legendDomHelper.d.ts +6 -13
  52. package/lib/engine/features/legend/legendDomHelper.js +62 -63
  53. package/lib/engine/features/legend/legendEventsManager.d.ts +8 -13
  54. package/lib/engine/features/legend/legendEventsManager.js +47 -48
  55. package/lib/engine/features/legend/legendHelper.d.ts +14 -39
  56. package/lib/engine/features/legend/legendHelper.js +92 -98
  57. package/lib/engine/features/legend/legendHelperService.d.ts +6 -13
  58. package/lib/engine/features/legend/legendHelperService.js +25 -24
  59. package/lib/engine/features/legend/legendMarkerCreator.d.ts +9 -18
  60. package/lib/engine/features/legend/legendMarkerCreator.js +76 -79
  61. package/lib/engine/features/legend/legendWidthCalculator.d.ts +7 -7
  62. package/lib/engine/features/legend/legendWidthCalculator.js +122 -126
  63. package/lib/engine/features/markDots/markDot.d.ts +15 -42
  64. package/lib/engine/features/markDots/markDot.js +70 -101
  65. package/lib/engine/features/markDots/markDotsHelper.d.ts +1 -8
  66. package/lib/engine/features/markDots/markDotsHelper.js +12 -13
  67. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.d.ts +5 -23
  68. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.js +34 -42
  69. package/lib/engine/features/scale/scale.d.ts +12 -17
  70. package/lib/engine/features/scale/scale.js +69 -76
  71. package/lib/engine/features/tipBox/tipBox.d.ts +5 -9
  72. package/lib/engine/features/tipBox/tipBox.js +24 -24
  73. package/lib/engine/features/tipBox/tipBoxHelper.d.ts +9 -16
  74. package/lib/engine/features/tipBox/tipBoxHelper.js +45 -60
  75. package/lib/engine/features/title/title.d.ts +6 -6
  76. package/lib/engine/features/title/title.js +35 -34
  77. package/lib/engine/features/tolltip/newTooltip/newTooltip.d.ts +11 -15
  78. package/lib/engine/features/tolltip/newTooltip/newTooltip.js +21 -21
  79. package/lib/engine/features/tolltip/newTooltip/newTooltipService.d.ts +8 -13
  80. package/lib/engine/features/tolltip/newTooltip/newTooltipService.js +23 -26
  81. package/lib/engine/features/tolltip/tooltip.d.ts +11 -17
  82. package/lib/engine/features/tolltip/tooltip.js +142 -296
  83. package/lib/engine/features/tolltip/tooltipComponentsManager.d.ts +10 -21
  84. package/lib/engine/features/tolltip/tooltipComponentsManager.js +114 -113
  85. package/lib/engine/features/tolltip/tooltipDomHelper.d.ts +21 -43
  86. package/lib/engine/features/tolltip/tooltipDomHelper.js +120 -144
  87. package/lib/engine/features/tolltip/tooltipHelper.d.ts +9 -39
  88. package/lib/engine/features/tolltip/tooltipHelper.js +91 -114
  89. package/lib/engine/features/valueLabels/valueLabels.d.ts +38 -58
  90. package/lib/engine/features/valueLabels/valueLabels.js +170 -205
  91. package/lib/engine/features/valueLabels/valueLabelsHelper.d.ts +1 -7
  92. package/lib/engine/features/valueLabels/valueLabelsHelper.js +18 -23
  93. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.d.ts +15 -18
  94. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.js +47 -46
  95. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.d.ts +3 -6
  96. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.js +45 -49
  97. package/lib/engine/filterManager/filterEventManager.d.ts +30 -37
  98. package/lib/engine/filterManager/filterEventManager.js +131 -174
  99. package/lib/engine/helpers/domHelper.d.ts +20 -45
  100. package/lib/engine/helpers/domHelper.js +61 -62
  101. package/lib/engine/helpers/fontResizer/fontResizer.d.ts +10 -10
  102. package/lib/engine/helpers/fontResizer/fontResizer.js +16 -21
  103. package/lib/engine/helpers/fontResizer/fontResizerService.d.ts +1 -1
  104. package/lib/engine/helpers/fontResizer/fontResizerService.js +10 -9
  105. package/lib/engine/helpers/helper.d.ts +27 -27
  106. package/lib/engine/helpers/helper.js +92 -91
  107. package/lib/engine/helpers/namesHelper.d.ts +3 -3
  108. package/lib/engine/helpers/namesHelper.js +6 -6
  109. package/lib/engine/helpers/pipeline/Pipeline.d.ts +5 -5
  110. package/lib/engine/helpers/pipeline/Pipeline.js +33 -33
  111. package/lib/engine/polarNotation/donut/DonutHelper.d.ts +11 -25
  112. package/lib/engine/polarNotation/donut/DonutHelper.js +70 -71
  113. package/lib/engine/polarNotation/donut/donut.d.ts +23 -38
  114. package/lib/engine/polarNotation/donut/donut.js +99 -109
  115. package/lib/engine/polarNotation/polarManager.d.ts +6 -6
  116. package/lib/engine/polarNotation/polarManager.js +47 -67
  117. package/lib/engine/transitionManager.d.ts +14 -13
  118. package/lib/engine/transitionManager.js +49 -48
  119. package/lib/engine/twoDimensionalNotation/area/area.d.ts +28 -44
  120. package/lib/engine/twoDimensionalNotation/area/area.js +238 -272
  121. package/lib/engine/twoDimensionalNotation/area/areaGenerator.d.ts +5 -13
  122. package/lib/engine/twoDimensionalNotation/area/areaGenerator.js +13 -13
  123. package/lib/engine/twoDimensionalNotation/area/areaHelper.d.ts +4 -4
  124. package/lib/engine/twoDimensionalNotation/area/areaHelper.js +41 -57
  125. package/lib/engine/twoDimensionalNotation/bar/bar.d.ts +29 -54
  126. package/lib/engine/twoDimensionalNotation/bar/bar.js +224 -362
  127. package/lib/engine/twoDimensionalNotation/bar/barHelper.d.ts +32 -71
  128. package/lib/engine/twoDimensionalNotation/bar/barHelper.js +126 -162
  129. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.d.ts +6 -6
  130. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.js +24 -24
  131. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.d.ts +2 -2
  132. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.js +17 -16
  133. package/lib/engine/twoDimensionalNotation/dot/dotChart.d.ts +23 -23
  134. package/lib/engine/twoDimensionalNotation/dot/dotChart.js +114 -135
  135. package/lib/engine/twoDimensionalNotation/line/line.d.ts +16 -37
  136. package/lib/engine/twoDimensionalNotation/line/line.js +132 -162
  137. package/lib/engine/twoDimensionalNotation/line/lineBuilder.d.ts +11 -14
  138. package/lib/engine/twoDimensionalNotation/line/lineBuilder.js +48 -47
  139. package/lib/engine/twoDimensionalNotation/line/lineGenerator.d.ts +4 -4
  140. package/lib/engine/twoDimensionalNotation/line/lineGenerator.js +8 -8
  141. package/lib/engine/twoDimensionalNotation/line/lineHelper.d.ts +6 -12
  142. package/lib/engine/twoDimensionalNotation/line/lineHelper.js +60 -76
  143. package/lib/engine/twoDimensionalNotation/lineLike/generatorFactory/lineLikeGeneratorFactory.d.ts +6 -6
  144. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.d.ts +5 -5
  145. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.js +17 -16
  146. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.d.ts +10 -11
  147. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.js +7 -9
  148. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorMiddleware.d.ts +1 -3
  149. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.d.ts +10 -10
  150. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.js +138 -253
  151. package/lib/engine/valueFormatter.d.ts +3 -3
  152. package/lib/engine/valueFormatter.js +6 -6
  153. package/lib/main.d.ts +79 -82
  154. package/lib/main.js +84 -79
  155. package/lib/model/EventEmitter.d.ts +8 -8
  156. package/lib/model/EventEmitter.js +24 -24
  157. package/lib/model/chartStyleModel/chartStyleModel.d.ts +5 -5
  158. package/lib/model/chartStyleModel/chartStyleModel.js +25 -27
  159. package/lib/model/chartStyleModel/colorRange.d.ts +3 -3
  160. package/lib/model/chartStyleModel/colorRange.js +24 -19
  161. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.d.ts +12 -22
  162. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.js +60 -69
  163. package/lib/model/configsValidator/configValidator.d.ts +1 -1
  164. package/lib/model/configsValidator/configValidator.js +4 -4
  165. package/lib/model/dataManagerModel/dataManagerModel.d.ts +26 -36
  166. package/lib/model/dataManagerModel/dataManagerModel.js +128 -179
  167. package/lib/model/dataManagerModel/dataManagerModelService.d.ts +2 -2
  168. package/lib/model/dataManagerModel/dataManagerModelService.js +26 -25
  169. package/lib/model/featuresModel/axisModel.d.ts +18 -69
  170. package/lib/model/featuresModel/axisModel.js +169 -224
  171. package/lib/model/featuresModel/axisModelService.d.ts +6 -10
  172. package/lib/model/featuresModel/axisModelService.js +27 -27
  173. package/lib/model/featuresModel/legendModel/legendCanvasModel.d.ts +11 -16
  174. package/lib/model/featuresModel/legendModel/legendCanvasModel.js +59 -55
  175. package/lib/model/featuresModel/legendModel/legendModel.d.ts +3 -7
  176. package/lib/model/featuresModel/legendModel/legendModel.js +41 -59
  177. package/lib/model/featuresModel/legendModel/polarMarginCalculator.d.ts +3 -8
  178. package/lib/model/featuresModel/legendModel/polarMarginCalculator.js +20 -18
  179. package/lib/model/featuresModel/legendModel/twoDimLegendModel.d.ts +4 -8
  180. package/lib/model/featuresModel/legendModel/twoDimLegendModel.js +27 -40
  181. package/lib/model/featuresModel/otherComponents.d.ts +4 -7
  182. package/lib/model/featuresModel/otherComponents.js +9 -9
  183. package/lib/model/featuresModel/recordOverflowModel/recordOverflowModel.d.ts +4 -0
  184. package/lib/model/featuresModel/recordOverflowModel/recordOverflowModel.js +33 -0
  185. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.d.ts +6 -6
  186. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.js +23 -27
  187. package/lib/model/featuresModel/scaleModel/scaleDomainService.d.ts +5 -19
  188. package/lib/model/featuresModel/scaleModel/scaleDomainService.js +55 -44
  189. package/lib/model/featuresModel/scaleModel/scaleModel.d.ts +10 -10
  190. package/lib/model/featuresModel/scaleModel/scaleModel.js +50 -61
  191. package/lib/model/featuresModel/scaleModel/scaleModelServices.js +22 -15
  192. package/lib/model/featuresModel/titleModel.d.ts +1 -1
  193. package/lib/model/featuresModel/titleModel.js +14 -14
  194. package/lib/model/featuresModel/tooltipModel.d.ts +1 -1
  195. package/lib/model/featuresModel/tooltipModel.js +5 -5
  196. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.d.ts +11 -23
  197. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.js +51 -53
  198. package/lib/model/helpers/modelHelper.d.ts +7 -7
  199. package/lib/model/helpers/modelHelper.js +42 -38
  200. package/lib/model/helpers/twoDimensionalModelHelper.d.ts +9 -37
  201. package/lib/model/helpers/twoDimensionalModelHelper.js +125 -147
  202. package/lib/model/helpers/unitsFromConfigReader.js +4 -4
  203. package/lib/model/helpers/unitsReader.d.ts +2 -2
  204. package/lib/model/helpers/unitsReader.js +13 -11
  205. package/lib/model/margin/marginModel.d.ts +7 -7
  206. package/lib/model/margin/marginModel.js +20 -23
  207. package/lib/model/margin/twoDim/twoDimMarginModel.d.ts +13 -13
  208. package/lib/model/margin/twoDim/twoDimMarginModel.js +113 -184
  209. package/lib/model/model.d.ts +281 -315
  210. package/lib/model/model.js +4 -4
  211. package/lib/model/modelBuilder.d.ts +18 -27
  212. package/lib/model/modelBuilder.js +79 -85
  213. package/lib/model/modelInstance/canvasModel/canvasModel.d.ts +17 -17
  214. package/lib/model/modelInstance/canvasModel/canvasModel.js +43 -42
  215. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasMarginModel.d.ts +7 -7
  216. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasSizeModel.d.ts +2 -2
  217. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.d.ts +6 -6
  218. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.js +24 -24
  219. package/lib/model/modelInstance/canvasModel/legendCanvasModel.d.ts +4 -4
  220. package/lib/model/modelInstance/canvasModel/legendCanvasModel.js +11 -11
  221. package/lib/model/modelInstance/canvasModel/titleCanvas.d.ts +4 -4
  222. package/lib/model/modelInstance/canvasModel/titleCanvas.js +9 -9
  223. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.d.ts +3 -3
  224. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.js +6 -6
  225. package/lib/model/modelInstance/configReader.d.ts +23 -32
  226. package/lib/model/modelInstance/configReader.js +94 -125
  227. package/lib/model/modelInstance/dataModel/dataModel.d.ts +10 -10
  228. package/lib/model/modelInstance/dataModel/dataModel.js +25 -25
  229. package/lib/model/modelInstance/dataModel/dataRepository.d.ts +14 -14
  230. package/lib/model/modelInstance/dataModel/dataRepository.js +42 -42
  231. package/lib/model/modelInstance/modelInstance.d.ts +6 -11
  232. package/lib/model/modelInstance/modelInstance.js +16 -16
  233. package/lib/model/modelInstance/titleConfigReader.d.ts +8 -8
  234. package/lib/model/modelInstance/titleConfigReader.js +30 -37
  235. package/lib/model/notations/polar/donut/donutAggregatorService.d.ts +6 -9
  236. package/lib/model/notations/polar/donut/donutAggregatorService.js +37 -40
  237. package/lib/model/notations/polar/donut/donutModel.d.ts +5 -9
  238. package/lib/model/notations/polar/donut/donutModel.js +28 -28
  239. package/lib/model/notations/polar/donut/donutThicknessService.d.ts +3 -3
  240. package/lib/model/notations/polar/donut/donutThicknessService.js +15 -13
  241. package/lib/model/notations/polar/polarModel.d.ts +7 -18
  242. package/lib/model/notations/polar/polarModel.js +72 -79
  243. package/lib/model/notations/twoDimensional/styles.d.ts +7 -44
  244. package/lib/model/notations/twoDimensional/styles.js +125 -234
  245. package/lib/model/notations/twoDimensionalModel.d.ts +13 -23
  246. package/lib/model/notations/twoDimensionalModel.js +170 -330
  247. package/lib/optionsServices/publicOptionsService.d.ts +1 -1
  248. package/lib/optionsServices/publicOptionsService.js +4 -4
  249. package/lib/optionsServices/validators/sizeValidator.d.ts +2 -2
  250. package/lib/optionsServices/validators/sizeValidator.js +11 -10
  251. package/lib/style/charts-main.css +151 -150
  252. package/lib/style/charts-main.less +151 -150
  253. package/package.json +5 -5
  254. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.d.ts +0 -15
  255. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.js +0 -40
  256. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.d.ts +0 -15
  257. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.js +0 -32
@@ -8,278 +8,244 @@ import { getStackedData, LineGeneratorFactory } from "../../../engine/twoDimensi
8
8
  import { Line } from "../../../engine/twoDimensionalNotation/line/line";
9
9
  import { LineBuilder } from "../../../engine/twoDimensionalNotation/line/lineBuilder";
10
10
  export class Area {
11
- constructor(options) {
12
- this.options = options;
13
- }
14
- static get(options) {
15
- return new Area(options);
16
- }
17
- render(block, scales, data, keyField, margin, keyAxisOrient, chart) {
18
- if (chart.isSegmented) this.renderSegmented(block, scales, data, keyField, margin, keyAxisOrient, chart);
19
- else this.renderGrouped(block, scales, data, keyField, margin, keyAxisOrient, chart);
20
- }
21
- update(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
22
- let promises;
23
- if (chart.isSegmented) {
24
- promises = this.updateSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient);
25
- } else {
26
- promises = this.updateGrouped(block, scales, newData, keyField, margin, chart, keyAxisOrient);
27
- }
28
- return promises;
29
- }
30
- updateColors(block, chart) {
31
- chart.data.valueFields.forEach((_vf, valueIndex) => {
32
- const chartGroup = block.svg.getChartGroup(chart.index);
33
- const areaPath = chartGroup.select(
34
- `.${Area.areaChartClass}${Helper.getCssClassesLine(chart.cssClasses)}.chart-element-${valueIndex}`
35
- );
36
- this.setChartFillStyle(chart, areaPath, valueIndex);
37
- if (chart.areaViewOptions.borderLine.on) {
38
- const borderLinePath = chartGroup.select(
39
- `.${Area.areaBorderLineClass}${Helper.getCssClassesLine(
40
- chart.cssClasses
41
- )}.chart-element-${valueIndex}`
42
- );
43
- DomHelper.setChartElementColor(borderLinePath, chart.style.elementColors, valueIndex, "stroke");
44
- }
45
- MarkDot.updateColors(block, chart, valueIndex);
46
- });
47
- }
48
- renderGrouped(block, scales, data, keyField, margin, keyAxisOrient, chart) {
49
- const areaGeneratorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
50
- const lineGeneratorFactory = this.getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
51
- chart.data.valueFields.forEach((field, valueIndex) => {
52
- this.renderArea(areaGeneratorFactory, block, chart, data, field, valueIndex);
53
- if (lineGeneratorFactory)
54
- this.renderBorderLine(lineGeneratorFactory, block, chart, data, field, valueIndex);
55
- MarkDot.render(block, data, keyAxisOrient, scales, margin, keyField.name, valueIndex, field.name, chart);
56
- });
57
- }
58
- renderSegmented(block, scales, data, keyField, margin, keyAxisOrient, chart) {
59
- const areaGeneratorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
60
- const lineGeneratorFactory = this.getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
61
- this.renderAreaSegmented(areaGeneratorFactory, block, scales, data, keyField, margin, keyAxisOrient, chart);
62
- if (lineGeneratorFactory) this.renderBorderLineSegmented(lineGeneratorFactory, block, data, chart);
63
- }
64
- updateGrouped(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
65
- const promises = [];
66
- const areaGeneratorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
67
- const lineGeneratorFactory = this.getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
68
- chart.data.valueFields.forEach((field, valueIndex) => {
69
- const chartGroup = block.svg.getChartGroup(chart.index);
70
- const areaProm = this.updateArea(
71
- areaGeneratorFactory,
72
- chartGroup,
73
- block,
74
- field,
75
- chart,
76
- newData,
77
- valueIndex
78
- );
79
- promises.push(areaProm);
80
- if (lineGeneratorFactory) {
81
- const lineProm = this.updateBorderLine(
82
- lineGeneratorFactory,
83
- chartGroup,
84
- block,
85
- field,
86
- chart,
87
- newData,
88
- valueIndex
89
- );
90
- promises.push(lineProm);
91
- }
92
- MarkDot.update(block, newData, keyAxisOrient, scales, margin, keyField.name, valueIndex, field.name, chart);
93
- });
94
- return promises;
95
- }
96
- updateSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
97
- return [
98
- this.updateAreaSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient),
99
- this.updateBorderLineSegmented(block, scales, newData, keyField, margin, keyAxisOrient, chart)
100
- ];
101
- }
102
- updateGroupedPath(block, areaObject, areaGenerator, newData) {
103
- return new Promise((resolve) => {
104
- if (areaObject.size() === 0) {
105
- resolve("");
106
- return;
107
- }
108
- let areaHandler = areaObject;
109
- if (block.transitionManager.durations.chartUpdate > 0)
110
- areaHandler = areaHandler
111
- .interrupt()
112
- .transition()
113
- .duration(block.transitionManager.durations.chartUpdate)
114
- .on("end", () => resolve(""));
115
- areaHandler.attr("d", areaGenerator(newData));
116
- if (block.transitionManager.durations.chartUpdate <= 0) resolve("");
117
- });
118
- }
119
- updateSegmentedPath(block, areasObjects, areaGenerator) {
120
- return new Promise((resolve) => {
121
- if (areasObjects.size() === 0) {
122
- resolve("");
123
- return;
124
- }
125
- let areaHandler = areasObjects;
126
- if (block.transitionManager.durations.chartUpdate > 0)
127
- areaHandler = areaHandler
128
- .interrupt()
129
- .transition()
130
- .duration(block.transitionManager.durations.chartUpdate)
131
- .on("end", () => resolve(""));
132
- areaHandler.attr("d", (d) => areaGenerator(d));
133
- if (block.transitionManager.durations.chartUpdate <= 0) resolve("");
134
- });
135
- }
136
- setChartFillStyle(chart, path, valueIndex) {
137
- if (chart.areaViewOptions.fill.type === "gradient") {
138
- path.style("fill", `url(#${chart.areaViewOptions.fill.ids[valueIndex]})`);
139
- } else DomHelper.setChartStyle(path, chart.style, valueIndex, "fill");
140
- }
141
- createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField) {
142
- return new AreaGeneratorFactory({
143
- keyAxisOrient,
144
- scales,
145
- keyFieldName: keyField.name,
146
- margin,
147
- shouldRender: chart.lineLikeViewOptions.renderForKey,
148
- curve: this.options.staticSettings.shape.curve.type
149
- });
150
- }
151
- createLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField) {
152
- return new LineGeneratorFactory({
153
- keyAxisOrient,
154
- scales,
155
- keyFieldName: keyField.name,
156
- margin,
157
- shouldRender: chart.lineLikeViewOptions.renderForKey,
158
- curve: this.options.staticSettings.shape.curve.type
159
- });
160
- }
161
- renderArea(areaGeneratorFactory, block, chart, data, field, valueIndex) {
162
- const area = areaGeneratorFactory.getAreaGenerator(field.name);
163
- const path = block.svg
164
- .getChartGroup(chart.index)
165
- .append("path")
166
- .attr("d", area(data))
167
- .attr("class", Area.areaChartClass)
168
- .style("clip-path", `url(#${block.svg.getClipPathId()})`)
169
- .style("pointer-events", "none");
170
- DomHelper.setCssClasses(path, Helper.getCssClassesWithElementIndex(chart.cssClasses, valueIndex));
171
- this.setChartFillStyle(chart, path, valueIndex);
172
- }
173
- renderBorderLine(lineGeneratorFactory, block, chart, data, field, valueIndex) {
174
- const lineGenerator = lineGeneratorFactory.getLineGenerator(field.name);
175
- const linePath = block.svg
176
- .getChartGroup(chart.index)
177
- .append("path")
178
- .attr("d", lineGenerator(data))
179
- .attr("class", `${Area.areaBorderLineClass}`)
180
- .style("fill", "none")
181
- .style("clip-path", `url(#${block.svg.getClipPathId()})`)
182
- .style("pointer-events", "none");
183
- DomHelper.setCssClasses(linePath, Helper.getCssClassesWithElementIndex(chart.cssClasses, valueIndex));
184
- DomHelper.setChartStyle(linePath, chart.areaViewOptions.borderLine.colorStyle, valueIndex, "stroke");
185
- }
186
- renderAreaSegmented(areaGeneratorFactory, block, scales, data, keyField, margin, keyAxisOrient, chart) {
187
- const stackedData = getStackedDataWithOwn(
188
- data,
189
- chart.data.valueFields.map((field) => field.name)
190
- );
191
- const areaGenerator = areaGeneratorFactory.getSegmentedAreaGenerator();
192
- const areas = block.svg
193
- .getChartGroup(chart.index)
194
- .selectAll(`.${Area.areaChartClass}${Helper.getCssClassesLine(chart.cssClasses)}`)
195
- .data(stackedData)
196
- .enter()
197
- .append("path")
198
- .attr("d", (d) => areaGenerator(d))
199
- .attr("class", Area.areaChartClass)
200
- .style("clip-path", `url(#${block.svg.getClipPathId()})`)
201
- .style("pointer-events", "none");
202
- const thisClass = this;
203
- areas.each(function (_, i) {
204
- thisClass.setChartFillStyle(chart, select(this), i);
205
- DomHelper.setCssClasses(select(this), Helper.getCssClassesWithElementIndex(chart.cssClasses, i));
206
- });
207
- stackedData.forEach((dataset, index) => {
208
- MarkDot.render(block, dataset, keyAxisOrient, scales, margin, keyField.name, index, "1", chart);
209
- });
210
- }
211
- renderBorderLineSegmented(generatorFactory, block, data, chart) {
212
- let stackedData = getStackedData(data, chart);
213
- const lineGenerator = generatorFactory.getSegmentedLineGenerator();
214
- const lineBuilder = new LineBuilder(
215
- {
216
- elementAccessors: { getBlock: () => block }
217
- },
218
- chart,
219
- lineGenerator
220
- );
221
- let lines = lineBuilder.renderSegmented(stackedData, Area.areaBorderLineClass);
222
- lineBuilder.setSegmentColor(lines, chart.style.elementColors);
223
- lines.each(function (_, i) {
224
- DomHelper.setCssClasses(select(this), Helper.getCssClassesWithElementIndex(chart.cssClasses, i));
225
- });
226
- }
227
- updateAreaSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
228
- const stackedData = getStackedDataWithOwn(
229
- newData,
230
- chart.data.valueFields.map((field) => field.name)
231
- );
232
- const generatorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
233
- const areaGenerator = generatorFactory.getSegmentedAreaGenerator();
234
- const areas = this.getAllAreasWithNewData(stackedData, block, chart, Area.areaChartClass);
235
- const prom = this.updateSegmentedPath(block, areas, areaGenerator);
236
- areas.each(function (dataset, index) {
237
- // '1' - атрибут, показывающий координаты согласно полю значения
238
- MarkDot.update(block, dataset, keyAxisOrient, scales, margin, keyField.name, index, "1", chart);
239
- });
240
- return prom;
241
- }
242
- updateBorderLineSegmented(block, scales, newData, keyField, margin, keyAxisOrient, chart) {
243
- let stackedData = getStackedData(newData, chart);
244
- const generatorFactory = this.createLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
245
- const lineGenerator = generatorFactory.getSegmentedLineGenerator();
246
- const lineBuilder = new LineBuilder(
247
- {
248
- elementAccessors: { getBlock: () => block }
249
- },
250
- chart,
251
- lineGenerator
252
- );
253
- let lines = lineBuilder.getAllLinesWithNewData(stackedData, Area.areaBorderLineClass);
254
- let prom = lineBuilder.updateSegmentedPath(lines);
255
- return prom;
256
- }
257
- updateArea(areaGeneratorFactory, chartGroup, block, field, chart, newData, valueIndex) {
258
- const areaGenerator = areaGeneratorFactory.getAreaGenerator(field.name);
259
- const areaObject = chartGroup.select(
260
- `.${Area.areaChartClass}${Helper.getCssClassesLine(chart.cssClasses)}.chart-element-${valueIndex}`
261
- );
262
- return this.updateGroupedPath(block, areaObject, areaGenerator, newData);
263
- }
264
- updateBorderLine(lineGeneratorFactory, chartGroup, block, field, chart, newData, valueIndex) {
265
- const borderLineGenerator = lineGeneratorFactory.getLineGenerator(field.name);
266
- const borderLineObject = chartGroup.select(
267
- `.${Area.areaBorderLineClass}${Helper.getCssClassesLine(chart.cssClasses)}.chart-element-${valueIndex}`
268
- );
269
- return Line.updateGroupedPath(block, borderLineObject, borderLineGenerator, newData);
270
- }
271
- getAllAreasWithNewData(stackedData, block, chart, lineClass) {
272
- return block.svg
273
- .getChartGroup(chart.index)
274
- .selectAll(`path.${lineClass}${Helper.getCssClassesLine(chart.cssClasses)}`)
275
- .data(stackedData);
276
- }
277
- getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField) {
278
- return (
279
- chart.areaViewOptions.borderLine.on &&
280
- this.createLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField)
281
- );
282
- }
11
+ constructor(options) {
12
+ this.options = options;
13
+ }
14
+ static get(options) {
15
+ return new Area(options);
16
+ }
17
+ render(block, scales, data, keyField, margin, keyAxisOrient, chart) {
18
+ if (chart.isSegmented)
19
+ this.renderSegmented(block, scales, data, keyField, margin, keyAxisOrient, chart);
20
+ else
21
+ this.renderGrouped(block, scales, data, keyField, margin, keyAxisOrient, chart);
22
+ }
23
+ update(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
24
+ let promises;
25
+ if (chart.isSegmented) {
26
+ promises = this.updateSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient);
27
+ }
28
+ else {
29
+ promises = this.updateGrouped(block, scales, newData, keyField, margin, chart, keyAxisOrient);
30
+ }
31
+ return promises;
32
+ }
33
+ updateColors(block, chart) {
34
+ chart.data.valueFields.forEach((_vf, valueIndex) => {
35
+ const chartGroup = block.svg.getChartGroup(chart.index);
36
+ const areaPath = chartGroup.select(`.${Area.areaChartClass}${Helper.getCssClassesLine(chart.cssClasses)}.chart-element-${valueIndex}`);
37
+ this.setChartFillStyle(chart, areaPath, valueIndex);
38
+ if (chart.areaViewOptions.borderLine.on) {
39
+ const borderLinePath = chartGroup.select(`.${Area.areaBorderLineClass}${Helper.getCssClassesLine(chart.cssClasses)}.chart-element-${valueIndex}`);
40
+ DomHelper.setChartElementColor(borderLinePath, chart.style.elementColors, valueIndex, "stroke");
41
+ }
42
+ MarkDot.updateColors(block, chart, valueIndex);
43
+ });
44
+ }
45
+ renderGrouped(block, scales, data, keyField, margin, keyAxisOrient, chart) {
46
+ const areaGeneratorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
47
+ const lineGeneratorFactory = this.getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
48
+ chart.data.valueFields.forEach((field, valueIndex) => {
49
+ this.renderArea(areaGeneratorFactory, block, chart, data, field, valueIndex);
50
+ if (lineGeneratorFactory)
51
+ this.renderBorderLine(lineGeneratorFactory, block, chart, data, field, valueIndex);
52
+ MarkDot.render(block, data, keyAxisOrient, scales, margin, keyField.name, valueIndex, field.name, chart);
53
+ });
54
+ }
55
+ renderSegmented(block, scales, data, keyField, margin, keyAxisOrient, chart) {
56
+ const areaGeneratorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
57
+ const lineGeneratorFactory = this.getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
58
+ this.renderAreaSegmented(areaGeneratorFactory, block, scales, data, keyField, margin, keyAxisOrient, chart);
59
+ if (lineGeneratorFactory)
60
+ this.renderBorderLineSegmented(lineGeneratorFactory, block, data, chart);
61
+ }
62
+ updateGrouped(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
63
+ const promises = [];
64
+ const areaGeneratorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
65
+ const lineGeneratorFactory = this.getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
66
+ chart.data.valueFields.forEach((field, valueIndex) => {
67
+ const chartGroup = block.svg.getChartGroup(chart.index);
68
+ const areaProm = this.updateArea(areaGeneratorFactory, chartGroup, block, field, chart, newData, valueIndex);
69
+ promises.push(areaProm);
70
+ if (lineGeneratorFactory) {
71
+ const lineProm = this.updateBorderLine(lineGeneratorFactory, chartGroup, block, field, chart, newData, valueIndex);
72
+ promises.push(lineProm);
73
+ }
74
+ MarkDot.update(block, newData, keyAxisOrient, scales, margin, keyField.name, valueIndex, field.name, chart);
75
+ });
76
+ return promises;
77
+ }
78
+ updateSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
79
+ return [
80
+ this.updateAreaSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient),
81
+ this.updateBorderLineSegmented(block, scales, newData, keyField, margin, keyAxisOrient, chart)
82
+ ];
83
+ }
84
+ updateGroupedPath(block, areaObject, areaGenerator, newData) {
85
+ return new Promise((resolve) => {
86
+ if (areaObject.size() === 0) {
87
+ resolve("");
88
+ return;
89
+ }
90
+ let areaHandler = areaObject;
91
+ if (block.transitionManager.durations.chartUpdate > 0)
92
+ areaHandler = areaHandler
93
+ .interrupt()
94
+ .transition()
95
+ .duration(block.transitionManager.durations.chartUpdate)
96
+ .on("end", () => resolve(""));
97
+ areaHandler.attr("d", areaGenerator(newData));
98
+ if (block.transitionManager.durations.chartUpdate <= 0)
99
+ resolve("");
100
+ });
101
+ }
102
+ updateSegmentedPath(block, areasObjects, areaGenerator) {
103
+ return new Promise((resolve) => {
104
+ if (areasObjects.size() === 0) {
105
+ resolve("");
106
+ return;
107
+ }
108
+ let areaHandler = areasObjects;
109
+ if (block.transitionManager.durations.chartUpdate > 0)
110
+ areaHandler = areaHandler
111
+ .interrupt()
112
+ .transition()
113
+ .duration(block.transitionManager.durations.chartUpdate)
114
+ .on("end", () => resolve(""));
115
+ areaHandler.attr("d", (d) => areaGenerator(d));
116
+ if (block.transitionManager.durations.chartUpdate <= 0)
117
+ resolve("");
118
+ });
119
+ }
120
+ setChartFillStyle(chart, path, valueIndex) {
121
+ if (chart.areaViewOptions.fill.type === "gradient") {
122
+ path.style("fill", `url(#${chart.areaViewOptions.fill.ids[valueIndex]})`);
123
+ }
124
+ else
125
+ DomHelper.setChartStyle(path, chart.style, valueIndex, "fill");
126
+ }
127
+ createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField) {
128
+ return new AreaGeneratorFactory({
129
+ keyAxisOrient,
130
+ scales,
131
+ keyFieldName: keyField.name,
132
+ margin,
133
+ shouldRender: chart.lineLikeViewOptions.renderForKey,
134
+ curve: this.options.staticSettings.shape.curve.type
135
+ });
136
+ }
137
+ createLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField) {
138
+ return new LineGeneratorFactory({
139
+ keyAxisOrient,
140
+ scales,
141
+ keyFieldName: keyField.name,
142
+ margin,
143
+ shouldRender: chart.lineLikeViewOptions.renderForKey,
144
+ curve: this.options.staticSettings.shape.curve.type
145
+ });
146
+ }
147
+ renderArea(areaGeneratorFactory, block, chart, data, field, valueIndex) {
148
+ const area = areaGeneratorFactory.getAreaGenerator(field.name);
149
+ const path = block.svg
150
+ .getChartGroup(chart.index)
151
+ .append("path")
152
+ .attr("d", area(data))
153
+ .attr("class", Area.areaChartClass)
154
+ .style("clip-path", `url(#${block.svg.getClipPathId()})`)
155
+ .style("pointer-events", "none");
156
+ DomHelper.setCssClasses(path, Helper.getCssClassesWithElementIndex(chart.cssClasses, valueIndex));
157
+ this.setChartFillStyle(chart, path, valueIndex);
158
+ }
159
+ renderBorderLine(lineGeneratorFactory, block, chart, data, field, valueIndex) {
160
+ const lineGenerator = lineGeneratorFactory.getLineGenerator(field.name);
161
+ const linePath = block.svg
162
+ .getChartGroup(chart.index)
163
+ .append("path")
164
+ .attr("d", lineGenerator(data))
165
+ .attr("class", `${Area.areaBorderLineClass}`)
166
+ .style("fill", "none")
167
+ .style("clip-path", `url(#${block.svg.getClipPathId()})`)
168
+ .style("pointer-events", "none");
169
+ DomHelper.setCssClasses(linePath, Helper.getCssClassesWithElementIndex(chart.cssClasses, valueIndex));
170
+ DomHelper.setChartStyle(linePath, chart.areaViewOptions.borderLine.colorStyle, valueIndex, "stroke");
171
+ }
172
+ renderAreaSegmented(areaGeneratorFactory, block, scales, data, keyField, margin, keyAxisOrient, chart) {
173
+ const stackedData = getStackedDataWithOwn(data, chart.data.valueFields.map((field) => field.name));
174
+ const areaGenerator = areaGeneratorFactory.getSegmentedAreaGenerator();
175
+ const areas = block.svg
176
+ .getChartGroup(chart.index)
177
+ .selectAll(`.${Area.areaChartClass}${Helper.getCssClassesLine(chart.cssClasses)}`)
178
+ .data(stackedData)
179
+ .enter()
180
+ .append("path")
181
+ .attr("d", (d) => areaGenerator(d))
182
+ .attr("class", Area.areaChartClass)
183
+ .style("clip-path", `url(#${block.svg.getClipPathId()})`)
184
+ .style("pointer-events", "none");
185
+ const thisClass = this;
186
+ areas.each(function (_, i) {
187
+ thisClass.setChartFillStyle(chart, select(this), i);
188
+ DomHelper.setCssClasses(select(this), Helper.getCssClassesWithElementIndex(chart.cssClasses, i));
189
+ });
190
+ stackedData.forEach((dataset, index) => {
191
+ MarkDot.render(block, dataset, keyAxisOrient, scales, margin, keyField.name, index, "1", chart);
192
+ });
193
+ }
194
+ renderBorderLineSegmented(generatorFactory, block, data, chart) {
195
+ let stackedData = getStackedData(data, chart);
196
+ const lineGenerator = generatorFactory.getSegmentedLineGenerator();
197
+ const lineBuilder = new LineBuilder({
198
+ elementAccessors: { getBlock: () => block }
199
+ }, chart, lineGenerator);
200
+ let lines = lineBuilder.renderSegmented(stackedData, Area.areaBorderLineClass);
201
+ lineBuilder.setSegmentColor(lines, chart.style.elementColors);
202
+ lines.each(function (_, i) {
203
+ DomHelper.setCssClasses(select(this), Helper.getCssClassesWithElementIndex(chart.cssClasses, i));
204
+ });
205
+ }
206
+ updateAreaSegmented(block, scales, newData, keyField, margin, chart, keyAxisOrient) {
207
+ const stackedData = getStackedDataWithOwn(newData, chart.data.valueFields.map((field) => field.name));
208
+ const generatorFactory = this.createAreaGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
209
+ const areaGenerator = generatorFactory.getSegmentedAreaGenerator();
210
+ const areas = this.getAllAreasWithNewData(stackedData, block, chart, Area.areaChartClass);
211
+ const prom = this.updateSegmentedPath(block, areas, areaGenerator);
212
+ areas.each(function (dataset, index) {
213
+ // '1' - атрибут, показывающий координаты согласно полю значения
214
+ MarkDot.update(block, dataset, keyAxisOrient, scales, margin, keyField.name, index, "1", chart);
215
+ });
216
+ return prom;
217
+ }
218
+ updateBorderLineSegmented(block, scales, newData, keyField, margin, keyAxisOrient, chart) {
219
+ let stackedData = getStackedData(newData, chart);
220
+ const generatorFactory = this.createLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField);
221
+ const lineGenerator = generatorFactory.getSegmentedLineGenerator();
222
+ const lineBuilder = new LineBuilder({
223
+ elementAccessors: { getBlock: () => block }
224
+ }, chart, lineGenerator);
225
+ let lines = lineBuilder.getAllLinesWithNewData(stackedData, Area.areaBorderLineClass);
226
+ let prom = lineBuilder.updateSegmentedPath(lines);
227
+ return prom;
228
+ }
229
+ updateArea(areaGeneratorFactory, chartGroup, block, field, chart, newData, valueIndex) {
230
+ const areaGenerator = areaGeneratorFactory.getAreaGenerator(field.name);
231
+ const areaObject = chartGroup.select(`.${Area.areaChartClass}${Helper.getCssClassesLine(chart.cssClasses)}.chart-element-${valueIndex}`);
232
+ return this.updateGroupedPath(block, areaObject, areaGenerator, newData);
233
+ }
234
+ updateBorderLine(lineGeneratorFactory, chartGroup, block, field, chart, newData, valueIndex) {
235
+ const borderLineGenerator = lineGeneratorFactory.getLineGenerator(field.name);
236
+ const borderLineObject = chartGroup.select(`.${Area.areaBorderLineClass}${Helper.getCssClassesLine(chart.cssClasses)}.chart-element-${valueIndex}`);
237
+ return Line.updateGroupedPath(block, borderLineObject, borderLineGenerator, newData);
238
+ }
239
+ getAllAreasWithNewData(stackedData, block, chart, lineClass) {
240
+ return block.svg
241
+ .getChartGroup(chart.index)
242
+ .selectAll(`path.${lineClass}${Helper.getCssClassesLine(chart.cssClasses)}`)
243
+ .data(stackedData);
244
+ }
245
+ getLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField) {
246
+ return (chart.areaViewOptions.borderLine.on &&
247
+ this.createLineGeneratorFactory(chart, scales, margin, keyAxisOrient, keyField));
248
+ }
283
249
  }
284
250
  Area.areaChartClass = "area";
285
251
  Area.areaBorderLineClass = "area-border-line";
@@ -3,20 +3,12 @@ import { LineLikeGeneratorMiddleware } from "../lineLike/generatorMiddleware/lin
3
3
  import { MdtChartsDataRow } from "../../../config/config";
4
4
  import { CoordinateGetter } from "../lineLike/generatorFactory/lineLikeGeneratorFactory";
5
5
  interface AreaGeneratorOptions {
6
- middlewares: LineLikeGeneratorMiddleware[];
6
+ middlewares: LineLikeGeneratorMiddleware[];
7
7
  }
8
8
  export declare class AreaGenerator {
9
- private readonly options;
10
- constructor(options: AreaGeneratorOptions);
11
- getVertical(
12
- xValue: CoordinateGetter,
13
- y0Value: CoordinateGetter,
14
- y1Value: CoordinateGetter
15
- ): IArea<MdtChartsDataRow>;
16
- getHorizontal(
17
- x0Value: CoordinateGetter,
18
- x1Value: CoordinateGetter,
19
- yValue: CoordinateGetter
20
- ): IArea<MdtChartsDataRow>;
9
+ private readonly options;
10
+ constructor(options: AreaGeneratorOptions);
11
+ getVertical(xValue: CoordinateGetter, y0Value: CoordinateGetter, y1Value: CoordinateGetter): IArea<MdtChartsDataRow>;
12
+ getHorizontal(x0Value: CoordinateGetter, x1Value: CoordinateGetter, yValue: CoordinateGetter): IArea<MdtChartsDataRow>;
21
13
  }
22
14
  export {};
@@ -1,16 +1,16 @@
1
1
  import { area } from "d3-shape";
2
2
  export class AreaGenerator {
3
- constructor(options) {
4
- this.options = options;
5
- }
6
- getVertical(xValue, y0Value, y1Value) {
7
- const generator = area().x(xValue).y0(y0Value).y1(y1Value);
8
- this.options.middlewares.forEach((middleware) => middleware.handle(generator));
9
- return generator;
10
- }
11
- getHorizontal(x0Value, x1Value, yValue) {
12
- const generator = area().x0(x0Value).x1(x1Value).y(yValue);
13
- this.options.middlewares.forEach((middleware) => middleware.handle(generator));
14
- return generator;
15
- }
3
+ constructor(options) {
4
+ this.options = options;
5
+ }
6
+ getVertical(xValue, y0Value, y1Value) {
7
+ const generator = area().x(xValue).y0(y0Value).y1(y1Value);
8
+ this.options.middlewares.forEach((middleware) => middleware.handle(generator));
9
+ return generator;
10
+ }
11
+ getHorizontal(x0Value, x1Value, yValue) {
12
+ const generator = area().x0(x0Value).x1(x1Value).y(yValue);
13
+ this.options.middlewares.forEach((middleware) => middleware.handle(generator));
14
+ return generator;
15
+ }
16
16
  }
@@ -2,8 +2,8 @@ import { Area as IArea } from "d3-shape";
2
2
  import { MdtChartsDataRow } from "../../../config/config";
3
3
  import { LineLikeGeneratorFactoryOptions } from "../lineLike/generatorFactory/lineLikeGeneratorFactory";
4
4
  export declare class AreaGeneratorFactory {
5
- private readonly options;
6
- constructor(options: LineLikeGeneratorFactoryOptions);
7
- getAreaGenerator(valueFieldName: string): IArea<MdtChartsDataRow>;
8
- getSegmentedAreaGenerator(): IArea<MdtChartsDataRow>;
5
+ private readonly options;
6
+ constructor(options: LineLikeGeneratorFactoryOptions);
7
+ getAreaGenerator(valueFieldName: string): IArea<MdtChartsDataRow>;
8
+ getSegmentedAreaGenerator(): IArea<MdtChartsDataRow>;
9
9
  }