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
@@ -2,68 +2,67 @@ import { MarkDot } from "../features/markDots/markDot";
2
2
  import { Bar } from "../twoDimensionalNotation/bar/bar";
3
3
  export var SelectionCondition;
4
4
  (function (SelectionCondition) {
5
- SelectionCondition[(SelectionCondition["Include"] = 0)] = "Include";
6
- SelectionCondition[(SelectionCondition["Exclude"] = 1)] = "Exclude";
5
+ SelectionCondition[SelectionCondition["Include"] = 0] = "Include";
6
+ SelectionCondition[SelectionCondition["Exclude"] = 1] = "Exclude";
7
7
  })(SelectionCondition || (SelectionCondition = {}));
8
8
  export class DomHelper {
9
- static setCssClasses(elem, cssClasses) {
10
- cssClasses.forEach((cssClass) => {
11
- elem.classed(cssClass, true);
12
- });
13
- }
14
- static get2DChartElements(block, chart) {
15
- if (chart.type === "line" || chart.type === "area") return MarkDot.getMarkDotForChart(block, chart.cssClasses);
16
- else return Bar.get().getAllBarsForChart(block, chart.cssClasses);
17
- }
18
- static getCssPropertyValue(node, propertyName) {
19
- return window.getComputedStyle(node).getPropertyValue(propertyName);
20
- }
21
- static getSelectionNumericAttr(selection, attrName) {
22
- return parseFloat(selection.attr(attrName));
23
- }
24
- static setChartStyle(elements, chartStyle, fieldIndex, styleType) {
25
- this.setChartElementColor(elements, chartStyle.elementColors, fieldIndex, styleType);
26
- this.setChartOpacity(elements, chartStyle.opacity);
27
- }
28
- static setChartElementColor(elements, colorPalette, fieldIndex, styleType) {
29
- elements.style(styleType, colorPalette[fieldIndex % colorPalette.length]);
30
- }
31
- static cropSvgLabels(labelBlocks, maxWidth) {
32
- labelBlocks.nodes().forEach((node) => {
33
- if (node.getBBox().width > maxWidth) {
34
- const text = node.textContent;
35
- let textLength = text.length;
36
- while (node.getBBox().width > maxWidth && textLength > 0) {
37
- node.textContent = text.substring(0, --textLength) + "...";
38
- }
39
- if (textLength === 0) node.textContent = "";
40
- }
41
- });
42
- }
43
- /**
44
- * Возвращает выборку элементов, ключи которых содержатся или НЕ содержатся в переданном массиве
45
- * @param initialSelection Изначальная выборка
46
- * @param dataWrapped Содержаться ли данные в обертке .data
47
- * @param keyFieldName название поля ключей
48
- * @param keyValues значения ключей
49
- * @param condition включать или исключать элменты по ключам
50
- * @returns Выборка по ключам
51
- */
52
- static getChartElementsByKeys(
53
- initialSelection,
54
- dataWrapped,
55
- keyFieldName,
56
- keyValues,
57
- condition = SelectionCondition.Include
58
- ) {
59
- return initialSelection.filter((d) => {
60
- let i;
61
- if (dataWrapped) i = keyValues.findIndex((kv) => kv === d.data[keyFieldName]);
62
- else i = keyValues.findIndex((kv) => kv === d[keyFieldName]);
63
- return condition === SelectionCondition.Exclude ? i === -1 : i !== -1;
64
- });
65
- }
66
- static setChartOpacity(elements, opacity) {
67
- elements.attr("opacity", opacity);
68
- }
9
+ static setCssClasses(elem, cssClasses) {
10
+ cssClasses.forEach((cssClass) => {
11
+ elem.classed(cssClass, true);
12
+ });
13
+ }
14
+ static get2DChartElements(block, chart) {
15
+ if (chart.type === "line" || chart.type === "area")
16
+ return MarkDot.getMarkDotForChart(block, chart.cssClasses);
17
+ else
18
+ return Bar.get().getAllBarsForChart(block, chart.cssClasses);
19
+ }
20
+ static getCssPropertyValue(node, propertyName) {
21
+ return window.getComputedStyle(node).getPropertyValue(propertyName);
22
+ }
23
+ static getSelectionNumericAttr(selection, attrName) {
24
+ return parseFloat(selection.attr(attrName));
25
+ }
26
+ static setChartStyle(elements, chartStyle, fieldIndex, styleType) {
27
+ this.setChartElementColor(elements, chartStyle.elementColors, fieldIndex, styleType);
28
+ this.setChartOpacity(elements, chartStyle.opacity);
29
+ }
30
+ static setChartElementColor(elements, colorPalette, fieldIndex, styleType) {
31
+ elements.style(styleType, colorPalette[fieldIndex % colorPalette.length]);
32
+ }
33
+ static cropSvgLabels(labelBlocks, maxWidth) {
34
+ labelBlocks.nodes().forEach((node) => {
35
+ if (node.getBBox().width > maxWidth) {
36
+ const text = node.textContent;
37
+ let textLength = text.length;
38
+ while (node.getBBox().width > maxWidth && textLength > 0) {
39
+ node.textContent = text.substring(0, --textLength) + "...";
40
+ }
41
+ if (textLength === 0)
42
+ node.textContent = "";
43
+ }
44
+ });
45
+ }
46
+ /**
47
+ * Возвращает выборку элементов, ключи которых содержатся или НЕ содержатся в переданном массиве
48
+ * @param initialSelection Изначальная выборка
49
+ * @param dataWrapped Содержаться ли данные в обертке .data
50
+ * @param keyFieldName название поля ключей
51
+ * @param keyValues значения ключей
52
+ * @param condition включать или исключать элменты по ключам
53
+ * @returns Выборка по ключам
54
+ */
55
+ static getChartElementsByKeys(initialSelection, dataWrapped, keyFieldName, keyValues, condition = SelectionCondition.Include) {
56
+ return initialSelection.filter((d) => {
57
+ let i;
58
+ if (dataWrapped)
59
+ i = keyValues.findIndex((kv) => kv === d.data[keyFieldName]);
60
+ else
61
+ i = keyValues.findIndex((kv) => kv === d[keyFieldName]);
62
+ return condition === SelectionCondition.Exclude ? i === -1 : i !== -1;
63
+ });
64
+ }
65
+ static setChartOpacity(elements, opacity) {
66
+ elements.attr("opacity", opacity);
67
+ }
69
68
  }
