mdt-charts 1.28.2 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/lib/config/config.d.ts +164 -165
  2. package/lib/designer/designerConfig.d.ts +62 -59
  3. package/lib/engine/block/block.d.ts +22 -16
  4. package/lib/engine/block/block.js +51 -51
  5. package/lib/engine/block/blockHelper.d.ts +6 -6
  6. package/lib/engine/block/blockHelper.js +16 -16
  7. package/lib/engine/block/blockHtml.d.ts +8 -8
  8. package/lib/engine/block/blockHtml.js +15 -15
  9. package/lib/engine/block/blockSvg.d.ts +20 -20
  10. package/lib/engine/block/blockSvg.js +65 -66
  11. package/lib/engine/block/defs/LinearGradientDef.d.ts +2 -2
  12. package/lib/engine/block/defs/LinearGradientDef.js +27 -27
  13. package/lib/engine/block/defs/hatchPattern.d.ts +4 -4
  14. package/lib/engine/block/defs/hatchPattern.js +9 -9
  15. package/lib/engine/colorReader/colorReader.d.ts +5 -5
  16. package/lib/engine/colorReader/colorReader.js +18 -18
  17. package/lib/engine/contentManager/contentManager.d.ts +6 -6
  18. package/lib/engine/contentManager/contentManager.js +15 -15
  19. package/lib/engine/contentManager/contentManagerFactory.d.ts +6 -6
  20. package/lib/engine/contentManager/contentManagerFactory.js +12 -12
  21. package/lib/engine/elementHighlighter/elementHighlighter.d.ts +70 -22
  22. package/lib/engine/elementHighlighter/elementHighlighter.js +230 -181
  23. package/lib/engine/elementHighlighter/selectHighlighter.d.ts +29 -4
  24. package/lib/engine/elementHighlighter/selectHighlighter.js +189 -87
  25. package/lib/engine/engine.d.ts +16 -16
  26. package/lib/engine/engine.js +87 -62
  27. package/lib/engine/features/aggregator/aggregator.d.ts +24 -17
  28. package/lib/engine/features/aggregator/aggregator.js +113 -102
  29. package/lib/engine/features/axis/axis.d.ts +22 -9
  30. package/lib/engine/features/axis/axis.js +159 -150
  31. package/lib/engine/features/axis/axisDomHelper.d.ts +7 -2
  32. package/lib/engine/features/axis/axisDomHelper.js +19 -20
  33. package/lib/engine/features/axis/axisHelper.d.ts +9 -5
  34. package/lib/engine/features/axis/axisHelper.js +28 -33
  35. package/lib/engine/features/axis/axisLabelDomHelper.d.ts +26 -11
  36. package/lib/engine/features/axis/axisLabelDomHelper.js +156 -152
  37. package/lib/engine/features/axis/axisLabelsEventManager.d.ts +2 -2
  38. package/lib/engine/features/axis/axisLabelsEventManager.js +32 -32
  39. package/lib/engine/features/embeddedLabels/embeddedLabels.d.ts +51 -16
  40. package/lib/engine/features/embeddedLabels/embeddedLabels.js +234 -134
  41. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.d.ts +13 -2
  42. package/lib/engine/features/embeddedLabels/embeddedLabelsDomHelper.js +20 -23
  43. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.d.ts +32 -15
  44. package/lib/engine/features/embeddedLabels/embeddedLabelsHelper.js +56 -63
  45. package/lib/engine/features/gridLine/gidLineHelper.d.ts +13 -7
  46. package/lib/engine/features/gridLine/gidLineHelper.js +42 -49
  47. package/lib/engine/features/gridLine/gridLine.d.ts +19 -5
  48. package/lib/engine/features/gridLine/gridLine.js +35 -36
  49. package/lib/engine/features/legend/legend.d.ts +38 -29
  50. package/lib/engine/features/legend/legend.js +117 -92
  51. package/lib/engine/features/legend/legendDomHelper.d.ts +13 -6
  52. package/lib/engine/features/legend/legendDomHelper.js +63 -62
  53. package/lib/engine/features/legend/legendEventsManager.d.ts +13 -8
  54. package/lib/engine/features/legend/legendEventsManager.js +48 -47
  55. package/lib/engine/features/legend/legendHelper.d.ts +39 -14
  56. package/lib/engine/features/legend/legendHelper.js +98 -93
  57. package/lib/engine/features/legend/legendHelperService.d.ts +13 -6
  58. package/lib/engine/features/legend/legendHelperService.js +24 -25
  59. package/lib/engine/features/legend/legendMarkerCreator.d.ts +18 -9
  60. package/lib/engine/features/legend/legendMarkerCreator.js +79 -76
  61. package/lib/engine/features/legend/legendWidthCalculator.d.ts +7 -7
  62. package/lib/engine/features/legend/legendWidthCalculator.js +126 -122
  63. package/lib/engine/features/markDots/markDot.d.ts +42 -15
  64. package/lib/engine/features/markDots/markDot.js +101 -70
  65. package/lib/engine/features/markDots/markDotsHelper.d.ts +8 -1
  66. package/lib/engine/features/markDots/markDotsHelper.js +13 -12
  67. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.d.ts +17 -17
  68. package/lib/engine/features/recordOverflowAlert/recordOverflowAlertCore.js +42 -47
  69. package/lib/engine/features/scale/scale.d.ts +17 -12
  70. package/lib/engine/features/scale/scale.js +76 -69
  71. package/lib/engine/features/tipBox/tipBox.d.ts +9 -5
  72. package/lib/engine/features/tipBox/tipBox.js +24 -24
  73. package/lib/engine/features/tipBox/tipBoxHelper.d.ts +16 -9
  74. package/lib/engine/features/tipBox/tipBoxHelper.js +60 -45
  75. package/lib/engine/features/title/title.d.ts +6 -6
  76. package/lib/engine/features/title/title.js +34 -35
  77. package/lib/engine/features/tolltip/newTooltip/newTooltip.d.ts +15 -11
  78. package/lib/engine/features/tolltip/newTooltip/newTooltip.js +21 -21
  79. package/lib/engine/features/tolltip/newTooltip/newTooltipService.d.ts +13 -8
  80. package/lib/engine/features/tolltip/newTooltip/newTooltipService.js +26 -23
  81. package/lib/engine/features/tolltip/tooltip.d.ts +17 -11
  82. package/lib/engine/features/tolltip/tooltip.js +296 -142
  83. package/lib/engine/features/tolltip/tooltipComponentsManager.d.ts +21 -10
  84. package/lib/engine/features/tolltip/tooltipComponentsManager.js +113 -114
  85. package/lib/engine/features/tolltip/tooltipDomHelper.d.ts +43 -21
  86. package/lib/engine/features/tolltip/tooltipDomHelper.js +144 -120
  87. package/lib/engine/features/tolltip/tooltipHelper.d.ts +39 -9
  88. package/lib/engine/features/tolltip/tooltipHelper.js +114 -91
  89. package/lib/engine/features/valueLabels/valueLabels.d.ts +58 -38
  90. package/lib/engine/features/valueLabels/valueLabels.js +205 -169
  91. package/lib/engine/features/valueLabels/valueLabelsHelper.d.ts +7 -1
  92. package/lib/engine/features/valueLabels/valueLabelsHelper.js +23 -18
  93. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.d.ts +18 -15
  94. package/lib/engine/features/valueLabelsCollision/valueLabelsCollision.js +46 -47
  95. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.d.ts +6 -3
  96. package/lib/engine/features/valueLabelsCollision/valueLabelsCollisionHelper.js +49 -45
  97. package/lib/engine/filterManager/filterEventManager.d.ts +37 -26
  98. package/lib/engine/filterManager/filterEventManager.js +174 -129
  99. package/lib/engine/helpers/domHelper.d.ts +45 -20
  100. package/lib/engine/helpers/domHelper.js +62 -61
  101. package/lib/engine/helpers/fontResizer/fontResizer.d.ts +10 -10
  102. package/lib/engine/helpers/fontResizer/fontResizer.js +21 -16
  103. package/lib/engine/helpers/fontResizer/fontResizerService.d.ts +1 -1
  104. package/lib/engine/helpers/fontResizer/fontResizerService.js +9 -10
  105. package/lib/engine/helpers/helper.d.ts +27 -27
  106. package/lib/engine/helpers/helper.js +91 -92
  107. package/lib/engine/helpers/namesHelper.d.ts +3 -3
  108. package/lib/engine/helpers/namesHelper.js +6 -6
  109. package/lib/engine/helpers/pipeline/Pipeline.d.ts +5 -5
  110. package/lib/engine/helpers/pipeline/Pipeline.js +33 -33
  111. package/lib/engine/polarNotation/donut/DonutHelper.d.ts +25 -11
  112. package/lib/engine/polarNotation/donut/DonutHelper.js +71 -70
  113. package/lib/engine/polarNotation/donut/donut.d.ts +38 -23
  114. package/lib/engine/polarNotation/donut/donut.js +109 -99
  115. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.d.ts +7 -7
  116. package/lib/engine/polarNotation/extenders/polarRecordOverflowAlert.js +36 -36
  117. package/lib/engine/polarNotation/polarManager.d.ts +5 -5
  118. package/lib/engine/polarNotation/polarManager.js +66 -52
  119. package/lib/engine/transitionManager.d.ts +13 -14
  120. package/lib/engine/transitionManager.js +48 -49
  121. package/lib/engine/twoDimensionalNotation/area/area.d.ts +44 -28
  122. package/lib/engine/twoDimensionalNotation/area/area.js +272 -238
  123. package/lib/engine/twoDimensionalNotation/area/areaGenerator.d.ts +13 -5
  124. package/lib/engine/twoDimensionalNotation/area/areaGenerator.js +13 -13
  125. package/lib/engine/twoDimensionalNotation/area/areaHelper.d.ts +4 -4
  126. package/lib/engine/twoDimensionalNotation/area/areaHelper.js +57 -41
  127. package/lib/engine/twoDimensionalNotation/bar/bar.d.ts +54 -29
  128. package/lib/engine/twoDimensionalNotation/bar/bar.js +362 -224
  129. package/lib/engine/twoDimensionalNotation/bar/barHelper.d.ts +71 -32
  130. package/lib/engine/twoDimensionalNotation/bar/barHelper.js +162 -126
  131. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.d.ts +6 -6
  132. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStacker.js +24 -24
  133. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.d.ts +2 -2
  134. package/lib/engine/twoDimensionalNotation/bar/stackedData/dataStackerService.js +16 -17
  135. package/lib/engine/twoDimensionalNotation/dot/dotChart.d.ts +23 -23
  136. package/lib/engine/twoDimensionalNotation/dot/dotChart.js +135 -114
  137. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.d.ts +7 -7
  138. package/lib/engine/twoDimensionalNotation/extenders/twoDimRecordOverflowAlert.js +28 -28
  139. package/lib/engine/twoDimensionalNotation/line/line.d.ts +37 -16
  140. package/lib/engine/twoDimensionalNotation/line/line.js +162 -132
  141. package/lib/engine/twoDimensionalNotation/line/lineBuilder.d.ts +14 -11
  142. package/lib/engine/twoDimensionalNotation/line/lineBuilder.js +47 -48
  143. package/lib/engine/twoDimensionalNotation/line/lineGenerator.d.ts +4 -4
  144. package/lib/engine/twoDimensionalNotation/line/lineGenerator.js +8 -8
  145. package/lib/engine/twoDimensionalNotation/line/lineHelper.d.ts +12 -6
  146. package/lib/engine/twoDimensionalNotation/line/lineHelper.js +76 -60
  147. package/lib/engine/twoDimensionalNotation/lineLike/generatorFactory/lineLikeGeneratorFactory.d.ts +6 -6
  148. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.d.ts +5 -5
  149. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware.js +16 -17
  150. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.d.ts +11 -10
  151. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware.js +9 -7
  152. package/lib/engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorMiddleware.d.ts +3 -1
  153. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.d.ts +9 -9
  154. package/lib/engine/twoDimensionalNotation/twoDimensionalManager.js +252 -143
  155. package/lib/engine/valueFormatter.d.ts +3 -3
  156. package/lib/engine/valueFormatter.js +6 -6
  157. package/lib/main.d.ts +82 -75
  158. package/lib/main.js +79 -84
  159. package/lib/model/EventEmitter.d.ts +8 -8
  160. package/lib/model/EventEmitter.js +24 -24
  161. package/lib/model/chartStyleModel/chartStyleModel.d.ts +5 -5
  162. package/lib/model/chartStyleModel/chartStyleModel.js +27 -25
  163. package/lib/model/chartStyleModel/colorRange.d.ts +3 -3
  164. package/lib/model/chartStyleModel/colorRange.js +19 -24
  165. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.d.ts +22 -12
  166. package/lib/model/chartStyleModel/twoDimensionalChartStyleModel.js +69 -60
  167. package/lib/model/configsValidator/configValidator.d.ts +1 -1
  168. package/lib/model/configsValidator/configValidator.js +4 -4
  169. package/lib/model/dataManagerModel/dataManagerModel.d.ts +36 -26
  170. package/lib/model/dataManagerModel/dataManagerModel.js +179 -128
  171. package/lib/model/dataManagerModel/dataManagerModelService.d.ts +2 -2
  172. package/lib/model/dataManagerModel/dataManagerModelService.js +25 -26
  173. package/lib/model/featuresModel/axisModel.d.ts +69 -18
  174. package/lib/model/featuresModel/axisModel.js +224 -169
  175. package/lib/model/featuresModel/axisModelService.d.ts +10 -6
  176. package/lib/model/featuresModel/axisModelService.js +27 -27
  177. package/lib/model/featuresModel/legendModel/legendCanvasModel.d.ts +16 -11
  178. package/lib/model/featuresModel/legendModel/legendCanvasModel.js +55 -59
  179. package/lib/model/featuresModel/legendModel/legendModel.d.ts +7 -3
  180. package/lib/model/featuresModel/legendModel/legendModel.js +59 -41
  181. package/lib/model/featuresModel/legendModel/polarMarginCalculator.d.ts +8 -3
  182. package/lib/model/featuresModel/legendModel/polarMarginCalculator.js +18 -20
  183. package/lib/model/featuresModel/legendModel/twoDimLegendModel.d.ts +8 -4
  184. package/lib/model/featuresModel/legendModel/twoDimLegendModel.js +40 -27
  185. package/lib/model/featuresModel/otherComponents.d.ts +7 -4
  186. package/lib/model/featuresModel/otherComponents.js +9 -9
  187. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.d.ts +6 -6
  188. package/lib/model/featuresModel/scaleModel/scaleAxisRecalcer.js +27 -23
  189. package/lib/model/featuresModel/scaleModel/scaleDomainService.d.ts +19 -5
  190. package/lib/model/featuresModel/scaleModel/scaleDomainService.js +44 -55
  191. package/lib/model/featuresModel/scaleModel/scaleModel.d.ts +10 -10
  192. package/lib/model/featuresModel/scaleModel/scaleModel.js +61 -50
  193. package/lib/model/featuresModel/scaleModel/scaleModelServices.js +15 -22
  194. package/lib/model/featuresModel/titleModel.d.ts +1 -1
  195. package/lib/model/featuresModel/titleModel.js +14 -14
  196. package/lib/model/featuresModel/tooltipModel.d.ts +1 -1
  197. package/lib/model/featuresModel/tooltipModel.js +5 -5
  198. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.d.ts +23 -11
  199. package/lib/model/featuresModel/valueLabelsModel/valueLabelsModel.js +53 -51
  200. package/lib/model/helpers/modelHelper.d.ts +7 -7
  201. package/lib/model/helpers/modelHelper.js +38 -42
  202. package/lib/model/helpers/twoDimensionalModelHelper.d.ts +37 -9
  203. package/lib/model/helpers/twoDimensionalModelHelper.js +147 -125
  204. package/lib/model/helpers/unitsFromConfigReader.js +4 -4
  205. package/lib/model/helpers/unitsReader.d.ts +2 -2
  206. package/lib/model/helpers/unitsReader.js +11 -13
  207. package/lib/model/margin/marginModel.d.ts +7 -7
  208. package/lib/model/margin/marginModel.js +23 -20
  209. package/lib/model/margin/twoDim/twoDimMarginModel.d.ts +13 -13
  210. package/lib/model/margin/twoDim/twoDimMarginModel.js +184 -113
  211. package/lib/model/model.d.ts +308 -280
  212. package/lib/model/model.js +4 -4
  213. package/lib/model/modelBuilder.d.ts +27 -18
  214. package/lib/model/modelBuilder.js +85 -79
  215. package/lib/model/modelInstance/canvasModel/canvasModel.d.ts +17 -17
  216. package/lib/model/modelInstance/canvasModel/canvasModel.js +42 -43
  217. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasMarginModel.d.ts +7 -7
  218. package/lib/model/modelInstance/canvasModel/canvasSizesModel/canvasSizeModel.d.ts +2 -2
  219. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.d.ts +6 -6
  220. package/lib/model/modelInstance/canvasModel/canvasSizesModel/marginModelService.js +24 -24
  221. package/lib/model/modelInstance/canvasModel/legendCanvasModel.d.ts +4 -4
  222. package/lib/model/modelInstance/canvasModel/legendCanvasModel.js +11 -11
  223. package/lib/model/modelInstance/canvasModel/titleCanvas.d.ts +4 -4
  224. package/lib/model/modelInstance/canvasModel/titleCanvas.js +9 -9
  225. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.d.ts +3 -3
  226. package/lib/model/modelInstance/chartBlockVersion/chartBlockVersion.js +6 -6
  227. package/lib/model/modelInstance/configReader.d.ts +32 -23
  228. package/lib/model/modelInstance/configReader.js +125 -94
  229. package/lib/model/modelInstance/dataModel/dataModel.d.ts +9 -9
  230. package/lib/model/modelInstance/dataModel/dataModel.js +24 -24
  231. package/lib/model/modelInstance/dataModel/dataRepository.d.ts +14 -14
  232. package/lib/model/modelInstance/dataModel/dataRepository.js +42 -42
  233. package/lib/model/modelInstance/modelInstance.d.ts +11 -6
  234. package/lib/model/modelInstance/modelInstance.js +16 -16
  235. package/lib/model/modelInstance/titleConfigReader.d.ts +8 -8
  236. package/lib/model/modelInstance/titleConfigReader.js +37 -30
  237. package/lib/model/notations/polar/donut/donutAggregatorService.d.ts +9 -6
  238. package/lib/model/notations/polar/donut/donutAggregatorService.js +40 -37
  239. package/lib/model/notations/polar/donut/donutModel.d.ts +9 -5
  240. package/lib/model/notations/polar/donut/donutModel.js +28 -28
  241. package/lib/model/notations/polar/donut/donutThicknessService.d.ts +3 -3
  242. package/lib/model/notations/polar/donut/donutThicknessService.js +13 -15
  243. package/lib/model/notations/polar/polarModel.d.ts +18 -7
  244. package/lib/model/notations/polar/polarModel.js +79 -65
  245. package/lib/model/notations/twoDimensional/styles.d.ts +44 -7
  246. package/lib/model/notations/twoDimensional/styles.js +234 -125
  247. package/lib/model/notations/twoDimensionalModel.d.ts +23 -13
  248. package/lib/model/notations/twoDimensionalModel.js +330 -162
  249. package/lib/optionsServices/publicOptionsService.d.ts +1 -1
  250. package/lib/optionsServices/publicOptionsService.js +4 -4
  251. package/lib/optionsServices/validators/sizeValidator.d.ts +2 -2
  252. package/lib/optionsServices/validators/sizeValidator.js +10 -11
  253. package/lib/style/charts-main.css +150 -151
  254. package/lib/style/charts-main.less +150 -151
  255. package/package.json +1 -1
