scichart 3.0.284 → 3.0.301

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 (75) hide show
  1. package/Charting/ChartModifiers/ChartModifierBase.d.ts +3 -2
  2. package/Charting/ChartModifiers/ChartModifierBase.js +2 -1
  3. package/Charting/ChartModifiers/ChartModifierBase2D.d.ts +6 -0
  4. package/Charting/ChartModifiers/ChartModifierBase2D.js +9 -6
  5. package/Charting/ChartModifiers/CursorModifier.d.ts +0 -4
  6. package/Charting/ChartModifiers/CursorModifier.js +4 -6
  7. package/Charting/ChartModifiers/CustomChartModifier2D.d.ts +16 -0
  8. package/Charting/ChartModifiers/CustomChartModifier2D.js +40 -0
  9. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  10. package/Charting/ChartModifiers/RolloverModifier.d.ts +2 -6
  11. package/Charting/ChartModifiers/RolloverModifier.js +17 -11
  12. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +3 -1
  13. package/Charting/Model/BaseDataSeries.d.ts +5 -1
  14. package/Charting/Model/BaseDataSeries.js +24 -14
  15. package/Charting/Model/ChartData/SeriesInfo.d.ts +1 -0
  16. package/Charting/Model/ChartData/SeriesInfo.js +1 -0
  17. package/Charting/Model/Filters/HlcCustomFilter.js +19 -7
  18. package/Charting/Model/Filters/OhlcCustomFilter.js +20 -8
  19. package/Charting/Model/Filters/XyCustomFilter.js +15 -5
  20. package/Charting/Model/Filters/XyRatioFilter.js +1 -0
  21. package/Charting/Model/Filters/XyyCustomFilter.js +17 -6
  22. package/Charting/Model/Filters/XyzCustomFilter.js +17 -6
  23. package/Charting/Services/SciChartRenderer.js +42 -2
  24. package/Charting/Visuals/Annotations/AdornerLayer.d.ts +1 -0
  25. package/Charting/Visuals/Annotations/AdornerLayer.js +6 -3
  26. package/Charting/Visuals/Annotations/AnnotationBase.js +4 -0
  27. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +1 -0
  28. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +2 -0
  29. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -0
  30. package/Charting/Visuals/RenderableSeries/HitTest/HitTestInfo.d.ts +4 -0
  31. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +2 -0
  32. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +1 -0
  33. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +5 -2
  34. package/Charting/Visuals/SciChartDefaults.d.ts +7 -0
  35. package/Charting/Visuals/SciChartDefaults.js +7 -0
  36. package/Charting/Visuals/SciChartSurface.d.ts +5 -0
  37. package/Charting/Visuals/SciChartSurface.js +5 -0
  38. package/Charting/Visuals/licenseManager2D.js +10 -4
  39. package/Charting3D/ChartModifiers/ChartModifierBase3D.d.ts +18 -0
  40. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +8 -1
  41. package/Charting3D/ChartModifiers/CustomChartModifier3D.d.ts +16 -0
  42. package/Charting3D/ChartModifiers/CustomChartModifier3D.js +40 -0
  43. package/Charting3D/ChartModifiers/MouseWheelZoomModifier3D.d.ts +7 -5
  44. package/Charting3D/ChartModifiers/MouseWheelZoomModifier3D.js +9 -4
  45. package/Charting3D/ChartModifiers/OrbitModifier3D.d.ts +11 -5
  46. package/Charting3D/ChartModifiers/OrbitModifier3D.js +7 -5
  47. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +11 -8
  48. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +16 -8
  49. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  50. package/Charting3D/Visuals/SciChart3DRenderer.js +29 -1
  51. package/Charting3D/Visuals/SciChart3DSurface.d.ts +3 -0
  52. package/Charting3D/Visuals/SciChart3DSurface.js +7 -2
  53. package/Core/BuildStamp.d.ts +1 -1
  54. package/Core/BuildStamp.js +2 -2
  55. package/README.md +7 -8
  56. package/_wasm/scichart.browser.js +1 -1
  57. package/_wasm/scichart2d.js +16 -16
  58. package/_wasm/scichart2d.wasm +0 -0
  59. package/_wasm/scichart3d.js +10 -10
  60. package/_wasm/scichart3d.wasm +0 -0
  61. package/index.d.ts +5 -0
  62. package/index.js +21 -13
  63. package/index.min.js +1 -1
  64. package/package.json +18 -4
  65. package/types/ChartModifierType.d.ts +2 -1
  66. package/types/ChartModifierType.js +1 -0
  67. package/types/ExecuteOn.d.ts +9 -1
  68. package/types/ExecuteOn.js +9 -1
  69. package/types/MousePosition.d.ts +0 -1
  70. package/types/MousePosition.js +0 -1
  71. package/types/WatermarkPosition.d.ts +6 -0
  72. package/types/WatermarkPosition.js +10 -0
  73. package/types/licensingClasses.d.ts +8 -7
  74. package/types/licensingClasses.js +8 -7
  75. package/utils/ccall/appendDoubleVectorFromJsArray.js +1 -1