@@ -1,16 +1,16 @@
1
1
  export interface ResizingOptions {
2
- elWrapper: HTMLElement;
3
- unit: "px" | "em";
4
- smallestFontSize: number;
5
- step?: number;
2
+ elWrapper: HTMLElement;
3
+ unit: "px" | "em";
4
+ smallestFontSize: number;
5
+ step?: number;
6
6
  }
7
7
  export declare const FontResizer: {
8
- setSize(el: HTMLElement, options: ResizingOptions): void;
8
+ setSize(el: HTMLElement, options: ResizingOptions): void;
9
9
  };
10
10
  export declare class ResizedElement {
11
- private el;
12
- constructor(el: HTMLElement);
13
- setStyle(style: string, value: string): void;
14
- getSizeStyleInNum(style: string): number;
15
- getWidth(): number;
11
+ private el;
12
+ constructor(el: HTMLElement);
13
+ setStyle(style: string, value: string): void;
14
+ getSizeStyleInNum(style: string): number;
15
+ getWidth(): number;
16
16
  }
@@ -1,26 +1,21 @@
1
1
  import { resizeFont } from "./fontResizerService";
2
2
  export const FontResizer = new (class {
3
- setSize(el, options) {
4
- const wrappedEl = new ResizedElement(el);
5
- resizeFont(
6
- wrappedEl,
7
- Object.assign(Object.assign({}, options), {
8
- elWrapper: new ResizedElement(options.elWrapper)
9
- })
10
- );
11
- }
3
+ setSize(el, options) {
4
+ const wrappedEl = new ResizedElement(el);
5
+ resizeFont(wrappedEl, Object.assign(Object.assign({}, options), { elWrapper: new ResizedElement(options.elWrapper) }));
6
+ }
12
7
  })();
