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,60 +1,67 @@
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 (
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
- }
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
+ }
60
67
  }
@@ -3,19 +3,13 @@ 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(
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;
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;
21
15
  }
@@ -1,45 +1,52 @@
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") 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
- }
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
+ }
45
52
  }
@@ -3,23 +3,9 @@ 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(
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;
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;
25
11
  }
@@ -1,39 +1,40 @@
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) 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
- }
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
+ }
38
39
  }
39
40
  GridLine.gridLineClass = "grid-line";
@@ -5,44 +5,34 @@ 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(
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;
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 itemClass = "legend-item";
24
+ static readonly markerClass = "legend-marker";
25
+ static readonly markerCircle = "legend-circle";
26
+ static readonly legendBlockClass = "legend-block";
27
+ private readonly markerCreator;
28
+ render(block: Block, data: MdtChartsDataSource, options: TwoDimensionalOptionsModel | PolarOptionsModel, model: Model): void;
29
+ update(block: Block, data: MdtChartsDataSource, model: Model<TwoDimensionalOptionsModel | PolarOptionsModel>): void;
30
+ updateColors(block: Block, options: TwoDimensionalOptionsModel | PolarOptionsModel): void;
31
+ static getItemsByKeys(block: Block, keys: string[], condition?: SelectionCondition): Selection<HTMLDivElement, ChartLegendEngineModel, BaseType, unknown>;
32
+ private setContent;
33
+ private renderObject;
34
+ private renderContent;
35
+ private getObject;
36
+ private removeContent;
37
+ private fillCoordinate;
48
38
  }