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
@@ -7,118 +7,139 @@ import { BarHelper, DotChartSettingsStore } from "../bar/barHelper";
7
7
  * @alpha experimental feature. Need to refactor.
8
8
  */
9
9
  export class CanvasDotChart {
10
- constructor(options) {
11
- this.options = options;
12
- this.dotChartItemClass = NamesHelper.getClassName("dot-chart-item");
13
- this.renderedChart = undefined;
14
- }
15
- render(scales, chart, records, margin) {
16
- if (this.renderedChart)
17
- return;
18
- const valueFieldIndex = 0;
19
- const elements = this.options.elementAccessors
20
- .getBlock()
21
- .svg.getChartGroup(chart.index)
22
- .selectAll(`.${this.dotChartItemClass}${Helper.getCssClassesLine(chart.cssClasses)}${Helper.getCssClassesLine(Helper.getCssClassesWithElementIndex(chart.cssClasses, valueFieldIndex))}`)
23
- .data(records)
24
- .enter()
25
- .append("line")
26
- .style("stroke-width", chart.dotViewOptions.shape.width)
27
- .attr("class", this.dotChartItemClass);
28
- const attrs = this.getAttrs(scales, chart, chart.data.valueFields[0], margin);
29
- elements
30
- .attr("x1", (d) => attrs.x1(d))
31
- .attr("y1", (d) => attrs.y1(d))
32
- .attr("x2", (d) => attrs.x2(d))
33
- .attr("y2", (d) => attrs.y2(d));
34
- DomHelper.setCssClasses(elements, Helper.getCssClassesWithElementIndex(chart.cssClasses, valueFieldIndex));
35
- DomHelper.setChartStyle(elements, chart.style, valueFieldIndex, "stroke");
36
- this.renderedChart = chart;
37
- }
38
- update(scales, newRecords, margin) {
39
- if (!this.renderedChart)
40
- return;
41
- const valueFieldIndex = 0;
42
- const elements = this.options.elementAccessors
43
- .getBlock()
44
- .svg.getChartGroup(this.renderedChart.index)
45
- .selectAll(`.${this.dotChartItemClass}${Helper.getCssClassesLine(this.renderedChart.cssClasses)}${Helper.getCssClassesLine(Helper.getCssClassesWithElementIndex(this.renderedChart.cssClasses, valueFieldIndex))}`)
46
- .data(newRecords);
47
- elements.exit().remove();
48
- const newElements = elements
49
- .enter()
50
- .append("line")
51
- .style("stroke-width", this.renderedChart.dotViewOptions.shape.width)
52
- .attr("class", this.dotChartItemClass);
53
- const attrs = this.getAttrs(scales, this.renderedChart, this.renderedChart.data.valueFields[0], margin);
54
- newElements
55
- .attr("x1", (d) => attrs.x1(d))
56
- .attr("y1", (d) => attrs.y1(d))
57
- .attr("x2", (d) => attrs.x2(d))
58
- .attr("y2", (d) => attrs.y2(d));
59
- DomHelper.setCssClasses(newElements, Helper.getCssClassesWithElementIndex(this.renderedChart.cssClasses, valueFieldIndex));
60
- DomHelper.setChartStyle(newElements, this.renderedChart.style, valueFieldIndex, "stroke");
61
- return [
62
- new Promise((resolve) => {
63
- elements
64
- .interrupt()
65
- .transition()
66
- .duration(this.options.elementAccessors.getBlock().transitionManager.durations.chartUpdate)
67
- .attr("x1", (d) => attrs.x1(d))
68
- .attr("y1", (d) => attrs.y1(d))
69
- .attr("x2", (d) => attrs.x2(d))
70
- .attr("y2", (d) => attrs.y2(d))
71
- .on("end", () => resolve());
72
- })
73
- ];
74
- }
75
- getAttrs(scales, chart, field, margin) {
76
- const attrs = {
77
- x1: null,
78
- y1: null,
79
- x2: null,
80
- y2: null
81
- };
82
- const settingsStore = new DotChartSettingsStore({ scaleBandWidth: Scale.getScaleBandWidth(scales.key) });
83
- // TODO: refactor
84
- if (this.options.canvas.keyAxisOrient === "top" || this.options.canvas.keyAxisOrient === "bottom") {
85
- const handleBase = (d) => scales.key(Helper.getKeyFieldValue(d, this.options.dataOptions.keyFieldName, false)) +
86
- margin.left +
87
- settingsStore.getBandItemPad();
88
- attrs.x1 = (d) => chart.dotViewOptions.shape.handleStartCoordinate(handleBase(d));
89
- attrs.x2 = (d) => chart.dotViewOptions.shape.handleEndCoordinate(handleBase(d) + settingsStore.getBandItemSize());
90
- }
91
- if (this.options.canvas.keyAxisOrient === "left" || this.options.canvas.keyAxisOrient === "right") {
92
- const handleBase = (d) => scales.key(Helper.getKeyFieldValue(d, this.options.dataOptions.keyFieldName, false)) +
93
- margin.top +
94
- settingsStore.getBandItemPad();
95
- attrs.y1 = (d) => chart.dotViewOptions.shape.handleStartCoordinate(handleBase(d));
96
- attrs.y2 = (d) => chart.dotViewOptions.shape.handleEndCoordinate(handleBase(d) + settingsStore.getBandItemSize());
97
- }
98
- if (this.options.canvas.keyAxisOrient === "top") {
99
- attrs.y1 = (d) => scales.value(Math.min(d[field.name], 0)) +
100
- margin.top +
101
- BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
102
- attrs.y2 = (d) => scales.value(Math.min(d[field.name], 0)) +
103
- margin.top +
104
- BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
105
- }
106
- if (this.options.canvas.keyAxisOrient === "bottom") {
107
- attrs.y1 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.top;
108
- attrs.y2 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.top;
109
- }
110
- if (this.options.canvas.keyAxisOrient === "left") {
111
- attrs.x1 = (d) => scales.value(Math.min(d[field.name], 0)) +
112
- margin.left +
113
- BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
114
- attrs.x2 = (d) => scales.value(Math.min(d[field.name], 0)) +
115
- margin.left +
116
- BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
117
- }
118
- if (this.options.canvas.keyAxisOrient === "right") {
119
- attrs.x1 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.left;
120
- attrs.x2 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.left;
121
- }
122
- return attrs;
123
- }
10
+ constructor(options) {
11
+ this.options = options;
12
+ this.dotChartItemClass = NamesHelper.getClassName("dot-chart-item");
13
+ this.renderedChart = undefined;
14
+ }
15
+ render(scales, chart, records, margin) {
16
+ if (this.renderedChart) return;
17
+ const valueFieldIndex = 0;
18
+ const elements = this.options.elementAccessors
19
+ .getBlock()
20
+ .svg.getChartGroup(chart.index)
21
+ .selectAll(
22
+ `.${this.dotChartItemClass}${Helper.getCssClassesLine(chart.cssClasses)}${Helper.getCssClassesLine(
23
+ Helper.getCssClassesWithElementIndex(chart.cssClasses, valueFieldIndex)
24
+ )}`
25
+ )
26
+ .data(records)
27
+ .enter()
28
+ .append("line")
29
+ .style("stroke-width", chart.dotViewOptions.shape.width)
30
+ .attr("class", this.dotChartItemClass);
31
+ const attrs = this.getAttrs(scales, chart, chart.data.valueFields[0], margin);
32
+ elements
33
+ .attr("x1", (d) => attrs.x1(d))
34
+ .attr("y1", (d) => attrs.y1(d))
35
+ .attr("x2", (d) => attrs.x2(d))
36
+ .attr("y2", (d) => attrs.y2(d));
37
+ DomHelper.setCssClasses(elements, Helper.getCssClassesWithElementIndex(chart.cssClasses, valueFieldIndex));
38
+ DomHelper.setChartStyle(elements, chart.style, valueFieldIndex, "stroke");
39
+ this.renderedChart = chart;
40
+ }
41
+ update(scales, newRecords, margin) {
42
+ if (!this.renderedChart) return;
43
+ const valueFieldIndex = 0;
44
+ const elements = this.options.elementAccessors
45
+ .getBlock()
46
+ .svg.getChartGroup(this.renderedChart.index)
47
+ .selectAll(
48
+ `.${this.dotChartItemClass}${Helper.getCssClassesLine(
49
+ this.renderedChart.cssClasses
50
+ )}${Helper.getCssClassesLine(
51
+ Helper.getCssClassesWithElementIndex(this.renderedChart.cssClasses, valueFieldIndex)
52
+ )}`
53
+ )
54
+ .data(newRecords);
55
+ elements.exit().remove();
56
+ const newElements = elements
57
+ .enter()
58
+ .append("line")
59
+ .style("stroke-width", this.renderedChart.dotViewOptions.shape.width)
60
+ .attr("class", this.dotChartItemClass);
61
+ const attrs = this.getAttrs(scales, this.renderedChart, this.renderedChart.data.valueFields[0], margin);
62
+ newElements
63
+ .attr("x1", (d) => attrs.x1(d))
64
+ .attr("y1", (d) => attrs.y1(d))
65
+ .attr("x2", (d) => attrs.x2(d))
66
+ .attr("y2", (d) => attrs.y2(d));
67
+ DomHelper.setCssClasses(
68
+ newElements,
69
+ Helper.getCssClassesWithElementIndex(this.renderedChart.cssClasses, valueFieldIndex)
70
+ );
71
+ DomHelper.setChartStyle(newElements, this.renderedChart.style, valueFieldIndex, "stroke");
72
+ return [
73
+ new Promise((resolve) => {
74
+ elements
75
+ .interrupt()
76
+ .transition()
77
+ .duration(this.options.elementAccessors.getBlock().transitionManager.durations.chartUpdate)
78
+ .attr("x1", (d) => attrs.x1(d))
79
+ .attr("y1", (d) => attrs.y1(d))
80
+ .attr("x2", (d) => attrs.x2(d))
81
+ .attr("y2", (d) => attrs.y2(d))
82
+ .on("end", () => resolve());
83
+ })
84
+ ];
85
+ }
86
+ getAttrs(scales, chart, field, margin) {
87
+ const attrs = {
88
+ x1: null,
89
+ y1: null,
90
+ x2: null,
91
+ y2: null
92
+ };
93
+ const settingsStore = new DotChartSettingsStore({
94
+ scaleBandWidth: Scale.getScaleBandWidth(scales.key)
95
+ });
96
+ // TODO: refactor
97
+ if (this.options.canvas.keyAxisOrient === "top" || this.options.canvas.keyAxisOrient === "bottom") {
98
+ const handleBase = (d) =>
99
+ scales.key(Helper.getKeyFieldValue(d, this.options.dataOptions.keyFieldName, false)) +
100
+ margin.left +
101
+ settingsStore.getBandItemPad();
102
+ attrs.x1 = (d) => chart.dotViewOptions.shape.handleStartCoordinate(handleBase(d));
103
+ attrs.x2 = (d) =>
104
+ chart.dotViewOptions.shape.handleEndCoordinate(handleBase(d) + settingsStore.getBandItemSize());
105
+ }
106
+ if (this.options.canvas.keyAxisOrient === "left" || this.options.canvas.keyAxisOrient === "right") {
107
+ const handleBase = (d) =>
108
+ scales.key(Helper.getKeyFieldValue(d, this.options.dataOptions.keyFieldName, false)) +
109
+ margin.top +
110
+ settingsStore.getBandItemPad();
111
+ attrs.y1 = (d) => chart.dotViewOptions.shape.handleStartCoordinate(handleBase(d));
112
+ attrs.y2 = (d) =>
113
+ chart.dotViewOptions.shape.handleEndCoordinate(handleBase(d) + settingsStore.getBandItemSize());
114
+ }
115
+ if (this.options.canvas.keyAxisOrient === "top") {
116
+ attrs.y1 = (d) =>
117
+ scales.value(Math.min(d[field.name], 0)) +
118
+ margin.top +
119
+ BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
120
+ attrs.y2 = (d) =>
121
+ scales.value(Math.min(d[field.name], 0)) +
122
+ margin.top +
123
+ BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
124
+ }
125
+ if (this.options.canvas.keyAxisOrient === "bottom") {
126
+ attrs.y1 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.top;
127
+ attrs.y2 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.top;
128
+ }
129
+ if (this.options.canvas.keyAxisOrient === "left") {
130
+ attrs.x1 = (d) =>
131
+ scales.value(Math.min(d[field.name], 0)) +
132
+ margin.left +
133
+ BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
134
+ attrs.x2 = (d) =>
135
+ scales.value(Math.min(d[field.name], 0)) +
136
+ margin.left +
137
+ BarHelper.getBandItemValueStretch(scales.value, field.name)(d);
138
+ }
139
+ if (this.options.canvas.keyAxisOrient === "right") {
140
+ attrs.x1 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.left;
141
+ attrs.x2 = (d) => scales.value(Math.max(d[field.name], 0)) + margin.left;
142
+ }
143
+ return attrs;
144
+ }
124
145
  }