13
8
  export class ResizedElement {
14
- constructor(el) {
15
- this.el = el;
16
- }
17
- setStyle(style, value) {
18
- this.el.style[style] = value;
19
- }
20
- getSizeStyleInNum(style) {
21
- return parseFloat(this.el.style[style]);
22
- }
23
- getWidth() {
24
- return this.el.getBoundingClientRect().width;
25
- }
9
+ constructor(el) {
10
+ this.el = el;
11
+ }
12
+ setStyle(style, value) {
13
+ this.el.style[style] = value;
14
+ }
15
+ getSizeStyleInNum(style) {
16
+ return parseFloat(this.el.style[style]);
17
+ }
18
+ getWidth() {
19
+ return this.el.getBoundingClientRect().width;
20
+ }
26
21
  }
@@ -1,6 +1,6 @@
1
1
  import { ResizedElement, ResizingOptions } from "./fontResizer";
2
2
  interface ResizerServiceOptions extends Omit<ResizingOptions, "elWrapper"> {
3
- elWrapper: ResizedElement;
3
+ elWrapper: ResizedElement;
4
4
  }
5
5
  export declare function resizeFont(el: ResizedElement, options: ResizerServiceOptions): void;
6
6
  export {};
@@ -1,11 +1,12 @@
1
1
  export function resizeFont(el, options) {
2
- const wrapper = options.elWrapper;
3
- if (el.getWidth() <= wrapper.getWidth()) return;
4
- let fontSize = el.getSizeStyleInNum("font-size");
5
- const { smallestFontSize: minSize, step, unit } = options;
6
- const wrapperWidth = wrapper.getWidth();
7
- while (el.getWidth() > wrapperWidth && fontSize > minSize) {
8
- fontSize -= step;
9
- el.setStyle("font-size", `${fontSize}${unit}`);
10
- }
2
+ const wrapper = options.elWrapper;
3
+ if (el.getWidth() <= wrapper.getWidth())
4
+ return;
5
+ let fontSize = el.getSizeStyleInNum("font-size");
6
+ const { smallestFontSize: minSize, step, unit } = options;
7
+ const wrapperWidth = wrapper.getWidth();
8
+ while (el.getWidth() > wrapperWidth && fontSize > minSize) {
9
+ fontSize -= step;
10
+ el.setStyle("font-size", `${fontSize}${unit}`);
11
+ }
11
12
  }
@@ -1,30 +1,30 @@
1
1
  import { MdtChartsDataRow, MdtChartsDataSource } from "../../config/config";
2
2
  export declare class Helper {
3
- static getRowsByKeys(keys: string[], keyFieldName: string, dataSet: MdtChartsDataRow[]): MdtChartsDataRow[];
4
- static getKeysByIds(ids: number[], keyFieldName: string, dataSet: MdtChartsDataRow[]): string[];
5
- static extractKeysFromRows(keyFieldName: string, dataSet: MdtChartsDataRow[]): string[];
6
- static getRowsByIds(ids: number[], dataSet: MdtChartsDataRow[]): MdtChartsDataRow[];
7
- static getCssClassesLine(cssClasses: string[]): string;
8
- static getCssClassesArray(cssClass: string): string[];
9
- static getCssClassesWithElementIndex(cssClasses: string[], index: number): string[];
10
- static getRgbaFromRgb(rgbValue: string, opacity: number): string;
11
- static getTranslateNumbers(transformValue: string): [number, number];
12
- static getSumOfNumeric(numbers: number[]): number;
13
- static parseFormattedToNumber(value: string, rankSpliter: string): number;
14
- static calcDigitsAfterDot(value: number): number;
15
- static checkDomainsEquality(oldDomain: string[], newDomain: string[]): boolean;
16
- static getValueOrZero(value: number): number;
17
- static getPXValueFromString(propertyValue: string): number;
18
- /**
19
- * Возвращает значение ключа в зависимости от того, обернуты ли данные
20
- * @param row
21
- * @param keyFieldName
22
- * @param isSegmented
23
- * @returns
24
- */
25
- static getKeyFieldValue(row: MdtChartsDataRow, keyFieldName: string, isSegmented: boolean): string;
26
- /**
27
- * Сравнивает старые и новые данные
28
- */
29
- static compareData(oldSource: MdtChartsDataSource, newSource: MdtChartsDataSource, sourceName: string): boolean;
3
+ static getRowsByKeys(keys: string[], keyFieldName: string, dataSet: MdtChartsDataRow[]): MdtChartsDataRow[];
4
+ static getKeysByIds(ids: number[], keyFieldName: string, dataSet: MdtChartsDataRow[]): string[];
5
+ static extractKeysFromRows(keyFieldName: string, dataSet: MdtChartsDataRow[]): string[];
6
+ static getRowsByIds(ids: number[], dataSet: MdtChartsDataRow[]): MdtChartsDataRow[];
7
+ static getCssClassesLine(cssClasses: string[]): string;
8
+ static getCssClassesArray(cssClass: string): string[];
9
+ static getCssClassesWithElementIndex(cssClasses: string[], index: number): string[];
10
+ static getRgbaFromRgb(rgbValue: string, opacity: number): string;
11
+ static getTranslateNumbers(transformValue: string): [number, number];
12
+ static getSumOfNumeric(numbers: number[]): number;
13
+ static parseFormattedToNumber(value: string, rankSpliter: string): number;
14
+ static calcDigitsAfterDot(value: number): number;
15
+ static checkDomainsEquality(oldDomain: string[], newDomain: string[]): boolean;
16
+ static getValueOrZero(value: number): number;
17
+ static getPXValueFromString(propertyValue: string): number;
18
+ /**
19
+ * Возвращает значение ключа в зависимости от того, обернуты ли данные
20
+ * @param row
21
+ * @param keyFieldName
22
+ * @param isSegmented
23
+ * @returns
24
+ */
25
+ static getKeyFieldValue(row: MdtChartsDataRow, keyFieldName: string, isSegmented: boolean): string;
26
+ /**
27
+ * Сравнивает старые и новые данные
28
+ */
29
+ static compareData(oldSource: MdtChartsDataSource, newSource: MdtChartsDataSource, sourceName: string): boolean;
30
30
  }
