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
@@ -4,20 +4,55 @@ import { BlockMargin, EmbeddedLabelTypeModel, Field, Orient } from "../../../mod
4
4
  import { Block } from "../../block/block";
5
5
  import { BarAttrsHelper } from "../../twoDimensionalNotation/bar/barHelper";
6
6
  export declare class EmbeddedLabels {
7
- static embeddedLabelsGroupClass: string;
8
- static embeddedLabelClass: string;
9
- private static embeddedLabelBgClass;
10
- private static innerLabelColor;
11
- private static outerLabelColor;
12
- static render(block: Block, bars: Selection<SVGRectElement, MdtChartsDataRow, SVGGElement, any>, barAttrsHelper: BarAttrsHelper, field: Field, type: EmbeddedLabelTypeModel, keyAxisOrient: Orient, blockSize: Size, margin: BlockMargin, index: number, cssClasses: string[]): void;
13
- static restoreRemoved(block: Block, bars: Selection<SVGRectElement, MdtChartsDataRow, SVGGElement, any>, barAttrsHelper: BarAttrsHelper, field: Field, type: EmbeddedLabelTypeModel, keyAxisOrient: Orient, blockSize: Size, margin: BlockMargin, index: number, cssClasses: string[], keyFieldName: string): void;
14
- static removeUnused(block: Block, chartCssClasses: string[], fieldIndex: number, indexes: number[]): void;
15
- static update(block: Block, bars: Selection<SVGRectElement, MdtChartsDataRow, SVGGElement, unknown>, keyAxisOrient: Orient, barAttrsHelper: BarAttrsHelper, margin: BlockMargin, valueField: Field, type: EmbeddedLabelTypeModel, blockSize: Size, newData: MdtChartsDataRow[], index: number, cssClasses: string[]): void;
16
- static raiseGroups(block: Block): void;
17
- private static renderLabel;
18
- private static updateLabel;
19
- private static checkLabelToResetTextAnchor;
20
- private static renderGroup;
21
- private static renderBackground;
22
- private static getLabelByIndex;
7
+ static embeddedLabelsGroupClass: string;
8
+ static embeddedLabelClass: string;
9
+ private static embeddedLabelBgClass;
10
+ private static innerLabelColor;
11
+ private static outerLabelColor;
12
+ static render(
13
+ block: Block,
14
+ bars: Selection<SVGRectElement, MdtChartsDataRow, SVGGElement, any>,
15
+ barAttrsHelper: BarAttrsHelper,
16
+ field: Field,
17
+ type: EmbeddedLabelTypeModel,
18
+ keyAxisOrient: Orient,
19
+ blockSize: Size,
20
+ margin: BlockMargin,
21
+ index: number,
22
+ cssClasses: string[]
23
+ ): void;
24
+ static restoreRemoved(
25
+ block: Block,
26
+ bars: Selection<SVGRectElement, MdtChartsDataRow, SVGGElement, any>,
27
+ barAttrsHelper: BarAttrsHelper,
28
+ field: Field,
29
+ type: EmbeddedLabelTypeModel,
30
+ keyAxisOrient: Orient,
31
+ blockSize: Size,
32
+ margin: BlockMargin,
33
+ index: number,
34
+ cssClasses: string[],
35
+ keyFieldName: string
36
+ ): void;
37
+ static removeUnused(block: Block, chartCssClasses: string[], fieldIndex: number, indexes: number[]): void;
38
+ static update(
39
+ block: Block,
40
+ bars: Selection<SVGRectElement, MdtChartsDataRow, SVGGElement, unknown>,
41
+ keyAxisOrient: Orient,
42
+ barAttrsHelper: BarAttrsHelper,
43
+ margin: BlockMargin,
44
+ valueField: Field,
45
+ type: EmbeddedLabelTypeModel,
46
+ blockSize: Size,
47
+ newData: MdtChartsDataRow[],
48
+ index: number,
49
+ cssClasses: string[]
50
+ ): void;
51
+ static raiseGroups(block: Block): void;
52
+ private static renderLabel;
53
+ private static updateLabel;
54
+ private static checkLabelToResetTextAnchor;
55
+ private static renderGroup;
56
+ private static renderBackground;
57
+ private static getLabelByIndex;
23
58
  }
@@ -5,140 +5,240 @@ import { ValueFormatter } from "../../valueFormatter";
5
5
  import { EmbeddedLabelsDomHelper } from "./embeddedLabelsDomHelper";