@@ -1,15 +1,15 @@
1
1
  import { ChartOrientation } from "../../../config/config";
2
2
  import { Block } from "../../block/block";
3
3
  interface TwoDimRecordOverflowAlertOptions {
4
- hidedRecordsAmount: number;
5
- chartOrientation: ChartOrientation;
4
+ hidedRecordsAmount: number;
5
+ chartOrientation: ChartOrientation;
6
6
  }
7
7
  declare class TwoDimRecordOverflowAlertClass {
8
- render(block: Block, options: TwoDimRecordOverflowAlertOptions): void;
9
- update(block: Block, options: TwoDimRecordOverflowAlertOptions): void;
10
- private buildCoreOptions;
11
- private getText;
12
- private getPositionAttrs;
8
+ render(block: Block, options: TwoDimRecordOverflowAlertOptions): void;
9
+ update(block: Block, options: TwoDimRecordOverflowAlertOptions): void;
10
+ private buildCoreOptions;
11
+ private getText;
12
+ private getPositionAttrs;
13
13
  }
14
14
  export declare const TwoDimRecordOverflowAlert: TwoDimRecordOverflowAlertClass;
15
15
  export {};
@@ -1,32 +1,32 @@
1
1
  import { RecordOverflowAlertCore } from "../../features/recordOverflowAlert/recordOverflowAlertCore";