@@ -1,93 +1,94 @@
1
1
  export class Helper {
2
- static getRowsByKeys(keys, keyFieldName, dataSet) {
3
- return dataSet.filter((row) => keys.findIndex((key) => key === row[keyFieldName]) !== -1);
4
- }
5
- static getKeysByIds(ids, keyFieldName, dataSet) {
6
- return this.extractKeysFromRows(keyFieldName, this.getRowsByIds(ids, dataSet));
7
- }
8
- static extractKeysFromRows(keyFieldName, dataSet) {
9
- return dataSet.map((row) => row[keyFieldName]);
10
- }
11
- static getRowsByIds(ids, dataSet) {
12
- return dataSet.filter((row) => ids.findIndex((id) => id === row.$id) !== -1);
13
- }
14
- static getCssClassesLine(cssClasses) {
15
- return "." + cssClasses.join(".");
16
- }
17
- static getCssClassesArray(cssClass) {
18
- return cssClass.split(" ");
19
- }
20
- static getCssClassesWithElementIndex(cssClasses, index) {
21
- return cssClasses.concat([`chart-element-${index}`]);
22
- }
23
- static getRgbaFromRgb(rgbValue, opacity) {
24
- const rgbNumbers = rgbValue.substring(3, rgbValue.length - 1);
25
- return `rgba${rgbNumbers}, ${opacity})`;
26
- }
27
- static getTranslateNumbers(transformValue) {
28
- if (!transformValue) return [0, 0];
29
- const translateNumbers = transformValue.substring(10, transformValue.length - 1).split(", ");
30
- const translateX = parseFloat(translateNumbers[0]);
31
- const translateY = parseFloat(translateNumbers[1]);
32
- return [translateX, translateY];
33
- }
34
- static getSumOfNumeric(numbers) {
35
- return numbers.reduce((acc, value) => acc + value, 0);
36
- }
37
- static parseFormattedToNumber(value, rankSpliter) {
38
- return parseFloat(value.replace(rankSpliter, ".").split(/\s/).join(""));
39
- }
40
- static calcDigitsAfterDot(value) {
41
- const valueInString = value.toString();
42
- const dotIndex =
43
- valueInString.lastIndexOf(".") === -1 ? valueInString.length : valueInString.lastIndexOf(".") + 1;
44
- return valueInString.substring(dotIndex).length;
45
- }
46
- static checkDomainsEquality(oldDomain, newDomain) {
47
- if (oldDomain.length !== newDomain.length) return false;
48
- let isEqual = true;
49
- oldDomain.forEach((keyValue, index) => {
50
- if (keyValue !== newDomain[index]) isEqual = false;
51
- });
52
- return isEqual;
53
- }
54
- static getValueOrZero(value) {
55
- return Math.max(value, 0);
56
- }
57
- static getPXValueFromString(propertyValue) {
58
- return parseFloat(propertyValue);
59
- }
60
- /**
61
- * Возвращает значение ключа в зависимости от того, обернуты ли данные
62
- * @param row
63
- * @param keyFieldName
64
- * @param isSegmented
65
- * @returns
66
- */
67
- static getKeyFieldValue(row, keyFieldName, isSegmented) {
68
- return isSegmented ? row.data[keyFieldName] : row[keyFieldName];
69
- }
70
- /**
71
- * Сравнивает старые и новые данные
72
- */
73
- static compareData(oldSource, newSource, sourceName) {
74
- if (
75
- !oldSource ||
76
- !newSource ||
77
- !sourceName ||
78
- !oldSource[sourceName] ||
79
- !newSource[sourceName] ||
80
- oldSource[sourceName].length !== newSource[sourceName].length
81
- )
82
- return false;
83
- const oldData = oldSource[sourceName];
84
- const newData = newSource[sourceName];
85
- let isEqual = true;
86
- oldData.forEach((row, i) => {
87
- for (let key in row) {
88
- if (row[key] !== newData[i][key] && isEqual) isEqual = false;
89
- }
90
- });
91
- return isEqual;
92
- }
2
+ static getRowsByKeys(keys, keyFieldName, dataSet) {
3
+ return dataSet.filter((row) => keys.findIndex((key) => key === row[keyFieldName]) !== -1);
4
+ }
5
+ static getKeysByIds(ids, keyFieldName, dataSet) {
6
+ return this.extractKeysFromRows(keyFieldName, this.getRowsByIds(ids, dataSet));
7
+ }
8
+ static extractKeysFromRows(keyFieldName, dataSet) {
9
+ return dataSet.map((row) => row[keyFieldName]);
10
+ }
11
+ static getRowsByIds(ids, dataSet) {
12
+ return dataSet.filter((row) => ids.findIndex((id) => id === row.$id) !== -1);
13
+ }
14
+ static getCssClassesLine(cssClasses) {
15
+ return "." + cssClasses.join(".");
16
+ }
17
+ static getCssClassesArray(cssClass) {
18
+ return cssClass.split(" ");
19
+ }
20
+ static getCssClassesWithElementIndex(cssClasses, index) {
21
+ return cssClasses.concat([`chart-element-${index}`]);
22
+ }
23
+ static getRgbaFromRgb(rgbValue, opacity) {
24
+ const rgbNumbers = rgbValue.substring(3, rgbValue.length - 1);
25
+ return `rgba${rgbNumbers}, ${opacity})`;
26
+ }
27
+ static getTranslateNumbers(transformValue) {
28
+ if (!transformValue)
29
+ return [0, 0];
30
+ const translateNumbers = transformValue.substring(10, transformValue.length - 1).split(", ");
31
+ const translateX = parseFloat(translateNumbers[0]);
32
+ const translateY = parseFloat(translateNumbers[1]);
33
+ return [translateX, translateY];
34
+ }
35
+ static getSumOfNumeric(numbers) {
36
+ return numbers.reduce((acc, value) => acc + value, 0);
37
+ }
38
+ static parseFormattedToNumber(value, rankSpliter) {
39
+ return parseFloat(value.replace(rankSpliter, ".").split(/\s/).join(""));
40
+ }
41
+ static calcDigitsAfterDot(value) {
42
+ const valueInString = value.toString();
43
+ const dotIndex = valueInString.lastIndexOf(".") === -1 ? valueInString.length : valueInString.lastIndexOf(".") + 1;
44
+ return valueInString.substring(dotIndex).length;
45
+ }
46
+ static checkDomainsEquality(oldDomain, newDomain) {
47
+ if (oldDomain.length !== newDomain.length)
48
+ return false;
49
+ let isEqual = true;
50
+ oldDomain.forEach((keyValue, index) => {
51
+ if (keyValue !== newDomain[index])
52
+ isEqual = false;
53
+ });
54
+ return isEqual;
55
+ }
56
+ static getValueOrZero(value) {
57
+ return Math.max(value, 0);
58
+ }
59
+ static getPXValueFromString(propertyValue) {
60
+ return parseFloat(propertyValue);
61
+ }
62
+ /**
63
+ * Возвращает значение ключа в зависимости от того, обернуты ли данные
64
+ * @param row
65
+ * @param keyFieldName
66
+ * @param isSegmented
67
+ * @returns
68
+ */
69
+ static getKeyFieldValue(row, keyFieldName, isSegmented) {
70
+ return isSegmented ? row.data[keyFieldName] : row[keyFieldName];
71
+ }
72
+ /**
73
+ * Сравнивает старые и новые данные
74
+ */
75
+ static compareData(oldSource, newSource, sourceName) {
76
+ if (!oldSource ||
77
+ !newSource ||
78
+ !sourceName ||
79
+ !oldSource[sourceName] ||
80
+ !newSource[sourceName] ||
81
+ oldSource[sourceName].length !== newSource[sourceName].length)
82
+ return false;
83
+ const oldData = oldSource[sourceName];
84
+ const newData = newSource[sourceName];
85
+ let isEqual = true;
86
+ oldData.forEach((row, i) => {
87
+ for (let key in row) {
88
+ if (row[key] !== newData[i][key] && isEqual)
89
+ isEqual = false;
90
+ }
91
+ });
92
+ return isEqual;
93
+ }
93
94
  }
