mdt-charts 1.29.0 → 1.29.1

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 +167 -177
  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 +169 -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 +284 -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 +1 -1
  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
@@ -5,21 +5,18 @@ import { BaseType, Selection } from "d3-selection";
5
5
  import { Segment } from "../../../engine/twoDimensionalNotation/lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware";
6
6
  import { Line as ILine } from "d3-shape";
7
7
  interface LineBuilderOptions {
8
- elementAccessors: {
9
- getBlock: () => Block;
10
- };
8
+ elementAccessors: {
9
+ getBlock: () => Block;
10
+ };
11
11
  }
12
12
  export declare class LineBuilder {
13
- private readonly options;
14
- private readonly chart;
15
- private readonly lineGenerator;
16
- constructor(options: LineBuilderOptions, chart: TwoDimensionalChartModel, lineGenerator: ILine<MdtChartsDataRow>);
17
- renderSegmented(stakedData: Segment[][], lineClass: string): Selection<SVGPathElement, Segment[], SVGGElement, any>;
18
- setSegmentColor(segments: Selection<SVGGElement, unknown, SVGGElement, unknown>, colorPalette: string[]): void;
19
- updateSegmentedPath(linesObjects: Selection<BaseType, any, BaseType, any>): Promise<any>;
20
- getAllLinesWithNewData(
21
- stakedData: Segment[][],
22
- lineClass: string
23
- ): Selection<SVGPathElement, Segment[], SVGGElement, any>;
13
+ private readonly options;
14
+ private readonly chart;
15
+ private readonly lineGenerator;
16
+ constructor(options: LineBuilderOptions, chart: TwoDimensionalChartModel, lineGenerator: ILine<MdtChartsDataRow>);
17
+ renderSegmented(stakedData: Segment[][], lineClass: string): Selection<SVGPathElement, Segment[], SVGGElement, any>;
18
+ setSegmentColor(segments: Selection<SVGGElement, unknown, SVGGElement, unknown>, colorPalette: string[]): void;
19
+ updateSegmentedPath(linesObjects: Selection<BaseType, any, BaseType, any>): Promise<any>;
20
+ getAllLinesWithNewData(stakedData: Segment[][], lineClass: string): Selection<SVGPathElement, Segment[], SVGGElement, any>;
24
21
  }
25
22
  export {};
@@ -1,50 +1,51 @@
1
1
  import { Helper } from "../../../engine/helpers/helper";