@@ -1,67 +1,60 @@
1
1
  export const LABEL_BAR_PADDING = 6;
2
2
  export const MIN_BAR_HEIGHT_FOR_LABEL_SERVE = 12;
3
3
  export class EmbeddedLabelsHelper {
4
- static getLabelPosition(barAttrs, labelBlockWidth, margin, blockSize, labelUnserveFlag) {
5
- if (labelUnserveFlag ||
6
- (this.getSpaceSizeForType("inside", barAttrs.width, margin, blockSize) < labelBlockWidth &&
7
- this.getSpaceSizeForType("inside", barAttrs.width, margin, blockSize) <
8
- this.getSpaceSizeForType("outside", barAttrs.width, margin, blockSize)))
9
- return "outside";
10
- return "inside";
11
- }
12
- static getSpaceSizeForType(position, barWidth, margin, blockSize) {
13
- if (position === "outside")
14
- return blockSize.width - margin.left - margin.right - barWidth - LABEL_BAR_PADDING;
15
- return barWidth - LABEL_BAR_PADDING * 2;
16
- }
17
- static getLabelAttrs(barAttrs, type, position, keyAxisOrient, labelWidth) {
18
- const textAnchor = this.getTextAnchor(type, position, keyAxisOrient);
19
- const y = this.getLabelAttrY(barAttrs.y, barAttrs.height);
20
- let x = this.getLabelAttrX(barAttrs, type, position, keyAxisOrient);
21
- if (textAnchor === "end") {
22
- x = x - labelWidth;
23
- }
24
- return {
25
- x,
26
- y,
27
- textAnchor
28
- };
29
- }
30
- static getLabelField(type, valueFields, keyField, index) {
31
- if (type === "key")
32
- return keyField;
33
- if (type === "value")
34
- return valueFields[index];
35
- return null;
36
- }
37
- static getLabelUnserveFlag(barHeight) {
38
- return barHeight < MIN_BAR_HEIGHT_FOR_LABEL_SERVE;
39
- }
40
- static getLabelAttrX(barAttrs, type, position, keyAxisOrient) {
41
- if (keyAxisOrient === "left") {
42
- if (position === "outside")
43
- return barAttrs.x + barAttrs.width + LABEL_BAR_PADDING;
44
- if (type === "key")
45
- return barAttrs.x + LABEL_BAR_PADDING;
46
- return barAttrs.x + barAttrs.width - LABEL_BAR_PADDING;
47
- }
48
- if (position === "outside")
49
- return barAttrs.x - LABEL_BAR_PADDING;
50
- if (type === "key")
51
- return barAttrs.x + barAttrs.width - LABEL_BAR_PADDING;
52
- return barAttrs.x + LABEL_BAR_PADDING;
53
- }
54
- static getLabelAttrY(barY, barHeight) {
55
- return barY + barHeight / 2 + 1;
56
- }
57
- static getTextAnchor(type, position, keyAxisOrient) {
58
- if (keyAxisOrient === "left") {
59
- if (position === "outside" || type === "key")
60
- return "start";
61
- return "end";
62
- }
63
- if (position === "outside" || type === "key")
64
- return "end";
65
- return "start";
66
- }
4
+ static getLabelPosition(barAttrs, labelBlockWidth, margin, blockSize, labelUnserveFlag) {
5
+ if (
6
+ labelUnserveFlag ||
7
+ (this.getSpaceSizeForType("inside", barAttrs.width, margin, blockSize) < labelBlockWidth &&
8
+ this.getSpaceSizeForType("inside", barAttrs.width, margin, blockSize) <
9
+ this.getSpaceSizeForType("outside", barAttrs.width, margin, blockSize))
10
+ )
11
+ return "outside";
12
+ return "inside";
13
+ }
14
+ static getSpaceSizeForType(position, barWidth, margin, blockSize) {
15
+ if (position === "outside") return blockSize.width - margin.left - margin.right - barWidth - LABEL_BAR_PADDING;
16
+ return barWidth - LABEL_BAR_PADDING * 2;
17
+ }
18
+ static getLabelAttrs(barAttrs, type, position, keyAxisOrient, labelWidth) {
19
+ const textAnchor = this.getTextAnchor(type, position, keyAxisOrient);
20
+ const y = this.getLabelAttrY(barAttrs.y, barAttrs.height);
21
+ let x = this.getLabelAttrX(barAttrs, type, position, keyAxisOrient);
22
+ if (textAnchor === "end") {
23
+ x = x - labelWidth;
24
+ }
25
+ return {
26
+ x,
27
+ y,
28
+ textAnchor
29
+ };
30
+ }
31
+ static getLabelField(type, valueFields, keyField, index) {
32
+ if (type === "key") return keyField;
33
+ if (type === "value") return valueFields[index];
34
+ return null;
35
+ }
36
+ static getLabelUnserveFlag(barHeight) {
37
+ return barHeight < MIN_BAR_HEIGHT_FOR_LABEL_SERVE;
38
+ }
39
+ static getLabelAttrX(barAttrs, type, position, keyAxisOrient) {
40
+ if (keyAxisOrient === "left") {
41
+ if (position === "outside") return barAttrs.x + barAttrs.width + LABEL_BAR_PADDING;
42
+ if (type === "key") return barAttrs.x + LABEL_BAR_PADDING;
43
+ return barAttrs.x + barAttrs.width - LABEL_BAR_PADDING;
44
+ }
45
+ if (position === "outside") return barAttrs.x - LABEL_BAR_PADDING;
46
+ if (type === "key") return barAttrs.x + barAttrs.width - LABEL_BAR_PADDING;
47
+ return barAttrs.x + LABEL_BAR_PADDING;
48
+ }
49
+ static getLabelAttrY(barY, barHeight) {
50
+ return barY + barHeight / 2 + 1;
51
+ }
52
+ static getTextAnchor(type, position, keyAxisOrient) {
53
+ if (keyAxisOrient === "left") {
54
+ if (position === "outside" || type === "key") return "start";
55
+ return "end";
56
+ }
57
+ if (position === "outside" || type === "key") return "end";
58
+ return "start";
59
+ }
67
60
  }
