mdt-charts 1.29.0 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/lib/config/config.d.ts +170 -178
  2. package/lib/designer/designerConfig.d.ts +59 -62
  3. package/lib/engine/block/block.d.ts +16 -22
  4. package/lib/engine/block/block.js +51 -51
  5. package/lib/engine/block/blockHelper.d.ts +6 -6
  6. package/lib/engine/block/blockHelper.js +16 -16
  7. package/lib/engine/block/blockHtml.d.ts +8 -8
  8. package/lib/engine/block/blockHtml.js +15 -15
  9. package/lib/engine/block/blockSvg.d.ts +20 -20
  10. package/lib/engine/block/blockSvg.js +66 -65
  11. package/lib/engine/block/defs/LinearGradientDef.d.ts +2 -2
  12. package/lib/engine/block/defs/LinearGradientDef.js +27 -27
  13. package/lib/engine/block/defs/hatchPattern.d.ts +4 -4
  14. package/lib/engine/block/defs/hatchPattern.js +9 -9
  15. package/lib/engine/colorReader/colorReader.d.ts +5 -5
  16. package/lib/engine/colorReader/colorReader.js +18 -18
  17. package/lib/engine/contentManager/contentManager.d.ts +7 -6
  18. package/lib/engine/contentManager/contentManager.js +15 -15
  19. package/lib/engine/contentManager/contentManagerFactory.d.ts +7 -7
  20. package/lib/engine/contentManager/contentManagerFactory.js +12 -12
  21. package/lib/engine/elementHighlighter/elementHighlighter.d.ts +22 -70
  22. package/lib/engine/elementHighlighter/elementHighlighter.js +181 -230
  23. package/lib/engine/elementHighlighter/selectHighlighter.d.ts +4 -29
  24. package/lib/engine/elementHighlighter/selectHighlighter.js +87 -189
  25. package/lib/engine/engine.d.ts +17 -17
  26. package/lib/engine/engine.js +62 -87
  27. package/lib/engine/features/aggregator/aggregator.d.ts +17 -24
  28. package/lib/engine/features/aggregator/aggregator.js +102 -113
  29. package/lib/engine/features/axis/axis.d.ts +9 -22
  30. package/lib/engine/features/axis/axis.js +150 -159
  31. package/lib/engine/features/axis/axisDomHelper.d.ts +2 -7
  32. package/lib/engine/features/axis/axisDomHelper.js +20 -19
  33. package/lib/engine/features/axis/axisHelper.d.ts +5 -9
  34. package/lib/engine/features/axis/axisHelper.js +33 -28
  35. package/lib/engine/features/axis/axisLabelDomHelper.d.ts +11 -26
  36. package/lib/engine/features/axis/axisLabelDomHelper.js +152 -156
  37. package/lib/engine/features/axis/axisLabelsEventManager.d.ts +2 -2
  38. package/lib/engine/features/axis/axisLabelsEventManager.js +32 -32
  39. package/lib/engine/features/embeddedLabels/embeddedLabels.d.ts +16 -51
  40. package/lib/engine/features/embeddedLabels/embeddedLabels.js +134 -234
  41. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.d.ts +2 -13
  42. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.js +23 -20
  43. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.d.ts +15 -32
  44. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.js +63 -56
  45. package/lib/engine/features/gridLine/gidLineHelper.d.ts +7 -13
  46. package/lib/engine/features/gridLine/gidLineHelper.js +49 -42
  47. package/lib/engine/features/gridLine/gridLine.d.ts +5 -19
  48. package/lib/engine/features/gridLine/gridLine.js +36 -35
  49. package/lib/engine/features/legend/legend.d.ts +28 -38
  50. package/lib/engine/features/legend/legend.js +92 -118
  51. package/lib/engine/features/legend/legendDomHelper.d.ts +6 -13
  52. package/lib/engine/features/legend/legendDomHelper.js +62 -63
  53. package/lib/engine/features/legend/legendEventsManager.d.ts +8 -13
  54. package/lib/engine/features/legend/legendEventsManager.js +47 -48
  55. package/lib/engine/features/legend/legendHelper.d.ts +14 -39
  56. package/lib/engine/features/legend/legendHelper.js +92 -98
  57. package/lib/engine/features/legend/legendHelperService.d.ts +6 -13
  58. package/lib/engine/features/legend/legendHelperService.js +25 -24
  59. package/lib/engine/features/legend/legendMarkerCreator.d.ts +9 -18
  60. package/lib/engine/features/legend/legendMarkerCreator.js +76 -79
  61. package/lib/engine/features/legend/legendWidthCalculator.d.ts +7 -7
  62. package/lib/engine/features/legend/legendWidthCalculator.js +122 -126
  63. package/lib/engine/features/markDots/markDot.d.ts +15 -42
  64. package/lib/engine/features/markDots/markDot.js +70 -101
  65. package/lib/engine/features/markDots/markDotsHelper.d.ts +1 -8
  66. package/lib/engine/features/markDots/markDotsHelper.js +12 -13
  67. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.d.ts +5 -23
  68. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.js +34 -42
  69. package/lib/engine/features/scale/scale.d.ts +12 -17
  70. package/lib/engine/features/scale/scale.js +69 -76
  71. package/lib/engine/features/tipBox/tipBox.d.ts +5 -9
  72. package/lib/engine/features/tipBox/tipBox.js +24 -24
  73. package/lib/engine/features/tipBox/tipBoxHelper.d.ts +9 -16
  74. package/lib/engine/features/tipBox/tipBoxHelper.js +45 -60
  75. package/lib/engine/features/title/title.d.ts +6 -6
  76. package/lib/engine/features/title/title.js +35 -34
  77. package/lib/engine/features/tolltip/newTooltip/newTooltip.d.ts +11 -15
  78. package/lib/engine/features/tolltip/newTooltip/newTooltip.js +21 -21
  79. package/lib/engine/features/tolltip/newTooltip/newTooltipService.d.ts +8 -13
  80. package/lib/engine/features/tolltip/newTooltip/newTooltipService.js +23 -26
  81. package/lib/engine/features/tolltip/tooltip.d.ts +11 -17
  82. package/lib/engine/features/tolltip/tooltip.js +142 -296
  83. package/lib/engine/features/tolltip/tooltipComponentsManager.d.ts +10 -21
  84. package/lib/engine/features/tolltip/tooltipComponentsManager.js +114 -113
  85. package/lib/engine/features/tolltip/tooltipDomHelper.d.ts +21 -43
  86. package/lib/engine/features/tolltip/tooltipDomHelper.js +120 -144
  87. package/lib/engine/features/tolltip/tooltipHelper.d.ts +9 -39
  88. package/lib/engine/features/tolltip/tooltipHelper.js +91 -114
  89. package/lib/engine/features/valueLabels/valueLabels.d.ts +38 -58
  90. package/lib/engine/features/valueLabels/valueLabels.js +170 -205
  91. package/lib/engine/features/valueLabels/valueLabelsHelper.d.ts +1 -7
  92. package/lib/engine/features/valueLabels/valueLabelsHelper.js +18 -23
  93. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.d.ts +15 -18
  94. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.js +47 -46
  95. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.d.ts +3 -6
  96. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.js +45 -49
  97. package/lib/engine/filterManager/filterEventManager.d.ts +30 -37
  98. package/lib/engine/filterManager/filterEventManager.js +131 -174
  99. package/lib/engine/helpers/domHelper.d.ts +20 -45
  100. package/lib/engine/helpers/domHelper.js +61 -62
  101. package/lib/engine/helpers/fontResizer/fontResizer.d.ts +10 -10
  102. package/lib/engine/helpers/fontResizer/fontResizer.js +16 -21
  103. package/lib/engine/helpers/fontResizer/fontResizerService.d.ts +1 -1
  104. package/lib/engine/helpers/fontResizer/fontResizerService.js +10 -9
  105. package/lib/engine/helpers/helper.d.ts +27 -27
  106. package/lib/engine/helpers/helper.js +92 -91
  107. package/lib/engine/helpers/namesHelper.d.ts +3 -3
  108. package/lib/engine/helpers/namesHelper.js +6 -6
  109. package/lib/engine/helpers/pipeline/Pipeline.d.ts +5 -5
  110. package/lib/engine/helpers/pipeline/Pipeline.js +33 -33
  111. package/lib/engine/polarNotation/donut/DonutHelper.d.ts +11 -25
  112. package/lib/engine/polarNotation/donut/DonutHelper.js +70 -71
  113. package/lib/engine/polarNotation/donut/donut.d.ts +23 -38
  114. package/lib/engine/polarNotation/donut/donut.js +99 -109
  115. package/lib/engine/polarNotation/polarManager.d.ts +6 -6
  116. package/lib/engine/polarNotation/polarManager.js +47 -67
  117. package/lib/engine/transitionManager.d.ts +14 -13
  118. package/lib/engine/transitionManager.js +49 -48
  119. package/lib/engine/twoDimensionalNotation/area/area.d.ts +28 -44
  120. package/lib/engine/twoDimensionalNotation/area/area.js +238 -272
  121. package/lib/engine/twoDimensionalNotation/area/areaGenerator.d.ts +5 -13
  122. package/lib/engine/twoDimensionalNotation/area/areaGenerator.js +13 -13
  123. package/lib/engine/twoDimensionalNotation/area/areaHelper.d.ts +4 -4
  124. package/lib/engine/twoDimensionalNotation/area/areaHelper.js +41 -57
  125. package/lib/engine/twoDimensionalNotation/bar/bar.d.ts +29 -54
  126. package/lib/engine/twoDimensionalNotation/bar/bar.js +224 -362
  127. package/lib/engine/twoDimensionalNotation/bar/barHelper.d.ts +32 -71
  128. package/lib/engine/twoDimensionalNotation/bar/barHelper.js +126 -162
  129. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.d.ts +6 -6
  130. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.js +24 -24
  131. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.d.ts +2 -2
  132. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.js +17 -16
  133. package/lib/engine/twoDimensionalNotation/dot/dotChart.d.ts +23 -23
  134. package/lib/engine/twoDimensionalNotation/dot/dotChart.js +114 -135
  135. package/lib/engine/twoDimensionalNotation/line/line.d.ts +16 -37
  136. package/lib/engine/twoDimensionalNotation/line/line.js +132 -162
  137. package/lib/engine/twoDimensionalNotation/line/lineBuilder.d.ts +11 -14
  138. package/lib/engine/twoDimensionalNotation/line/lineBuilder.js +48 -47
  139. package/lib/engine/twoDimensionalNotation/line/lineGenerator.d.ts +4 -4
  140. package/lib/engine/twoDimensionalNotation/line/lineGenerator.js +8 -8
  141. package/lib/engine/twoDimensionalNotation/line/lineHelper.d.ts +6 -12
  142. package/lib/engine/twoDimensionalNotation/line/lineHelper.js +60 -76
  143. package/lib/engine/twoDimensionalNotation/lineLike/generatorFactory/lineLikeGeneratorFactory.d.ts +6 -6
  144. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.d.ts +5 -5
  145. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.js +17 -16
  146. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.d.ts +10 -11
  147. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.js +7 -9
  148. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorMiddleware.d.ts +1 -3
  149. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.d.ts +10 -10
  150. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.js +138 -253
  151. package/lib/engine/valueFormatter.d.ts +3 -3
  152. package/lib/engine/valueFormatter.js +6 -6
  153. package/lib/main.d.ts +79 -82
  154. package/lib/main.js +84 -79
  155. package/lib/model/EventEmitter.d.ts +8 -8
  156. package/lib/model/EventEmitter.js +24 -24
  157. package/lib/model/chartStyleModel/chartStyleModel.d.ts +5 -5
  158. package/lib/model/chartStyleModel/chartStyleModel.js +25 -27
  159. package/lib/model/chartStyleModel/colorRange.d.ts +3 -3
  160. package/lib/model/chartStyleModel/colorRange.js +24 -19
  161. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.d.ts +12 -22
  162. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.js +60 -69
  163. package/lib/model/configsValidator/configValidator.d.ts +1 -1
  164. package/lib/model/configsValidator/configValidator.js +4 -4
  165. package/lib/model/dataManagerModel/dataManagerModel.d.ts +26 -36
  166. package/lib/model/dataManagerModel/dataManagerModel.js +128 -179
  167. package/lib/model/dataManagerModel/dataManagerModelService.d.ts +2 -2
  168. package/lib/model/dataManagerModel/dataManagerModelService.js +26 -25
  169. package/lib/model/featuresModel/axisModel.d.ts +18 -69
  170. package/lib/model/featuresModel/axisModel.js +169 -224
  171. package/lib/model/featuresModel/axisModelService.d.ts +6 -10
  172. package/lib/model/featuresModel/axisModelService.js +27 -27
  173. package/lib/model/featuresModel/legendModel/legendCanvasModel.d.ts +11 -16
  174. package/lib/model/featuresModel/legendModel/legendCanvasModel.js +59 -55
  175. package/lib/model/featuresModel/legendModel/legendModel.d.ts +3 -7
  176. package/lib/model/featuresModel/legendModel/legendModel.js +41 -59
  177. package/lib/model/featuresModel/legendModel/polarMarginCalculator.d.ts +3 -8
  178. package/lib/model/featuresModel/legendModel/polarMarginCalculator.js +20 -18
  179. package/lib/model/featuresModel/legendModel/twoDimLegendModel.d.ts +4 -8
  180. package/lib/model/featuresModel/legendModel/twoDimLegendModel.js +27 -40
  181. package/lib/model/featuresModel/otherComponents.d.ts +4 -7
  182. package/lib/model/featuresModel/otherComponents.js +9 -9
  183. package/lib/model/featuresModel/recordOverflowModel/recordOverflowModel.d.ts +4 -0
  184. package/lib/model/featuresModel/recordOverflowModel/recordOverflowModel.js +33 -0
  185. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.d.ts +6 -6
  186. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.js +23 -27
  187. package/lib/model/featuresModel/scaleModel/scaleDomainService.d.ts +5 -19
  188. package/lib/model/featuresModel/scaleModel/scaleDomainService.js +55 -44
  189. package/lib/model/featuresModel/scaleModel/scaleModel.d.ts +10 -10
  190. package/lib/model/featuresModel/scaleModel/scaleModel.js +50 -61
  191. package/lib/model/featuresModel/scaleModel/scaleModelServices.js +22 -15
  192. package/lib/model/featuresModel/titleModel.d.ts +1 -1
  193. package/lib/model/featuresModel/titleModel.js +14 -14
  194. package/lib/model/featuresModel/tooltipModel.d.ts +1 -1
  195. package/lib/model/featuresModel/tooltipModel.js +5 -5
  196. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.d.ts +11 -23
  197. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.js +51 -53
  198. package/lib/model/helpers/modelHelper.d.ts +7 -7
  199. package/lib/model/helpers/modelHelper.js +42 -38
  200. package/lib/model/helpers/twoDimensionalModelHelper.d.ts +9 -37
  201. package/lib/model/helpers/twoDimensionalModelHelper.js +125 -147
  202. package/lib/model/helpers/unitsFromConfigReader.js +4 -4
  203. package/lib/model/helpers/unitsReader.d.ts +2 -2
  204. package/lib/model/helpers/unitsReader.js +13 -11
  205. package/lib/model/margin/marginModel.d.ts +7 -7
  206. package/lib/model/margin/marginModel.js +20 -23
  207. package/lib/model/margin/twoDim/twoDimMarginModel.d.ts +13 -13
  208. package/lib/model/margin/twoDim/twoDimMarginModel.js +113 -184
  209. package/lib/model/model.d.ts +281 -315
  210. package/lib/model/model.js +4 -4
  211. package/lib/model/modelBuilder.d.ts +18 -27
  212. package/lib/model/modelBuilder.js +79 -85
  213. package/lib/model/modelInstance/canvasModel/canvasModel.d.ts +17 -17
  214. package/lib/model/modelInstance/canvasModel/canvasModel.js +43 -42
  215. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasMarginModel.d.ts +7 -7
  216. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasSizeModel.d.ts +2 -2
  217. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.d.ts +6 -6
  218. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.js +24 -24
  219. package/lib/model/modelInstance/canvasModel/legendCanvasModel.d.ts +4 -4
  220. package/lib/model/modelInstance/canvasModel/legendCanvasModel.js +11 -11
  221. package/lib/model/modelInstance/canvasModel/titleCanvas.d.ts +4 -4
  222. package/lib/model/modelInstance/canvasModel/titleCanvas.js +9 -9
  223. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.d.ts +3 -3
  224. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.js +6 -6
  225. package/lib/model/modelInstance/configReader.d.ts +23 -32
  226. package/lib/model/modelInstance/configReader.js +94 -125
  227. package/lib/model/modelInstance/dataModel/dataModel.d.ts +10 -10
  228. package/lib/model/modelInstance/dataModel/dataModel.js +25 -25
  229. package/lib/model/modelInstance/dataModel/dataRepository.d.ts +14 -14
  230. package/lib/model/modelInstance/dataModel/dataRepository.js +42 -42
  231. package/lib/model/modelInstance/modelInstance.d.ts +6 -11
  232. package/lib/model/modelInstance/modelInstance.js +16 -16
  233. package/lib/model/modelInstance/titleConfigReader.d.ts +8 -8
  234. package/lib/model/modelInstance/titleConfigReader.js +30 -37
  235. package/lib/model/notations/polar/donut/donutAggregatorService.d.ts +6 -9
  236. package/lib/model/notations/polar/donut/donutAggregatorService.js +37 -40
  237. package/lib/model/notations/polar/donut/donutModel.d.ts +5 -9
  238. package/lib/model/notations/polar/donut/donutModel.js +28 -28
  239. package/lib/model/notations/polar/donut/donutThicknessService.d.ts +3 -3
  240. package/lib/model/notations/polar/donut/donutThicknessService.js +15 -13
  241. package/lib/model/notations/polar/polarModel.d.ts +7 -18
  242. package/lib/model/notations/polar/polarModel.js +72 -79
  243. package/lib/model/notations/twoDimensional/styles.d.ts +7 -44
  244. package/lib/model/notations/twoDimensional/styles.js +125 -234
  245. package/lib/model/notations/twoDimensionalModel.d.ts +13 -23
  246. package/lib/model/notations/twoDimensionalModel.js +170 -330
  247. package/lib/optionsServices/publicOptionsService.d.ts +1 -1
  248. package/lib/optionsServices/publicOptionsService.js +4 -4
  249. package/lib/optionsServices/validators/sizeValidator.d.ts +2 -2
  250. package/lib/optionsServices/validators/sizeValidator.js +11 -10
  251. package/lib/style/charts-main.css +151 -150
  252. package/lib/style/charts-main.less +151 -150
  253. package/package.json +5 -5
  254. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.d.ts +0 -15
  255. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.js +0 -40
  256. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.d.ts +0 -15
  257. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.js +0 -32