@@ -1,5 +1,5 @@
1
1
  export declare class NamesHelper {
2
- private static prefix;
3
- static getClassName(classOfElem: string): string;
4
- static getId(idName: string, blockId: number): string;
2
+ private static prefix;
3
+ static getClassName(classOfElem: string): string;
4
+ static getId(idName: string, blockId: number): string;
5
5
  }
@@ -1,9 +1,9 @@
1
1
  export class NamesHelper {
2
- static getClassName(classOfElem) {
3
- return this.prefix + classOfElem;
4
- }
5
- static getId(idName, blockId) {
6
- return this.prefix + idName + "-" + blockId;
7
- }
2
+ static getClassName(classOfElem) {
3
+ return this.prefix + classOfElem;
4
+ }
5
+ static getId(idName, blockId) {
6
+ return this.prefix + idName + "-" + blockId;
7
+ }
8
8
  }
9
9
  NamesHelper.prefix = "mdt-charts-";
@@ -1,9 +1,9 @@
1
1
  declare type Middleware<D, M> = (args: D, meta?: M) => D | undefined;
2
2
  export declare class Pipeline<D = any, M = any> {
3
- private middlewaresStorage;
4
- constructor(middlewares?: Middleware<D, M>[]);
5
- push(middleware: Middleware<D, M>): () => void;
6
- remove(middleware: Middleware<D, M>): void;
7
- execute<CurrentArgs extends D = D>(args: CurrentArgs, meta?: M): CurrentArgs;
3
+ private middlewaresStorage;
4
+ constructor(middlewares?: Middleware<D, M>[]);
5
+ push(middleware: Middleware<D, M>): () => void;
6
+ remove(middleware: Middleware<D, M>): void;
7
+ execute<CurrentArgs extends D = D>(args: CurrentArgs, meta?: M): CurrentArgs;
8
8
  }