6
6
  import { EmbeddedLabelsHelper } from "./embeddedLabelsHelper";
7
7
  export class EmbeddedLabels {
8
- static render(block, bars, barAttrsHelper, field, type, keyAxisOrient, blockSize, margin, index, cssClasses) {
9
- const labelsGroup = this.renderGroup(block, Helper.getCssClassesWithElementIndex(cssClasses, index));
10
- DomHelper.setCssClasses(labelsGroup, Helper.getCssClassesWithElementIndex(cssClasses, index));
11
- bars.each((dataRow) => {
12
- this.renderLabel(labelsGroup, barAttrsHelper, dataRow, field, type, keyAxisOrient, blockSize, margin);
13
- });
14
- }
15
- static restoreRemoved(block, bars, barAttrsHelper, field, type, keyAxisOrient, blockSize, margin, index, cssClasses, keyFieldName) {
16
- const untaggedBars = bars.filter((d) => {
17
- return block.svg
18
- .getChartBlock()
19
- .selectAll(`.${EmbeddedLabels.embeddedLabelsGroupClass}${Helper.getCssClassesLine(cssClasses)}.chart-element-${index}`)
20
- .selectAll(`.${this.embeddedLabelClass}`)
21
- .filter((row) => row[keyFieldName] === d[keyFieldName])
22
- .empty();
23
- });
24
- if (!untaggedBars.empty()) {
25
- this.render(block, untaggedBars, barAttrsHelper, field, type, keyAxisOrient, blockSize, margin, index, cssClasses);
26
- }
27
- }
28
- static removeUnused(block, chartCssClasses, fieldIndex, indexes) {
29
- block.svg
30
- .getChartBlock()
31
- .selectAll(`.${EmbeddedLabels.embeddedLabelsGroupClass}${Helper.getCssClassesLine(chartCssClasses)}.chart-element-${fieldIndex}`)
32
- .selectAll(`.${this.embeddedLabelClass}`)
33
- .filter((d, i) => indexes.findIndex((ind) => ind === i) !== -1)
34
- .remove();
35
- }
36
- static update(block, bars, keyAxisOrient, barAttrsHelper, margin, valueField, type, blockSize, newData, index, cssClasses) {
37
- const labelsGroup = block.svg
38
- .getChartBlock()
39
- .selectAll(`.${EmbeddedLabels.embeddedLabelsGroupClass}${Helper.getCssClassesLine(cssClasses)}.chart-element-${index}`);
40
- labelsGroup.selectAll(`.${this.embeddedLabelBgClass}`).remove();
41
- const labelsSelection = labelsGroup
42
- .selectAll(`.${this.embeddedLabelClass}`)
43
- .data(newData);
44
- bars.each((dataRow, barIndex) => {
45
- const labelBlock = this.getLabelByIndex(labelsSelection, barIndex, valueField, dataRow);
46
- if (labelBlock)
47
- this.updateLabel(block, dataRow, keyAxisOrient, barAttrsHelper, margin, type, blockSize, labelBlock, labelsGroup);
48
- });
49
- }
50
- static raiseGroups(block) {
51
- block.svg.getChartBlock().selectAll(`.${this.embeddedLabelsGroupClass}`).raise();
52
- }
53
- static renderLabel(labelsGroup, barAttrsHelper, dataRow, field, type, keyAxisOrient, blockSize, margin) {
54
- const labelBlock = labelsGroup.append("text").datum(dataRow);
55
- labelBlock
56
- .classed(EmbeddedLabels.embeddedLabelClass, true)
57
- .style("pointer-events", "none")
58
- .text(ValueFormatter.formatField(field.format, dataRow[field.name]));
59
- const barAttrs = {
60
- x: barAttrsHelper.x(dataRow),
61
- width: barAttrsHelper.width(dataRow),
62
- y: barAttrsHelper.y(dataRow),
63
- height: barAttrsHelper.height(dataRow)
64
- };
65
- const labelUnserveFlag = EmbeddedLabelsHelper.getLabelUnserveFlag(barAttrs.height); // if bar is too small to serve label inside. This flag is needed for set outside postion and change text anchor if bar wide as whole chart block
66
- const position = EmbeddedLabelsHelper.getLabelPosition(barAttrs, labelBlock.node().getBBox().width, margin, blockSize, labelUnserveFlag);
67
- const attrs = EmbeddedLabelsHelper.getLabelAttrs(barAttrs, type, position, keyAxisOrient, labelBlock.node().getBBox().width);
68
- if (position === "outside") {
69
- attrs.x = this.checkLabelToResetTextAnchor(attrs.x, labelBlock.node().getBBox().width, margin, blockSize, keyAxisOrient);
70
- this.renderBackground(labelsGroup, labelBlock, attrs);
71
- }
72
- EmbeddedLabelsDomHelper.setLabelBlockAttrs(attrs, labelBlock);
73
- if (position === "inside")
74
- labelBlock.style("fill", this.innerLabelColor);
75
- EmbeddedLabelsDomHelper.cropText(labelBlock, barAttrs, position, labelUnserveFlag, margin, blockSize);
76
- }
77
- static updateLabel(block, dataRow, keyAxisOrient, barAttrsHelper, margin, type, blockSize, labelBlock, labelsGroup) {
78
- const barAttrs = {
79
- x: barAttrsHelper.x(dataRow),
80
- width: barAttrsHelper.width(dataRow),
81
- y: barAttrsHelper.y(dataRow),
82
- height: barAttrsHelper.height(dataRow)
83
- };
84
- const labelUnserveFlag = EmbeddedLabelsHelper.getLabelUnserveFlag(barAttrs.height); // if bar is too small to serve label inside. This flag is needed for set outside postion and change text anchor if bar wide as whole chart block
85
- const position = EmbeddedLabelsHelper.getLabelPosition(barAttrs, labelBlock.node().getBBox().width, margin, blockSize, labelUnserveFlag);
86
- const attrs = EmbeddedLabelsHelper.getLabelAttrs(barAttrs, type, position, keyAxisOrient, labelBlock.node().getBBox().width);
87
- EmbeddedLabelsDomHelper.cropText(labelBlock, barAttrs, position, labelUnserveFlag, margin, blockSize);
88
- if (position === "outside") {
89
- attrs.x = this.checkLabelToResetTextAnchor(attrs.x, labelBlock.node().getBBox().width, margin, blockSize, keyAxisOrient);
90
- labelBlock.style("fill", this.outerLabelColor);
91
- }
92
- EmbeddedLabelsDomHelper.setLabelBlockAttrs(attrs, labelBlock, block.transitionManager.durations.chartUpdate).then(() => {
93
- if (position === "outside")
94
- this.renderBackground(labelsGroup, labelBlock, attrs);
95
- if (position === "inside")
96
- labelBlock.style("fill", this.innerLabelColor);
97
- });
98
- }
99
- static checkLabelToResetTextAnchor(x, width, margin, blockSize, keyAxisOrient) {
100
- if (keyAxisOrient === "left") {
101
- if (x + width > blockSize.width - margin.right)
102
- return blockSize.width - margin.right - width;
103
- return x;
104
- }
105
- if (keyAxisOrient === "right") {
106
- if (x < margin.left)
107
- return margin.left;
108
- return x;
109
- }
110
- }
111
- static renderGroup(block, cssClasses) {
112
- let group = block.svg
113
- .getChartBlock()
114
- .select(`.${this.embeddedLabelsGroupClass}${Helper.getCssClassesLine(cssClasses)}`)
115
- .raise();
116
- if (group.empty())
117
- group = block.svg.getChartBlock().append("g").attr("class", this.embeddedLabelsGroupClass).raise();
118
- return group;
119
- }
120
- static renderBackground(labelsGroup, labelBlock, attrs) {
121
- labelsGroup
122
- .append("rect")
123
- .attr("class", this.embeddedLabelBgClass)
124
- .attr("x", attrs.x)
125
- .attr("y", attrs.y - labelBlock.node().getBBox().height / 2)
126
- .attr("width", labelBlock.node().getBBox().width)
127
- .attr("height", labelBlock.node().getBBox().height)
128
- .style("fill", "rgba(255, 255, 255, 0.8)")
129
- .lower();
130
- }
131
- static getLabelByIndex(labelsSelection, barIndex, valueField, dataRow) {
132
- let labelBlock;
133
- labelsSelection.each(function (d, indexLabel) {
134
- if (barIndex === indexLabel) {
135
- labelBlock = select(this)
136
- .datum(dataRow)
137
- .text(ValueFormatter.formatField(valueField.format, d[valueField.name]));
138
- }
139
- });
140
- return labelBlock;
141
- }
8
+ static render(block, bars, barAttrsHelper, field, type, keyAxisOrient, blockSize, margin, index, cssClasses) {
9
+ const labelsGroup = this.renderGroup(block, Helper.getCssClassesWithElementIndex(cssClasses, index));
10
+ DomHelper.setCssClasses(labelsGroup, Helper.getCssClassesWithElementIndex(cssClasses, index));
11
+ bars.each((dataRow) => {
12
+ this.renderLabel(labelsGroup, barAttrsHelper, dataRow, field, type, keyAxisOrient, blockSize, margin);
13
+ });
14
+ }
15
+ static restoreRemoved(
16
+ block,
17
+ bars,
18
+ barAttrsHelper,
19
+ field,
20
+ type,
21
+ keyAxisOrient,
22
+ blockSize,
23
+ margin,
24
+ index,
25
+ cssClasses,
26
+ keyFieldName
27
+ ) {
28
+ const untaggedBars = bars.filter((d) => {
29
+ return block.svg
30
+ .getChartBlock()
31
+ .selectAll(
32
+ `.${EmbeddedLabels.embeddedLabelsGroupClass}${Helper.getCssClassesLine(
33
+ cssClasses
34
+ )}.chart-element-${index}`
35
+ )
36
+ .selectAll(`.${this.embeddedLabelClass}`)
37
+ .filter((row) => row[keyFieldName] === d[keyFieldName])
38
+ .empty();
39
+ });
40
+ if (!untaggedBars.empty()) {
41
+ this.render(
42
+ block,
43
+ untaggedBars,
44
+ barAttrsHelper,
45
+ field,
46
+ type,
47
+ keyAxisOrient,
48
+ blockSize,
49
+ margin,
50
+ index,
51
+ cssClasses
52
+ );
53
+ }
54
+ }
55
+ static removeUnused(block, chartCssClasses, fieldIndex, indexes) {
56
+ block.svg
57
+ .getChartBlock()
58
+ .selectAll(
59
+ `.${EmbeddedLabels.embeddedLabelsGroupClass}${Helper.getCssClassesLine(
60
+ chartCssClasses
61
+ )}.chart-element-${fieldIndex}`
62
+ )
63
+ .selectAll(`.${this.embeddedLabelClass}`)
64
+ .filter((d, i) => indexes.findIndex((ind) => ind === i) !== -1)
65
+ .remove();
66
+ }
67
+ static update(
68
+ block,
69
+ bars,
70
+ keyAxisOrient,
71
+ barAttrsHelper,
72
+ margin,
73
+ valueField,
74
+ type,
75
+ blockSize,
76
+ newData,
77
+ index,
78
+ cssClasses
79
+ ) {
80
+ const labelsGroup = block.svg
81
+ .getChartBlock()
82
+ .selectAll(
83
+ `.${EmbeddedLabels.embeddedLabelsGroupClass}${Helper.getCssClassesLine(
84
+ cssClasses
85
+ )}.chart-element-${index}`
86
+ );
87
+ labelsGroup.selectAll(`.${this.embeddedLabelBgClass}`).remove();
88
+ const labelsSelection = labelsGroup.selectAll(`.${this.embeddedLabelClass}`).data(newData);
89
+ bars.each((dataRow, barIndex) => {
90
+ const labelBlock = this.getLabelByIndex(labelsSelection, barIndex, valueField, dataRow);
91
+ if (labelBlock)
92
+ this.updateLabel(
93
+ block,
94
+ dataRow,
95
+ keyAxisOrient,
96
+ barAttrsHelper,
97
+ margin,
98
+ type,
99
+ blockSize,
100
+ labelBlock,
101
+ labelsGroup
102
+ );
103
+ });
104
+ }
105
+ static raiseGroups(block) {
106
+ block.svg.getChartBlock().selectAll(`.${this.embeddedLabelsGroupClass}`).raise();
107
+ }
108
+ static renderLabel(labelsGroup, barAttrsHelper, dataRow, field, type, keyAxisOrient, blockSize, margin) {
109
+ const labelBlock = labelsGroup.append("text").datum(dataRow);
110
+ labelBlock
111
+ .classed(EmbeddedLabels.embeddedLabelClass, true)
112
+ .style("pointer-events", "none")
113
+ .text(ValueFormatter.formatField(field.format, dataRow[field.name]));
114
+ const barAttrs = {
115
+ x: barAttrsHelper.x(dataRow),
116
+ width: barAttrsHelper.width(dataRow),
117
+ y: barAttrsHelper.y(dataRow),
118
+ height: barAttrsHelper.height(dataRow)
119
+ };
120
+ const labelUnserveFlag = EmbeddedLabelsHelper.getLabelUnserveFlag(barAttrs.height); // if bar is too small to serve label inside. This flag is needed for set outside postion and change text anchor if bar wide as whole chart block
121
+ const position = EmbeddedLabelsHelper.getLabelPosition(
122
+ barAttrs,
123
+ labelBlock.node().getBBox().width,
124
+ margin,
125
+ blockSize,
126
+ labelUnserveFlag
127
+ );
128
+ const attrs = EmbeddedLabelsHelper.getLabelAttrs(
129
+ barAttrs,
130
+ type,
131
+ position,
132
+ keyAxisOrient,
133
+ labelBlock.node().getBBox().width
134
+ );
135
+ if (position === "outside") {
136
+ attrs.x = this.checkLabelToResetTextAnchor(
137
+ attrs.x,
138
+ labelBlock.node().getBBox().width,
139
+ margin,
140
+ blockSize,
141
+ keyAxisOrient
142
+ );
143
+ this.renderBackground(labelsGroup, labelBlock, attrs);
144
+ }
145
+ EmbeddedLabelsDomHelper.setLabelBlockAttrs(attrs, labelBlock);
146
+ if (position === "inside") labelBlock.style("fill", this.innerLabelColor);
147
+ EmbeddedLabelsDomHelper.cropText(labelBlock, barAttrs, position, labelUnserveFlag, margin, blockSize);
148
+ }
149
+ static updateLabel(
150
+ block,
151
+ dataRow,
152
+ keyAxisOrient,
153
+ barAttrsHelper,
154
+ margin,
155
+ type,
156
+ blockSize,
157
+ labelBlock,
158
+ labelsGroup
159
+ ) {
160
+ const barAttrs = {
161
+ x: barAttrsHelper.x(dataRow),
162
+ width: barAttrsHelper.width(dataRow),
163
+ y: barAttrsHelper.y(dataRow),
164
+ height: barAttrsHelper.height(dataRow)
165
+ };
166
+ const labelUnserveFlag = EmbeddedLabelsHelper.getLabelUnserveFlag(barAttrs.height); // if bar is too small to serve label inside. This flag is needed for set outside postion and change text anchor if bar wide as whole chart block
167
+ const position = EmbeddedLabelsHelper.getLabelPosition(
168
+ barAttrs,
169
+ labelBlock.node().getBBox().width,
170
+ margin,
171
+ blockSize,
172
+ labelUnserveFlag
173
+ );
174
+ const attrs = EmbeddedLabelsHelper.getLabelAttrs(
175
+ barAttrs,
176
+ type,
177
+ position,
178
+ keyAxisOrient,
179
+ labelBlock.node().getBBox().width
180
+ );
181
+ EmbeddedLabelsDomHelper.cropText(labelBlock, barAttrs, position, labelUnserveFlag, margin, blockSize);
182
+ if (position === "outside") {
183
+ attrs.x = this.checkLabelToResetTextAnchor(
184
+ attrs.x,
185
+ labelBlock.node().getBBox().width,
186
+ margin,
187
+ blockSize,
188
+ keyAxisOrient
189
+ );
190
+ labelBlock.style("fill", this.outerLabelColor);
191
+ }
192
+ EmbeddedLabelsDomHelper.setLabelBlockAttrs(
193
+ attrs,
194
+ labelBlock,
195
+ block.transitionManager.durations.chartUpdate
196
+ ).then(() => {
197
+ if (position === "outside") this.renderBackground(labelsGroup, labelBlock, attrs);
198
+ if (position === "inside") labelBlock.style("fill", this.innerLabelColor);
199
+ });
200
+ }
201
+ static checkLabelToResetTextAnchor(x, width, margin, blockSize, keyAxisOrient) {
202
+ if (keyAxisOrient === "left") {
203
+ if (x + width > blockSize.width - margin.right) return blockSize.width - margin.right - width;
204
+ return x;
205
+ }
206
+ if (keyAxisOrient === "right") {
207
+ if (x < margin.left) return margin.left;
208
+ return x;
209
+ }
210
+ }
211
+ static renderGroup(block, cssClasses) {
212
+ let group = block.svg
213
+ .getChartBlock()
214
+ .select(`.${this.embeddedLabelsGroupClass}${Helper.getCssClassesLine(cssClasses)}`)
215
+ .raise();
216
+ if (group.empty())
217
+ group = block.svg.getChartBlock().append("g").attr("class", this.embeddedLabelsGroupClass).raise();
218
+ return group;
219
+ }
220
+ static renderBackground(labelsGroup, labelBlock, attrs) {
221
+ labelsGroup
222
+ .append("rect")
223
+ .attr("class", this.embeddedLabelBgClass)
224
+ .attr("x", attrs.x)
225
+ .attr("y", attrs.y - labelBlock.node().getBBox().height / 2)
226
+ .attr("width", labelBlock.node().getBBox().width)
227
+ .attr("height", labelBlock.node().getBBox().height)
228
+ .style("fill", "rgba(255, 255, 255, 0.8)")
229
+ .lower();
230
+ }
231
+ static getLabelByIndex(labelsSelection, barIndex, valueField, dataRow) {
232
+ let labelBlock;
233
+ labelsSelection.each(function (d, indexLabel) {
234
+ if (barIndex === indexLabel) {
235
+ labelBlock = select(this)
236
+ .datum(dataRow)
237
+ .text(ValueFormatter.formatField(valueField.format, d[valueField.name]));
238
+ }
239
+ });
240
+ return labelBlock;
241
+ }
142
242
  }
