mdt-charts 1.28.1 → 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
@@ -9,174 +9,229 @@ export const MINIMAL_HORIZONTAL_STEP_SIZE = 100;
9
9
  export const LABEL_ELEMENT_HEIGHT_PX = 17;
10
10
  const DEFAULT_AXIS_LINE_VISIBLE = true;
11
11
  export class AxisModel {
12
- static getKeyAxis(options, data, labelConfig, canvasModel, tooltipSettings, getZeroCoordinate) {
13
- var _a, _b, _c;
14
- const { charts, orientation, data: dataOptions } = options;
15
- const axisConfig = options.axis.key;
16
- const translate = this.getKeyAxisTranslateModel(orientation, axisConfig.position, canvasModel, getZeroCoordinate);
17
- const tickCalculator = new AxisModelTickCalculator(data[dataOptions.dataSource], (_a = options.axis.key.labels) === null || _a === void 0 ? void 0 : _a.showRule);
18
- return {
19
- type: "key",
20
- orient: AxisModel.getAxisOrient(AxisType.Key, orientation, axisConfig.position),
21
- translate,
22
- cssClass: "key-axis",
23
- ticks: axisConfig.ticks,
24
- labels: {
25
- maxSize: AxisModel.getLabelSize(labelConfig.maxSize.main, data[dataOptions.dataSource].map((d) => d[dataOptions.keyField.name])).width,
26
- position: AxisModel.getKeyAxisLabelPosition(canvasModel, DataManagerModel.getDataValuesByKeyField(data, dataOptions.dataSource, dataOptions.keyField.name)
27
- .length, axisConfig),
28
- visible: !TwoDimensionalModel.getChartsEmbeddedLabelsFlag(charts, orientation),
29
- defaultTooltip: tooltipSettings.position === "fixed",
30
- showTick: tickCalculator.createFunctionCalculator(this.getAxisLength(orientation, canvasModel)),
31
- linearTickStep: MINIMAL_HORIZONTAL_STEP_SIZE,
32
- tickAmountSettings: {
33
- policy: { type: "auto" }
34
- }
35
- },
36
- visibility: axisConfig.visibility,
37
- line: {
38
- visible: (_c = (_b = axisConfig.line) === null || _b === void 0 ? void 0 : _b.visible) !== null && _c !== void 0 ? _c : DEFAULT_AXIS_LINE_VISIBLE
39
- },
40
- browserTooltip: {
41
- format: (value) => value
42
- }
43
- };
44
- }
45
- static getMainValueAxis(defaultFormatter, orient, position, axisConfig, labelConfig, canvasModel, scaleInfo) {
46
- return this.getValueAxis(defaultFormatter, orient, position, "value-axis", axisConfig, labelConfig, canvasModel, scaleInfo);
47
- }
48
- static getSecondaryValueAxis(defaultFormatter, orient, mainAxisPosition, axisConfig, labelConfig, canvasModel, scaleInfo) {
49
- return this.getValueAxis(defaultFormatter, orient, mainAxisPosition === "start" ? "end" : "start", "value-secondary-axis", axisConfig, labelConfig, canvasModel, scaleInfo);
50
- }
51
- static getValueAxis(defaultFormatter, orient, position, cssClass, axisConfig, labelConfig, canvasModel, scaleInfo) {
52
- var _a, _b;
53
- return {
54
- type: "value",
55
- orient: AxisModel.getAxisOrient(AxisType.Value, orient, position),
56
- translate: {
57
- translateX: AxisModel.getAxisTranslateX(AxisType.Value, orient, position, canvasModel),
58
- translateY: AxisModel.getAxisTranslateY(AxisType.Value, orient, position, canvasModel)
59
- },
60
- cssClass,
61
- ticks: axisConfig.ticks,
62
- labels: {
63
- maxSize: labelConfig.maxSize.main,
64
- position: "straight",
65
- visible: true,
66
- defaultTooltip: true,
67
- showTick: showAllTicks,
68
- linearTickStep: this.getTickStep(orient, axisConfig),
69
- tickAmountSettings: {
70
- policy: this.getTickAmountPolicy(orient, axisConfig, scaleInfo)
71
- }
72
- },
73
- visibility: axisConfig.visibility,
74
- line: {
75
- visible: (_b = (_a = axisConfig.line) === null || _a === void 0 ? void 0 : _a.visible) !== null && _b !== void 0 ? _b : DEFAULT_AXIS_LINE_VISIBLE
76
- },
77
- browserTooltip: {
78
- format: (value) => defaultFormatter(value)
79
- }
80
- };
81
- }
82
- static getAxisLength(chartOrientation, canvasModel) {
83
- if (chartOrientation === "horizontal") {
84
- return canvasModel.getChartBlockHeight();
85
- }
86
- else {
87
- return canvasModel.getChartBlockWidth();
88
- }
89
- }
90
- static getAxisOrient(axisType, chartOrientation, axisPosition) {
91
- if (chartOrientation === "vertical") {
92
- if (axisPosition === "start")
93
- return axisType === AxisType.Key ? "top" : "left";
94
- return axisType === AxisType.Key ? "bottom" : "right";
95
- }
96
- if (axisPosition === "start")
97
- return axisType === AxisType.Key ? "left" : "top";
98
- return axisType === AxisType.Key ? "right" : "bottom";
99
- }
100
- static getAxisTranslateX(axisType, chartOrientation, axisPosition, canvasModel) {
101
- const orient = AxisModel.getAxisOrient(axisType, chartOrientation, axisPosition);
102
- if (orient === "top" || orient === "left")
103
- return canvasModel.getMarginSide("left");
104
- else if (orient === "bottom")
105
- return canvasModel.getMarginSide("left");
106
- return canvasModel.getBlockSize().width - canvasModel.getMarginSide("right");
107
- }
108
- static getAxisTranslateY(axisType, chartOrientation, axisPosition, canvasModel) {
109
- const orient = AxisModel.getAxisOrient(axisType, chartOrientation, axisPosition);
110
- if (orient === "top" || orient === "left")
111
- return canvasModel.getMarginSide("top");
112
- else if (orient === "bottom")
113
- return canvasModel.getBlockSize().height - canvasModel.getMarginSide("bottom");
114
- return canvasModel.getMarginSide("top");
115
- }
116
- static getKeyAxisLabelPosition(canvasModel, scopedDataLength, axisConfig) {
117
- var _a;
118
- return this.service.getKeyAxisLabelPosition(canvasModel.getChartBlockWidth(), scopedDataLength, (_a = axisConfig === null || axisConfig === void 0 ? void 0 : axisConfig.labels) === null || _a === void 0 ? void 0 : _a.position);
119
- }
120
- static getLabelSize(labelMaxWidth, labelTexts) {
121
- const ONE_UPPER_SYMBOL_WIDTH_PX = 8;
122
- const longestLabelLength = labelTexts.length
123
- ? Math.max(...labelTexts.map((t) => ModelHelper.getStringScore(t)))
124
- : 0;
125
- const longestLabelWidth = ONE_UPPER_SYMBOL_WIDTH_PX * longestLabelLength;
126
- return {
127
- height: LABEL_ELEMENT_HEIGHT_PX,
128
- width: longestLabelWidth > labelMaxWidth ? labelMaxWidth : longestLabelWidth
129
- };
130
- }
131
- static getRoundValue(value) {
132
- const absValue = Math.abs(value);
133
- const sign = Math.sign(value);
134
- if (absValue < 10)
135
- return value;
136
- if (absValue < 100)
137
- return sign * Math.floor(absValue / 10) * 10;
138
- const valueStr = absValue.toString();
139
- const firstTwoDigits = Math.floor(absValue / Math.pow(10, valueStr.length - 2));
140
- const roundedFirstTwoDigits = firstTwoDigits < 10 ? firstTwoDigits : Math.floor(firstTwoDigits / 5) * 5;
141
- const roundedNumber = roundedFirstTwoDigits * Math.pow(10, valueStr.length - 2);
142
- return sign * roundedNumber;
143
- }
144
- static getTickAmountPolicy(orient, axisConfig, scaleInfo) {
145
- const axisLength = scaleInfo.range.end - scaleInfo.range.start;
146
- const linearTickStep = this.getTickStep(orient, axisConfig);
147
- let tickAmountPolicy;
148
- if (Math.floor(axisLength / linearTickStep) > 2) {
149
- tickAmountPolicy = { type: "amount", amount: Math.floor(axisLength / linearTickStep) };
150
- }
151
- else {
152
- const roundedMaxValue = this.getRoundValue(max(scaleInfo.domain));
153
- tickAmountPolicy = { type: "constant", values: [min(scaleInfo.domain), roundedMaxValue] };
154
- }
155
- return tickAmountPolicy;
156
- }
157
- static getKeyAxisTranslateModel(chartOrientation, axisPosition, canvasModel, getZeroCoordinate) {
158
- let translateY;
159
- let translateX;
160
- if (chartOrientation === "vertical") {
161
- translateY = getZeroCoordinate
162
- ? getZeroCoordinate() + canvasModel.getMarginSide("top")
163
- : AxisModel.getAxisTranslateY(AxisType.Key, chartOrientation, axisPosition, canvasModel);
164
- translateX = AxisModel.getAxisTranslateX(AxisType.Key, chartOrientation, axisPosition, canvasModel);
165
- }
166
- else {
167
- translateX = getZeroCoordinate
168
- ? getZeroCoordinate() + canvasModel.getMarginSide("left")
169
- : AxisModel.getAxisTranslateX(AxisType.Key, chartOrientation, axisPosition, canvasModel);
170
- translateY = AxisModel.getAxisTranslateY(AxisType.Key, chartOrientation, axisPosition, canvasModel);
171
- }
172
- return {
173
- translateX,
174
- translateY
175
- };
176
- }
177
- static getTickStep(orient, axisConfig) {
178
- var _a, _b;
179
- return ((_b = (_a = axisConfig.labels) === null || _a === void 0 ? void 0 : _a.stepSize) !== null && _b !== void 0 ? _b : (orient === "horizontal" ? MINIMAL_HORIZONTAL_STEP_SIZE : MINIMAL_VERTICAL_STEP_SIZE));
180
- }
12
+ static getKeyAxis(options, data, labelConfig, canvasModel, tooltipSettings, getZeroCoordinate) {
13
+ var _a, _b, _c;
14
+ const { charts, orientation, data: dataOptions } = options;
15
+ const axisConfig = options.axis.key;
16
+ const translate = this.getKeyAxisTranslateModel(
17
+ orientation,
18
+ axisConfig.position,
19
+ canvasModel,
20
+ getZeroCoordinate
21
+ );
22
+ const tickCalculator = new AxisModelTickCalculator(
23
+ data[dataOptions.dataSource],
24
+ (_a = options.axis.key.labels) === null || _a === void 0 ? void 0 : _a.showRule
25
+ );
26
+ return {
27
+ type: "key",
28
+ orient: AxisModel.getAxisOrient(AxisType.Key, orientation, axisConfig.position),
29
+ translate,
30
+ cssClass: "key-axis",
31
+ ticks: axisConfig.ticks,
32
+ labels: {
33
+ maxSize: AxisModel.getLabelSize(
34
+ labelConfig.maxSize.main,
35
+ data[dataOptions.dataSource].map((d) => d[dataOptions.keyField.name])
36
+ ).width,
37
+ position: AxisModel.getKeyAxisLabelPosition(
38
+ canvasModel,
39
+ DataManagerModel.getDataValuesByKeyField(data, dataOptions.dataSource, dataOptions.keyField.name)
40
+ .length,
41
+ axisConfig
42
+ ),
43
+ visible: !TwoDimensionalModel.getChartsEmbeddedLabelsFlag(charts, orientation),
44
+ defaultTooltip: tooltipSettings.position === "fixed",
45
+ showTick: tickCalculator.createFunctionCalculator(this.getAxisLength(orientation, canvasModel)),
46
+ linearTickStep: MINIMAL_HORIZONTAL_STEP_SIZE,
47
+ tickAmountSettings: {
48
+ policy: { type: "auto" }
49
+ }
50
+ },
51
+ visibility: axisConfig.visibility,
52
+ line: {
53
+ visible:
54
+ (_c = (_b = axisConfig.line) === null || _b === void 0 ? void 0 : _b.visible) !== null &&
55
+ _c !== void 0
56
+ ? _c
57
+ : DEFAULT_AXIS_LINE_VISIBLE
58
+ },
59
+ browserTooltip: {
60
+ format: (value) => value
61
+ }
62
+ };
63
+ }
64
+ static getMainValueAxis(defaultFormatter, orient, position, axisConfig, labelConfig, canvasModel, scaleInfo) {
65
+ return this.getValueAxis(
66
+ defaultFormatter,
67
+ orient,
68
+ position,
69
+ "value-axis",
70
+ axisConfig,
71
+ labelConfig,
72
+ canvasModel,
73
+ scaleInfo
74
+ );
75
+ }
76
+ static getSecondaryValueAxis(
77
+ defaultFormatter,
78
+ orient,
79
+ mainAxisPosition,
80
+ axisConfig,
81
+ labelConfig,
82
+ canvasModel,
83
+ scaleInfo
84
+ ) {
85
+ return this.getValueAxis(
86
+ defaultFormatter,
87
+ orient,
88
+ mainAxisPosition === "start" ? "end" : "start",
89
+ "value-secondary-axis",
90
+ axisConfig,
91
+ labelConfig,
92
+ canvasModel,
93
+ scaleInfo
94
+ );
95
+ }
96
+ static getValueAxis(defaultFormatter, orient, position, cssClass, axisConfig, labelConfig, canvasModel, scaleInfo) {
97
+ var _a, _b;
98
+ return {
99
+ type: "value",
100
+ orient: AxisModel.getAxisOrient(AxisType.Value, orient, position),
101
+ translate: {
102
+ translateX: AxisModel.getAxisTranslateX(AxisType.Value, orient, position, canvasModel),
103
+ translateY: AxisModel.getAxisTranslateY(AxisType.Value, orient, position, canvasModel)
104
+ },
105
+ cssClass,
106
+ ticks: axisConfig.ticks,
107
+ labels: {
108
+ maxSize: labelConfig.maxSize.main,
109
+ position: "straight",
110
+ visible: true,
111
+ defaultTooltip: true,
112
+ showTick: showAllTicks,
113
+ linearTickStep: this.getTickStep(orient, axisConfig),
114
+ tickAmountSettings: {
115
+ policy: this.getTickAmountPolicy(orient, axisConfig, scaleInfo)
116
+ }
117
+ },
118
+ visibility: axisConfig.visibility,
119
+ line: {
120
+ visible:
121
+ (_b = (_a = axisConfig.line) === null || _a === void 0 ? void 0 : _a.visible) !== null &&
122
+ _b !== void 0
123
+ ? _b
124
+ : DEFAULT_AXIS_LINE_VISIBLE
125
+ },
126
+ browserTooltip: {
127
+ format: (value) => defaultFormatter(value)
128
+ }
129
+ };
130
+ }
131
+ static getAxisLength(chartOrientation, canvasModel) {
132
+ if (chartOrientation === "horizontal") {
133
+ return canvasModel.getChartBlockHeight();
134
+ } else {
135
+ return canvasModel.getChartBlockWidth();
136
+ }
137
+ }
138
+ static getAxisOrient(axisType, chartOrientation, axisPosition) {
139
+ if (chartOrientation === "vertical") {
140
+ if (axisPosition === "start") return axisType === AxisType.Key ? "top" : "left";
141
+ return axisType === AxisType.Key ? "bottom" : "right";
142
+ }
143
+ if (axisPosition === "start") return axisType === AxisType.Key ? "left" : "top";
144
+ return axisType === AxisType.Key ? "right" : "bottom";
145
+ }
146
+ static getAxisTranslateX(axisType, chartOrientation, axisPosition, canvasModel) {
147
+ const orient = AxisModel.getAxisOrient(axisType, chartOrientation, axisPosition);
148
+ if (orient === "top" || orient === "left") return canvasModel.getMarginSide("left");
149
+ else if (orient === "bottom") return canvasModel.getMarginSide("left");
150
+ return canvasModel.getBlockSize().width - canvasModel.getMarginSide("right");
151
+ }
152
+ static getAxisTranslateY(axisType, chartOrientation, axisPosition, canvasModel) {
153
+ const orient = AxisModel.getAxisOrient(axisType, chartOrientation, axisPosition);
154
+ if (orient === "top" || orient === "left") return canvasModel.getMarginSide("top");
155
+ else if (orient === "bottom") return canvasModel.getBlockSize().height - canvasModel.getMarginSide("bottom");
156
+ return canvasModel.getMarginSide("top");
157
+ }
158
+ static getKeyAxisLabelPosition(canvasModel, scopedDataLength, axisConfig) {
159
+ var _a;
160
+ return this.service.getKeyAxisLabelPosition(
161
+ canvasModel.getChartBlockWidth(),
162
+ scopedDataLength,
163
+ (_a = axisConfig === null || axisConfig === void 0 ? void 0 : axisConfig.labels) === null || _a === void 0
164
+ ? void 0
165
+ : _a.position
166
+ );
167
+ }
168
+ static getLabelSize(labelMaxWidth, labelTexts) {
169
+ const ONE_UPPER_SYMBOL_WIDTH_PX = 8;
170
+ const longestLabelLength = labelTexts.length
171
+ ? Math.max(...labelTexts.map((t) => ModelHelper.getStringScore(t)))
172
+ : 0;
173
+ const longestLabelWidth = ONE_UPPER_SYMBOL_WIDTH_PX * longestLabelLength;
174
+ return {
175
+ height: LABEL_ELEMENT_HEIGHT_PX,
176
+ width: longestLabelWidth > labelMaxWidth ? labelMaxWidth : longestLabelWidth
177
+ };
178
+ }
179
+ static getRoundValue(value) {
180
+ const absValue = Math.abs(value);
181
+ const sign = Math.sign(value);
182
+ if (absValue < 10) return value;
183
+ if (absValue < 100) return sign * Math.floor(absValue / 10) * 10;
184
+ const valueStr = absValue.toString();
185
+ const firstTwoDigits = Math.floor(absValue / Math.pow(10, valueStr.length - 2));
186
+ const roundedFirstTwoDigits = firstTwoDigits < 10 ? firstTwoDigits : Math.floor(firstTwoDigits / 5) * 5;
187
+ const roundedNumber = roundedFirstTwoDigits * Math.pow(10, valueStr.length - 2);
188
+ return sign * roundedNumber;
189
+ }
190
+ static getTickAmountPolicy(orient, axisConfig, scaleInfo) {
191
+ const axisLength = scaleInfo.range.end - scaleInfo.range.start;
192
+ const linearTickStep = this.getTickStep(orient, axisConfig);
193
+ let tickAmountPolicy;
194
+ if (Math.floor(axisLength / linearTickStep) > 2) {
195
+ tickAmountPolicy = {
196
+ type: "amount",
197
+ amount: Math.floor(axisLength / linearTickStep)
198
+ };
199
+ } else {
200
+ const roundedMaxValue = this.getRoundValue(max(scaleInfo.domain));
201
+ tickAmountPolicy = {
202
+ type: "constant",
203
+ values: [min(scaleInfo.domain), roundedMaxValue]
204
+ };
205
+ }
206
+ return tickAmountPolicy;
207
+ }
208
+ static getKeyAxisTranslateModel(chartOrientation, axisPosition, canvasModel, getZeroCoordinate) {
209
+ let translateY;
210
+ let translateX;
211
+ if (chartOrientation === "vertical") {
212
+ translateY = getZeroCoordinate
213
+ ? getZeroCoordinate() + canvasModel.getMarginSide("top")
214
+ : AxisModel.getAxisTranslateY(AxisType.Key, chartOrientation, axisPosition, canvasModel);
215
+ translateX = AxisModel.getAxisTranslateX(AxisType.Key, chartOrientation, axisPosition, canvasModel);
216
+ } else {
217
+ translateX = getZeroCoordinate
218
+ ? getZeroCoordinate() + canvasModel.getMarginSide("left")
219
+ : AxisModel.getAxisTranslateX(AxisType.Key, chartOrientation, axisPosition, canvasModel);
220
+ translateY = AxisModel.getAxisTranslateY(AxisType.Key, chartOrientation, axisPosition, canvasModel);
221
+ }
222
+ return {
223
+ translateX,
224
+ translateY
225
+ };
226
+ }
227
+ static getTickStep(orient, axisConfig) {
228
+ var _a, _b;
229
+ return (_b = (_a = axisConfig.labels) === null || _a === void 0 ? void 0 : _a.stepSize) !== null &&
230
+ _b !== void 0
231
+ ? _b
232
+ : orient === "horizontal"
233
+ ? MINIMAL_HORIZONTAL_STEP_SIZE
234
+ : MINIMAL_VERTICAL_STEP_SIZE;
235
+ }
181
236
  }
