mdt-charts 1.28.2 → 1.29.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 (255) hide show
  1. package/lib/config/config.d.ts +164 -165
  2. package/lib/designer/designerConfig.d.ts +62 -59
  3. package/lib/engine/block/block.d.ts +22 -16
  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 +65 -66
  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 +6 -6
  18. package/lib/engine/contentManager/contentManager.js +15 -15
  19. package/lib/engine/contentManager/contentManagerFactory.d.ts +6 -6
  20. package/lib/engine/contentManager/contentManagerFactory.js +12 -12
  21. package/lib/engine/elementHighlighter/elementHighlighter.d.ts +70 -22
  22. package/lib/engine/elementHighlighter/elementHighlighter.js +230 -181
  23. package/lib/engine/elementHighlighter/selectHighlighter.d.ts +29 -4
  24. package/lib/engine/elementHighlighter/selectHighlighter.js +189 -87
  25. package/lib/engine/engine.d.ts +16 -16
  26. package/lib/engine/engine.js +87 -62
  27. package/lib/engine/features/aggregator/aggregator.d.ts +24 -17
  28. package/lib/engine/features/aggregator/aggregator.js +113 -102
  29. package/lib/engine/features/axis/axis.d.ts +22 -9
  30. package/lib/engine/features/axis/axis.js +159 -150
  31. package/lib/engine/features/axis/axisDomHelper.d.ts +7 -2
  32. package/lib/engine/features/axis/axisDomHelper.js +19 -20
  33. package/lib/engine/features/axis/axisHelper.d.ts +9 -5
  34. package/lib/engine/features/axis/axisHelper.js +28 -33
  35. package/lib/engine/features/axis/axisLabelDomHelper.d.ts +26 -11
  36. package/lib/engine/features/axis/axisLabelDomHelper.js +156 -152
  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 +51 -16
  40. package/lib/engine/features/embeddedLabels/embeddedLabels.js +234 -134
  41. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.d.ts +13 -2
  42. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.js +20 -23
  43. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.d.ts +32 -15
  44. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.js +56 -63
  45. package/lib/engine/features/gridLine/gidLineHelper.d.ts +13 -7
  46. package/lib/engine/features/gridLine/gidLineHelper.js +42 -49
  47. package/lib/engine/features/gridLine/gridLine.d.ts +19 -5
  48. package/lib/engine/features/gridLine/gridLine.js +35 -36
  49. package/lib/engine/features/legend/legend.d.ts +38 -29
  50. package/lib/engine/features/legend/legend.js +117 -92
  51. package/lib/engine/features/legend/legendDomHelper.d.ts +13 -6
  52. package/lib/engine/features/legend/legendDomHelper.js +63 -62
  53. package/lib/engine/features/legend/legendEventsManager.d.ts +13 -8
  54. package/lib/engine/features/legend/legendEventsManager.js +48 -47
  55. package/lib/engine/features/legend/legendHelper.d.ts +39 -14
  56. package/lib/engine/features/legend/legendHelper.js +98 -93
  57. package/lib/engine/features/legend/legendHelperService.d.ts +13 -6
  58. package/lib/engine/features/legend/legendHelperService.js +24 -25
  59. package/lib/engine/features/legend/legendMarkerCreator.d.ts +18 -9
  60. package/lib/engine/features/legend/legendMarkerCreator.js +79 -76
  61. package/lib/engine/features/legend/legendWidthCalculator.d.ts +7 -7
  62. package/lib/engine/features/legend/legendWidthCalculator.js +126 -122
  63. package/lib/engine/features/markDots/markDot.d.ts +42 -15
  64. package/lib/engine/features/markDots/markDot.js +101 -70
  65. package/lib/engine/features/markDots/markDotsHelper.d.ts +8 -1
  66. package/lib/engine/features/markDots/markDotsHelper.js +13 -12
  67. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.d.ts +17 -17
  68. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.js +42 -47
  69. package/lib/engine/features/scale/scale.d.ts +17 -12
  70. package/lib/engine/features/scale/scale.js +76 -69
  71. package/lib/engine/features/tipBox/tipBox.d.ts +9 -5
  72. package/lib/engine/features/tipBox/tipBox.js +24 -24
  73. package/lib/engine/features/tipBox/tipBoxHelper.d.ts +16 -9
  74. package/lib/engine/features/tipBox/tipBoxHelper.js +60 -45
  75. package/lib/engine/features/title/title.d.ts +6 -6
  76. package/lib/engine/features/title/title.js +34 -35
  77. package/lib/engine/features/tolltip/newTooltip/newTooltip.d.ts +15 -11
  78. package/lib/engine/features/tolltip/newTooltip/newTooltip.js +21 -21
  79. package/lib/engine/features/tolltip/newTooltip/newTooltipService.d.ts +13 -8
  80. package/lib/engine/features/tolltip/newTooltip/newTooltipService.js +26 -23
  81. package/lib/engine/features/tolltip/tooltip.d.ts +17 -11
  82. package/lib/engine/features/tolltip/tooltip.js +296 -142
  83. package/lib/engine/features/tolltip/tooltipComponentsManager.d.ts +21 -10
  84. package/lib/engine/features/tolltip/tooltipComponentsManager.js +113 -114
  85. package/lib/engine/features/tolltip/tooltipDomHelper.d.ts +43 -21
  86. package/lib/engine/features/tolltip/tooltipDomHelper.js +144 -120
  87. package/lib/engine/features/tolltip/tooltipHelper.d.ts +39 -9
  88. package/lib/engine/features/tolltip/tooltipHelper.js +114 -91
  89. package/lib/engine/features/valueLabels/valueLabels.d.ts +58 -38
  90. package/lib/engine/features/valueLabels/valueLabels.js +205 -169
  91. package/lib/engine/features/valueLabels/valueLabelsHelper.d.ts +7 -1
  92. package/lib/engine/features/valueLabels/valueLabelsHelper.js +23 -18
  93. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.d.ts +18 -15
  94. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.js +46 -47
  95. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.d.ts +6 -3
  96. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.js +49 -45
  97. package/lib/engine/filterManager/filterEventManager.d.ts +37 -26
  98. package/lib/engine/filterManager/filterEventManager.js +174 -129
  99. package/lib/engine/helpers/domHelper.d.ts +45 -20
  100. package/lib/engine/helpers/domHelper.js +62 -61
  101. package/lib/engine/helpers/fontResizer/fontResizer.d.ts +10 -10
  102. package/lib/engine/helpers/fontResizer/fontResizer.js +21 -16
  103. package/lib/engine/helpers/fontResizer/fontResizerService.d.ts +1 -1
  104. package/lib/engine/helpers/fontResizer/fontResizerService.js +9 -10
  105. package/lib/engine/helpers/helper.d.ts +27 -27
  106. package/lib/engine/helpers/helper.js +91 -92
  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 +25 -11
  112. package/lib/engine/polarNotation/donut/DonutHelper.js +71 -70
  113. package/lib/engine/polarNotation/donut/donut.d.ts +38 -23
  114. package/lib/engine/polarNotation/donut/donut.js +109 -99
  115. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.d.ts +7 -7
  116. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.js +36 -36
  117. package/lib/engine/polarNotation/polarManager.d.ts +5 -5
  118. package/lib/engine/polarNotation/polarManager.js +66 -52
  119. package/lib/engine/transitionManager.d.ts +13 -14
  120. package/lib/engine/transitionManager.js +48 -49
  121. package/lib/engine/twoDimensionalNotation/area/area.d.ts +44 -28
  122. package/lib/engine/twoDimensionalNotation/area/area.js +272 -238
  123. package/lib/engine/twoDimensionalNotation/area/areaGenerator.d.ts +13 -5
  124. package/lib/engine/twoDimensionalNotation/area/areaGenerator.js +13 -13
  125. package/lib/engine/twoDimensionalNotation/area/areaHelper.d.ts +4 -4
  126. package/lib/engine/twoDimensionalNotation/area/areaHelper.js +57 -41
  127. package/lib/engine/twoDimensionalNotation/bar/bar.d.ts +54 -29
  128. package/lib/engine/twoDimensionalNotation/bar/bar.js +362 -224
  129. package/lib/engine/twoDimensionalNotation/bar/barHelper.d.ts +71 -32
  130. package/lib/engine/twoDimensionalNotation/bar/barHelper.js +162 -126
  131. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.d.ts +6 -6
  132. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.js +24 -24
  133. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.d.ts +2 -2
  134. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.js +16 -17
  135. package/lib/engine/twoDimensionalNotation/dot/dotChart.d.ts +23 -23
  136. package/lib/engine/twoDimensionalNotation/dot/dotChart.js +135 -114
  137. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.d.ts +7 -7
  138. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.js +28 -28
  139. package/lib/engine/twoDimensionalNotation/line/line.d.ts +37 -16
  140. package/lib/engine/twoDimensionalNotation/line/line.js +162 -132
  141. package/lib/engine/twoDimensionalNotation/line/lineBuilder.d.ts +14 -11
  142. package/lib/engine/twoDimensionalNotation/line/lineBuilder.js +47 -48
  143. package/lib/engine/twoDimensionalNotation/line/lineGenerator.d.ts +4 -4
  144. package/lib/engine/twoDimensionalNotation/line/lineGenerator.js +8 -8
  145. package/lib/engine/twoDimensionalNotation/line/lineHelper.d.ts +12 -6
  146. package/lib/engine/twoDimensionalNotation/line/lineHelper.js +76 -60
  147. package/lib/engine/twoDimensionalNotation/lineLike/generatorFactory/lineLikeGeneratorFactory.d.ts +6 -6
  148. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.d.ts +5 -5
  149. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.js +16 -17
  150. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.d.ts +11 -10
  151. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.js +9 -7
  152. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorMiddleware.d.ts +3 -1
  153. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.d.ts +9 -9
  154. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.js +252 -143
  155. package/lib/engine/valueFormatter.d.ts +3 -3
  156. package/lib/engine/valueFormatter.js +6 -6
  157. package/lib/main.d.ts +82 -75
  158. package/lib/main.js +79 -84
  159. package/lib/model/EventEmitter.d.ts +8 -8
  160. package/lib/model/EventEmitter.js +24 -24
  161. package/lib/model/chartStyleModel/chartStyleModel.d.ts +5 -5
  162. package/lib/model/chartStyleModel/chartStyleModel.js +27 -25
  163. package/lib/model/chartStyleModel/colorRange.d.ts +3 -3
  164. package/lib/model/chartStyleModel/colorRange.js +19 -24
  165. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.d.ts +22 -12
  166. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.js +69 -60
  167. package/lib/model/configsValidator/configValidator.d.ts +1 -1
  168. package/lib/model/configsValidator/configValidator.js +4 -4
  169. package/lib/model/dataManagerModel/dataManagerModel.d.ts +36 -26
  170. package/lib/model/dataManagerModel/dataManagerModel.js +179 -128
  171. package/lib/model/dataManagerModel/dataManagerModelService.d.ts +2 -2
  172. package/lib/model/dataManagerModel/dataManagerModelService.js +25 -26
  173. package/lib/model/featuresModel/axisModel.d.ts +69 -18
  174. package/lib/model/featuresModel/axisModel.js +224 -169
  175. package/lib/model/featuresModel/axisModelService.d.ts +10 -6
  176. package/lib/model/featuresModel/axisModelService.js +27 -27
  177. package/lib/model/featuresModel/legendModel/legendCanvasModel.d.ts +16 -11
  178. package/lib/model/featuresModel/legendModel/legendCanvasModel.js +55 -59
  179. package/lib/model/featuresModel/legendModel/legendModel.d.ts +7 -3
  180. package/lib/model/featuresModel/legendModel/legendModel.js +59 -41
  181. package/lib/model/featuresModel/legendModel/polarMarginCalculator.d.ts +8 -3
  182. package/lib/model/featuresModel/legendModel/polarMarginCalculator.js +18 -20
  183. package/lib/model/featuresModel/legendModel/twoDimLegendModel.d.ts +8 -4
  184. package/lib/model/featuresModel/legendModel/twoDimLegendModel.js +40 -27
  185. package/lib/model/featuresModel/otherComponents.d.ts +7 -4
  186. package/lib/model/featuresModel/otherComponents.js +9 -9
  187. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.d.ts +6 -6
  188. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.js +27 -23
  189. package/lib/model/featuresModel/scaleModel/scaleDomainService.d.ts +19 -5
  190. package/lib/model/featuresModel/scaleModel/scaleDomainService.js +44 -55
  191. package/lib/model/featuresModel/scaleModel/scaleModel.d.ts +10 -10
  192. package/lib/model/featuresModel/scaleModel/scaleModel.js +61 -50
  193. package/lib/model/featuresModel/scaleModel/scaleModelServices.js +15 -22
  194. package/lib/model/featuresModel/titleModel.d.ts +1 -1
  195. package/lib/model/featuresModel/titleModel.js +14 -14
  196. package/lib/model/featuresModel/tooltipModel.d.ts +1 -1
  197. package/lib/model/featuresModel/tooltipModel.js +5 -5
  198. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.d.ts +23 -11
  199. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.js +53 -51
  200. package/lib/model/helpers/modelHelper.d.ts +7 -7
  201. package/lib/model/helpers/modelHelper.js +38 -42
  202. package/lib/model/helpers/twoDimensionalModelHelper.d.ts +37 -9
  203. package/lib/model/helpers/twoDimensionalModelHelper.js +147 -125
  204. package/lib/model/helpers/unitsFromConfigReader.js +4 -4
  205. package/lib/model/helpers/unitsReader.d.ts +2 -2
  206. package/lib/model/helpers/unitsReader.js +11 -13
  207. package/lib/model/margin/marginModel.d.ts +7 -7
  208. package/lib/model/margin/marginModel.js +23 -20
  209. package/lib/model/margin/twoDim/twoDimMarginModel.d.ts +13 -13
  210. package/lib/model/margin/twoDim/twoDimMarginModel.js +184 -113
  211. package/lib/model/model.d.ts +308 -280
  212. package/lib/model/model.js +4 -4
  213. package/lib/model/modelBuilder.d.ts +27 -18
  214. package/lib/model/modelBuilder.js +85 -79
  215. package/lib/model/modelInstance/canvasModel/canvasModel.d.ts +17 -17
  216. package/lib/model/modelInstance/canvasModel/canvasModel.js +42 -43
  217. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasMarginModel.d.ts +7 -7
  218. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasSizeModel.d.ts +2 -2
  219. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.d.ts +6 -6
  220. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.js +24 -24
  221. package/lib/model/modelInstance/canvasModel/legendCanvasModel.d.ts +4 -4
  222. package/lib/model/modelInstance/canvasModel/legendCanvasModel.js +11 -11
  223. package/lib/model/modelInstance/canvasModel/titleCanvas.d.ts +4 -4
  224. package/lib/model/modelInstance/canvasModel/titleCanvas.js +9 -9
  225. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.d.ts +3 -3
  226. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.js +6 -6
  227. package/lib/model/modelInstance/configReader.d.ts +32 -23
  228. package/lib/model/modelInstance/configReader.js +125 -94
  229. package/lib/model/modelInstance/dataModel/dataModel.d.ts +9 -9
  230. package/lib/model/modelInstance/dataModel/dataModel.js +24 -24
  231. package/lib/model/modelInstance/dataModel/dataRepository.d.ts +14 -14
  232. package/lib/model/modelInstance/dataModel/dataRepository.js +42 -42
  233. package/lib/model/modelInstance/modelInstance.d.ts +11 -6
  234. package/lib/model/modelInstance/modelInstance.js +16 -16
  235. package/lib/model/modelInstance/titleConfigReader.d.ts +8 -8
  236. package/lib/model/modelInstance/titleConfigReader.js +37 -30
  237. package/lib/model/notations/polar/donut/donutAggregatorService.d.ts +9 -6
  238. package/lib/model/notations/polar/donut/donutAggregatorService.js +40 -37
  239. package/lib/model/notations/polar/donut/donutModel.d.ts +9 -5
  240. package/lib/model/notations/polar/donut/donutModel.js +28 -28
  241. package/lib/model/notations/polar/donut/donutThicknessService.d.ts +3 -3
  242. package/lib/model/notations/polar/donut/donutThicknessService.js +13 -15
  243. package/lib/model/notations/polar/polarModel.d.ts +18 -7
  244. package/lib/model/notations/polar/polarModel.js +79 -65
  245. package/lib/model/notations/twoDimensional/styles.d.ts +44 -7
  246. package/lib/model/notations/twoDimensional/styles.js +234 -125
  247. package/lib/model/notations/twoDimensionalModel.d.ts +23 -13
  248. package/lib/model/notations/twoDimensionalModel.js +330 -162
  249. package/lib/optionsServices/publicOptionsService.d.ts +1 -1
  250. package/lib/optionsServices/publicOptionsService.js +4 -4
  251. package/lib/optionsServices/validators/sizeValidator.d.ts +2 -2
  252. package/lib/optionsServices/validators/sizeValidator.js +10 -11
  253. package/lib/style/charts-main.css +150 -151
  254. package/lib/style/charts-main.less +150 -151
  255. package/package.json +1 -1