2
2
  export class LineBuilder {
3
- constructor(options, chart, lineGenerator) {
4
- this.options = options;
5
- this.chart = chart;
6
- this.lineGenerator = lineGenerator;
7
- }
8
- renderSegmented(stakedData, lineClass) {
9
- const block = this.options.elementAccessors.getBlock();
10
- return block.svg
11
- .getChartGroup(this.chart.index)
12
- .selectAll(`.${lineClass}${Helper.getCssClassesLine(this.chart.cssClasses)}`)
13
- .data(stakedData)
14
- .enter()
15
- .append("path")
16
- .attr("d", (d) => this.lineGenerator(d))
17
- .attr("class", lineClass)
18
- .style("fill", "none")
19
- .style("clip-path", `url(#${block.svg.getClipPathId()})`)
20
- .style("pointer-events", "none");
21
- }
22
- setSegmentColor(segments, colorPalette) {
23
- segments.style("stroke", (d, i) => colorPalette[i % colorPalette.length]);
24
- }
25
- updateSegmentedPath(linesObjects) {
26
- const block = this.options.elementAccessors.getBlock();
27
- return new Promise((resolve) => {
28
- if (linesObjects.size() === 0) {
29
- resolve("");
30
- return;
31
- }
32
- let linesHandler = linesObjects;
33
- if (block.transitionManager.durations.chartUpdate > 0)
34
- linesHandler = linesHandler
35
- .interrupt()
36
- .transition()
37
- .duration(block.transitionManager.durations.chartUpdate)
38
- .on("end", () => resolve(""));
39
- linesHandler.attr("d", (d) => this.lineGenerator(d));
40
- if (block.transitionManager.durations.chartUpdate <= 0) resolve("");
41
- });
42
- }
43
- getAllLinesWithNewData(stakedData, lineClass) {
44
- const block = this.options.elementAccessors.getBlock();
45
- return block.svg
46
- .getChartGroup(this.chart.index)
47
- .selectAll(`path.${lineClass}${Helper.getCssClassesLine(this.chart.cssClasses)}`)
48
- .data(stakedData);
49
- }
3
+ constructor(options, chart, lineGenerator) {
4
+ this.options = options;
5
+ this.chart = chart;
6
+ this.lineGenerator = lineGenerator;
7
+ }
8
+ renderSegmented(stakedData, lineClass) {
9
+ const block = this.options.elementAccessors.getBlock();
10
+ return block.svg
11
+ .getChartGroup(this.chart.index)
12
+ .selectAll(`.${lineClass}${Helper.getCssClassesLine(this.chart.cssClasses)}`)
13
+ .data(stakedData)
14
+ .enter()
15
+ .append("path")
16
+ .attr("d", (d) => this.lineGenerator(d))
17
+ .attr("class", lineClass)
18
+ .style("fill", "none")
19
+ .style("clip-path", `url(#${block.svg.getClipPathId()})`)
20
+ .style("pointer-events", "none");
21
+ }
22
+ setSegmentColor(segments, colorPalette) {
23
+ segments.style("stroke", (d, i) => colorPalette[i % colorPalette.length]);
24
+ }
25
+ updateSegmentedPath(linesObjects) {
26
+ const block = this.options.elementAccessors.getBlock();
27
+ return new Promise((resolve) => {
28
+ if (linesObjects.size() === 0) {
29
+ resolve("");
30
+ return;
31
+ }
32
+ let linesHandler = linesObjects;
33
+ if (block.transitionManager.durations.chartUpdate > 0)
34
+ linesHandler = linesHandler
35
+ .interrupt()
36
+ .transition()
37
+ .duration(block.transitionManager.durations.chartUpdate)
38
+ .on("end", () => resolve(""));
39
+ linesHandler.attr("d", (d) => this.lineGenerator(d));
40
+ if (block.transitionManager.durations.chartUpdate <= 0)
41
+ resolve("");
42
+ });
43
+ }
44
+ getAllLinesWithNewData(stakedData, lineClass) {
45
+ const block = this.options.elementAccessors.getBlock();
46
+ return block.svg
47
+ .getChartGroup(this.chart.index)
48
+ .selectAll(`path.${lineClass}${Helper.getCssClassesLine(this.chart.cssClasses)}`)
49
+ .data(stakedData);
50
+ }
50
51
  }
@@ -2,11 +2,11 @@ import { MdtChartsDataRow } from "../../../config/config";
2
2
  import { LineLikeGeneratorMiddleware } from "../lineLike/generatorMiddleware/lineLikeGeneratorMiddleware";
3
3
  import { CoordinateGetter } from "../lineLike/generatorFactory/lineLikeGeneratorFactory";
4
4
  interface LineGeneratorOptions {
5
- middlewares: LineLikeGeneratorMiddleware[];
5
+ middlewares: LineLikeGeneratorMiddleware[];
6
6
  }
7
7
  export declare class LineGenerator {
8
- private options;
9
- constructor(options: LineGeneratorOptions);
10
- get(xValue: CoordinateGetter, yValue: CoordinateGetter): import("d3-shape").Line<MdtChartsDataRow>;
8
+ private options;
9
+ constructor(options: LineGeneratorOptions);
10
+ get(xValue: CoordinateGetter, yValue: CoordinateGetter): import("d3-shape").Line<MdtChartsDataRow>;
11
11
  }
12
12
  export {};
@@ -1,11 +1,11 @@
1
1
  import { line } from "d3-shape";
2
2
  export class LineGenerator {
3
- constructor(options) {
4
- this.options = options;
5
- }
6
- get(xValue, yValue) {
7
- const generator = line().x(xValue).y(yValue);
8
- this.options.middlewares.forEach((middleware) => middleware.handle(generator));
9
- return generator;
10
- }
3
+ constructor(options) {
4
+ this.options = options;
5
+ }
6
+ get(xValue, yValue) {
7
+ const generator = line().x(xValue).y(yValue);
8
+ this.options.middlewares.forEach((middleware) => middleware.handle(generator));
9
+ return generator;
10
+ }
11
11
  }
@@ -6,17 +6,11 @@ import { BaseType, Selection } from "d3-selection";
6
6
  import { Segment } from "../lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware";
7
7
  import { LineLikeGeneratorFactoryOptions } from "../lineLike/generatorFactory/lineLikeGeneratorFactory";