143
243
  EmbeddedLabels.embeddedLabelsGroupClass = "embedded-labels-group";
144
244
  EmbeddedLabels.embeddedLabelClass = "embedded-label";
@@ -3,6 +3,17 @@ import { BaseType, Selection } from "d3-selection";
3
3
  import { BlockMargin } from "../../../model/model";
4
4
  import { MdtChartsDataRow, Size } from "../../../config/config";
5
5
  export declare class EmbeddedLabelsDomHelper {
6
- static setLabelBlockAttrs(attrs: LabelAttrs, labelBlock: Selection<SVGTextElement, MdtChartsDataRow, HTMLElement, unknown>, transitionDuration?: number): Promise<any>;
7
- static cropText(labelBlock: Selection<SVGGraphicsElement, unknown, BaseType, unknown>, barAttrs: BarAttrs, position: EmbeddedLabelPosition, labelUnserveFlag: boolean, margin: BlockMargin, blockSize: Size): void;
6
+ static setLabelBlockAttrs(
7
+ attrs: LabelAttrs,
8
+ labelBlock: Selection<SVGTextElement, MdtChartsDataRow, HTMLElement, unknown>,
9
+ transitionDuration?: number
10
+ ): Promise<any>;
11
+ static cropText(
12
+ labelBlock: Selection<SVGGraphicsElement, unknown, BaseType, unknown>,
13
+ barAttrs: BarAttrs,
14
+ position: EmbeddedLabelPosition,
15
+ labelUnserveFlag: boolean,
16
+ margin: BlockMargin,
17
+ blockSize: Size
18
+ ): void;
8
19
  }