9
9
  export {};
@@ -1,37 +1,37 @@
1
1
  export class Pipeline {
2
- constructor(middlewares) {
3
- this.middlewaresStorage = new PipelineMiddlewaresStorage(middlewares);
4
- }
5
- push(middleware) {
6
- return this.middlewaresStorage.push(middleware);
7
- }
8
- remove(middleware) {
9
- this.middlewaresStorage.remove(middleware);
10
- }
11
- execute(args, meta) {
12
- const process = (args, middlewares) => {
13
- const current = middlewares[0];
14
- if (!current) {
15
- return args;
16
- }
17
- const replaceArgs = current(args, meta);
18
- return process(replaceArgs === undefined ? args : replaceArgs, middlewares.slice(1));
19
- };
20
- return process(args, this.middlewaresStorage.getList());
21
- }
2
+ constructor(middlewares) {
3
+ this.middlewaresStorage = new PipelineMiddlewaresStorage(middlewares);
4
+ }
5
+ push(middleware) {
6
+ return this.middlewaresStorage.push(middleware);
7
+ }
8
+ remove(middleware) {
9
+ this.middlewaresStorage.remove(middleware);
10
+ }
11
+ execute(args, meta) {
12
+ const process = (args, middlewares) => {
13
+ const current = middlewares[0];
14
+ if (!current) {
15
+ return args;
16
+ }
17
+ const replaceArgs = current(args, meta);
18
+ return process(replaceArgs === undefined ? args : replaceArgs, middlewares.slice(1));
19
+ };
20
+ return process(args, this.middlewaresStorage.getList());
21
+ }
22
22
  }