8
8
  export declare class LineGeneratorFactory {
9
- private options;
10
- constructor(options: LineLikeGeneratorFactoryOptions);
11
- getLineGenerator(valueFieldName: string): ILine<MdtChartsDataRow>;
12
- getSegmentedLineGenerator(): ILine<MdtChartsDataRow>;
9
+ private options;
10
+ constructor(options: LineLikeGeneratorFactoryOptions);
11
+ getLineGenerator(valueFieldName: string): ILine<MdtChartsDataRow>;
12
+ getSegmentedLineGenerator(): ILine<MdtChartsDataRow>;
13
13
  }
14
- export declare function onLineChartInit(
15
- creatingPipeline: Pipeline<Selection<SVGElement, any, BaseType, any>, TwoDimensionalChartModel>
16
- ): void;
17
- export declare function applyLineDash(
18
- lineSelection: Selection<SVGElement, any, BaseType, any>,
19
- dashSize: number,
20
- gapSize: number
21
- ): Selection<SVGElement, any, BaseType, any>;
14
+ export declare function onLineChartInit(creatingPipeline: Pipeline<Selection<SVGElement, any, BaseType, any>, TwoDimensionalChartModel>): void;
15
+ export declare function applyLineDash(lineSelection: Selection<SVGElement, any, BaseType, any>, dashSize: number, gapSize: number): Selection<SVGElement, any, BaseType, any>;
22
16
  export declare function getStackedData(data: MdtChartsDataRow[], chart: TwoDimensionalChartModel): Segment[][];
@@ -4,88 +4,72 @@ import { LineGenerator } from "./lineGenerator";
4
4
  import { LineLikeGeneratorCurveMiddleware } from "../lineLike/generatorMiddleware/lineLikeGeneratorCurveMiddleware";
5
5
  import { LineLikeGeneratorDefinedMiddleware } from "../lineLike/generatorMiddleware/lineLikeGeneratorDefineMiddleware";
6
6
  export class LineGeneratorFactory {
7
- constructor(options) {
8
- this.options = options;
9
- }
10
- getLineGenerator(valueFieldName) {
11
- const { keyAxisOrient, scales, keyFieldName, margin, shouldRender } = this.options;
12
- const generator = new LineGenerator({
13
- middlewares: [
14
- new LineLikeGeneratorCurveMiddleware({ curve: this.options.curve }),
15
- new LineLikeGeneratorDefinedMiddleware({
16
- definedFn: shouldRender,
17
- valueFieldNameGetter: () => valueFieldName,
18
- dataRowGetter: (d) => d
19
- })
20
- ]
21
- });
22
- if (keyAxisOrient === "bottom" || keyAxisOrient === "top") {
23
- return generator.get(
24
- (d) => Scale.getScaledValue(scales.key, d[keyFieldName]) + margin.left,
25
- (d) => scales.value(d[valueFieldName]) + margin.top
26
- );
27
- }
28
- if (keyAxisOrient === "left" || keyAxisOrient === "right") {
29
- return generator.get(
30
- (d) => scales.value(d[valueFieldName]) + margin.left,
31
- (d) => Scale.getScaledValue(scales.key, d[keyFieldName]) + margin.top
32
- );
33
- }
34
- }
35
- getSegmentedLineGenerator() {
36
- const { keyAxisOrient, scales, keyFieldName, margin, shouldRender } = this.options;
37
- const generator = new LineGenerator({
38
- middlewares: [
39
- new LineLikeGeneratorCurveMiddleware({ curve: this.options.curve }),
40
- new LineLikeGeneratorDefinedMiddleware({
41
- definedFn: shouldRender,
42
- valueFieldNameGetter: (d) => d.fieldName,
43
- dataRowGetter: (d) => d.data
44
- })
45
- ]
46
- });
47
- if (keyAxisOrient === "bottom" || keyAxisOrient === "top") {
48
- return generator.get(
49
- (d) => Scale.getScaledValue(scales.key, d.data[keyFieldName]) + margin.left,
50
- (d) => scales.value(d[1]) + margin.top
51
- );
52
- }
53
- if (keyAxisOrient === "left" || keyAxisOrient === "right") {
54
- return generator.get(
55
- (d) => scales.value(d[1]) + margin.left,
56
- (d) => Scale.getScaledValue(scales.key, d.data[keyFieldName]) + margin.top
57
- );
58
- }
59
- }
7
+ constructor(options) {
8
+ this.options = options;
9
+ }
10
+ getLineGenerator(valueFieldName) {
11
+ const { keyAxisOrient, scales, keyFieldName, margin, shouldRender } = this.options;
12
+ const generator = new LineGenerator({
13
+ middlewares: [
14
+ new LineLikeGeneratorCurveMiddleware({ curve: this.options.curve }),
15
+ new LineLikeGeneratorDefinedMiddleware({
16
+ definedFn: shouldRender,
17
+ valueFieldNameGetter: () => valueFieldName,
18
+ dataRowGetter: (d) => d
19
+ })
20
+ ]
21
+ });
22
+ if (keyAxisOrient === "bottom" || keyAxisOrient === "top") {
23
+ return generator.get((d) => Scale.getScaledValue(scales.key, d[keyFieldName]) + margin.left, (d) => scales.value(d[valueFieldName]) + margin.top);
24
+ }
25
+ if (keyAxisOrient === "left" || keyAxisOrient === "right") {
26
+ return generator.get((d) => scales.value(d[valueFieldName]) + margin.left, (d) => Scale.getScaledValue(scales.key, d[keyFieldName]) + margin.top);
27
+ }
28
+ }
29
+ getSegmentedLineGenerator() {
30
+ const { keyAxisOrient, scales, keyFieldName, margin, shouldRender } = this.options;
31
+ const generator = new LineGenerator({
32
+ middlewares: [
33
+ new LineLikeGeneratorCurveMiddleware({ curve: this.options.curve }),
34
+ new LineLikeGeneratorDefinedMiddleware({
35
+ definedFn: shouldRender,
36
+ valueFieldNameGetter: (d) => d.fieldName,
37
+ dataRowGetter: (d) => d.data
38
+ })
39
+ ]
40
+ });
41
+ if (keyAxisOrient === "bottom" || keyAxisOrient === "top") {
42
+ return generator.get((d) => Scale.getScaledValue(scales.key, d.data[keyFieldName]) + margin.left, (d) => scales.value(d[1]) + margin.top);
43
+ }
44
+ if (keyAxisOrient === "left" || keyAxisOrient === "right") {
45
+ return generator.get((d) => scales.value(d[1]) + margin.left, (d) => Scale.getScaledValue(scales.key, d.data[keyFieldName]) + margin.top);
46
+ }
47
+ }
60
48
  }