@@ -3,13 +3,19 @@ import { Size } from "../../../config/config";
3
3
  import { AxisModelOptions, BlockMargin } from "../../../model/model";
4
4
  export declare type GridLineType = "key" | "value";
5
5
  export interface GridLineAttributes {
6
- x1: number;
7
- y1: number;
8
- x2: number;
9
- y2: number;
6
+ x1: number;
7
+ y1: number;
8
+ x2: number;
9
+ y2: number;
10
10
  }
11
11
  export declare class GridLineHelper {
12
- static getGridLineLength(gridLineType: GridLineType, keyAxis: AxisModelOptions, valueAxis: AxisModelOptions, blockSize: Size, margin: BlockMargin): number;
13
- static getLineAttributes(axis: AxisModelOptions, lineLength: number): GridLineAttributes;
14
- static getKeyLineAttributes(axis: AxisModelOptions, scaleValue: AxisScale<any>): GridLineAttributes;
12
+ static getGridLineLength(
13
+ gridLineType: GridLineType,
14
+ keyAxis: AxisModelOptions,
15
+ valueAxis: AxisModelOptions,
16
+ blockSize: Size,
17
+ margin: BlockMargin
18
+ ): number;
19
+ static getLineAttributes(axis: AxisModelOptions, lineLength: number): GridLineAttributes;
20
+ static getKeyLineAttributes(axis: AxisModelOptions, scaleValue: AxisScale<any>): GridLineAttributes;
15
21
  }
