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
@@ -1,40 +1,12 @@
1
- import {
2
- ChartOrientation,
3
- MdtChartsDataRow,
4
- MdtChartsTwoDimensionalChart,
5
- MdtChartsTwoDimensionalValueLabels
6
- } from "../../config/config";
7
- import {
8
- GradientDef,
9
- MarkDotDatumItem,
10
- Orient,
11
- TwoDimensionalChartModel,
12
- TwoDimensionalValueLabels,
13
- ValueLabelsStyleModel
14
- } from "../model";
1
+ import { ChartOrientation, MdtChartsDataRow, MdtChartsTwoDimensionalChart, MdtChartsTwoDimensionalValueLabels } from "../../config/config";
2
+ import { GradientDef, MarkDotDatumItem, Orient, TwoDimensionalChartModel, TwoDimensionalValueLabels, ValueLabelsStyleModel } from "../model";
15
3
  import { CanvasModel } from "../modelInstance/canvasModel/canvasModel";
16
4
  export declare class TwoDimensionalModelHelper {
17
- static shouldMarkerShow(
18
- chart: MdtChartsTwoDimensionalChart,
19
- dataRows: MdtChartsDataRow[],
20
- valueFieldName: string,
21
- currentRow: MarkDotDatumItem,
22
- keyFieldName: string
23
- ): boolean;
24
- static getGradientDefs(
25
- charts: TwoDimensionalChartModel[],
26
- keyAxisOrient: Orient,
27
- chartOrient: ChartOrientation,
28
- chartBlockId: number
29
- ): GradientDef[];
30
- private static getGradientItems;
31
- private static calculateOpacityItem;
32
- private static getGradientItemColor;
33
- static getValueLabels(
34
- valueLabels: MdtChartsTwoDimensionalValueLabels,
35
- canvasModel: CanvasModel,
36
- chartOrientation: ChartOrientation,
37
- styleModel: ValueLabelsStyleModel
38
- ): TwoDimensionalValueLabels;
39
- private static getChartBlockSidesOptions;
5
+ static shouldMarkerShow(chart: MdtChartsTwoDimensionalChart, dataRows: MdtChartsDataRow[], valueFieldName: string, currentRow: MarkDotDatumItem, keyFieldName: string): boolean;
6
+ static getGradientDefs(charts: TwoDimensionalChartModel[], keyAxisOrient: Orient, chartOrient: ChartOrientation, chartBlockId: number): GradientDef[];
7
+ private static getGradientItems;
8
+ private static calculateOpacityItem;
9
+ private static getGradientItemColor;
10
+ static getValueLabels(valueLabels: MdtChartsTwoDimensionalValueLabels, canvasModel: CanvasModel, chartOrientation: ChartOrientation, styleModel: ValueLabelsStyleModel): TwoDimensionalValueLabels;
11
+ private static getChartBlockSidesOptions;
40
12
  }
@@ -1,150 +1,128 @@
1
1
  import { getGradientId } from "../../model/notations/twoDimensional/styles";