182
237
  AxisModel.service = new AxisModelService();
@@ -1,12 +1,16 @@
1
1
  import { AxisLabelPosition, MdtChartsDataRow, MdtChartsShowAxisLabelRule, ShowTickFn } from "../../config/config";
2
2
  export declare const showAllTicks: ShowTickFn;
3
3
  export declare class AxisModelService {
4
- getKeyAxisLabelPosition(chartBlockWidth: number, scopedDataLength: number, positionFromConfig?: AxisLabelPosition): AxisLabelPosition;
4
+ getKeyAxisLabelPosition(
5
+ chartBlockWidth: number,
6
+ scopedDataLength: number,
7
+ positionFromConfig?: AxisLabelPosition
8
+ ): AxisLabelPosition;
5
9
  }
6
10
  export declare class AxisModelTickCalculator {
7
- private readonly dataRows;
8
- private readonly rule?;
9
- private readonly defaultTickSpace;
10
- constructor(dataRows: MdtChartsDataRow[], rule?: MdtChartsShowAxisLabelRule);
11
- createFunctionCalculator(axisSize: number): ShowTickFn;
11
+ private readonly dataRows;
12
+ private readonly rule?;
13
+ private readonly defaultTickSpace;
14
+ constructor(dataRows: MdtChartsDataRow[], rule?: MdtChartsShowAxisLabelRule);
15
+ createFunctionCalculator(axisSize: number): ShowTickFn;
12
16
  }