@@ -1,52 +1,45 @@
1
1
  import { max, min } from "d3-array";
2
2
  export class GridLineHelper {
3
- static getGridLineLength(gridLineType, keyAxis, valueAxis, blockSize, margin) {
4
- let axis;
5
- let axisLength;
6
- if (gridLineType === "key")
7
- axis = keyAxis;
8
- else
9
- axis = valueAxis;
10
- if (axis.orient === "left" || axis.orient === "right")
11
- axisLength = blockSize.width - margin.left - margin.right;
12
- else
13
- axisLength = blockSize.height - margin.top - margin.bottom;
14
- if (axis.orient === "right" || axis.orient === "bottom")
15
- axisLength = -axisLength;
16
- return axisLength;
17
- }
18
- static getLineAttributes(axis, lineLength) {
19
- const attributes = {
20
- x1: 0,
21
- y1: 0,
22
- x2: 0,
23
- y2: 0
24
- };
25
- if (axis.orient === "left" || axis.orient === "right")
26
- attributes.x2 = lineLength;
27
- else
28
- attributes.y2 = lineLength;
29
- return attributes;
30
- }
31
- static getKeyLineAttributes(axis, scaleValue) {
32
- const attributes = {
33
- x1: 0,
34
- y1: 0,
35
- x2: 0,
36
- y2: 0
37
- };
38
- const scaledStart = scaleValue(scaleValue.domain()[0]);
39
- const scaledEnd = scaleValue(scaleValue.domain()[1]);
40
- const minCoord = min([scaledStart, scaledEnd]) - scaleValue(0);
41
- const maxCoord = max([scaledStart, scaledEnd]) - scaleValue(0);
42
- if (axis.orient === "left" || axis.orient === "right") {
43
- attributes.x1 = minCoord;
44
- attributes.x2 = maxCoord;
45
- }
46
- else {
47
- attributes.y1 = minCoord;
48
- attributes.y2 = maxCoord;
49
- }
50
- return attributes;
51
- }
3
+ static getGridLineLength(gridLineType, keyAxis, valueAxis, blockSize, margin) {
4
+ let axis;
5
+ let axisLength;
6
+ if (gridLineType === "key") axis = keyAxis;
7
+ else axis = valueAxis;
8
+ if (axis.orient === "left" || axis.orient === "right")
9
+ axisLength = blockSize.width - margin.left - margin.right;
10
+ else axisLength = blockSize.height - margin.top - margin.bottom;
11
+ if (axis.orient === "right" || axis.orient === "bottom") axisLength = -axisLength;
12
+ return axisLength;
13
+ }
14
+ static getLineAttributes(axis, lineLength) {
15
+ const attributes = {
16
+ x1: 0,
17
+ y1: 0,
18
+ x2: 0,
19
+ y2: 0
20
+ };
21
+ if (axis.orient === "left" || axis.orient === "right") attributes.x2 = lineLength;
22
+ else attributes.y2 = lineLength;
23
+ return attributes;
24
+ }
25
+ static getKeyLineAttributes(axis, scaleValue) {
26
+ const attributes = {
27
+ x1: 0,
28
+ y1: 0,
29
+ x2: 0,
30
+ y2: 0
31
+ };
32
+ const scaledStart = scaleValue(scaleValue.domain()[0]);
33
+ const scaledEnd = scaleValue(scaleValue.domain()[1]);
34
+ const minCoord = min([scaledStart, scaledEnd]) - scaleValue(0);
35
+ const maxCoord = max([scaledStart, scaledEnd]) - scaleValue(0);
36
+ if (axis.orient === "left" || axis.orient === "right") {
37
+ attributes.x1 = minCoord;
38
+ attributes.x2 = maxCoord;
39
+ } else {
40
+ attributes.y1 = minCoord;
41
+ attributes.y2 = maxCoord;
42
+ }
43
+ return attributes;
44
+ }
52
45
  }
