scichart 3.2.555 → 3.3.567

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 (47) hide show
  1. package/Builder/buildSurface.d.ts +1 -1
  2. package/Builder/buildSurface.js +27 -14
  3. package/Charting/ChartModifiers/CursorModifier.js +3 -0
  4. package/Charting/ChartModifiers/RolloverModifier.js +3 -0
  5. package/Charting/Model/XyDataSeries.js +7 -0
  6. package/Charting/Services/SciChartRenderer.d.ts +1 -0
  7. package/Charting/Services/SciChartRenderer.js +19 -3
  8. package/Charting/Visuals/I2DSurfaceOptions.d.ts +5 -0
  9. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +4 -2
  10. package/Charting/Visuals/SciChartDefaults.d.ts +5 -0
  11. package/Charting/Visuals/SciChartDefaults.js +5 -0
  12. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +1 -1
  13. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +6 -3
  14. package/Charting/Visuals/SciChartSurface.d.ts +14 -2
  15. package/Charting/Visuals/SciChartSurface.js +57 -5
  16. package/Charting/Visuals/SciChartSurfaceBase.d.ts +20 -5
  17. package/Charting/Visuals/SciChartSurfaceBase.js +100 -18
  18. package/Charting/Visuals/UpdateSuspender.d.ts +7 -3
  19. package/Charting/Visuals/UpdateSuspender.js +38 -8
  20. package/Charting/Visuals/copyCanvasUtils.d.ts +5 -0
  21. package/Charting/Visuals/copyCanvasUtils.js +24 -0
  22. package/Charting/Visuals/createMaster.js +25 -9
  23. package/Charting/Visuals/createSingle.js +10 -0
  24. package/Charting/Visuals/licenseManager2D.d.ts +1 -1
  25. package/Charting/Visuals/licenseManager2D.js +4 -4
  26. package/Charting/Visuals/sciChartInitCommon.js +5 -2
  27. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  28. package/Charting3D/Visuals/SciChart3DRenderer.js +10 -1
  29. package/Charting3D/Visuals/SciChart3DSurface.d.ts +1 -0
  30. package/Charting3D/Visuals/SciChart3DSurface.js +28 -2
  31. package/Charting3D/Visuals/createMaster3d.js +2 -1
  32. package/Core/BuildStamp.d.ts +1 -1
  33. package/Core/BuildStamp.js +2 -2
  34. package/Core/Mouse/MouseManager.js +12 -7
  35. package/_wasm/scichart.browser.js +1 -1
  36. package/_wasm/scichart2d.js +1 -1
  37. package/_wasm/scichart2d.wasm +0 -0
  38. package/_wasm/scichart3d.js +1 -1
  39. package/_wasm/scichart3d.wasm +0 -0
  40. package/index.d.ts +2 -2
  41. package/index.dev.js +478 -64
  42. package/index.js +14 -12
  43. package/index.min.js +1 -1
  44. package/package.json +1 -1
  45. package/utils/logger.js +10 -1
  46. package/utils/perfomance.d.ts +139 -0
  47. package/utils/perfomance.js +150 -0
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "scichart",
3
3
  "description": "Fast WebGL JavaScript Charting Library and Framework",
4
4
  "homepage": "https://www.scichart.com",
5
- "version": "3.2.555",
5
+ "version": "3.3.567",
6
6
  "main": "index.js",
7
7
  "types": "index.d.ts",