61
49
  export function onLineChartInit(creatingPipeline) {
62
- creatingPipeline.push((path, chart) => {
63
- if (chart.lineLikeViewOptions.dashedStyles.on) {
64
- return applyLineDash(
65
- path,
66
- chart.lineLikeViewOptions.dashedStyles.dashSize,
67
- chart.lineLikeViewOptions.dashedStyles.gapSize
68
- );
69
- }
70
- return path;
71
- });
72
- creatingPipeline.push(setStrokeWidth);
50
+ creatingPipeline.push((path, chart) => {
51
+ if (chart.lineLikeViewOptions.dashedStyles.on) {
52
+ return applyLineDash(path, chart.lineLikeViewOptions.dashedStyles.dashSize, chart.lineLikeViewOptions.dashedStyles.gapSize);
53
+ }
54
+ return path;
55
+ });
56
+ creatingPipeline.push(setStrokeWidth);
73
57
  }
74
58
  function setStrokeWidth(path, chart) {
75
- return path.style("stroke-width", chart.lineLikeViewOptions.strokeWidth);
59
+ return path.style("stroke-width", chart.lineLikeViewOptions.strokeWidth);
76
60
  }
77
61
  export function applyLineDash(lineSelection, dashSize, gapSize) {
78
- return lineSelection.style("stroke-dasharray", `${dashSize} ${gapSize}`);
62
+ return lineSelection.style("stroke-dasharray", `${dashSize} ${gapSize}`);
79
63
  }
80
64
  export function getStackedData(data, chart) {
81
- let stackedData = stack()
82
- .keys(chart.data.valueFields.map((field) => field.name))(data)
83
- .map((layer, index) => {
84
- const fieldName = chart.data.valueFields[index].name;
85
- return layer.map((segment) => {
86
- segment.fieldName = fieldName;
87
- return segment;
88
- });
89
- });
90
- return stackedData;
65
+ let stackedData = stack()
66
+ .keys(chart.data.valueFields.map((field) => field.name))(data)
67
+ .map((layer, index) => {
68
+ const fieldName = chart.data.valueFields[index].name;
69
+ return layer.map((segment) => {
70
+ segment.fieldName = fieldName;
71
+ return segment;
72
+ });
73
+ });
74
+ return stackedData;
91
75
  }