@@ -3,9 +3,23 @@ import { BlockMargin, GridLineOptions, IAxisModel } from "../../../model/model";
3
3
  import { Block } from "../../block/block";
4
4
  import { Scales } from "../scale/scale";
5
5
  export declare class GridLine {
6
- private static readonly gridLineClass;
7
- static render(block: Block, options: GridLineOptions, axes: IAxisModel, blockSize: Size, margin: BlockMargin, scales: Scales): void;
8
- static update(block: Block, options: GridLineOptions, axes: IAxisModel, blockSize: Size, margin: BlockMargin, scales: Scales): void;
9
- private static renderLine;
10
- private static clear;
6
+ private static readonly gridLineClass;
7
+ static render(
8
+ block: Block,
9
+ options: GridLineOptions,
10
+ axes: IAxisModel,
11
+ blockSize: Size,
12
+ margin: BlockMargin,
13
+ scales: Scales
14
+ ): void;
15
+ static update(
16
+ block: Block,
17
+ options: GridLineOptions,
18
+ axes: IAxisModel,
19
+ blockSize: Size,
20
+ margin: BlockMargin,
21
+ scales: Scales
22
+ ): void;
23
+ private static renderLine;
24
+ private static clear;
11
25
  }
@@ -1,40 +1,39 @@
1
1
  import { GridLineHelper } from "./gidLineHelper";