@@ -6,56 +6,70 @@ import { Aggregator } from "../features/aggregator/aggregator";
6
6
  import { Donut } from "./donut/donut";
7
7
  import { PolarRecordOverflowAlert } from "./extenders/polarRecordOverflowAlert";
8
8
  export class PolarManager {
9
- render(engine, model) {
10
- const options = model.options;
11
- engine.block.svg.render(model.blockCanvas.size);
12
- this.renderCharts(engine.block, options.charts, engine.data, options.data.dataSource, model.chartBlock.margin, model.blockCanvas.size, options.chartCanvas);
13
- Title.render(engine.block, options.title, model.otherComponents.titleBlock, model.blockCanvas.size);
14
- Legend.get().render(engine.block, engine.data, options, model);
15
- Tooltip.render(engine.block, model, engine.data, model.otherComponents.tooltipBlock);
16
- engine.block.filterEventManager.setListenerPolar(model.chartBlock.margin, model.blockCanvas.size, options);
17
- if (model.dataSettings.scope.hidedRecordsAmount !== 0)
18
- PolarRecordOverflowAlert.render(engine.block, {
19
- hidedRecordsAmount: model.dataSettings.scope.hidedRecordsAmount,
20
- legendPosition: model.options.legend.position
21
- });
22
- engine.block.getSvg().on("click", (e) => {
23
- if (e.target === engine.block.getSvg().node())
24
- this.clearSelection(engine.block.filterEventManager, model);
25
- });
26
- }
27
- updateData(block, model, data) {
28
- block.transitionManager.interruptTransitions();
29
- block.removeMouseEvents();
30
- block.filterEventManager.updateData(data[model.options.data.dataSource]);
31
- Title.updateData(block, model.options.title);
32
- ElementHighlighter.removeDonutArcClones(block);
33
- ElementHighlighter.removeFilter(Donut.getAllArcGroups(block));
34
- ElementHighlighter.toggleActivityStyle(Donut.getAllArcGroups(block), true);
35
- Tooltip.hide(block);
36
- const options = model.options;
37
- Donut.update(block, data[options.data.dataSource], model.chartBlock.margin, options.charts[0], model.blockCanvas.size, options.chartCanvas, options.data.keyField.name).then(() => {
38
- Tooltip.render(block, model, data, model.otherComponents.tooltipBlock);
39
- block.filterEventManager.setListenerPolar(model.chartBlock.margin, model.blockCanvas.size, options);
40
- });
41
- Aggregator.update(block, options.charts[0].data.valueField, options.chartCanvas.aggregator);
42
- Legend.get().update(block, data, model);
43
- PolarRecordOverflowAlert.update(block, {
44
- hidedRecordsAmount: model.dataSettings.scope.hidedRecordsAmount,
45
- legendPosition: model.options.legend.position
46
- });
47
- }
48
- updateColors(block, model) {
49
- Legend.get().updateColors(block, model.options);
50
- Donut.updateColors(block, model.options.charts[0]);
51
- }
52
- clearSelection(filterEventManager, model) {
53
- filterEventManager.clearKeysForPolar(model.chartBlock.margin, model.blockCanvas.size, model.options);
54
- }
55
- renderCharts(block, charts, data, dataSource, margin, blockSize, donutSettings) {
56
- charts.forEach((chart) => {
57
- if (chart.type === "donut")
58
- Donut.render(block, data[dataSource], margin, chart, blockSize, donutSettings);
59
- });
60
- }
9
+ render(engine, model) {
10
+ const options = model.options;
11
+ engine.block.svg.render(model.blockCanvas.size);
12
+ this.renderCharts(
13
+ engine.block,
14
+ options.charts,
15
+ engine.data,
16
+ options.data.dataSource,
17
+ model.chartBlock.margin,
18
+ model.blockCanvas.size,
19
+ options.chartCanvas
20
+ );
21
+ Title.render(engine.block, options.title, model.otherComponents.titleBlock, model.blockCanvas.size);
22
+ Legend.get().render(engine.block, engine.data, options, model);
23
+ Tooltip.render(engine.block, model, engine.data, model.otherComponents.tooltipBlock);
24
+ engine.block.filterEventManager.setListenerPolar(model.chartBlock.margin, model.blockCanvas.size, options);
25
+ if (model.dataSettings.scope.hidedRecordsAmount !== 0)
26
+ PolarRecordOverflowAlert.render(engine.block, {
27
+ hidedRecordsAmount: model.dataSettings.scope.hidedRecordsAmount,
28
+ legendPosition: model.options.legend.position
29
+ });
30
+ engine.block.getSvg().on("click", (e) => {
31
+ if (e.target === engine.block.getSvg().node()) this.clearSelection(engine.block.filterEventManager, model);
32
+ });
33
+ }
34
+ updateData(block, model, data) {
35
+ block.transitionManager.interruptTransitions();
36
+ block.removeMouseEvents();
37
+ block.filterEventManager.updateData(data[model.options.data.dataSource]);
38
+ Title.updateData(block, model.options.title);
39
+ ElementHighlighter.removeDonutArcClones(block);
40
+ ElementHighlighter.removeFilter(Donut.getAllArcGroups(block));
41
+ ElementHighlighter.toggleActivityStyle(Donut.getAllArcGroups(block), true);
42
+ Tooltip.hide(block);
43
+ const options = model.options;
44
+ Donut.update(
45
+ block,
46
+ data[options.data.dataSource],
47
+ model.chartBlock.margin,
48
+ options.charts[0],
49
+ model.blockCanvas.size,
50
+ options.chartCanvas,
51
+ options.data.keyField.name
52
+ ).then(() => {
53
+ Tooltip.render(block, model, data, model.otherComponents.tooltipBlock);
54
+ block.filterEventManager.setListenerPolar(model.chartBlock.margin, model.blockCanvas.size, options);
55
+ });
56
+ Aggregator.update(block, options.charts[0].data.valueField, options.chartCanvas.aggregator);
57
+ Legend.get().update(block, data, model);
58
+ PolarRecordOverflowAlert.update(block, {
59
+ hidedRecordsAmount: model.dataSettings.scope.hidedRecordsAmount,
60
+ legendPosition: model.options.legend.position
61
+ });
62
+ }
63
+ updateColors(block, model) {
64
+ Legend.get().updateColors(block, model.options);
65
+ Donut.updateColors(block, model.options.charts[0]);
66
+ }
67
+ clearSelection(filterEventManager, model) {
68
+ filterEventManager.clearKeysForPolar(model.chartBlock.margin, model.blockCanvas.size, model.options);
69
+ }
70
+ renderCharts(block, charts, data, dataSource, margin, blockSize, donutSettings) {
71
+ charts.forEach((chart) => {
72
+ if (chart.type === "donut") Donut.render(block, data[dataSource], margin, chart, blockSize, donutSettings);
73
+ });
74
+ }
61
75
  }