@@ -1,32 +1,32 @@
1
1
  export const showAllTicks = (d) => d;
2
2
  export class AxisModelService {
3
- getKeyAxisLabelPosition(chartBlockWidth, scopedDataLength, positionFromConfig) {
4
- if (positionFromConfig === "rotated" || positionFromConfig === "straight") {
5
- return positionFromConfig;
6
- }
7
- const minBandSize = 50;
8
- if (chartBlockWidth / scopedDataLength < minBandSize)
9
- return "rotated";
10
- return "straight";
11
- }
3
+ getKeyAxisLabelPosition(chartBlockWidth, scopedDataLength, positionFromConfig) {
4
+ if (positionFromConfig === "rotated" || positionFromConfig === "straight") {
5
+ return positionFromConfig;
6
+ }
7
+ const minBandSize = 50;
8
+ if (chartBlockWidth / scopedDataLength < minBandSize) return "rotated";
9
+ return "straight";
10
+ }
12
11
  }
13
12
  export class AxisModelTickCalculator {
14
- constructor(dataRows, rule) {
15
- this.dataRows = dataRows;
16
- this.rule = rule;
17
- this.defaultTickSpace = 20;
18
- }
19
- createFunctionCalculator(axisSize) {
20
- var _a, _b, _c;
21
- if ((_a = this.rule) === null || _a === void 0 ? void 0 : _a.showTickFn)
22
- return this.rule.showTickFn;
23
- const tickSpace = (_c = (_b = this.rule) === null || _b === void 0 ? void 0 : _b.spaceForOneLabel) !== null && _c !== void 0 ? _c : this.defaultTickSpace;
24
- const allowedKeysAmount = Math.floor(axisSize / tickSpace);
25
- if (allowedKeysAmount >= this.dataRows.length)
26
- return showAllTicks;
27
- let divider = Math.ceil(this.dataRows.length / allowedKeysAmount);
28
- return (d, i) => {
29
- return i % divider === 0 ? d : undefined;
30
- };
31
- }
13
+ constructor(dataRows, rule) {
14
+ this.dataRows = dataRows;
15
+ this.rule = rule;
16
+ this.defaultTickSpace = 20;
17
+ }
18
+ createFunctionCalculator(axisSize) {
19
+ var _a, _b, _c;
20
+ if ((_a = this.rule) === null || _a === void 0 ? void 0 : _a.showTickFn) return this.rule.showTickFn;
21
+ const tickSpace =
22
+ (_c = (_b = this.rule) === null || _b === void 0 ? void 0 : _b.spaceForOneLabel) !== null && _c !== void 0
23
+ ? _c
24
+ : this.defaultTickSpace;
25
+ const allowedKeysAmount = Math.floor(axisSize / tickSpace);
26
+ if (allowedKeysAmount >= this.dataRows.length) return showAllTicks;
27
+ let divider = Math.ceil(this.dataRows.length / allowedKeysAmount);
28
+ return (d, i) => {
29
+ return i % divider === 0 ? d : undefined;
30
+ };
31
+ }
32
32
  }