2
2
  export class GridLine {
3
- static render(block, options, axes, blockSize, margin, scales) {
4
- if (options.flag.value) {
5
- const lineLength = GridLineHelper.getGridLineLength("value", axes.key, axes.value, blockSize, margin);
6
- const lineAttributes = GridLineHelper.getLineAttributes(axes.value, lineLength);
7
- this.renderLine(block, axes.value, lineAttributes, options).style("display", (d, i, group) => {
8
- return d === 0 ? "none" : "block";
9
- });
10
- }
11
- if (options.flag.key) {
12
- const lineAttributes = GridLineHelper.getKeyLineAttributes(axes.key, scales.value);
13
- this.renderLine(block, axes.key, lineAttributes, options);
14
- }
15
- }
16
- static update(block, options, axes, blockSize, margin, scales) {
17
- this.clear(block, axes.key.cssClass, axes.value.cssClass);
18
- this.render(block, options, axes, blockSize, margin, scales);
19
- }
20
- static renderLine(block, axis, lineAttributes, options) {
21
- const gridLine = block
22
- .getSvg()
23
- .selectAll(`.${axis.cssClass}`)
24
- .selectAll("g.tick")
25
- .append("line")
26
- .attr("class", this.gridLineClass)
27
- .attr("x1", lineAttributes.x1)
28
- .attr("y1", lineAttributes.y1)
29
- .attr("x2", lineAttributes.x2)
30
- .attr("y2", lineAttributes.y2);
31
- if (options.styles.dash.on)
32
- gridLine.style("stroke-dasharray", 3);
33
- return gridLine;
34
- }
35
- static clear(block, keyAxisClass, valueAxisClass) {
36
- block.getSvg().selectAll(`.${keyAxisClass} `).selectAll("g.tick").selectAll(`.${this.gridLineClass}`).remove();
37
- block.getSvg().selectAll(`.${valueAxisClass}`).selectAll("g.tick").selectAll(`.${this.gridLineClass}`).remove();
38
- }
3
+ static render(block, options, axes, blockSize, margin, scales) {
4
+ if (options.flag.value) {
5
+ const lineLength = GridLineHelper.getGridLineLength("value", axes.key, axes.value, blockSize, margin);
6
+ const lineAttributes = GridLineHelper.getLineAttributes(axes.value, lineLength);
7
+ this.renderLine(block, axes.value, lineAttributes, options).style("display", (d, i, group) => {
8
+ return d === 0 ? "none" : "block";
9
+ });
10
+ }
11
+ if (options.flag.key) {
12
+ const lineAttributes = GridLineHelper.getKeyLineAttributes(axes.key, scales.value);
13
+ this.renderLine(block, axes.key, lineAttributes, options);
14
+ }
15
+ }
16
+ static update(block, options, axes, blockSize, margin, scales) {
17
+ this.clear(block, axes.key.cssClass, axes.value.cssClass);
18
+ this.render(block, options, axes, blockSize, margin, scales);
19
+ }
20
+ static renderLine(block, axis, lineAttributes, options) {
21
+ const gridLine = block
22
+ .getSvg()
23
+ .selectAll(`.${axis.cssClass}`)
24
+ .selectAll("g.tick")
25
+ .append("line")
26
+ .attr("class", this.gridLineClass)
27
+ .attr("x1", lineAttributes.x1)
28
+ .attr("y1", lineAttributes.y1)
29
+ .attr("x2", lineAttributes.x2)
30
+ .attr("y2", lineAttributes.y2);
31
+ if (options.styles.dash.on) gridLine.style("stroke-dasharray", 3);
32
+ return gridLine;
33
+ }
34
+ static clear(block, keyAxisClass, valueAxisClass) {
35
+ block.getSvg().selectAll(`.${keyAxisClass} `).selectAll("g.tick").selectAll(`.${this.gridLineClass}`).remove();
36
+ block.getSvg().selectAll(`.${valueAxisClass}`).selectAll("g.tick").selectAll(`.${this.gridLineClass}`).remove();
37
+ }
39
38
  }