@@ -25,6 +25,7 @@ var DpiHelper_1 = require("../Visuals/TextureManager/DpiHelper");
25
25
  var RenderPassData_1 = require("./RenderPassData");
26
26
  var RenderPassInfo_1 = require("./RenderPassInfo");
27
27
  var SvgClippingMode_1 = require("../../types/SvgClippingMode");
28
+ var WatermarkPosition_1 = require("../../types/WatermarkPosition");
28
29
  /**
29
30
  * A class used internally in SciChart to perform layout, arrangement, data-preparation and rendering on the Cartesian 2D {@link SciChartSurface}
30
31
  */
@@ -425,11 +426,50 @@ var SciChartRenderer = /** @class */ (function () {
425
426
  this.sciChartSurface.rendered.raiseEvent();
426
427
  };
427
428
  SciChartRenderer.prototype.updateWatermark = function (renderContext, seriesViewRect) {
428
- var left = seriesViewRect.x + 5;
429
429
  var chartHeight = this.sciChartSurface.isCopyCanvasSurface
430
430
  ? SciChartSurfaceBase_1.SciChartSurfaceBase.domMasterCanvas.height
431
431
  : renderContext.viewportSize.height;
432
- var bottom = chartHeight - (seriesViewRect.top + seriesViewRect.height) + 5;
432
+ var left = seriesViewRect.x + 5;
433
+ var bottom = chartHeight - (seriesViewRect.top + seriesViewRect.height) + 10;
434
+ var wmWidth = Math.max(72, Math.min(0.25 * renderContext.viewportSize.width, 256));
435
+ var wmHeight = (42 * wmWidth) / 256;
436
+ if (this.sciChartSurface.watermarkRelativeToCanvas) {
437
+ switch (this.sciChartSurface.watermarkPosition) {
438
+ case WatermarkPosition_1.EWatermarkPosition.BottomRight:
439
+ left = renderContext.viewportSize.width - wmWidth - 5;
440
+ bottom = chartHeight - renderContext.viewportSize.height + 12;
441
+ break;
442
+ case WatermarkPosition_1.EWatermarkPosition.TopLeft:
443
+ bottom = chartHeight - (5 + wmHeight);
444
+ left = 5;
445
+ break;
446
+ case WatermarkPosition_1.EWatermarkPosition.TopRight:
447
+ left = renderContext.viewportSize.width - wmWidth - 5;
448
+ bottom = chartHeight - (5 + wmHeight);
449
+ break;
450
+ case WatermarkPosition_1.EWatermarkPosition.BottomLeft:
451
+ left = 5;
452
+ bottom = chartHeight - renderContext.viewportSize.height + 12;
453
+ break;
454
+ }
455
+ }
456
+ else {
457
+ switch (this.sciChartSurface.watermarkPosition) {
458
+ case WatermarkPosition_1.EWatermarkPosition.BottomRight:
459
+ left = seriesViewRect.left + seriesViewRect.width - wmWidth - 5;
460
+ break;
461
+ case WatermarkPosition_1.EWatermarkPosition.TopLeft:
462
+ bottom = chartHeight - (seriesViewRect.top + 5 + wmHeight);
463
+ break;
464
+ case WatermarkPosition_1.EWatermarkPosition.TopRight:
465
+ left = seriesViewRect.left + seriesViewRect.width - wmWidth - 5;
466
+ bottom = chartHeight - (seriesViewRect.top + 5 + wmHeight);
467
+ break;
468
+ case WatermarkPosition_1.EWatermarkPosition.BottomLeft:
469
+ default:
470
+ break;
471
+ }
472
+ }
433
473
  this.sciChartSurface.updateWatermark(left, bottom);
434
474
  };
435
475
  SciChartRenderer.prototype.getViewportRect = function (viewportSize, seriesViewRect) {
@@ -9,5 +9,6 @@ export declare class AdornerLayer {
9
9
  selectAnnotation(args: ModifierMouseArgs): boolean;
10
10
  deselectAnnotation(annotation: IAnnotation): void;
11
11
  get selectedAnnotation(): AnnotationBase;
12
+ set selectedAnnotation(value: AnnotationBase);
12
13
  get isAnnotationSelected(): boolean;
13
14
  }
@@ -9,14 +9,14 @@ var AdornerLayer = /** @class */ (function () {
9
9
  var scs = this.parentSurface;
10
10
  var selectedAnnotation;
11
11
  var selectAnnotationHelper = function (annotations) {
12
- annotations.forEach(function (an) {
13
- var anBase = an;
12
+ for (var i = annotations.length - 1; i >= 0; i--) {
13
+ var anBase = annotations[i];
14
14
  /** Allow all annotations to be clicked. Only select if editable */
15
15
  var isAnnotationSelected = anBase.click(args, !selectedAnnotation && anBase.isEditable);
16
16
  if (isAnnotationSelected) {
17
17
  selectedAnnotation = anBase;
18
18
  }
19
- });
19
+ }
20
20
  };
21
21
  selectAnnotationHelper(scs.annotations.asArray());
22
22
  selectAnnotationHelper(scs.modifierAnnotations.asArray());
@@ -31,6 +31,9 @@ var AdornerLayer = /** @class */ (function () {
31
31
  get: function () {
32
32
  return this.selectedAnnotationProperty;
33
33
  },
34
+ set: function (value) {
35
+ this.selectedAnnotationProperty = value;
36
+ },
34
37
  enumerable: false,
35
38
  configurable: true
36
39
  });
@@ -505,6 +505,9 @@ var AnnotationBase = /** @class */ (function () {
505
505
  AnnotationBase.prototype.onAttach = function (scs) {
506
506
  this.svgAdornerRootProperty = scs.domSvgAdornerLayer;
507
507
  // Override in derived classes to be notified of attached
508
+ if (this.isSelected) {
509
+ this.parentSurface.adornerLayer.selectedAnnotation = this;
510
+ }
508
511
  };
509
512
  /** @inheritDoc */
510
513
  AnnotationBase.prototype.onDetach = function () {
@@ -514,6 +517,7 @@ var AnnotationBase = /** @class */ (function () {
514
517
  }
515
518
  this.selectedChanged.unsubscribeAll();
516
519
  this.deleteAdorner();
520
+ this.svgAdornerRootProperty = undefined;
517
521
  };
518
522
  Object.defineProperty(AnnotationBase.prototype, "dragPoints", {
519
523
  /** Get the dragging points that should be enabled for this annotation */
@@ -197,6 +197,7 @@ var LabelProviderBase2D = /** @class */ (function (_super) {
197
197
  }
198
198
  else {
199
199
  if (cachedLabelText) {
200
+ text = cachedLabelText;
200
201
  cachedLabel = LabelCache_1.labelCache.getLabel(cachedLabelText, this.styleId);
201
202
  if (cachedLabel) {
202
203
  labels.push(cachedLabelText);
@@ -60,6 +60,7 @@ var BandSeriesHitTestProvider = /** @class */ (function (_super) {
60
60
  hitTestInfo.point2yCoord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2yValue);
61
61
  hitTestInfo.point2y1Value = y1NativeValues.get(hitRes.secondPointIndex);
62
62
  hitTestInfo.point2y1Coord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2y1Value);
63
+ hitTestInfo.point2metadata = dataSeries.getMetadataAt(hitRes.secondPointIndex);
63
64
  }
64
65
  }
65
66
  else {
@@ -140,6 +141,7 @@ var BandSeriesHitTestProvider = /** @class */ (function (_super) {
140
141
  hitTestInfo.point2yCoord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2yValue);
141
142
  hitTestInfo.point2y1Value = y1NativeValues.get(hitRes.secondPointIndex);
142
143
  hitTestInfo.point2y1Coord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2y1Value);
144
+ hitTestInfo.point2metadata = dataSeries.getMetadataAt(hitRes.secondPointIndex);
143
145
  }
144
146
  }
145
147
  }
@@ -94,6 +94,7 @@ var BaseHitTestProvider = /** @class */ (function () {
94
94
  hitTestInfo.point2xCoord = xCoordinateCalculator.getCoordinate(hitTestInfo.point2xValue);
95
95
  hitTestInfo.point2yValue = yNativeValues.get(hitRes.secondPointIndex);
96
96
  hitTestInfo.point2yCoord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2yValue);
97
+ hitTestInfo.point2metadata = dataSeries.getMetadataAt(hitRes.secondPointIndex);
97
98
  }
98
99
  }
99
100
  return hitTestInfo;
@@ -158,5 +158,9 @@ export declare class HitTestInfo {
158
158
  * displaying tooltips with additional information specific for the data point
159
159
  */
160
160
  metadata: IPointMetadata;
161
+ /**
162
+ * The point metadata for the second data point
163
+ */
164
+ point2metadata: IPointMetadata;
161
165
  constructor(renderableSeries: IRenderableSeries, isEmpty?: boolean);
162
166
  }
@@ -74,6 +74,7 @@ var LineSeriesHitTestProvider = /** @class */ (function (_super) {
74
74
  hitTestInfo.point2xCoord = xCoordinateCalculator.getCoordinate(hitTestInfo.point2xValue);
75
75
  hitTestInfo.point2yValue = yNativeValues.get(hitRes.secondPointIndex);
76
76
  hitTestInfo.point2yCoord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2yValue);
77
+ hitTestInfo.point2metadata = dataSeries.getMetadataAt(hitRes.secondPointIndex);
77
78
  }
78
79
  }
79
80
  else {
@@ -152,6 +153,7 @@ var LineSeriesHitTestProvider = /** @class */ (function (_super) {
152
153
  hitTestInfo.point2yValue = yNativeValues.get(minDistanceIndex + 1);
153
154
  hitTestInfo.point2yCoord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2yValue);
154
155
  hitTestInfo.isHit = minDistance <= hitTestRadius;
156
+ hitTestInfo.point2metadata = dataSeries.getMetadataAt(minDistanceIndex + 1);
155
157
  return hitTestInfo;
156
158
  }
157
159
  }
@@ -56,6 +56,7 @@ var MountainSeriesHitTestProvider = /** @class */ (function (_super) {
56
56
  hitTestInfo.point2xCoord = xCoordinateCalculator.getCoordinate(hitTestInfo.point2xValue);
57
57
  hitTestInfo.point2yValue = yNativeValues.get(res.secondPointIndex);
58
58
  hitTestInfo.point2yCoord = yCoordinateCalculator.getCoordinate(hitTestInfo.point2yValue);
59
+ hitTestInfo.point2metadata = dataSeries.getMetadataAt(res.secondPointIndex);
59
60
  }
60
61
  }
61
62
  else {
@@ -124,9 +124,12 @@ var RolloverModifierRenderableSeriesProps = /** @class */ (function () {
124
124
  RolloverModifierRenderableSeriesProps.prototype.getRenderableSeriesStroke = function () {
125
125
  if (this.isY1) {
126
126
  var bandRS = this.renderableSeries;
127
- return bandRS.strokeY1;
127
+ // @ts-ignore
128
+ return bandRS.strokeY1Property;
128
129
  }
129
- return this.renderableSeries.stroke;
130
+ // Get property here to retain Auto_Color prefix
131
+ // @ts-ignore
132
+ return this.renderableSeries.strokeProperty;
130
133
  };
131
134
  return RolloverModifierRenderableSeriesProps;
132
135
  }());
@@ -1,3 +1,4 @@
1
+ import { EWatermarkPosition } from "../../types/WatermarkPosition";
1
2
  export declare class SciChartDefaults {
2
3
  /**
3
4
  * Experimental - set true to enable async label texture creation
@@ -24,4 +25,10 @@ export declare class SciChartDefaults {
24
25
  * Time in ms to retry loading a native font. If you need to load a large font over a potentially slow connection await sciChartSurface.registerFont
25
26
  */
26
27
  static nativeFontTimeout: number;
28
+ /**
29
+ * The default position of the watermark for trials
30
+ */
31
+ static watermarkPosition: EWatermarkPosition;
32
+ /** For 2D charts the watermark is normally positioned within the series area. Set this true to place it relative to the overall canvas. */
33
+ static watermarkRelativeToCanvas: boolean;
27
34
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SciChartDefaults = void 0;
4
+ var WatermarkPosition_1 = require("../../types/WatermarkPosition");
4
5
  var SciChartDefaults = /** @class */ (function () {
5
6
  function SciChartDefaults() {
6
7
  }
@@ -29,6 +30,12 @@ var SciChartDefaults = /** @class */ (function () {
29
30
  * Time in ms to retry loading a native font. If you need to load a large font over a potentially slow connection await sciChartSurface.registerFont
30
31
  */
31
32
  SciChartDefaults.nativeFontTimeout = 2000;
33
+ /**
34
+ * The default position of the watermark for trials
35
+ */
36
+ SciChartDefaults.watermarkPosition = WatermarkPosition_1.EWatermarkPosition.BottomLeft;
37
+ /** For 2D charts the watermark is normally positioned within the series area. Set this true to place it relative to the overall canvas. */
38
+ SciChartDefaults.watermarkRelativeToCanvas = false;
32
39
  return SciChartDefaults;
33
40
  }());
34
41
  exports.SciChartDefaults = SciChartDefaults;
@@ -28,6 +28,7 @@ import { IRenderableSeries } from "./RenderableSeries/IRenderableSeries";
28
28
  import { ESurfaceType, SciChartSurfaceBase, TSciChartConfig } from "./SciChartSurfaceBase";
29
29
  import { TDpiChangedEventArgs } from "./TextureManager/DpiHelper";
30
30
  import { Point } from "../../Core/Point";
31
+ import { EWatermarkPosition } from "../../types/WatermarkPosition";
31
32
  export declare type TSciChart = TWasmContext;
32
33
  export declare type TWebAssemblyChart = {
33
34
  wasmContext: TSciChart;
@@ -212,6 +213,10 @@ export declare class SciChartSurface extends SciChartSurfaceBase {
212
213
  * access to our WebGL2 Engine and WebAssembly numerical methods
213
214
  */
214
215
  readonly webAssemblyContext2D: TSciChart;
216
+ /** The position of the watermark for trials and community licenses */
217
+ watermarkPosition: EWatermarkPosition;
218
+ /** Set true to position the watermark relative to the overall canvas, rather than the series area. */
219
+ watermarkRelativeToCanvas: boolean;
215
220
  protected animationList: IGenericAnimation[];
216
221
  protected paddingProperty: Thickness;
217
222
  private readonly sciChartRenderer;
@@ -108,6 +108,7 @@ var SciChartSurfaceBase_1 = require("./SciChartSurfaceBase");
108
108
  var DpiHelper_1 = require("./TextureManager/DpiHelper");
109
109
  var UpdateSuspender_1 = require("./UpdateSuspender");
110
110
  var Point_1 = require("../../Core/Point");
111
+ var SciChartDefaults_1 = require("./SciChartDefaults");
111
112
  exports.sciChartConfig = {};
112
113
  // To force the worker to be created before it is needed, so we know if it alive or not
113
114
  var t = TextureWorker_1.textureWorker;
@@ -164,6 +165,10 @@ var SciChartSurface = /** @class */ (function (_super) {
164
165
  * In circumstances where you want to draw over the labels, eg with a subchart, set this true to have them drawn earlier.
165
166
  */
166
167
  _this.renderNativeAxisLabelsImmediately = false;
168
+ /** The position of the watermark for trials and community licenses */
169
+ _this.watermarkPosition = SciChartDefaults_1.SciChartDefaults.watermarkPosition;
170
+ /** Set true to position the watermark relative to the overall canvas, rather than the series area. */
171
+ _this.watermarkRelativeToCanvas = false;
167
172
  _this.animationList = [];
168
173
  _this.paddingProperty = Thickness_1.Thickness.fromNumber(10);
169
174
  _this.zoomStateProperty = ZoomState_1.EZoomState.AtExtents;
@@ -167,7 +167,8 @@ var getlicenseFromWizard = function (licenseContext, sciChartSurface) { return _
167
167
  switch (_b.label) {
168
168
  case 0:
169
169
  _b.trys.push([0, 5, , 6]);
170
- if (checkStatus !== licensingClasses_1.LicenseCheckStatus.LookingForLicenseWizard &&
170
+ if (checkStatus !== licensingClasses_1.LicenseCheckStatus.StartLookingForLicenseWizard &&
171
+ checkStatus !== licensingClasses_1.LicenseCheckStatus.LookingForLicenseWizard &&
171
172
  checkStatus !== licensingClasses_1.LicenseCheckStatus.NoLicenseInWizard)
172
173
  return [2 /*return*/];
173
174
  debug("Trying to get license from local license wizard");
@@ -203,6 +204,7 @@ var getlicenseFromWizard = function (licenseContext, sciChartSurface) { return _
203
204
  case 4: return [3 /*break*/, 6];
204
205
  case 5:
205
206
  err_3 = _b.sent();
207
+ checkStatus = licensingClasses_1.LicenseCheckStatus.LookingForLicenseWizard;
206
208
  // Failed to connect. Retry
207
209
  getLicenseFailCounts += 1;
208
210
  if (getLicenseFailCounts < maxretries) {
@@ -355,7 +357,7 @@ var dolicenseChallenge = function (licenseContext, sciChartSurface) { return __a
355
357
  licenseContext.SCRTCredentials.ResetRuntimeLicense();
356
358
  isRuntimeKey = false;
357
359
  licenseManager2dState_1.licenseManager2dState.setIsDev(true);
358
- checkStatus = licensingClasses_1.LicenseCheckStatus.LookingForLicenseWizard;
360
+ checkStatus = licensingClasses_1.LicenseCheckStatus.StartLookingForLicenseWizard;
359
361
  getlicenseFromWizard(licenseContext, sciChartSurface);
360
362
  if (licenseContext2D !== undefined) {
361
363
  (0, exports.updateLicenseDisplay)((0, exports.getLicenseInfo)(licenseContext2D), sciChartSurface2D, true, false);
@@ -429,6 +431,7 @@ var applyLicense = function (licenseContext, sciChartSurface) {
429
431
  var runtimelicense = getRuntimeLicenseKey();
430
432
  if ((checkStatus === licensingClasses_1.LicenseCheckStatus.NoLicense ||
431
433
  checkStatus === licensingClasses_1.LicenseCheckStatus.LicenseOK ||
434
+ checkStatus === licensingClasses_1.LicenseCheckStatus.StartLookingForLicenseWizard ||
432
435
  checkStatus === licensingClasses_1.LicenseCheckStatus.LookingForLicenseWizard) &&
433
436
  lt === licenseContext.SCRTLicenseType.LICENSE_TYPE_NO_LICENSE &&
434
437
  runtimelicense) {
@@ -541,7 +544,7 @@ var applyLicense = function (licenseContext, sciChartSurface) {
541
544
  debug("checkstatus: " + licensingClasses_1.LicenseCheckStatus[checkStatus]);
542
545
  if (checkStatus === licensingClasses_1.LicenseCheckStatus.NoLicense && useLicenseWizard) {
543
546
  if (wizardTimer === undefined) {
544
- checkStatus = licensingClasses_1.LicenseCheckStatus.LookingForLicenseWizard;
547
+ checkStatus = licensingClasses_1.LicenseCheckStatus.StartLookingForLicenseWizard;
545
548
  licenseManager2dState_1.licenseManager2dState.setIsDev(true);
546
549
  getlicenseFromWizard(licenseContext, sciChartSurface);
547
550
  }
@@ -798,6 +801,9 @@ var updateLicenseDisplayInternal = function (licenseInfo, sciChartSurface, is2D,
798
801
  debug("".concat(is2D ? "2D" : "3D", " license status changed"));
799
802
  sciChartSurface.invalidateElement();
800
803
  sciChartSurface.otherSurfaces.map(function (s) { return s.invalidateElement(); });
804
+ if (checkStatus === licensingClasses_1.LicenseCheckStatus.StartLookingForLicenseWizard) {
805
+ return;
806
+ }
801
807
  // Update license message text
802
808
  var licensingLink = "<a href=\"https://www.scichart.com/licensing-scichart\" target=\"_blank\" style=\"color: white\">www.scichart.com/licensing-scichart</a>";
803
809
  var contactSupportLink = "<a href=\"https://www.scichart.com/contact-us/\" target=\"_blank\" style=\"color: orange\">contact support</a>";
@@ -909,7 +915,7 @@ var updateLicenseDisplayInternal = function (licenseInfo, sciChartSurface, is2D,
909
915
  else {
910
916
  licenseMessageDivChild.innerHTML =
911
917
  premsg +
912
- "<br><a href=\"https://github.com/ABTSoftware/SciChart.JS.Examples/blob/master/README-BetaTesters.md\" target=\"_blank\" style=\"color: white\">Click here for a beta trial key and instructions</a>";
918
+ "<br><a href=\"https://www.scichart.com/licensing-scichart-js/\" target=\"_blank\" style=\"color: white\">Click here for licensing information</a>";
913
919
  }
914
920
  }
915
921
  }
@@ -1,12 +1,26 @@
1
1
  import { ChartModifierBase, EModifierType } from "../../Charting/ChartModifiers/ChartModifierBase";
2
+ import { EChart3DModifierType } from "../../types/ChartModifierType";
3
+ import { EExecuteOn } from "../../types/ExecuteOn";
2
4
  import { SciChart3DSurface } from "../Visuals/SciChart3DSurface";
3
5
  export interface IChartModifierBase3DOptions {
6
+ /**
7
+ * A unique Id for the {@link ChartModifierBase3D}
8
+ */
9
+ id?: string;
10
+ /**
11
+ * Defines the operation that modifier should respond to
12
+ */
13
+ executeOn?: EExecuteOn;
4
14
  }
5
15
  /**
6
16
  * Defines a base class to a ChartModifier3D - a class which provides Zoom, Pan, Tooltip or interaction behavior
7
17
  * to SciChart - High Performance Realtime {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
8
18
  */
9
19
  export declare abstract class ChartModifierBase3D extends ChartModifierBase<SciChart3DSurface> {
20
+ /**
21
+ * The type of chartmodifier. See {@link EChart3DModifierType} for available options
22
+ */
23
+ abstract readonly type: EChart3DModifierType | string;
10
24
  /**
11
25
  * Creates an instance of a {@link ChartModifierBase3D}
12
26
  * @param options Optional parameters of type {@link IChartModifierBase3DOptions} used to configure the modifier
@@ -16,4 +30,8 @@ export declare abstract class ChartModifierBase3D extends ChartModifierBase<SciC
16
30
  * @inheritDoc
17
31
  */
18
32
  get modifierType(): EModifierType;
33
+ toJSON(): {
34
+ type: string;
35
+ options: Required<Omit<IChartModifierBase3DOptions, never>>;
36
+ };
19
37
  }
@@ -28,7 +28,7 @@ var ChartModifierBase3D = /** @class */ (function (_super) {
28
28
  * @param options Optional parameters of type {@link IChartModifierBase3DOptions} used to configure the modifier
29
29
  */
30
30
  function ChartModifierBase3D(options) {
31
- return _super.call(this) || this;
31
+ return _super.call(this, options) || this;
32
32
  }
33
33
  Object.defineProperty(ChartModifierBase3D.prototype, "modifierType", {
34
34
  /**
@@ -40,6 +40,13 @@ var ChartModifierBase3D = /** @class */ (function (_super) {
40
40
  enumerable: false,
41
41
  configurable: true
42
42
  });
43
+ ChartModifierBase3D.prototype.toJSON = function () {
44
+ var options = {
45
+ id: this.id,
46
+ executeOn: this.executeOn
47
+ };
48
+ return { type: this.type, options: options };
49
+ };
43
50
  return ChartModifierBase3D;
44
51
  }(ChartModifierBase_1.ChartModifierBase));
45
52
  exports.ChartModifierBase3D = ChartModifierBase3D;
@@ -0,0 +1,16 @@
1
+ import { EChart3DModifierType } from "../../types/ChartModifierType";
2
+ import { ChartModifierBase3D, IChartModifierBase3DOptions } from "./ChartModifierBase3D";
3
+ /**
4
+ * Base class for custom Chart Modifiers (allows custom zooming, panning, interaction behaviour) on 2D Charts
5
+ */
6
+ export declare class CustomChartModifier3D extends ChartModifierBase3D {
7
+ /**
8
+ * @inheritDoc
9
+ */
10
+ readonly type: EChart3DModifierType;
11
+ /**
12
+ * @inheritDoc
13
+ * @param options
14
+ */
15
+ constructor(options?: IChartModifierBase3DOptions);
16
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.CustomChartModifier3D = void 0;
19
+ var ChartModifierType_1 = require("../../types/ChartModifierType");
20
+ var ChartModifierBase3D_1 = require("./ChartModifierBase3D");
21
+ /**
22
+ * Base class for custom Chart Modifiers (allows custom zooming, panning, interaction behaviour) on 2D Charts
23
+ */
24
+ var CustomChartModifier3D = /** @class */ (function (_super) {
25
+ __extends(CustomChartModifier3D, _super);
26
+ /**
27
+ * @inheritDoc
28
+ * @param options
29
+ */
30
+ function CustomChartModifier3D(options) {
31
+ var _this = _super.call(this, options) || this;
32
+ /**
33
+ * @inheritDoc
34
+ */
35
+ _this.type = ChartModifierType_1.EChart3DModifierType.Custom;
36
+ return _this;
37
+ }
38
+ return CustomChartModifier3D;
39
+ }(ChartModifierBase3D_1.ChartModifierBase3D));
40
+ exports.CustomChartModifier3D = CustomChartModifier3D;
@@ -27,6 +27,7 @@ export interface IMouseWheelZoomModifier3DOptions extends IChartModifierBase3DOp
27
27
  * @remarks The speed of mouse-wheel zoom can be modified via the {@link MouseWheelZoomModifier3D.mouseWheelSensitivity} property.
28
28
  */
29
29
  export declare class MouseWheelZoomModifier3D extends ChartModifierBase3D {
30
+ readonly type = EChart3DModifierType.MouseWheelZoom;
30
31
  /**
31
32
  * The mouse wheel sensitifivity is a factor that determines how much the camera zooms when the mouse wheel scrolls.
32
33
  * Default value is 0.1
@@ -41,10 +42,11 @@ export declare class MouseWheelZoomModifier3D extends ChartModifierBase3D {
41
42
  * @inheritDoc
42
43
  */
43
44
  modifierMouseWheel(args: ModifierMouseArgs): void;
44
- toJSON?(): {
45
- type: EChart3DModifierType;
46
- options: {
47
- mouseWheelSensitivity: number;
48
- };
45
+ /**
46
+ * @inheritDoc
47
+ */
48
+ toJSON(): {
49
+ type: string;
50
+ options: Required<Omit<IChartModifierBase3DOptions, never>>;
49
51
  };
50
52
  }
@@ -42,6 +42,7 @@ var MouseWheelZoomModifier3D = /** @class */ (function (_super) {
42
42
  */
43
43
  function MouseWheelZoomModifier3D(options) {
44
44
  var _this = _super.call(this, options) || this;
45
+ _this.type = ChartModifierType_1.EChart3DModifierType.MouseWheelZoom;
45
46
  _this.mouseWheelSensitivity = (options === null || options === void 0 ? void 0 : options.mouseWheelSensitivity) || 0.1;
46
47
  return _this;
47
48
  }
@@ -70,12 +71,16 @@ var MouseWheelZoomModifier3D = /** @class */ (function (_super) {
70
71
  }
71
72
  args.handled = true;
72
73
  };
73
- //@ts-ignore
74
+ /**
75
+ * @inheritDoc
76
+ */
74
77
  MouseWheelZoomModifier3D.prototype.toJSON = function () {
75
- return {
76
- type: ChartModifierType_1.EChart3DModifierType.MouseWheelZoom,
77
- options: { mouseWheelSensitivity: this.mouseWheelSensitivity }
78
+ var json = _super.prototype.toJSON.call(this);
79
+ var options = {
80
+ mouseWheelSensitivity: this.mouseWheelSensitivity
78
81
  };
82
+ Object.assign(json.options, options);
83
+ return json;
79
84
  };
80
85
  return MouseWheelZoomModifier3D;
81
86
  }(ChartModifierBase3D_1.ChartModifierBase3D));
@@ -1,6 +1,11 @@
1
1
  import { ModifierMouseArgs } from "../../Charting/ChartModifiers/ModifierMouseArgs";
2
2
  import { EChart3DModifierType } from "../../types/ChartModifierType";
3
- import { ChartModifierBase3D } from "./ChartModifierBase3D";
3
+ import { ChartModifierBase3D, IChartModifierBase3DOptions } from "./ChartModifierBase3D";
4
+ /**
5
+ * Optional parameters passed to the constructor of {@link OrbitModifier3D} to configure it
6
+ */
7
+ export interface IOrbitModifier3DOptions extends IChartModifierBase3DOptions {
8
+ }
4
9
  /**
5
10
  * @summary The {@link OrbitModifier3D} provides behavior to orbit around a target point on a 3D {@link SciChart3DSurface}
6
11
  * within SciChart - High Performance {@link https://www.scichart.com/javascript-chart-features | JavaScript 3D Charts}
@@ -15,9 +20,13 @@ import { ChartModifierBase3D } from "./ChartModifierBase3D";
15
20
  * ```
16
21
  */
17
22
  export declare class OrbitModifier3D extends ChartModifierBase3D {
23
+ /**
24
+ * @inheritDoc
25
+ */
26
+ readonly type = EChart3DModifierType.Orbit;
18
27
  private pointStart;
19
28
  private isDragging;
20
- constructor();
29
+ constructor(options?: IOrbitModifier3DOptions);
21
30
  /**
22
31
  * @inheritDoc
23
32
  */
@@ -30,7 +39,4 @@ export declare class OrbitModifier3D extends ChartModifierBase3D {
30
39
  * @inheritDoc
31
40
  */
32
41
  modifierMouseUp(args: ModifierMouseArgs): void;
33
- toJSON(): {
34
- type: EChart3DModifierType;
35
- };
36
42
  }
@@ -34,8 +34,13 @@ var ChartModifierBase3D_1 = require("./ChartModifierBase3D");
34
34
  */
35
35
  var OrbitModifier3D = /** @class */ (function (_super) {
36
36
  __extends(OrbitModifier3D, _super);
37
- function OrbitModifier3D() {
38
- return _super.call(this) || this;
37
+ function OrbitModifier3D(options) {
38
+ var _this = _super.call(this, options) || this;
39
+ /**
40
+ * @inheritDoc
41
+ */
42
+ _this.type = ChartModifierType_1.EChart3DModifierType.Orbit;
43
+ return _this;
39
44
  }
40
45
  /**
41
46
  * @inheritDoc
@@ -80,9 +85,6 @@ var OrbitModifier3D = /** @class */ (function (_super) {
80
85
  this.isDragging = false;
81
86
  this.pointStart = undefined;
82
87
  };
83
- OrbitModifier3D.prototype.toJSON = function () {
84
- return { type: ChartModifierType_1.EChart3DModifierType.Orbit };
85
- };
86
88
  return OrbitModifier3D;
87
89
  }(ChartModifierBase3D_1.ChartModifierBase3D));
88
90
  exports.OrbitModifier3D = OrbitModifier3D;
@@ -17,7 +17,7 @@ export interface IResetCamera3DOptions extends IChartModifierBase3DOptions {
17
17
  /**
18
18
  * Defines the easing function for animation. See {@link TEasingFn} for a range of functions
19
19
  */
20
- easingFunction?: TEasingFn;
20
+ easingFunction?: TEasingFn | string;
21
21
  /**
22
22
  * The camera settings to reset to. Defaults to the camera state when the modifier was attached to the chart.
23
23
  */
@@ -45,6 +45,10 @@ export declare type TCameraState = {
45
45
  *
46
46
  */
47
47
  export declare class ResetCamera3DModifier extends ChartModifierBase3D {
48
+ /**
49
+ * @inheritDoc
50
+ */
51
+ readonly type = EChart3DModifierType.ZoomExtents;
48
52
  /**
49
53
  * When true, the Zoom operations are animated. See also {@link animationDuration} and {@link easingFunction}
50
54
  */
@@ -68,12 +72,11 @@ export declare class ResetCamera3DModifier extends ChartModifierBase3D {
68
72
  * @inheritDoc
69
73
  */
70
74
  modifierDoubleClick(args: ModifierMouseArgs): void;
71
- toJSON?(): {
72
- type: EChart3DModifierType;
73
- options: {
74
- animationDuration: number;
75
- easingFunction: string;
76
- isAnimated: boolean;
77
- };
75
+ /**
76
+ * @inheritDoc
77
+ */
78
+ toJSON(): {
79
+ type: string;
80
+ options: Required<Omit<IChartModifierBase3DOptions, never>>;
78
81
  };
79
82
  }