8
8
  "keywords": [
package/utils/logger.js CHANGED
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.Logger = void 0;
4
13
  var Logger = /** @class */ (function () {
@@ -18,7 +27,7 @@ var Logger = /** @class */ (function () {
18
27
  optionalParameters[_i - 1] = arguments[_i];
19
28
  }
20
29
  if (Logger.enableDebug) {
21
- console.debug(message, optionalParameters);
30
+ console.debug.apply(console, __spreadArray([message], optionalParameters, false));
22
31
  }
23
32
  };
24
33
  Logger.enableDebug = false;
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Performance debugging checkpoints enum
3
+ */
4
+ export declare enum EPerformanceMarkType {
5
+ /**
6
+ * A surface creation start.
7
+ * @remarks used internally
8
+ */
9
+ InitializationStart = "InitializationStart",
10
+ /**
11
+ * A surface creation end.
12
+ * @remarks used internally
13
+ */
14
+ InitializationEnd = "InitializationEnd",
15
+ /**
16
+ * WASM engine fetching and initialization start.
17
+ * @remarks used internally.
18
+ */
19
+ EngineInitStart = "EngineInitStart",
20
+ /**
21
+ * WASM engine fetching and initialization end.
22
+ * @remarks used internally.
23
+ */
24
+ EngineInitEnd = "EngineInitEnd",
25
+ /**
26
+ * First surface invalidation in a sequence.
27
+ *
28
+ * @description
29
+ * Surface invalidation is triggered implicitly on data or property changes.
30
+ * Invalidating a surface means that it should rerender.
31
+ * Multiple calls of {@link SciChartSurfaceBase.invalidateElement} are batched based on the timing.
32
+ *
33
+ * @remarks used internally
34
+ */
35
+ LeadingInvalidate = "LeadingInvalidate",
36
+ /**
37
+ * Subsequent surface invalidation.
38
+ *
39
+ * @description
40
+ * The subsequent surface invalidation shouldn't affect rerender
41
+ * since it is enough to have a single `invalidate` call ({@link LeadingInvalidate})
42
+ * But it may be used to see the time and number of updates occurring.
43
+ *
44
+ * @remarks used internally.
45
+ */
46
+ Invalidate = "Invalidate",
47
+ /**
48
+ * DataSeries update start.
49
+ * @description
50
+ * Appending, inserting, removing data in DataSeries.
51
+ * @remarks used internally.
52
+ */
53
+ DataUpdateStart = "DataUpdateStart",
54
+ /**
55
+ * DataSeries update end.
56
+ * @remarks used internally.
57
+ */
58
+ DataUpdateEnd = "DataUpdateEnd",
59
+ /**
60
+ * Chart rendering start.
61
+ * @remarks used internally.
62
+ */
63
+ RenderStart = "RenderStart",
64
+ /**
65
+ * Chart rendering end.
66
+ * @remarks used internally.
67
+ */
68
+ RenderEnd = "RenderEnd",
69
+ /**
70
+ * Chart rendered.
71
+ * @description
72
+ * Represents a chart being rendered to an in between state that will be followed by another render.
73
+ * (In some rare cases it could mean that the resulting image may be ito be incomplete incorrect, outdated,
74
+ * or require another render iteration to make related calculations.)
75
+ *
76
+ * In this state the surface is invalidated, thus another render call is expected to follow.
77
+ * @remarks used internally.
78
+ */
79
+ Rendered = "Rendered",
80
+ /**
81
+ * Chart rendered.
82
+ * @description
83
+ * Represents a chart being rendered to a complete state.
84
+ * In this state the surface is NOT invalidated.
85
+ * Next render will happen after invalidation is triggered.
86
+ * @remarks used internally.
87
+ */
88
+ FullStateRendered = "FullStateRendered",
89
+ /**
90
+ * Chart element resizing.
91
+ * @remarks used internally.
92
+ */
93
+ Resize = "Resize",
94
+ /**
95
+ * Browser zoom change.
96
+ * @remarks used internally.
97
+ */
98
+ DpiChange = "DpiChange",
99
+ /**
100
+ * Chart initialization.
101
+ * @remarks
102
+ * used internally in `chartBuilder`.
103
+ * Otherwise, it is supposed to be used explicitly after the surface is created.
104
+ */
105
+ SetupStart = "SetupStart",
106
+ /**
107
+ * Chart initialization.
108
+ * @remarks
109
+ * used internally in `chartBuilder`.
110
+ * Otherwise, it is supposed to be used explicitly after the surface is created.
111
+ */
112
+ SetupEnd = "SetupEnd"
113
+ }
114
+ declare type TPerformanceDetailType = {
115
+ relatedId?: string;
116
+ contextId?: string;
117
+ };
118
+ interface TSciChartPerformanceMark extends PerformanceMark {
119
+ detail: TPerformanceDetailType;
120
+ }
121
+ /**
122
+ * @experimental
123
+ * An util used for adding performance checkpoints which can be then used for analyzing the chart performance.
124
+ * The checkpoints are created via the [Performance API](https://developer.mozilla.org/en-US/docs/Web/API/Performance)
125
+ * @remarks
126
+ * By default it is disabled, to make use of the utils set {@link PerformanceDebugHelper.enableDebug}.
127
+ * Some checkpoints are set implicitly.
128
+ * Custom checkpoints could be set using {@link PerformanceDebugHelper.mark}.
129
+ * To output the results use {@link PerformanceDebugHelper.outputLogs}.
130
+ */
131
+ export declare class PerformanceDebugHelper {
132
+ static enableDebug: boolean;
133
+ static mark(type: EPerformanceMarkType | string, options?: {
134
+ relatedId?: string;
135
+ contextId?: string;
136
+ }): TSciChartPerformanceMark;
137
+ static outputLogs(): void;
138
+ }
139
+ export {};
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PerformanceDebugHelper = exports.EPerformanceMarkType = void 0;
4
+ var guid_1 = require("./guid");
5
+ /**
6
+ * Performance debugging checkpoints enum
7
+ */
8
+ var EPerformanceMarkType;
9
+ (function (EPerformanceMarkType) {
10
+ /**
11
+ * A surface creation start.
12
+ * @remarks used internally
13
+ */
14
+ EPerformanceMarkType["InitializationStart"] = "InitializationStart";
15
+ /**
16
+ * A surface creation end.
17
+ * @remarks used internally
18
+ */
19
+ EPerformanceMarkType["InitializationEnd"] = "InitializationEnd";
20
+ /**
21
+ * WASM engine fetching and initialization start.
22
+ * @remarks used internally.
23
+ */
24
+ EPerformanceMarkType["EngineInitStart"] = "EngineInitStart";
25
+ /**
26
+ * WASM engine fetching and initialization end.
27
+ * @remarks used internally.
28
+ */
29
+ EPerformanceMarkType["EngineInitEnd"] = "EngineInitEnd";
30
+ /**
31
+ * First surface invalidation in a sequence.
32
+ *
33
+ * @description
34
+ * Surface invalidation is triggered implicitly on data or property changes.
35
+ * Invalidating a surface means that it should rerender.
36
+ * Multiple calls of {@link SciChartSurfaceBase.invalidateElement} are batched based on the timing.
37
+ *
38
+ * @remarks used internally
39
+ */
40
+ EPerformanceMarkType["LeadingInvalidate"] = "LeadingInvalidate";
41
+ /**
42
+ * Subsequent surface invalidation.
43
+ *
44
+ * @description
45
+ * The subsequent surface invalidation shouldn't affect rerender
46
+ * since it is enough to have a single `invalidate` call ({@link LeadingInvalidate})
47
+ * But it may be used to see the time and number of updates occurring.
48
+ *
49
+ * @remarks used internally.
50
+ */
51
+ EPerformanceMarkType["Invalidate"] = "Invalidate";
52
+ /**
53
+ * DataSeries update start.
54
+ * @description
55
+ * Appending, inserting, removing data in DataSeries.
56
+ * @remarks used internally.
57
+ */
58
+ EPerformanceMarkType["DataUpdateStart"] = "DataUpdateStart";
59
+ /**
60
+ * DataSeries update end.
61
+ * @remarks used internally.
62
+ */
63
+ EPerformanceMarkType["DataUpdateEnd"] = "DataUpdateEnd";
64
+ /**
65
+ * Chart rendering start.
66
+ * @remarks used internally.
67
+ */
68
+ EPerformanceMarkType["RenderStart"] = "RenderStart";
69
+ /**
70
+ * Chart rendering end.
71
+ * @remarks used internally.
72
+ */
73
+ EPerformanceMarkType["RenderEnd"] = "RenderEnd";
74
+ /**
75
+ * Chart rendered.
76
+ * @description
77
+ * Represents a chart being rendered to an in between state that will be followed by another render.
78
+ * (In some rare cases it could mean that the resulting image may be ito be incomplete incorrect, outdated,
79
+ * or require another render iteration to make related calculations.)
80
+ *
81
+ * In this state the surface is invalidated, thus another render call is expected to follow.
82
+ * @remarks used internally.
83
+ */
84
+ EPerformanceMarkType["Rendered"] = "Rendered";
85
+ /**
86
+ * Chart rendered.
87
+ * @description
88
+ * Represents a chart being rendered to a complete state.
89
+ * In this state the surface is NOT invalidated.
90
+ * Next render will happen after invalidation is triggered.
91
+ * @remarks used internally.
92
+ */
93
+ EPerformanceMarkType["FullStateRendered"] = "FullStateRendered";
94
+ /**
95
+ * Chart element resizing.
96
+ * @remarks used internally.
97
+ */
98
+ EPerformanceMarkType["Resize"] = "Resize";
99
+ /**
100
+ * Browser zoom change.
101
+ * @remarks used internally.
102
+ */
103
+ EPerformanceMarkType["DpiChange"] = "DpiChange";
104
+ /**
105
+ * Chart initialization.
106
+ * @remarks
107
+ * used internally in `chartBuilder`.
108
+ * Otherwise, it is supposed to be used explicitly after the surface is created.
109
+ */
110
+ EPerformanceMarkType["SetupStart"] = "SetupStart";
111
+ /**
112
+ * Chart initialization.
113
+ * @remarks
114
+ * used internally in `chartBuilder`.
115
+ * Otherwise, it is supposed to be used explicitly after the surface is created.
116
+ */
117
+ EPerformanceMarkType["SetupEnd"] = "SetupEnd";
118
+ })(EPerformanceMarkType = exports.EPerformanceMarkType || (exports.EPerformanceMarkType = {}));
119
+ /**
120
+ * @experimental
121
+ * An util used for adding performance checkpoints which can be then used for analyzing the chart performance.
122
+ * The checkpoints are created via the [Performance API](https://developer.mozilla.org/en-US/docs/Web/API/Performance)
123
+ * @remarks
124
+ * By default it is disabled, to make use of the utils set {@link PerformanceDebugHelper.enableDebug}.
125
+ * Some checkpoints are set implicitly.
126
+ * Custom checkpoints could be set using {@link PerformanceDebugHelper.mark}.
127
+ * To output the results use {@link PerformanceDebugHelper.outputLogs}.
128
+ */
129
+ var PerformanceDebugHelper = /** @class */ (function () {
130
+ function PerformanceDebugHelper() {
131
+ }
132
+ PerformanceDebugHelper.mark = function (type, options) {
133
+ var _a;
134
+ if (PerformanceDebugHelper.enableDebug) {
135
+ var groupId = (_a = options === null || options === void 0 ? void 0 : options.relatedId) !== null && _a !== void 0 ? _a : (0, guid_1.generateGuid)();
136
+ return performance.mark("".concat(type, "_").concat(groupId), {
137
+ detail: { relatedId: groupId, contextId: options === null || options === void 0 ? void 0 : options.contextId }
138
+ });
139
+ }
140
+ return null;
141
+ };
142
+ PerformanceDebugHelper.outputLogs = function () {
143
+ performance.getEntriesByType("mark").forEach(function (entry) {
144
+ console.log(entry.name, entry.startTime);
145
+ });
146
+ };
147
+ PerformanceDebugHelper.enableDebug = false;
148
+ return PerformanceDebugHelper;
149
+ }());
150
+ exports.PerformanceDebugHelper = PerformanceDebugHelper;