@@ -9,229 +9,174 @@ 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(
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
- }
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
+ }
236
181
  }
237
182
  AxisModel.service = new AxisModelService();
@@ -1,16 +1,12 @@
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(
5
- chartBlockWidth: number,
6
- scopedDataLength: number,
7
- positionFromConfig?: AxisLabelPosition
8
- ): AxisLabelPosition;
4
+ getKeyAxisLabelPosition(chartBlockWidth: number, scopedDataLength: number, positionFromConfig?: AxisLabelPosition): AxisLabelPosition;
9
5
  }
10
6
  export declare class AxisModelTickCalculator {
11
- private readonly dataRows;
12
- private readonly rule?;
13
- private readonly defaultTickSpace;
14
- constructor(dataRows: MdtChartsDataRow[], rule?: MdtChartsShowAxisLabelRule);
15
- createFunctionCalculator(axisSize: number): ShowTickFn;
7
+ private readonly dataRows;
8
+ private readonly rule?;
9
+ private readonly defaultTickSpace;
10
+ constructor(dataRows: MdtChartsDataRow[], rule?: MdtChartsShowAxisLabelRule);
11
+ createFunctionCalculator(axisSize: number): ShowTickFn;
16
12
  }
@@ -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) return "rotated";
9
- return "straight";
10
- }
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
+ }
11
12
  }
12
13
  export class AxisModelTickCalculator {
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
- }
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
+ }
32
32
  }
@@ -2,22 +2,17 @@ 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(
17
- items: LegendItemContentOptions[],
18
- position: LegendPosition,
19
- legendBlockWidth: number,
20
- legendBlockHeight: number
21
- ): DataLegendParams;
22
- private static getLegendWrapperEl;
16
+ static findElementsAmountByLegendSize(items: LegendItemContentOptions[], position: LegendPosition, legendBlockWidth: number, legendBlockHeight: number): DataLegendParams;
17
+ private static getLegendWrapperEl;
23
18
  }