40
39
  GridLine.gridLineClass = "grid-line";
@@ -5,35 +5,44 @@ import { Block } from "../../block/block";
5
5
  import { SelectionCondition } from "../../helpers/domHelper";
6
6
  import { ChartLegendEngineModel } from "./legendHelper";
7
7
  export interface LegendContentRenderingOptions {
8
- wrapperClasses: string[];
9
- shouldCropLabels: boolean;
10
- blockModel: LegendBlockModel;
11
- itemsOptions: {
12
- wrapperClasses: string[];
13
- markerClass: string;
14
- labelClass: string;
15
- };
8
+ wrapperClasses: string[];
9
+ shouldCropLabels: boolean;
10
+ blockModel: LegendBlockModel;
11
+ itemsOptions: {
12
+ wrapperClasses: string[];
13
+ markerClass: string;
14
+ labelClass: string;
15
+ };
16
16
  }
17
17
  export declare class Legend {
18
- static get(): Legend;
19
- static readonly objectClass = "legend-object";
20
- static readonly labelClass = "legend-label";
21
- static readonly label2DClass = "legend-2d-label";
22
- static readonly labelPolarClass = "legend-polar-label";
23
- static readonly labelIntervalClass = "legend-interval-label";
24
- static readonly itemClass = "legend-item";
25
- static readonly markerClass = "legend-marker";
26
- static readonly markerCircle = "legend-circle";
27
- static readonly legendBlockClass = "legend-block";
28
- private readonly markerCreator;
29
- render(block: Block, data: MdtChartsDataSource, options: TwoDimensionalOptionsModel | PolarOptionsModel, model: Model): void;
30
- update(block: Block, data: MdtChartsDataSource, model: Model<TwoDimensionalOptionsModel | PolarOptionsModel>): void;
31
- updateColors(block: Block, options: TwoDimensionalOptionsModel | PolarOptionsModel): void;
32
- static getItemsByKeys(block: Block, keys: string[], condition?: SelectionCondition): Selection<HTMLDivElement, ChartLegendEngineModel, BaseType, unknown>;
33
- private setContent;
34
- private renderObject;
35
- private renderContent;
36
- private getObject;
37
- private removeContent;
38
- private fillCoordinate;
18
+ static get(): Legend;
19
+ static readonly objectClass = "legend-object";
20
+ static readonly labelClass = "legend-label";
21
+ static readonly label2DClass = "legend-2d-label";
22
+ static readonly labelPolarClass = "legend-polar-label";
23
+ static readonly labelIntervalClass = "legend-interval-label";
24
+ static readonly itemClass = "legend-item";
25
+ static readonly markerClass = "legend-marker";
26
+ static readonly markerCircle = "legend-circle";
27
+ static readonly legendBlockClass = "legend-block";
28
+ private readonly markerCreator;
29
+ render(
30
+ block: Block,
31
+ data: MdtChartsDataSource,
32
+ options: TwoDimensionalOptionsModel | PolarOptionsModel,
33
+ model: Model
34
+ ): void;
35
+ update(block: Block, data: MdtChartsDataSource, model: Model<TwoDimensionalOptionsModel | PolarOptionsModel>): void;
36
+ updateColors(block: Block, options: TwoDimensionalOptionsModel | PolarOptionsModel): void;
37
+ static getItemsByKeys(
38
+ block: Block,
39
+ keys: string[],
40
+ condition?: SelectionCondition
41
+ ): Selection<HTMLDivElement, ChartLegendEngineModel, BaseType, unknown>;
42
+ private setContent;
43
+ private renderObject;
44
+ private renderContent;
45
+ private getObject;
46
+ private removeContent;
47
+ private fillCoordinate;
39
48
  }