@@ -1,19 +1,18 @@
1
1
  import { Transitions } from "../designer/designerConfig";
2
2
  import { Block } from "./block/block";
3
- interface Durations extends Transitions {
4
- }
3
+ interface Durations extends Transitions {}
5
4
  export declare class TransitionManager {
6
- /**
7
- * Анимации обновления в ms.
8
- */
9
- durations: Durations;
10
- private block;
11
- /**
12
- * Классы "подвижных" элементов
13
- */
14
- private transitionableElemClasses;
15
- constructor(block: Block, transitionsDurations?: Transitions);
16
- interruptTransitions(): void;
17
- private setDurations;
5
+ /**
6
+ * Анимации обновления в ms.
7
+ */
8
+ durations: Durations;
9
+ private block;
10
+ /**
11
+ * Классы "подвижных" элементов
12
+ */
13
+ private transitionableElemClasses;
14
+ constructor(block: Block, transitionsDurations?: Transitions);
15
+ interruptTransitions(): void;
16
+ private setDurations;
18
17
  }
19
18
  export {};
@@ -9,53 +9,52 @@ import { Area } from "./twoDimensionalNotation/area/area";
9
9
  import { Bar } from "./twoDimensionalNotation/bar/bar";
10
10
  import { Line } from "./twoDimensionalNotation/line/line";