2
- import {
3
- hasCollisionBottomSide,
4
- hasCollisionLeftSide,
5
- hasCollisionRightSide,
6
- hasCollisionTopSide,
7
- shiftCoordinateXLeft,
8
- shiftCoordinateXRight,
9
- shiftCoordinateYBottom,
10
- shiftCoordinateYTop
11
- } from "../featuresModel/valueLabelsModel/valueLabelsModel";
2
+ import { hasCollisionBottomSide, hasCollisionLeftSide, hasCollisionRightSide, hasCollisionTopSide, shiftCoordinateXLeft, shiftCoordinateXRight, shiftCoordinateYBottom, shiftCoordinateYTop } from "../featuresModel/valueLabelsModel/valueLabelsModel";
12
3
  export class TwoDimensionalModelHelper {
13
- static shouldMarkerShow(chart, dataRows, valueFieldName, currentRow, keyFieldName) {
14
- if (chart.markers.show || dataRows.length === 1) return true;
15
- const rowIndex = dataRows.findIndex((row) => row[keyFieldName] === currentRow[keyFieldName]);
16
- if (rowIndex === -1) return false;
17
- const isFirst = rowIndex === 0;
18
- const isLast = rowIndex === dataRows.length - 1;
19
- const previousRow = dataRows[rowIndex - 1];
20
- const nextRow = dataRows[rowIndex + 1];
21
- const hasNullNeighborsRows =
22
- !isFirst &&
23
- !isLast &&
24
- (previousRow === null || previousRow === void 0 ? void 0 : previousRow[valueFieldName]) === null &&
25
- (nextRow === null || nextRow === void 0 ? void 0 : nextRow[valueFieldName]) === null;
26
- return (
27
- (isFirst && (nextRow === null || nextRow === void 0 ? void 0 : nextRow[valueFieldName]) === null) ||
28
- (isLast &&
29
- (previousRow === null || previousRow === void 0 ? void 0 : previousRow[valueFieldName]) === null) ||
30
- hasNullNeighborsRows
31
- );
32
- }
33
- static getGradientDefs(charts, keyAxisOrient, chartOrient, chartBlockId) {
34
- let gradients = [];
35
- charts.forEach((chart) => {
36
- var _a;
37
- if (chart.type === "area" && chart.areaViewOptions.fill.type === "gradient") {
38
- (_a = chart.style.elementColors) === null || _a === void 0
39
- ? void 0
40
- : _a.forEach((elementColor, subIndex) => {
41
- const gradientId = getGradientId(chart.index, subIndex, chartBlockId);
42
- gradients.push({
43
- id: gradientId,
44
- position: {
45
- x1: 0,
46
- y1: 0,
47
- x2: chartOrient === "horizontal" ? 1 : 0,
48
- y2: chartOrient === "horizontal" ? 0 : 1
49
- },
50
- items: this.getGradientItems(gradientId, elementColor, keyAxisOrient)
51
- });
52
- });
53
- }
54
- });
55
- return gradients;
56
- }
57
- static getGradientItems(gradientId, elementColor, keyAxisOrient) {
58
- return [0, 1].map((itemIndex) => ({
59
- id: gradientId + `-item-${itemIndex}`,
60
- color: this.getGradientItemColor(itemIndex, keyAxisOrient, elementColor),
61
- offset: itemIndex,
62
- opacity: this.calculateOpacityItem(itemIndex, keyAxisOrient)
63
- }));
64
- }
65
- static calculateOpacityItem(itemIndex, orientation) {
66
- const maxOpacity = 0.3;
67
- const minOpacity = 0;
68
- if (orientation === "bottom" || orientation === "right") return itemIndex === 0 ? maxOpacity : minOpacity;
69
- else return itemIndex === 0 ? minOpacity : maxOpacity;
70
- }
71
- static getGradientItemColor(itemIndex, orientation, elementColor) {
72
- const maxColor = elementColor;
73
- const minColor = "white";
74
- if (orientation === "bottom" || orientation === "right") return itemIndex === 0 ? maxColor : minColor;
75
- else return itemIndex === 0 ? minColor : maxColor;
76
- }
77
- static getValueLabels(valueLabels, canvasModel, chartOrientation, styleModel) {
78
- var _a, _b;
79
- const blockSidesOptions = this.getChartBlockSidesOptions(canvasModel);
80
- const chartBlockConfig = {
81
- vertical: {
82
- left: {
83
- mode: "shift",
84
- hasCollision: blockSidesOptions.hasCollisionLeft,
85
- shiftCoordinate: blockSidesOptions.shiftToRight
86
- },
87
- right: {
88
- mode: "shift",
89
- hasCollision: blockSidesOptions.hasCollisionRight,
90
- shiftCoordinate: blockSidesOptions.shiftToLeft
91
- },
92
- top: {
93
- mode: "none"
94
- },
95
- bottom: {
96
- mode: "none"
97
- }
98
- },
99
- horizontal: {
100
- left: {
101
- mode: "none"
102
- },
103
- right: {
104
- mode: "none"
105
- },
106
- top: {
107
- mode: "shift",
108
- hasCollision: blockSidesOptions.hasCollisionTop,
109
- shiftCoordinate: blockSidesOptions.shiftBottom
110
- },
111
- bottom: {
112
- mode: "shift",
113
- hasCollision: blockSidesOptions.hasCollisionBottom,
114
- shiftCoordinate: blockSidesOptions.shiftTop
115
- }
116
- }
117
- };
118
- return {
119
- collision: {
120
- otherValueLables:
121
- (_b =
122
- (_a = valueLabels === null || valueLabels === void 0 ? void 0 : valueLabels.collision) ===
123
- null || _a === void 0
124
- ? void 0
125
- : _a.otherValueLabels) !== null && _b !== void 0
126
- ? _b
127
- : {
128
- mode: "none"
129
- },
130
- chartBlock: chartBlockConfig[chartOrientation]
131
- },
132
- style: styleModel
133
- };
134
- }
135
- static getChartBlockSidesOptions(canvasModel) {
136
- return {
137
- hasCollisionLeft: (labelClientRect) => hasCollisionLeftSide(labelClientRect, canvasModel.getMargin()),
138
- shiftToLeft: (labelClientRect) =>
139
- shiftCoordinateXLeft(labelClientRect, canvasModel.getBlockSize(), canvasModel.getMargin()),
140
- hasCollisionRight: (labelClientRect) =>
141
- hasCollisionRightSide(labelClientRect, canvasModel.getBlockSize(), canvasModel.getMargin()),
142
- shiftToRight: (labelClientRect) => shiftCoordinateXRight(labelClientRect, canvasModel.getMargin()),
143
- hasCollisionTop: (labelClientRect) => hasCollisionTopSide(labelClientRect, canvasModel.getMargin()),
144
- shiftTop: (labelClientRect) => shiftCoordinateYTop(labelClientRect),
145
- hasCollisionBottom: (labelClientRect) =>
146
- hasCollisionBottomSide(labelClientRect, canvasModel.getBlockSize(), canvasModel.getMargin()),
147
- shiftBottom: (labelClientRect) => shiftCoordinateYBottom(labelClientRect)
148
- };
149
- }
4
+ static shouldMarkerShow(chart, dataRows, valueFieldName, currentRow, keyFieldName) {
5
+ if (chart.markers.show || dataRows.length === 1)
6
+ return true;
7
+ const rowIndex = dataRows.findIndex((row) => row[keyFieldName] === currentRow[keyFieldName]);
8
+ if (rowIndex === -1)
9
+ return false;
10
+ const isFirst = rowIndex === 0;
11
+ const isLast = rowIndex === dataRows.length - 1;
12
+ const previousRow = dataRows[rowIndex - 1];
13
+ const nextRow = dataRows[rowIndex + 1];
14
+ const hasNullNeighborsRows = !isFirst && !isLast && (previousRow === null || previousRow === void 0 ? void 0 : previousRow[valueFieldName]) === null && (nextRow === null || nextRow === void 0 ? void 0 : nextRow[valueFieldName]) === null;
15
+ return ((isFirst && (nextRow === null || nextRow === void 0 ? void 0 : nextRow[valueFieldName]) === null) ||
16
+ (isLast && (previousRow === null || previousRow === void 0 ? void 0 : previousRow[valueFieldName]) === null) ||
17
+ hasNullNeighborsRows);
18
+ }
19
+ static getGradientDefs(charts, keyAxisOrient, chartOrient, chartBlockId) {
20
+ let gradients = [];
21
+ charts.forEach((chart) => {
22
+ var _a;
23
+ if (chart.type === "area" && chart.areaViewOptions.fill.type === "gradient") {
24
+ (_a = chart.style.elementColors) === null || _a === void 0 ? void 0 : _a.forEach((elementColor, subIndex) => {
25
+ const gradientId = getGradientId(chart.index, subIndex, chartBlockId);
26
+ gradients.push({
27
+ id: gradientId,
28
+ position: {
29
+ x1: 0,
30
+ y1: 0,
31
+ x2: chartOrient === "horizontal" ? 1 : 0,
32
+ y2: chartOrient === "horizontal" ? 0 : 1
33
+ },
34
+ items: this.getGradientItems(gradientId, elementColor, keyAxisOrient)
35
+ });
36
+ });
37
+ }
38
+ });
39
+ return gradients;
40
+ }
41
+ static getGradientItems(gradientId, elementColor, keyAxisOrient) {
42
+ return [0, 1].map((itemIndex) => ({
43
+ id: gradientId + `-item-${itemIndex}`,
44
+ color: this.getGradientItemColor(itemIndex, keyAxisOrient, elementColor),
45
+ offset: itemIndex,
46
+ opacity: this.calculateOpacityItem(itemIndex, keyAxisOrient)
47
+ }));
48
+ }
49
+ static calculateOpacityItem(itemIndex, orientation) {
50
+ const maxOpacity = 0.3;
51
+ const minOpacity = 0;
52
+ if (orientation === "bottom" || orientation === "right")
53
+ return itemIndex === 0 ? maxOpacity : minOpacity;
54
+ else
55
+ return itemIndex === 0 ? minOpacity : maxOpacity;
56
+ }
57
+ static getGradientItemColor(itemIndex, orientation, elementColor) {
58
+ const maxColor = elementColor;
59
+ const minColor = "white";
60
+ if (orientation === "bottom" || orientation === "right")
61
+ return itemIndex === 0 ? maxColor : minColor;
62
+ else
63
+ return itemIndex === 0 ? minColor : maxColor;
64
+ }
65
+ static getValueLabels(valueLabels, canvasModel, chartOrientation, styleModel) {
66
+ var _a, _b;
67
+ const blockSidesOptions = this.getChartBlockSidesOptions(canvasModel);
68
+ const chartBlockConfig = {
69
+ vertical: {
70
+ left: {
71
+ mode: "shift",
72
+ hasCollision: blockSidesOptions.hasCollisionLeft,
73
+ shiftCoordinate: blockSidesOptions.shiftToRight
74
+ },
75
+ right: {
76
+ mode: "shift",
77
+ hasCollision: blockSidesOptions.hasCollisionRight,
78
+ shiftCoordinate: blockSidesOptions.shiftToLeft
79
+ },
80
+ top: {
81
+ mode: "none"
82
+ },
83
+ bottom: {
84
+ mode: "none"
85
+ }
86
+ },
87
+ horizontal: {
88
+ left: {
89
+ mode: "none"
90
+ },
91
+ right: {
92
+ mode: "none"
93
+ },
94
+ top: {
95
+ mode: "shift",
96
+ hasCollision: blockSidesOptions.hasCollisionTop,
97
+ shiftCoordinate: blockSidesOptions.shiftBottom
98
+ },
99
+ bottom: {
100
+ mode: "shift",
101
+ hasCollision: blockSidesOptions.hasCollisionBottom,
102
+ shiftCoordinate: blockSidesOptions.shiftTop
103
+ }
104
+ }
105
+ };
106
+ return {
107
+ collision: {
108
+ otherValueLables: (_b = (_a = valueLabels === null || valueLabels === void 0 ? void 0 : valueLabels.collision) === null || _a === void 0 ? void 0 : _a.otherValueLabels) !== null && _b !== void 0 ? _b : {
109
+ mode: "none"
110
+ },
111
+ chartBlock: chartBlockConfig[chartOrientation]
112
+ },
113
+ style: styleModel
114
+ };
115
+ }
116
+ static getChartBlockSidesOptions(canvasModel) {
117
+ return {
118
+ hasCollisionLeft: (labelClientRect) => hasCollisionLeftSide(labelClientRect, canvasModel.getMargin()),
119
+ shiftToLeft: (labelClientRect) => shiftCoordinateXLeft(labelClientRect, canvasModel.getBlockSize(), canvasModel.getMargin()),
120
+ hasCollisionRight: (labelClientRect) => hasCollisionRightSide(labelClientRect, canvasModel.getBlockSize(), canvasModel.getMargin()),
121
+ shiftToRight: (labelClientRect) => shiftCoordinateXRight(labelClientRect, canvasModel.getMargin()),
122
+ hasCollisionTop: (labelClientRect) => hasCollisionTopSide(labelClientRect, canvasModel.getMargin()),
123
+ shiftTop: (labelClientRect) => shiftCoordinateYTop(labelClientRect),
124
+ hasCollisionBottom: (labelClientRect) => hasCollisionBottomSide(labelClientRect, canvasModel.getBlockSize(), canvasModel.getMargin()),
125
+ shiftBottom: (labelClientRect) => shiftCoordinateYBottom(labelClientRect)
126
+ };
127
+ }
150
128
  }