@@ -3,10 +3,10 @@ import { BlockMargin, LineCurveType, LineLikeChartRenderFn, Orient } from "../..
3
3
  import { Scales } from "../../../features/scale/scale";
4
4
  export declare type CoordinateGetter = (dataRow: MdtChartsDataRow) => number;
5
5
  export interface LineLikeGeneratorFactoryOptions {
6
- keyAxisOrient: Orient;
7
- scales: Scales;
8
- keyFieldName: string;
9
- margin: BlockMargin;
10
- curve: LineCurveType;
11
- shouldRender: LineLikeChartRenderFn;
6
+ keyAxisOrient: Orient;
7
+ scales: Scales;
8
+ keyFieldName: string;
9
+ margin: BlockMargin;
10
+ curve: LineCurveType;
11
+ shouldRender: LineLikeChartRenderFn;
12
12
  }
@@ -3,12 +3,12 @@ import { LineCurveType } from "../../../../model/model";
3
3
  import { LineLikeGeneratorMiddleware } from "./lineLikeGeneratorMiddleware";
4
4
  import { MdtChartsDataRow } from "../../../../main";
5
5
  interface LineLikeGeneratorCurveMiddlewareOptions {
6
- curve?: LineCurveType;
6
+ curve?: LineCurveType;
7
7
  }
8
8
  export declare class LineLikeGeneratorCurveMiddleware implements LineLikeGeneratorMiddleware {
9
- private options;
10
- private readonly curvies;
11
- constructor(options: LineLikeGeneratorCurveMiddlewareOptions);
12
- handle(generator: Line<MdtChartsDataRow> | Area<MdtChartsDataRow>): Line<MdtChartsDataRow> | Area<MdtChartsDataRow>;
9
+ private options;
10
+ private readonly curvies;
11
+ constructor(options: LineLikeGeneratorCurveMiddlewareOptions);
12
+ handle(generator: Line<MdtChartsDataRow> | Area<MdtChartsDataRow>): Line<MdtChartsDataRow> | Area<MdtChartsDataRow>;
13
13
  }
14
14
  export {};
@@ -1,20 +1,21 @@
1
1
  import { curveBasis, curveMonotoneX, curveMonotoneY } from "d3-shape";
2
2
  import { LineCurveType } from "../../../../model/model";
3
3
  export class LineLikeGeneratorCurveMiddleware {
4
- constructor(options) {
5
- this.options = options;
6
- this.curvies = {
7
- [LineCurveType.monotoneX]: curveMonotoneX,
8
- [LineCurveType.monotoneY]: curveMonotoneY,
9
- [LineCurveType.basis]: curveBasis,
10
- [LineCurveType.none]: undefined
11
- };
12
- }
13
- handle(generator) {
14
- if (this.options.curve != null) {
15
- const curve = this.curvies[this.options.curve];
16
- if (curve) generator.curve(curve);
17
- }
18
- return generator;
19
- }
4
+ constructor(options) {
5
+ this.options = options;
6
+ this.curvies = {
7
+ [LineCurveType.monotoneX]: curveMonotoneX,
8
+ [LineCurveType.monotoneY]: curveMonotoneY,
9
+ [LineCurveType.basis]: curveBasis,
10
+ [LineCurveType.none]: undefined
11
+ };
12
+ }
13
+ handle(generator) {
14
+ if (this.options.curve != null) {
15
+ const curve = this.curvies[this.options.curve];
16
+ if (curve)
17
+ generator.curve(curve);
18
+ }
19
+ return generator;
20
+ }
20
21
  }
@@ -4,18 +4,17 @@ import { MdtChartsDataRow } from "../../../../config/config";
4
4
  import { LineLikeChartRenderFn } from "../../../../model/model";
5
5
  import { SegmentWithFieldName } from "../../bar/stackedData/dataStacker";
6
6
  interface LineLikeGeneratorDefinedMiddlewareOptions {
7
- definedFn: LineLikeChartRenderFn;
8
- valueFieldNameGetter: (d: MdtChartsDataRow | Segment) => string;
9
- dataRowGetter: (d: MdtChartsDataRow | Segment) => MdtChartsDataRow;
7
+ definedFn: LineLikeChartRenderFn;
8
+ valueFieldNameGetter: (d: MdtChartsDataRow | Segment) => string;
9
+ dataRowGetter: (d: MdtChartsDataRow | Segment) => MdtChartsDataRow;
10
+ }
11
+ export interface Segment extends SeriesPoint<{
12
+ [p: string]: number;
13
+ }>, SegmentWithFieldName {
10
14
  }