11
11
  export class TransitionManager {
12
- constructor(block, transitionsDurations = null) {
13
- /**
14
- * Анимации обновления в ms.
15
- */
16
- this.durations = {
17
- chartUpdate: 1000,
18
- tooltipSlide: 75,
19
- higlightedScale: 200,
20
- markerHover: 50,
21
- elementFadeOut: 400
22
- };
23
- /**
24
- * Классы "подвижных" элементов
25
- */
26
- this.transitionableElemClasses = [
27
- Tooltip.tooltipBlockClass,
28
- Tooltip.tooltipLineClass,
29
- Axis.axesClass,
30
- Area.areaChartClass,
31
- Bar.barItemClass,
32
- Line.lineChartClass,
33
- MarkDot.markerDotClass,
34
- EmbeddedLabels.embeddedLabelClass,
35
- Donut.arcPathClass,
36
- Aggregator.aggregatorValueClass
37
- ];
38
- this.block = block;
39
- if (transitionsDurations)
40
- this.setDurations(transitionsDurations);
41
- }
42
- interruptTransitions() {
43
- this.transitionableElemClasses.forEach((elemClass) => {
44
- const elementsSelection = this.block.getSvg().selectAll(`.${elemClass}`).interrupt();
45
- elementsSelection.nodes().forEach((node) => interrupt(node));
46
- });
47
- this.block.getSvg().selectAll(`.${Axis.axesClass}`).selectAll("*").interrupt();
48
- }
49
- setDurations(durations) {
50
- if (durations.chartUpdate !== undefined && durations.chartUpdate >= 0)
51
- this.durations.chartUpdate = durations.chartUpdate;
52
- if (durations.higlightedScale !== undefined && durations.higlightedScale >= 0)
53
- this.durations.higlightedScale = durations.higlightedScale;
54
- if (durations.elementFadeOut !== undefined && durations.elementFadeOut >= 0)
55
- this.durations.elementFadeOut = durations.elementFadeOut;
56
- if (durations.markerHover !== undefined && durations.markerHover >= 0)
57
- this.durations.markerHover = durations.markerHover;
58
- if (durations.tooltipSlide !== undefined && durations.tooltipSlide >= 0)
59
- this.durations.tooltipSlide = durations.tooltipSlide;
60
- }
12
+ constructor(block, transitionsDurations = null) {
13
+ /**
14
+ * Анимации обновления в ms.
15
+ */
16
+ this.durations = {
17
+ chartUpdate: 1000,
18
+ tooltipSlide: 75,
19
+ higlightedScale: 200,
20
+ markerHover: 50,
21
+ elementFadeOut: 400
22
+ };
23
+ /**
24
+ * Классы "подвижных" элементов
25
+ */
26
+ this.transitionableElemClasses = [
27
+ Tooltip.tooltipBlockClass,
28
+ Tooltip.tooltipLineClass,
29
+ Axis.axesClass,
30
+ Area.areaChartClass,
31
+ Bar.barItemClass,
32
+ Line.lineChartClass,
33
+ MarkDot.markerDotClass,
34
+ EmbeddedLabels.embeddedLabelClass,
35
+ Donut.arcPathClass,
36
+ Aggregator.aggregatorValueClass
37
+ ];
38
+ this.block = block;
39
+ if (transitionsDurations) this.setDurations(transitionsDurations);
40
+ }
41
+ interruptTransitions() {
42
+ this.transitionableElemClasses.forEach((elemClass) => {
43
+ const elementsSelection = this.block.getSvg().selectAll(`.${elemClass}`).interrupt();
44
+ elementsSelection.nodes().forEach((node) => interrupt(node));
45
+ });
46
+ this.block.getSvg().selectAll(`.${Axis.axesClass}`).selectAll("*").interrupt();
47
+ }
48
+ setDurations(durations) {
49
+ if (durations.chartUpdate !== undefined && durations.chartUpdate >= 0)
50
+ this.durations.chartUpdate = durations.chartUpdate;
51
+ if (durations.higlightedScale !== undefined && durations.higlightedScale >= 0)
52
+ this.durations.higlightedScale = durations.higlightedScale;
53
+ if (durations.elementFadeOut !== undefined && durations.elementFadeOut >= 0)
54
+ this.durations.elementFadeOut = durations.elementFadeOut;
55
+ if (durations.markerHover !== undefined && durations.markerHover >= 0)
56
+ this.durations.markerHover = durations.markerHover;
57
+ if (durations.tooltipSlide !== undefined && durations.tooltipSlide >= 0)
58
+ this.durations.tooltipSlide = durations.tooltipSlide;
59
+ }
61
60
  }