@@ -1,7 +1,7 @@
1
1
  import { UnitsReader } from "./unitsReader";
2
2
  export function getPxPercentUnitByValue(value) {
3
- const unitsReader = new UnitsReader();
4
- const defaultUnit = "px";
5
- const units = ["%", "px"];
6
- return unitsReader.getUnitByValue(value, defaultUnit, units);
3
+ const unitsReader = new UnitsReader();
4
+ const defaultUnit = "px";
5
+ const units = ["%", "px"];
6
+ return unitsReader.getUnitByValue(value, defaultUnit, units);
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { UnitsFromConfig } from "../model";
2
2
  export declare class UnitsReader {
3
- getUnitByValue<T extends string = UnitsFromConfig>(value: string | number, defaultUnit: T, units: T[]): T;
4
- private getLastUnitFromString;
3
+ getUnitByValue<T extends string = UnitsFromConfig>(value: string | number, defaultUnit: T, units: T[]): T;
4
+ private getLastUnitFromString;
5
5
  }
@@ -1,13 +1,15 @@
1
1
  export class UnitsReader {
2
- getUnitByValue(value, defaultUnit, units) {
3
- if (typeof value !== "string") return defaultUnit;
4
- return this.getLastUnitFromString(value, units) || defaultUnit;
5
- }
6
- getLastUnitFromString(value, units) {
7
- let resultUnit = null;
8
- units.forEach((unit) => {
9
- if (value.endsWith(unit)) resultUnit = unit;
10
- });
11
- return resultUnit;
12
- }
2
+ getUnitByValue(value, defaultUnit, units) {
3
+ if (typeof value !== "string")
4
+ return defaultUnit;
5
+ return this.getLastUnitFromString(value, units) || defaultUnit;
6
+ }
7
+ getLastUnitFromString(value, units) {
8
+ let resultUnit = null;
9
+ units.forEach((unit) => {
10
+ if (value.endsWith(unit))
11
+ resultUnit = unit;
12
+ });
13
+ return resultUnit;
14
+ }
13
15
  }
@@ -3,11 +3,11 @@ import { DesignerConfig } from "../../designer/designerConfig";
3
3
  import { OtherCommonComponents } from "../model";
4
4
  import { ModelInstance } from "../modelInstance/modelInstance";
5
5
  export declare class MarginModel {
6
- private designerConfig;
7
- private config;
8
- private twoDimModel;
9
- constructor(designerConfig: DesignerConfig, config: MdtChartsConfig);
10
- initMargin(otherComponents: OtherCommonComponents, modelInstance: ModelInstance): void;
11
- recalcMarginByVerticalAxisLabel(modelInstance: ModelInstance): void;
12
- private recalcMarginByTitle;
6
+ private designerConfig;
7
+ private config;
8
+ private twoDimModel;
9
+ constructor(designerConfig: DesignerConfig, config: MdtChartsConfig);
10
+ initMargin(otherComponents: OtherCommonComponents, modelInstance: ModelInstance): void;
11
+ recalcMarginByVerticalAxisLabel(modelInstance: ModelInstance): void;
12
+ private recalcMarginByTitle;
13
13
  }
@@ -1,27 +1,24 @@
1
1
  import { TwoDimMarginModel } from "./twoDim/twoDimMarginModel";
2
2
  import { TwoDimConfigReader } from "../modelInstance/configReader";
3
3
  export class MarginModel {
4
- constructor(designerConfig, config) {
5
- this.designerConfig = designerConfig;
6
- this.config = config;
7
- //TODO: ensure
8
- this.twoDimModel = new TwoDimMarginModel(
9
- this.designerConfig,
10
- new TwoDimConfigReader(this.config, this.designerConfig)
11
- );
12
- }
13
- initMargin(otherComponents, modelInstance) {
14
- const canvasModel = modelInstance.canvasModel;
15
- canvasModel.initMargin(Object.assign({}, this.designerConfig.canvas.chartBlockMargin));
16
- this.recalcMarginByTitle(canvasModel);
17
- if (this.config.options.type === "2d") {
18
- this.twoDimModel.recalcMargin(otherComponents, modelInstance);
19
- }
20
- }
21
- recalcMarginByVerticalAxisLabel(modelInstance) {
22
- this.twoDimModel.recalcMarginByVerticalAxisLabel(modelInstance);
23
- }
24
- recalcMarginByTitle(canvasModel) {
25
- canvasModel.increaseMarginSide("top", canvasModel.titleCanvas.getAllNeededSpace());
26
- }
4
+ constructor(designerConfig, config) {
5
+ this.designerConfig = designerConfig;
6
+ this.config = config;
7
+ //TODO: ensure
8
+ this.twoDimModel = new TwoDimMarginModel(this.designerConfig, new TwoDimConfigReader(this.config, this.designerConfig));
9
+ }
10
+ initMargin(otherComponents, modelInstance) {
11
+ const canvasModel = modelInstance.canvasModel;
12
+ canvasModel.initMargin(Object.assign({}, this.designerConfig.canvas.chartBlockMargin));
13
+ this.recalcMarginByTitle(canvasModel);
14
+ if (this.config.options.type === "2d") {
15
+ this.twoDimModel.recalcMargin(otherComponents, modelInstance);
16
+ }
17
+ }
18
+ recalcMarginByVerticalAxisLabel(modelInstance) {
19
+ this.twoDimModel.recalcMarginByVerticalAxisLabel(modelInstance);
20
+ }
21
+ recalcMarginByTitle(canvasModel) {
22
+ canvasModel.increaseMarginSide("top", canvasModel.titleCanvas.getAllNeededSpace());
23
+ }
27
24
  }
@@ -5,17 +5,17 @@ import { ModelInstance } from "../../modelInstance/modelInstance";
5
5
  export declare const AXIS_HORIZONTAL_LABEL_PADDING = 12;
6
6
  export declare const AXIS_VERTICAL_LABEL_PADDING = 8;
7
7
  export declare class TwoDimMarginModel {
8
- private designerConfig;
9
- private configReader;
10
- private twoDimLegendModel;
11
- constructor(designerConfig: DesignerConfig, configReader: TwoDimConfigReader);
12
- recalcMargin(otherComponents: OtherCommonComponents, modelInstance: ModelInstance): void;
13
- recalcMarginByVerticalAxisLabel(modelInstance: ModelInstance): void;
14
- private getMaxLabelSize;
15
- private getMaxLabelSizeSecondary;
16
- private recalcVerticalMarginByAxisLabelHeight;
17
- private recalcHorizontalMarginByAxisLabelWidth;
18
- private recalcMarginBySecondaryAxisLabelSize;
19
- private recalcVerticalMarginWithValueLabelsOn;
20
- private getValueAxisLabels;
8
+ private designerConfig;
9
+ private configReader;
10
+ private twoDimLegendModel;
11
+ constructor(designerConfig: DesignerConfig, configReader: TwoDimConfigReader);
12
+ recalcMargin(otherComponents: OtherCommonComponents, modelInstance: ModelInstance): void;
13
+ recalcMarginByVerticalAxisLabel(modelInstance: ModelInstance): void;
14
+ private getMaxLabelSize;
15
+ private getMaxLabelSizeSecondary;
16
+ private recalcVerticalMarginByAxisLabelHeight;
17
+ private recalcHorizontalMarginByAxisLabelWidth;
18
+ private recalcMarginBySecondaryAxisLabelSize;
19
+ private recalcVerticalMarginWithValueLabelsOn;
20
+ private getValueAxisLabels;
21
21
  }