11
- export interface Segment
12
- extends SeriesPoint<{
13
- [p: string]: number;
14
- }>,
15
- SegmentWithFieldName {}
16
15
  export declare class LineLikeGeneratorDefinedMiddleware implements LineLikeGeneratorMiddleware {
17
- private readonly options;
18
- constructor(options: LineLikeGeneratorDefinedMiddlewareOptions);
19
- handle(generator: Line<MdtChartsDataRow> | Area<MdtChartsDataRow>): Line<MdtChartsDataRow> | Area<MdtChartsDataRow>;
16
+ private readonly options;
17
+ constructor(options: LineLikeGeneratorDefinedMiddlewareOptions);
18
+ handle(generator: Line<MdtChartsDataRow> | Area<MdtChartsDataRow>): Line<MdtChartsDataRow> | Area<MdtChartsDataRow>;
20
19
  }
21
20
  export {};
@@ -1,11 +1,9 @@
1
1
  export class LineLikeGeneratorDefinedMiddleware {
2
- constructor(options) {
3
- this.options = options;
4
- }
5
- handle(generator) {
6
- generator.defined((d) =>
7
- this.options.definedFn(this.options.dataRowGetter(d), this.options.valueFieldNameGetter(d))
8
- );
9
- return generator;
10
- }
2
+ constructor(options) {
3
+ this.options = options;
4
+ }
5
+ handle(generator) {
6
+ generator.defined((d) => this.options.definedFn(this.options.dataRowGetter(d), this.options.valueFieldNameGetter(d)));
7
+ return generator;
8
+ }
11
9
  }
@@ -1,7 +1,5 @@
1
1
  import { Line as ILine, Area as IArea } from "d3-shape";
2
2
  import { MdtChartsDataRow } from "../../../../config/config";
3
3
  export interface LineLikeGeneratorMiddleware {
4
- handle(
5
- generator: ILine<MdtChartsDataRow> | IArea<MdtChartsDataRow>
6
- ): ILine<MdtChartsDataRow> | IArea<MdtChartsDataRow>;
4
+ handle(generator: ILine<MdtChartsDataRow> | IArea<MdtChartsDataRow>): ILine<MdtChartsDataRow> | IArea<MdtChartsDataRow>;
7
5
  }
@@ -3,15 +3,15 @@ import { Model, TwoDimensionalOptionsModel } from "../../model/model";
3
3
  import { Block } from "../block/block";
4
4
  import { ChartContentManager } from "../contentManager/contentManagerFactory";
5
5
  import { Engine } from "../engine";
6
- import { FilterEventManager } from "../filterManager/filterEventManager";
6
+ import { ChartClearSelectionOptions, FilterEventManager } from "../filterManager/filterEventManager";
7
7
  export declare class TwoDimensionalManager implements ChartContentManager {
8
- private canvasValueLabels?;
9
- private linearGradientDef?;
10
- private dotChart;
11
- render(engine: Engine, model: Model<TwoDimensionalOptionsModel>): void;
12
- updateData(block: Block, model: Model<TwoDimensionalOptionsModel>, data: MdtChartsDataSource): void;
13
- updateColors(block: Block, model: Model<TwoDimensionalOptionsModel>): void;
14
- clearSelection(filterEventManager: FilterEventManager, model: Model<TwoDimensionalOptionsModel>): void;
15
- private renderCharts;
16
- private updateCharts;
8
+ private canvasValueLabels?;
9
+ private linearGradientDef?;
10
+ private dotChart;
11
+ render(engine: Engine, model: Model<TwoDimensionalOptionsModel>): void;
12
+ updateData(block: Block, model: Model<TwoDimensionalOptionsModel>, data: MdtChartsDataSource): void;
13
+ updateColors(block: Block, model: Model<TwoDimensionalOptionsModel>): void;
14
+ clearSelection(filterEventManager: FilterEventManager, model: Model<TwoDimensionalOptionsModel>, options?: ChartClearSelectionOptions): void;
15
+ private renderCharts;
16
+ private updateCharts;
17
17
  }