@@ -3,35 +3,51 @@ import { Scales } from "../../features/scale/scale";
3
3
  import { Block } from "../../block/block";
4
4
  import { MdtChartsDataRow } from "../../../config/config";
5
5
  interface AreaOptions {
6
- staticSettings: LineLikeChartSettings;
6
+ staticSettings: LineLikeChartSettings;
7
7
  }
8
8
  export declare class Area {
9
- private readonly options;
10
- static readonly areaChartClass = "area";
11
- static readonly areaBorderLineClass = "area-border-line";
12
- static get(options: AreaOptions): Area;
13
- constructor(options: AreaOptions);
14
- render(block: Block, scales: Scales, data: MdtChartsDataRow[], keyField: Field, margin: BlockMargin, keyAxisOrient: Orient, chart: TwoDimensionalChartModel): void;
15
- update(block: Block, scales: Scales, newData: MdtChartsDataRow[], keyField: Field, margin: BlockMargin, chart: TwoDimensionalChartModel, keyAxisOrient: Orient): Promise<any>[];
16
- updateColors(block: Block, chart: TwoDimensionalChartModel): void;
17
- private renderGrouped;
18
- private renderSegmented;
19
- private updateGrouped;
20
- private updateSegmented;
21
- private updateGroupedPath;
22
- private updateSegmentedPath;
23
- private setChartFillStyle;
24
- private createAreaGeneratorFactory;
25
- private createLineGeneratorFactory;
26
- private renderArea;
27
- private renderBorderLine;
28
- private renderAreaSegmented;
29
- private renderBorderLineSegmented;
30
- private updateAreaSegmented;
31
- private updateBorderLineSegmented;
32
- private updateArea;
33
- private updateBorderLine;
34
- private getAllAreasWithNewData;
35
- private getLineGeneratorFactory;
9
+ private readonly options;
10
+ static readonly areaChartClass = "area";
11
+ static readonly areaBorderLineClass = "area-border-line";
12
+ static get(options: AreaOptions): Area;
13
+ constructor(options: AreaOptions);
14
+ render(
15
+ block: Block,
16
+ scales: Scales,
17
+ data: MdtChartsDataRow[],
18
+ keyField: Field,
19
+ margin: BlockMargin,
20
+ keyAxisOrient: Orient,
21
+ chart: TwoDimensionalChartModel
22
+ ): void;
23
+ update(
24
+ block: Block,
25
+ scales: Scales,
26
+ newData: MdtChartsDataRow[],
27
+ keyField: Field,
28
+ margin: BlockMargin,
29
+ chart: TwoDimensionalChartModel,
30
+ keyAxisOrient: Orient
31
+ ): Promise<any>[];
32
+ updateColors(block: Block, chart: TwoDimensionalChartModel): void;
33
+ private renderGrouped;
34
+ private renderSegmented;
35
+ private updateGrouped;
36
+ private updateSegmented;
37
+ private updateGroupedPath;
38
+ private updateSegmentedPath;
39
+ private setChartFillStyle;
40
+ private createAreaGeneratorFactory;
41
+ private createLineGeneratorFactory;
42
+ private renderArea;
43
+ private renderBorderLine;
44
+ private renderAreaSegmented;
45
+ private renderBorderLineSegmented;
46
+ private updateAreaSegmented;
47
+ private updateBorderLineSegmented;
48
+ private updateArea;
49
+ private updateBorderLine;
50
+ private getAllAreasWithNewData;
51
+ private getLineGeneratorFactory;
36
52
  }
37
53
  export {};