@@ -1,27 +1,24 @@
1
1
  import { EmbeddedLabelsHelper } from "./embeddedLabelsHelper";
2
2
  import { DomHelper } from "../../helpers/domHelper";
3
3
  export class EmbeddedLabelsDomHelper {
4
- static setLabelBlockAttrs(attrs, labelBlock, transitionDuration = 0) {
5
- return new Promise((resolve) => {
6
- let labelBlockHandler = labelBlock;
7
- if (transitionDuration > 0) {
8
- labelBlockHandler = labelBlockHandler
9
- .interrupt()
10
- .transition()
11
- .duration(transitionDuration)
12
- .on("end", () => resolve("updated"));
13
- }
14
- labelBlockHandler.attr("x", attrs.x).attr("y", attrs.y).attr("dominant-baseline", "middle");
15
- if (transitionDuration <= 0)
16
- resolve("updated");
17
- });
18
- }
19
- static cropText(labelBlock, barAttrs, position, labelUnserveFlag, margin, blockSize) {
20
- let labelTextSpace;
21
- if (labelUnserveFlag)
22
- labelTextSpace = blockSize.width - margin.left - margin.right;
23
- else
24
- labelTextSpace = EmbeddedLabelsHelper.getSpaceSizeForType(position, barAttrs.width, margin, blockSize);
25
- DomHelper.cropSvgLabels(labelBlock, labelTextSpace);
26
- }
4
+ static setLabelBlockAttrs(attrs, labelBlock, transitionDuration = 0) {
5
+ return new Promise((resolve) => {
6
+ let labelBlockHandler = labelBlock;
7
+ if (transitionDuration > 0) {
8
+ labelBlockHandler = labelBlockHandler
9
+ .interrupt()
10
+ .transition()
11
+ .duration(transitionDuration)
12
+ .on("end", () => resolve("updated"));
13
+ }
14
+ labelBlockHandler.attr("x", attrs.x).attr("y", attrs.y).attr("dominant-baseline", "middle");
15
+ if (transitionDuration <= 0) resolve("updated");
16
+ });
17
+ }
18
+ static cropText(labelBlock, barAttrs, position, labelUnserveFlag, margin, blockSize) {
19
+ let labelTextSpace;
20
+ if (labelUnserveFlag) labelTextSpace = blockSize.width - margin.left - margin.right;
21
+ else labelTextSpace = EmbeddedLabelsHelper.getSpaceSizeForType(position, barAttrs.width, margin, blockSize);
22
+ DomHelper.cropSvgLabels(labelBlock, labelTextSpace);
23
+ }
27
24
  }