@@ -2,17 +2,22 @@ import { DataLegendParams } from "../../dataManagerModel/dataManagerModel";
2
2
  import { LegendPosition } from "../../model";
3
3
  export declare type LegendItemsDirection = "row" | "column";
4
4
  export interface LegendItemContentOptions {
5
- text: string;
6
- markerSize: {
7
- widthPx: number;
8
- heightPx: number;
9
- marginRightPx: number;
10
- };
11
- wrapperSize: {
12
- marginRightPx: number;
13
- };
5
+ text: string;
6
+ markerSize: {
7
+ widthPx: number;
8
+ heightPx: number;
9
+ marginRightPx: number;
10
+ };
11
+ wrapperSize: {
12
+ marginRightPx: number;
13
+ };
14
14
  }
15
15
  export declare class LegendCanvasModel {
16
- static findElementsAmountByLegendSize(items: LegendItemContentOptions[], position: LegendPosition, legendBlockWidth: number, legendBlockHeight: number): DataLegendParams;
17
- private static getLegendWrapperEl;
16
+ static findElementsAmountByLegendSize(
17
+ items: LegendItemContentOptions[],
18
+ position: LegendPosition,
19
+ legendBlockWidth: number,
20
+ legendBlockHeight: number
21
+ ): DataLegendParams;
22
+ private static getLegendWrapperEl;
18
23
  }