scichart 2.0.2228 → 2.1.2273

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 (199) hide show
  1. package/Charting/ChartModifiers/DataPointSelectionModifier.js +0 -1
  2. package/Charting/ChartModifiers/LegendModifier.d.ts +2 -2
  3. package/Charting/ChartModifiers/RolloverModifier.d.ts +5 -3
  4. package/Charting/ChartModifiers/RolloverModifier.js +38 -80
  5. package/Charting/Drawing/WebGlRenderContext2D.d.ts +1 -0
  6. package/Charting/Drawing/WebGlRenderContext2D.js +4 -1
  7. package/Charting/Model/BaseDataSeries.d.ts +42 -15
  8. package/Charting/Model/BaseDataSeries.js +77 -28
  9. package/Charting/Model/BaseHeatmapDataSeries.d.ts +31 -23
  10. package/Charting/Model/BaseHeatmapDataSeries.js +45 -18
  11. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.d.ts +23 -0
  12. package/Charting/Model/DataDistributionCalculator/DataDistributionCalculator.js +122 -0
  13. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.d.ts +57 -0
  14. package/Charting/Model/DataDistributionCalculator/IDataDistributionCalculator.js +2 -0
  15. package/Charting/Model/Filters/OhlcFilterBase.d.ts +2 -2
  16. package/Charting/Model/Filters/XyFilterBase.d.ts +3 -3
  17. package/Charting/Model/Filters/XyMovingAverageFilter.js +1 -1
  18. package/Charting/Model/Filters/XyyFilterBase.d.ts +4 -4
  19. package/Charting/Model/Filters/XyzFilterBase.d.ts +4 -4
  20. package/Charting/Model/IDataSeries.d.ts +37 -5
  21. package/Charting/Model/OhlcDataSeries.d.ts +12 -11
  22. package/Charting/Model/OhlcDataSeries.js +37 -34
  23. package/Charting/Model/PointSeries/BasePointSeriesResampled.d.ts +21 -0
  24. package/Charting/Model/PointSeries/BasePointSeriesResampled.js +56 -0
  25. package/Charting/Model/PointSeries/BasePointSeriesWrapped.d.ts +14 -0
  26. package/Charting/Model/PointSeries/BasePointSeriesWrapped.js +23 -0
  27. package/Charting/Model/PointSeries/IPointSeries.d.ts +31 -0
  28. package/Charting/Model/PointSeries/IPointSeries.js +2 -0
  29. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.d.ts +13 -0
  30. package/Charting/Model/PointSeries/OhlcPointSeriesResampled.js +59 -0
  31. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.d.ts +11 -0
  32. package/Charting/Model/PointSeries/OhlcPointSeriesWrapped.js +32 -0
  33. package/Charting/Model/PointSeries/XyPointSeriesResampled.d.ts +7 -0
  34. package/Charting/Model/PointSeries/XyPointSeriesResampled.js +27 -0
  35. package/Charting/Model/PointSeries/XyPointSeriesWrapped.d.ts +6 -0
  36. package/Charting/Model/PointSeries/XyPointSeriesWrapped.js +27 -0
  37. package/Charting/Model/PointSeries/XyyPointSeriesResampled.d.ts +10 -0
  38. package/Charting/Model/PointSeries/XyyPointSeriesResampled.js +48 -0
  39. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.d.ts +8 -0
  40. package/Charting/Model/PointSeries/XyyPointSeriesWrapped.js +29 -0
  41. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.d.ts +8 -0
  42. package/Charting/Model/PointSeries/XyzPointSeriesWrapped.js +29 -0
  43. package/Charting/Model/XyDataSeries.d.ts +3 -2
  44. package/Charting/Model/XyDataSeries.js +22 -22
  45. package/Charting/Model/XyyDataSeries.d.ts +5 -5
  46. package/Charting/Model/XyyDataSeries.js +24 -21
  47. package/Charting/Model/XyzDataSeries.d.ts +5 -5
  48. package/Charting/Model/XyzDataSeries.js +24 -21
  49. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.d.ts +2 -2
  50. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.d.ts +2 -2
  51. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.d.ts +2 -1
  52. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +6 -2
  53. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.d.ts +2 -1
  54. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +6 -2
  55. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.d.ts +54 -0
  56. package/Charting/Numerics/Resamplers/ExtremeResamplerHelper.js +234 -0
  57. package/Charting/Numerics/Resamplers/ResamplingMode.d.ts +37 -0
  58. package/Charting/Numerics/Resamplers/ResamplingMode.js +41 -0
  59. package/Charting/Numerics/Resamplers/ResamplingParams.d.ts +39 -0
  60. package/Charting/Numerics/Resamplers/ResamplingParams.js +52 -0
  61. package/Charting/Services/RenderPassData.d.ts +6 -1
  62. package/Charting/Services/RenderPassData.js +5 -1
  63. package/Charting/Services/RenderPassInfo.d.ts +18 -0
  64. package/Charting/Services/RenderPassInfo.js +14 -0
  65. package/Charting/Services/SciChartRenderer.d.ts +14 -1
  66. package/Charting/Services/SciChartRenderer.js +125 -31
  67. package/Charting/Visuals/Axis/AxisCore.d.ts +11 -0
  68. package/Charting/Visuals/Axis/AxisCore.js +39 -18
  69. package/Charting/Visuals/Axis/AxisRenderer.d.ts +1 -0
  70. package/Charting/Visuals/Axis/AxisRenderer.js +6 -6
  71. package/Charting/Visuals/Axis/CategoryAxisBase.d.ts +52 -0
  72. package/Charting/Visuals/Axis/CategoryAxisBase.js +94 -20
  73. package/Charting/Visuals/Axis/IAxisCoreOptions.d.ts +5 -0
  74. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +7 -4
  75. package/Charting/Visuals/Axis/NumericAxis.js +2 -2
  76. package/Charting/Visuals/Axis/constants.d.ts +1 -0
  77. package/Charting/Visuals/Axis/constants.js +1 -0
  78. package/Charting/Visuals/Legend/SciChartLegend.d.ts +6 -0
  79. package/Charting/Visuals/Legend/SciChartLegend.js +30 -13
  80. package/Charting/Visuals/Legend/SciChartLegendBase.d.ts +20 -6
  81. package/Charting/Visuals/Legend/SciChartLegendBase.js +22 -4
  82. package/Charting/Visuals/Legend/SciChartPieLegend.d.ts +2 -0
  83. package/Charting/Visuals/Legend/SciChartPieLegend.js +17 -6
  84. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  85. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  86. package/Charting/Visuals/RenderableSeries/Animations/SeriesAnimation.d.ts +3 -3
  87. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  88. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  89. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +6 -6
  90. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  91. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.d.ts +9 -2
  92. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +45 -1
  93. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.d.ts +1 -0
  94. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +1 -0
  95. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.d.ts +1 -0
  96. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +1 -0
  97. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.d.ts +12 -5
  98. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +113 -0
  99. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +42 -6
  100. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +129 -21
  101. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +36 -4
  102. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +51 -3
  103. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +38 -4
  104. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +54 -3
  105. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.d.ts +1 -1
  106. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +8 -14
  107. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -3
  108. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +5 -11
  109. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.d.ts +1 -0
  110. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +31 -19
  111. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.d.ts +2 -1
  112. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +17 -21
  113. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +6 -12
  114. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +9 -15
  115. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.d.ts +4 -3
  116. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +16 -21
  117. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +2 -9
  118. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +0 -7
  119. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.d.ts +11 -2
  120. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +17 -0
  121. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.d.ts +1 -0
  122. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +1 -0
  123. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.d.ts +1 -0
  124. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +6 -0
  125. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -2
  126. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  127. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +1 -1
  128. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +2 -2
  129. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -2
  130. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -1
  131. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +2 -2
  132. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +1 -1
  133. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +2 -2
  134. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +2 -2
  135. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -6
  136. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +1 -1
  137. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +12 -1
  138. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +38 -2
  139. package/Charting/Visuals/RenderableSeries/ISpline.d.ts +3 -3
  140. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  141. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +5 -5
  142. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +3 -3
  143. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +3 -3
  144. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +3 -3
  145. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +3 -3
  146. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +2 -7
  147. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.d.ts +1 -1
  148. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +1 -7
  149. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.d.ts +5 -0
  150. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -0
  151. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.d.ts +5 -0
  152. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +6 -0
  153. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.d.ts +5 -3
  154. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +6 -3
  155. package/Charting/Visuals/RenderableSeries/constants.d.ts +3 -0
  156. package/Charting/Visuals/RenderableSeries/constants.js +3 -0
  157. package/Charting/Visuals/SciChartDefaults.d.ts +9 -1
  158. package/Charting/Visuals/SciChartDefaults.js +9 -1
  159. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +4 -2
  160. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +46 -32
  161. package/Charting/Visuals/licenseManager2D.js +21 -20
  162. package/Charting/Visuals/licenseManager2dState.d.ts +4 -0
  163. package/Charting/Visuals/licenseManager2dState.js +12 -0
  164. package/Charting/Visuals/loader.js +2 -0
  165. package/Charting/Visuals/sciChartInitCommon.js +4 -0
  166. package/Charting3D/Model/DataSeries/XyzDataSeries3D.d.ts +7 -7
  167. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +3 -3
  168. package/Core/BuildStamp.d.ts +1 -1
  169. package/Core/BuildStamp.js +2 -2
  170. package/Core/OneTimePerformanceWarning.d.ts +6 -0
  171. package/Core/OneTimePerformanceWarning.js +19 -0
  172. package/Core/storage/localStorageApi.d.ts +9 -0
  173. package/Core/storage/localStorageApi.js +32 -0
  174. package/README.md +223 -1
  175. package/_wasm/scichart.browser.js +1 -1
  176. package/_wasm/scichart2d.js +12 -12
  177. package/_wasm/scichart2d.wasm +0 -0
  178. package/_wasm/scichart3d.js +13 -13
  179. package/_wasm/scichart3d.wasm +0 -0
  180. package/constants/performanceWarnings.d.ts +5 -0
  181. package/constants/performanceWarnings.js +8 -0
  182. package/package.json +1 -1
  183. package/types/SearchMode.d.ts +21 -0
  184. package/types/SearchMode.js +25 -0
  185. package/types/TSciChart.d.ts +144 -40
  186. package/types/TSciChart3D.d.ts +66 -28
  187. package/utils/array.d.ts +7 -0
  188. package/utils/array.js +19 -1
  189. package/utils/calcAverage.d.ts +2 -2
  190. package/utils/ccall/appendDoubleVectorFromJsArray.d.ts +19 -0
  191. package/utils/ccall/appendDoubleVectorFromJsArray.js +91 -0
  192. package/utils/hash.d.ts +7 -0
  193. package/utils/hash.js +35 -0
  194. package/utils/tooltip.d.ts +42 -0
  195. package/utils/tooltip.js +119 -0
  196. package/utils/ccall/fillDoubleVectorFromJsArray.d.ts +0 -3
  197. package/utils/ccall/fillDoubleVectorFromJsArray.js +0 -33
  198. package/utils/performance.d.ts +0 -5
  199. package/utils/performance.js +0 -11
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendDoubleVectorFromJsArray = exports.insertDoubleVectorFromJsArray = exports.SIZEOF_NUMBER = void 0;
4
+ var Guard_1 = require("../../Core/Guard");
5
+ exports.SIZEOF_NUMBER = 8;
6
+ /**
7
+ * Inserts the values from the source Js array into the destination wasm array (and resizes) at index destIndex
8
+ * @param wasmContext
9
+ * @param source
10
+ * @param dest
11
+ * @param destIndex
12
+ */
13
+ function insertDoubleVectorFromJsArray(wasmContext, source, dest, destIndex) {
14
+ // Sanity checks
15
+ Guard_1.Guard.notNull(wasmContext, "wasmContext");
16
+ Guard_1.Guard.notNull(source, "source");
17
+ Guard_1.Guard.notNull(dest, "dest");
18
+ Guard_1.Guard.isTrue(destIndex >= 0, "destIndex must be greater than or equal to zero");
19
+ Guard_1.Guard.isTrue(destIndex <= dest.size(), "destIndex must be less than or equal to dest.size()");
20
+ var count = source.length;
21
+ if (count === 0)
22
+ return;
23
+ var beforeSize = dest.size();
24
+ // Resize the dest vector to fit memory
25
+ dest.resizeFast(beforeSize + count);
26
+ // Shift memory up for the insert
27
+ if (destIndex < beforeSize) {
28
+ wasmContext.SCRTMemMove(dest.dataPtr(destIndex + count), // Dest
29
+ dest.dataPtr(destIndex), // Src
30
+ beforeSize * exports.SIZEOF_NUMBER); // count in bytes
31
+ }
32
+ // Overwrite dest memory with Js array
33
+ // @ts-ignore
34
+ wasmContext.HEAPF64.set(source, dest.dataPtr(destIndex) / exports.SIZEOF_NUMBER);
35
+ }
36
+ exports.insertDoubleVectorFromJsArray = insertDoubleVectorFromJsArray;
37
+ /**
38
+ * Resizes the destinationVector by jsArray.length and copies the values into it
39
+ * @param wasmContext
40
+ * @param destinationVector
41
+ * @param jsArray
42
+ * @param experimentalMethod
43
+ */
44
+ function appendDoubleVectorFromJsArray(wasmContext, destinationVector, jsArray, experimentalMethod) {
45
+ if (experimentalMethod === void 0) { experimentalMethod = true; }
46
+ var buffer;
47
+ try {
48
+ if (experimentalMethod) {
49
+ var vectorSize = destinationVector.size();
50
+ var arraySize = jsArray.length;
51
+ var startPosition = vectorSize;
52
+ var endPosition = startPosition + arraySize;
53
+ // Resize without initializing values
54
+ destinationVector.resizeFast(endPosition);
55
+ // Get pointer to destination
56
+ var bufferPointer = destinationVector.dataPtr(startPosition);
57
+ // HEAPF64.set copies js array into buffer pointer
58
+ // @ts-ignore
59
+ wasmContext.HEAPF64.set(jsArray, bufferPointer / exports.SIZEOF_NUMBER);
60
+ }
61
+ else {
62
+ var vectorSize = destinationVector.size();
63
+ var arraySize = jsArray.length;
64
+ var startPosition = vectorSize;
65
+ var endPosition = startPosition + arraySize;
66
+ /// because plain c functions were receiving the object pointer as null, this is the way around that...
67
+ wasmContext.SCRTSetActiveDoubleVector(destinationVector, vectorSize);
68
+ // Allocate some space in the heap for the data (making sure to use the appropriate memory size of the elements)
69
+ // @ts-ignore
70
+ buffer = wasmContext._malloc(arraySize * 8);
71
+ // Assign the data to the heap - Keep in mind bytes per element
72
+ // @ts-ignore
73
+ wasmContext.HEAPF64.set(jsArray, buffer / exports.SIZEOF_NUMBER);
74
+ // Finally, call the function
75
+ // Here we use start position 0 and the end position array.length
76
+ // @ts-ignore
77
+ wasmContext.ccall("SCRTFillActiveDoubleVector", null, ["number", "number", "number"], [buffer, startPosition, endPosition]);
78
+ }
79
+ }
80
+ catch (e) {
81
+ console.log(e);
82
+ }
83
+ finally {
84
+ // To avoid memory leaks we need to always clear out the allocated heap data
85
+ if (buffer) {
86
+ // @ts-ignore
87
+ wasmContext._free(buffer);
88
+ }
89
+ }
90
+ }
91
+ exports.appendDoubleVectorFromJsArray = appendDoubleVectorFromJsArray;
@@ -0,0 +1,7 @@
1
+ export declare const hashUtils: {
2
+ generateHash: (s: string) => number;
3
+ generateObjectHash: (obj: any) => number;
4
+ generateBooleanHash: (value: boolean) => number;
5
+ generateNumberHash: (value: number) => number;
6
+ generateCombinedHash: (hashes: number[]) => number;
7
+ };
package/utils/hash.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hashUtils = void 0;
4
+ // https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript
5
+ var generateHash = function (s) {
6
+ return s.split("").reduce(function (a, b) {
7
+ a = (a << 5) - a + b.charCodeAt(0);
8
+ return a & a;
9
+ }, 0);
10
+ };
11
+ var generateObjectHash = function (obj) {
12
+ var str = JSON.stringify(obj);
13
+ return generateHash(str);
14
+ };
15
+ var generateBooleanHash = function (value) {
16
+ if (value === false)
17
+ return generateHash("0");
18
+ if (value === true)
19
+ return generateHash("1");
20
+ return generateHash("-1");
21
+ };
22
+ var generateNumberHash = function (value) {
23
+ var str = value.toString(10);
24
+ return generateHash(str);
25
+ };
26
+ var generateCombinedHash = function (hashes) {
27
+ return hashes.reduce(function (prev, curr) { return (prev * 397) ^ curr; }, 0);
28
+ };
29
+ exports.hashUtils = {
30
+ generateHash: generateHash,
31
+ generateObjectHash: generateObjectHash,
32
+ generateBooleanHash: generateBooleanHash,
33
+ generateNumberHash: generateNumberHash,
34
+ generateCombinedHash: generateCombinedHash
35
+ };
@@ -0,0 +1,42 @@
1
+ import { TTooltipProps } from "../Charting/ChartModifiers/RolloverModifier";
2
+ import { Rect } from "../Core/Rect";
3
+ export declare enum ESize {
4
+ width = "width",
5
+ height = "height"
6
+ }
7
+ export declare enum ECoord {
8
+ xCoord = "xCoord",
9
+ yCoord = "yCoord"
10
+ }
11
+ export declare enum EShift {
12
+ xCoordShift = "xCoordShift",
13
+ yCoordShift = "yCoordShift"
14
+ }
15
+ declare type TSize = ESize.width | ESize.height;
16
+ declare type TCoord = ECoord.xCoord | ECoord.yCoord;
17
+ declare type TShift = EShift.xCoordShift | EShift.yCoordShift;
18
+ export declare type TPositionPoperties = {
19
+ sizePropertyName: TSize;
20
+ coordPropertyName: TCoord;
21
+ shiftPropertyName: TShift;
22
+ };
23
+ /** @ignore */
24
+ export declare const spreadTooltips: (tooltipArray: TTooltipProps[], pixelRatio: number, positionProperties: TPositionPoperties, spacing: number, seriesViewRect: Rect) => Map<number, number>;
25
+ /** @ignore */
26
+ export declare const checkHasOverlap: (tooltipArray: TTooltipProps[], spacing: number, pixelRatio: number, positionProperties: TPositionPoperties) => boolean;
27
+ /** @ignore */
28
+ export declare const getTotalSize: (tooltipArray: TTooltipProps[], sizePropertyName: TSize) => number;
29
+ /** @ignore */
30
+ export declare const getTotalSpacing: (tooltipArray: TTooltipProps[], spacing: number) => number;
31
+ /** @ignore */
32
+ export declare const getStartPoint: (coord: number, shift: number, pixelRatio: number) => number;
33
+ /** @ignore */
34
+ export declare const getEndPoint: (coord: number, shift: number, pixelRatio: number, size: number) => number;
35
+ /** @ignore */
36
+ export declare const getUpdatedPoints: (startPoint: number, endPoint: number, totalBoxModel: number, size: number) => {
37
+ start: number;
38
+ end: number;
39
+ };
40
+ /** @ignore */
41
+ export declare const getTooltipPositionProperties: (isVerticalChart: boolean) => TPositionPoperties;
42
+ export {};
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTooltipPositionProperties = exports.getUpdatedPoints = exports.getEndPoint = exports.getStartPoint = exports.getTotalSpacing = exports.getTotalSize = exports.checkHasOverlap = exports.spreadTooltips = exports.EShift = exports.ECoord = exports.ESize = void 0;
4
+ var ESize;
5
+ (function (ESize) {
6
+ ESize["width"] = "width";
7
+ ESize["height"] = "height";
8
+ })(ESize = exports.ESize || (exports.ESize = {}));
9
+ var ECoord;
10
+ (function (ECoord) {
11
+ ECoord["xCoord"] = "xCoord";
12
+ ECoord["yCoord"] = "yCoord";
13
+ })(ECoord = exports.ECoord || (exports.ECoord = {}));
14
+ var EShift;
15
+ (function (EShift) {
16
+ EShift["xCoordShift"] = "xCoordShift";
17
+ EShift["yCoordShift"] = "yCoordShift";
18
+ })(EShift = exports.EShift || (exports.EShift = {}));
19
+ /** @ignore */
20
+ var spreadTooltips = function (tooltipArray, pixelRatio, positionProperties, spacing, seriesViewRect) {
21
+ var shiftMap = new Map();
22
+ var length = tooltipArray.length;
23
+ var totalSize = (0, exports.getTotalSize)(tooltipArray, positionProperties.sizePropertyName);
24
+ var totalSpacing = (0, exports.getTotalSpacing)(tooltipArray, spacing);
25
+ var totalBoxModel = totalSize + totalSpacing;
26
+ var firstTooltip = tooltipArray[0];
27
+ var lastTooltip = tooltipArray[length - 1];
28
+ var startPoint = (0, exports.getStartPoint)(firstTooltip[positionProperties.coordPropertyName], firstTooltip[positionProperties.shiftPropertyName], pixelRatio);
29
+ var endPoint = (0, exports.getEndPoint)(lastTooltip[positionProperties.coordPropertyName], lastTooltip[positionProperties.shiftPropertyName], pixelRatio, lastTooltip[positionProperties.sizePropertyName]);
30
+ var updatedPoints = (0, exports.getUpdatedPoints)(startPoint, endPoint, totalBoxModel, seriesViewRect[positionProperties.sizePropertyName]);
31
+ startPoint = updatedPoints.start;
32
+ endPoint = updatedPoints.end;
33
+ var currentPadding = (endPoint - startPoint - totalSize) / (tooltipArray.length - 1);
34
+ tooltipArray.reduce(function (tooltipTopCoord, tooltip) {
35
+ shiftMap.set(tooltip.index, (tooltipTopCoord - tooltip[positionProperties.coordPropertyName]) / pixelRatio);
36
+ return tooltipTopCoord + tooltip[positionProperties.sizePropertyName] + currentPadding;
37
+ }, startPoint);
38
+ return shiftMap;
39
+ };
40
+ exports.spreadTooltips = spreadTooltips;
41
+ /** @ignore */
42
+ var checkHasOverlap = function (tooltipArray, spacing, pixelRatio, positionProperties) {
43
+ var length = tooltipArray.length;
44
+ for (var i = 0; i < length - 1; i++) {
45
+ var currentTooltip = tooltipArray[i];
46
+ var currentTooltipEndPoint = currentTooltip[positionProperties.coordPropertyName] +
47
+ currentTooltip[positionProperties.sizePropertyName] +
48
+ currentTooltip[positionProperties.shiftPropertyName] * pixelRatio;
49
+ var nextTooltip = tooltipArray[i + 1];
50
+ var nextTooltipStartPoint = nextTooltip[positionProperties.coordPropertyName] +
51
+ nextTooltip[positionProperties.shiftPropertyName] * pixelRatio;
52
+ var diff = nextTooltipStartPoint - currentTooltipEndPoint;
53
+ if (diff < spacing)
54
+ return true;
55
+ }
56
+ return false;
57
+ };
58
+ exports.checkHasOverlap = checkHasOverlap;
59
+ /** @ignore */
60
+ var getTotalSize = function (tooltipArray, sizePropertyName) {
61
+ return tooltipArray.reduce(function (acc, tooltip) {
62
+ var size = tooltip[sizePropertyName];
63
+ return typeof size === "number" ? acc + size : acc;
64
+ }, 0);
65
+ };
66
+ exports.getTotalSize = getTotalSize;
67
+ /** @ignore */
68
+ var getTotalSpacing = function (tooltipArray, spacing) {
69
+ return (tooltipArray.length - 1) * spacing;
70
+ };
71
+ exports.getTotalSpacing = getTotalSpacing;
72
+ /** @ignore */
73
+ var getStartPoint = function (coord, shift, pixelRatio) { return coord + shift * pixelRatio; };
74
+ exports.getStartPoint = getStartPoint;
75
+ /** @ignore */
76
+ var getEndPoint = function (coord, shift, pixelRatio, size) {
77
+ return coord + shift * pixelRatio + size;
78
+ };
79
+ exports.getEndPoint = getEndPoint;
80
+ /** @ignore */
81
+ var getUpdatedPoints = function (startPoint, endPoint, totalBoxModel, size) {
82
+ var additionalWidth = totalBoxModel - (endPoint - startPoint);
83
+ var additionalWidthHalf = additionalWidth / 2;
84
+ var availableWidthFromStart = startPoint;
85
+ var availableWidthFromEnd = size - endPoint;
86
+ var start = startPoint - additionalWidthHalf;
87
+ var end = endPoint + additionalWidthHalf;
88
+ if (availableWidthFromStart < additionalWidthHalf) {
89
+ start = 0;
90
+ end = endPoint + (additionalWidth - availableWidthFromStart);
91
+ }
92
+ if (availableWidthFromEnd < additionalWidthHalf) {
93
+ start = startPoint - (additionalWidth - availableWidthFromEnd);
94
+ end = size;
95
+ }
96
+ return {
97
+ start: start,
98
+ end: end
99
+ };
100
+ };
101
+ exports.getUpdatedPoints = getUpdatedPoints;
102
+ /** @ignore */
103
+ var getTooltipPositionProperties = function (isVerticalChart) {
104
+ if (isVerticalChart) {
105
+ return {
106
+ sizePropertyName: ESize.width,
107
+ coordPropertyName: ECoord.xCoord,
108
+ shiftPropertyName: EShift.xCoordShift
109
+ };
110
+ }
111
+ else {
112
+ return {
113
+ sizePropertyName: ESize.height,
114
+ coordPropertyName: ECoord.yCoord,
115
+ shiftPropertyName: EShift.yCoordShift
116
+ };
117
+ }
118
+ };
119
+ exports.getTooltipPositionProperties = getTooltipPositionProperties;
@@ -1,3 +0,0 @@
1
- import { NumberArray } from "../../types/NumberArray";
2
- import { DoubleVector, TSciChart } from "../../types/TSciChart";
3
- export declare function fillDoubleVectorFromJsArray(wasmContext: TSciChart, doubleVector: DoubleVector, array: NumberArray): void;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fillDoubleVectorFromJsArray = void 0;
4
- function fillDoubleVectorFromJsArray(wasmContext, doubleVector, array) {
5
- var buffer;
6
- try {
7
- var vectorSize = doubleVector.size();
8
- var arraySize = array.length;
9
- var startPosition = vectorSize;
10
- var endPosition = startPosition + arraySize;
11
- /// because plain c functions were receiving the object pointer as null, this is the way around that...
12
- wasmContext.SCRTSetActiveDoubleVector(doubleVector, vectorSize);
13
- // Allocate some space in the heap for the data (making sure to use the appropriate memory size of the elements)
14
- // @ts-ignore
15
- buffer = wasmContext._malloc(arraySize * 8);
16
- // Assign the data to the heap - Keep in mind bytes per element
17
- // @ts-ignore
18
- wasmContext.HEAPF64.set(array, buffer / 8);
19
- // Finally, call the function
20
- // Here we use start position 0 and the end position array.length
21
- // @ts-ignore
22
- wasmContext.ccall("SCRTFillActiveDoubleVector", null, ["number", "number", "number"], [buffer, startPosition, endPosition]);
23
- }
24
- catch (e) {
25
- console.log(e);
26
- }
27
- finally {
28
- // To avoid memory leaks we need to always clear out the allocated heap data
29
- // @ts-ignore
30
- wasmContext._free(buffer);
31
- }
32
- }
33
- exports.fillDoubleVectorFromJsArray = fillDoubleVectorFromJsArray;
@@ -1,5 +0,0 @@
1
- /**
2
- * Awaits for the next frame and resolves.
3
- * FOR BROWSER ONLY, DOES NOT WORK IN NODE.JS
4
- */
5
- export declare function nextFrameRender(): Promise<unknown>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nextFrameRender = void 0;
4
- /**
5
- * Awaits for the next frame and resolves.
6
- * FOR BROWSER ONLY, DOES NOT WORK IN NODE.JS
7
- */
8
- function nextFrameRender() {
9
- return new Promise(function (resolve) { return requestAnimationFrame(resolve); });
10
- }
11
- exports.nextFrameRender = nextFrameRender;