@@ -3,25 +3,42 @@ import { Size } from "../../../config/config";
3
3
  export declare type EmbeddedLabelPosition = "inside" | "outside";
4
4
  export declare type TextAnchor = "start" | "end" | "center";
5
5
  export interface LabelAttrs {
6
- x: number;
7
- y: number;
8
- textAnchor: TextAnchor;
6
+ x: number;
7
+ y: number;
8
+ textAnchor: TextAnchor;
9
9
  }
10
10
  export interface BarAttrs {
11
- x: number;
12
- y: number;
13
- width: number;
14
- height: number;
11
+ x: number;
12
+ y: number;
13
+ width: number;
14
+ height: number;
15
15
  }
16
16
  export declare const LABEL_BAR_PADDING = 6;
17
17
  export declare const MIN_BAR_HEIGHT_FOR_LABEL_SERVE = 12;
18
18
  export declare class EmbeddedLabelsHelper {
19
- static getLabelPosition(barAttrs: BarAttrs, labelBlockWidth: number, margin: BlockMargin, blockSize: Size, labelUnserveFlag: boolean): EmbeddedLabelPosition;
20
- static getSpaceSizeForType(position: EmbeddedLabelPosition, barWidth: number, margin: BlockMargin, blockSize: Size): number;
21
- static getLabelAttrs(barAttrs: BarAttrs, type: EmbeddedLabelTypeModel, position: EmbeddedLabelPosition, keyAxisOrient: Orient, labelWidth: number): LabelAttrs;
22
- static getLabelField(type: EmbeddedLabelTypeModel, valueFields: Field[], keyField: Field, index: number): Field;
23
- static getLabelUnserveFlag(barHeight: number): boolean;
24
- private static getLabelAttrX;
25
- private static getLabelAttrY;
26
- private static getTextAnchor;
19
+ static getLabelPosition(
20
+ barAttrs: BarAttrs,
21
+ labelBlockWidth: number,
22
+ margin: BlockMargin,
23
+ blockSize: Size,
24
+ labelUnserveFlag: boolean
25
+ ): EmbeddedLabelPosition;
26
+ static getSpaceSizeForType(
27
+ position: EmbeddedLabelPosition,
28
+ barWidth: number,
29
+ margin: BlockMargin,
30
+ blockSize: Size
31
+ ): number;
32
+ static getLabelAttrs(
33
+ barAttrs: BarAttrs,
34
+ type: EmbeddedLabelTypeModel,
35
+ position: EmbeddedLabelPosition,
36
+ keyAxisOrient: Orient,
37
+ labelWidth: number
38
+ ): LabelAttrs;
39
+ static getLabelField(type: EmbeddedLabelTypeModel, valueFields: Field[], keyField: Field, index: number): Field;
40
+ static getLabelUnserveFlag(barHeight: number): boolean;
41
+ private static getLabelAttrX;
42
+ private static getLabelAttrY;
43
+ private static getTextAnchor;
27
44
  }