23
23
  class PipelineMiddlewaresStorage {
24
- constructor(middlewares) {
25
- this.middlewares = middlewares || [];
26
- }
27
- push(middleware) {
28
- this.middlewares.push(middleware);
29
- return () => this.remove(middleware);
30
- }
31
- remove(middleware) {
32
- this.middlewares = this.middlewares.filter((cur) => cur != middleware);
33
- }
34
- getList() {
35
- return this.middlewares;
36
- }
24
+ constructor(middlewares) {
25
+ this.middlewares = middlewares || [];
26
+ }
27
+ push(middleware) {
28
+ this.middlewares.push(middleware);
29
+ return () => this.remove(middleware);
30
+ }
31
+ remove(middleware) {
32
+ this.middlewares = this.middlewares.filter((cur) => cur != middleware);
33
+ }
34
+ getList() {
35
+ return this.middlewares;
36
+ }
37
37
  }
@@ -3,29 +3,15 @@ import { MdtChartsDataRow, Size, MdtChartsColorField } from "../../../config/con
3
3
  import { BlockMargin, DonutChartSettings } from "../../../model/model";
4
4
  import { Translate } from "./donut";
5
5
  export declare class DonutHelper {
6
- static getThickness(donutSettings: DonutChartSettings, blockSize: Size, margin: BlockMargin): number;
7
- static getArcCentroid(
8
- blockSize: Size,
9
- margin: BlockMargin,
10
- dataItem: PieArcDatum<MdtChartsDataRow>,
11
- donutThickness: number
12
- ): [number, number];
13
- static getArcGeneratorObject(
14
- blockSize: Size,
15
- margin: BlockMargin,
16
- donutThickness: number
17
- ): Arc<any, PieArcDatum<MdtChartsDataRow>>;
18
- static getOuterRadius(margin: BlockMargin, blockSize: Size): number;
19
- static getInnerRadius(outerRadius: number, thickness: number): number;
20
- static getTranslate(margin: BlockMargin, blockSize: Size): Translate;
21
- static getArcGenerator(outerRadius: number, innerRadius: number): Arc<any, PieArcDatum<MdtChartsDataRow>>;
22
- static getPieGenerator(valueField: string, padAngle: number): Pie<any, MdtChartsDataRow>;
23
- static mergeDataWithZeros(
24
- firstDataset: MdtChartsDataRow[],
25
- secondDataset: MdtChartsDataRow[],
26
- keyField: string,
27
- colorField: MdtChartsColorField
28
- ): MdtChartsDataRow[];
29
- private static getThicknessByUnit;
30
- private static getChartBlockSize;
6
+ static getThickness(donutSettings: DonutChartSettings, blockSize: Size, margin: BlockMargin): number;
7
+ static getArcCentroid(blockSize: Size, margin: BlockMargin, dataItem: PieArcDatum<MdtChartsDataRow>, donutThickness: number): [number, number];
8
+ static getArcGeneratorObject(blockSize: Size, margin: BlockMargin, donutThickness: number): Arc<any, PieArcDatum<MdtChartsDataRow>>;
9
+ static getOuterRadius(margin: BlockMargin, blockSize: Size): number;
10
+ static getInnerRadius(outerRadius: number, thickness: number): number;
11
+ static getTranslate(margin: BlockMargin, blockSize: Size): Translate;
12
+ static getArcGenerator(outerRadius: number, innerRadius: number): Arc<any, PieArcDatum<MdtChartsDataRow>>;
13
+ static getPieGenerator(valueField: string, padAngle: number): Pie<any, MdtChartsDataRow>;
14
+ static mergeDataWithZeros(firstDataset: MdtChartsDataRow[], secondDataset: MdtChartsDataRow[], keyField: string, colorField: MdtChartsColorField): MdtChartsDataRow[];
15
+ private static getThicknessByUnit;
16
+ private static getChartBlockSize;
31
17
  }