2
2
  class TwoDimRecordOverflowAlertClass {
3
- render(block, options) {
4
- RecordOverflowAlertCore.render(block, this.buildCoreOptions(options));
5
- }
6
- update(block, options) {
7
- RecordOverflowAlertCore.update(block, this.buildCoreOptions(options));
8
- }
9
- buildCoreOptions(options) {
10
- return {
11
- hidedRecordsAmount: options.hidedRecordsAmount,
12
- text: this.getText(options.chartOrientation),
13
- positionAttrs: this.getPositionAttrs()
14
- };
15
- }
16
- getText(chartOrientation) {
17
- const isHorizontal = chartOrientation === "horizontal";
18
- return {
19
- one: isHorizontal ? "строка" : "столбец",
20
- twoToFour: isHorizontal ? "строки" : "столбца",
21
- tenToTwenty: isHorizontal ? "строк" : "столбцов",
22
- other: isHorizontal ? "строк" : "столбцов"
23
- };
24
- }
25
- getPositionAttrs() {
26
- return {
27
- right: "0px",
28
- top: "0px"
29
- };
30
- }
3
+ render(block, options) {
4
+ RecordOverflowAlertCore.render(block, this.buildCoreOptions(options));
5
+ }
6
+ update(block, options) {
7
+ RecordOverflowAlertCore.update(block, this.buildCoreOptions(options));
8
+ }
9
+ buildCoreOptions(options) {
10
+ return {
11
+ hidedRecordsAmount: options.hidedRecordsAmount,
12
+ text: this.getText(options.chartOrientation),
13
+ positionAttrs: this.getPositionAttrs()
14
+ };
15
+ }
16
+ getText(chartOrientation) {
17
+ const isHorizontal = chartOrientation === "horizontal";
18
+ return {
19
+ one: isHorizontal ? "строка" : "столбец",
20
+ twoToFour: isHorizontal ? "строки" : "столбца",
21
+ tenToTwenty: isHorizontal ? "строк" : "столбцов",
22
+ other: isHorizontal ? "строк" : "столбцов"
23
+ };
24
+ }
25
+ getPositionAttrs() {
26
+ return {
27
+ right: "0px",
28
+ top: "0px"
29
+ };
30
+ }
31
31
  }
32
32
  export const TwoDimRecordOverflowAlert = new TwoDimRecordOverflowAlertClass();
@@ -6,23 +6,44 @@ import { Block } from "../../block/block";
6
6
  import { MdtChartsDataRow } from "../../../config/config";
7
7
  import { Pipeline } from "../../helpers/pipeline/Pipeline";
8
8
  interface LineChartOptions {
9
- staticSettings: LineLikeChartSettings;
9
+ staticSettings: LineLikeChartSettings;
10
10
  }
11
11
  export declare class Line {
12
- private options;
13
- static readonly lineChartClass = "line";
14
- readonly creatingPipeline: Pipeline<Selection<SVGPathElement, any, BaseType, any>, TwoDimensionalChartModel>;
15
- private readonly lineChartClass;
16
- static get(options: LineChartOptions): Line;
17
- constructor(options: LineChartOptions);
18
- render(block: Block, scales: Scales, data: MdtChartsDataRow[], keyField: Field, margin: BlockMargin, keyAxisOrient: Orient, chart: TwoDimensionalChartModel): void;
19
- update(block: Block, scales: Scales, newData: MdtChartsDataRow[], keyField: Field, margin: BlockMargin, keyAxisOrient: Orient, chart: TwoDimensionalChartModel): Promise<any>[];
20
- updateColors(block: Block, chart: TwoDimensionalChartModel): void;
21
- private renderGrouped;
22
- private renderSegmented;
23
- private updateGrouped;
24
- private updateSegmented;
25
- static updateGroupedPath(block: Block, lineObject: Selection<BaseType, any, BaseType, any>, lineGenerator: ILine<MdtChartsDataRow>, newData: MdtChartsDataRow[]): Promise<any>;
26
- private createLineGeneratorFactory;
12
+ private options;
13
+ static readonly lineChartClass = "line";
14
+ readonly creatingPipeline: Pipeline<Selection<SVGPathElement, any, BaseType, any>, TwoDimensionalChartModel>;
15
+ private readonly lineChartClass;
16
+ static get(options: LineChartOptions): Line;
17
+ constructor(options: LineChartOptions);
18
+ render(
19
+ block: Block,
20
+ scales: Scales,
21
+ data: MdtChartsDataRow[],
22
+ keyField: Field,
23
+ margin: BlockMargin,
24
+ keyAxisOrient: Orient,
25
+ chart: TwoDimensionalChartModel
26
+ ): void;
27
+ update(
28
+ block: Block,
29
+ scales: Scales,
30
+ newData: MdtChartsDataRow[],
31
+ keyField: Field,
32
+ margin: BlockMargin,
33
+ keyAxisOrient: Orient,
34
+ chart: TwoDimensionalChartModel
35
+ ): Promise<any>[];
36
+ updateColors(block: Block, chart: TwoDimensionalChartModel): void;
37
+ private renderGrouped;
38
+ private renderSegmented;
39
+ private updateGrouped;
40
+ private updateSegmented;
41
+ static updateGroupedPath(
42
+ block: Block,
43
+ lineObject: Selection<BaseType, any, BaseType, any>,
44
+ lineGenerator: ILine<MdtChartsDataRow>,
45
+ newData: MdtChartsDataRow[]
46
+ ): Promise<any>;
47
+ private createLineGeneratorFactory;
27
48
  }
28
49
  export {};