scichart 2.2.2351 → 2.2.2378

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 (116) hide show
  1. package/Builder/buildAxis.d.ts +7 -0
  2. package/Builder/buildAxis.js +6 -0
  3. package/Builder/buildDataSeries.d.ts +19 -1
  4. package/Builder/buildDataSeries.js +22 -1
  5. package/Builder/buildSeries.d.ts +7 -2
  6. package/Builder/buildSeries.js +5 -1
  7. package/Charting/Drawing/WebGlRenderContext2D.js +26 -42
  8. package/Charting/Model/ChartData/HlcSeriesInfo.d.ts +12 -0
  9. package/Charting/Model/ChartData/HlcSeriesInfo.js +52 -0
  10. package/Charting/Model/Filters/HlcCustomFilter.d.ts +41 -0
  11. package/Charting/Model/Filters/HlcCustomFilter.js +119 -0
  12. package/Charting/Model/Filters/HlcFilterBase.d.ts +30 -0
  13. package/Charting/Model/Filters/HlcFilterBase.js +141 -0
  14. package/Charting/Model/Filters/HlcScaleOffsetFilter.d.ts +18 -0
  15. package/Charting/Model/Filters/HlcScaleOffsetFilter.js +86 -0
  16. package/Charting/Model/Filters/XyFilterBase.d.ts +2 -0
  17. package/Charting/Model/Filters/XyFilterBase.js +6 -0
  18. package/Charting/Model/Filters/XyyFilterBase.js +9 -0
  19. package/Charting/Model/Filters/XyzFilterBase.js +12 -3
  20. package/Charting/Model/HlcDataSeries.d.ts +189 -0
  21. package/Charting/Model/HlcDataSeries.js +557 -0
  22. package/Charting/Model/IDataSeries.d.ts +5 -1
  23. package/Charting/Model/IDataSeries.js +4 -0
  24. package/Charting/Model/PointSeries/HlcPointSeriesWrapped.d.ts +10 -0
  25. package/Charting/Model/PointSeries/HlcPointSeriesWrapped.js +31 -0
  26. package/Charting/Model/PointSeries/IPointSeries.d.ts +5 -0
  27. package/Charting/Numerics/CoordinateCalculators/LogarithmicCoordinateCalculator.d.ts +2 -2
  28. package/Charting/Numerics/CoordinateCalculators/LogarithmicCoordinateCalculator.js +15 -6
  29. package/Charting/Services/SciChartRenderer.d.ts +1 -0
  30. package/Charting/Services/SciChartRenderer.js +6 -0
  31. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +8 -0
  32. package/Charting/Visuals/Axis/AxisBase2D.d.ts +1 -1
  33. package/Charting/Visuals/Axis/AxisBase2D.js +9 -22
  34. package/Charting/Visuals/Axis/AxisCore.d.ts +4 -0
  35. package/Charting/Visuals/Axis/AxisCore.js +6 -0
  36. package/Charting/Visuals/Axis/AxisRenderer.js +6 -10
  37. package/Charting/Visuals/Axis/DateTimeNumericAxis.d.ts +11 -0
  38. package/Charting/Visuals/Axis/DateTimeNumericAxis.js +36 -0
  39. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.d.ts +28 -0
  40. package/Charting/Visuals/Axis/DeltaCalculator/DateTimeDeltaCalculator.js +125 -0
  41. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.d.ts +7 -2
  42. package/Charting/Visuals/Axis/LabelProvider/PieLabelProvider.js +9 -4
  43. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +18 -2
  44. package/Charting/Visuals/Axis/LogarithmicAxis.d.ts +1 -0
  45. package/Charting/Visuals/Axis/LogarithmicAxis.js +5 -3
  46. package/Charting/Visuals/Helpers/NativeObject.d.ts +13 -0
  47. package/Charting/Visuals/Helpers/NativeObject.js +101 -0
  48. package/Charting/Visuals/Helpers/createNativeRect.d.ts +2 -2
  49. package/Charting/Visuals/Helpers/createNativeRect.js +3 -1
  50. package/Charting/Visuals/Helpers/drawBorder.js +2 -2
  51. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +9 -2
  52. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +53 -22
  53. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +14 -11
  54. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.d.ts +46 -0
  55. package/Charting/Visuals/RenderableSeries/DrawingProviders/ErrorSeriesDrawingProvider.js +252 -0
  56. package/Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries.d.ts +188 -0
  57. package/Charting/Visuals/RenderableSeries/FastErrorBarsRenderableSeries.js +357 -0
  58. package/Charting/Visuals/RenderableSeries/FastImpulseRenderableSeries.js +3 -10
  59. package/Charting/Visuals/RenderableSeries/HitTest/ErrorSeriesHitTestProvider.d.ts +20 -0
  60. package/Charting/Visuals/RenderableSeries/HitTest/ErrorSeriesHitTestProvider.js +120 -0
  61. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.d.ts +6 -0
  62. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +36 -0
  63. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +1 -2
  64. package/Charting/Visuals/RenderableSeries/constants.d.ts +5 -0
  65. package/Charting/Visuals/RenderableSeries/constants.js +5 -0
  66. package/Charting/Visuals/SciChartPieSurface/IPieSurfaceOptions.d.ts +2 -1
  67. package/Charting/Visuals/SciChartPieSurface/PieSegment/IPieSegment.d.ts +5 -0
  68. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.d.ts +116 -1
  69. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +139 -4
  70. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.d.ts +4 -1
  71. package/Charting/Visuals/SciChartPieSurface/PieSegment/constants.js +3 -0
  72. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.d.ts +13 -3
  73. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +114 -74
  74. package/Charting/Visuals/SciChartPieSurface/constants.d.ts +2 -1
  75. package/Charting/Visuals/SciChartPieSurface/constants.js +1 -0
  76. package/Charting/Visuals/createMaster.js +15 -11
  77. package/Charting/Visuals/createSingle.js +3 -1
  78. package/Charting/Visuals/licenseManager2D.d.ts +6 -0
  79. package/Charting/Visuals/licenseManager2D.js +83 -8
  80. package/Charting/Visuals/licenseManager2dState.d.ts +11 -0
  81. package/Charting/Visuals/licenseManager2dState.js +37 -1
  82. package/Charting/Visuals/loader.js +4 -1
  83. package/Charting3D/Visuals/SciChart3DRenderer.js +1 -1
  84. package/Charting3D/Visuals/createMaster3d.js +20 -14
  85. package/Charting3D/Visuals/createSingle3d.js +3 -4
  86. package/Charting3D/Visuals/licenseManager3D.js +3 -1
  87. package/Core/BuildStamp.d.ts +1 -1
  88. package/Core/BuildStamp.js +2 -2
  89. package/Core/Telemetry.d.ts +7 -0
  90. package/Core/Telemetry.js +106 -0
  91. package/Core/storage/localStorageApi.d.ts +4 -0
  92. package/Core/storage/localStorageApi.js +12 -0
  93. package/_wasm/scichart.browser.js +1 -1
  94. package/_wasm/scichart2d.js +95 -95
  95. package/_wasm/scichart2d.wasm +0 -0
  96. package/_wasm/scichart3d.js +97 -97
  97. package/_wasm/scichart3d.wasm +0 -0
  98. package/package.json +1 -1
  99. package/types/AxisType.d.ts +5 -1
  100. package/types/AxisType.js +4 -0
  101. package/types/DataFilterType.d.ts +1 -0
  102. package/types/DataFilterType.js +1 -0
  103. package/types/DataPointWidthMode.d.ts +13 -0
  104. package/types/DataPointWidthMode.js +17 -0
  105. package/types/ErrorDirection.d.ts +13 -0
  106. package/types/ErrorDirection.js +17 -0
  107. package/types/ErrorMode.d.ts +17 -0
  108. package/types/ErrorMode.js +21 -0
  109. package/types/SeriesType.d.ts +3 -1
  110. package/types/SeriesType.js +2 -0
  111. package/types/TSciChart.d.ts +8 -2
  112. package/types/TSciChart3D.d.ts +5 -2
  113. package/utils/date.d.ts +1 -0
  114. package/utils/date.js +15 -1
  115. package/utils/guid.d.ts +6 -0
  116. package/utils/guid.js +17 -1
@@ -36,11 +36,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.licenseManager = exports.updateLicenseDisplay = exports.getLicenseInfo = exports.applyLicense = exports.getLicenseCookie = exports.setCallbacks3D = exports.setUseLicenseWizard = exports.setRuntimeLicenseKey = exports.setLicenseCallback = exports.setDependencies = void 0;
39
+ exports.licenseManager = exports.updateLicenseDisplay = exports.getLicenseInfo = exports.applyLicense = exports.getLicenseCookie = exports.setCallbacks3D = exports.setUseLicenseWizard = exports.setRuntimeLicenseKey = exports.setLicenseCallback = exports.setIsDebugLicensing = exports.setDependencies = void 0;
40
40
  var app_1 = require("../../constants/app");
41
41
  var BuildStamp_1 = require("../../Core/BuildStamp");
42
42
  var Dictionary_1 = require("../../Core/Dictionary");
43
43
  var localStorageApi_1 = require("../../Core/storage/localStorageApi");
44
+ var Telemetry_1 = require("../../Core/Telemetry");
44
45
  var Color_1 = require("../../types/Color");
45
46
  var licensingClasses_1 = require("../../types/licensingClasses");
46
47
  var cookie_1 = require("../../utils/cookie");
@@ -103,6 +104,14 @@ var licenseDependencies = {
103
104
  var setDependencies = function (dependencies) { return (licenseDependencies = dependencies); };
104
105
  exports.setDependencies = setDependencies;
105
106
  var isDebug = null;
107
+ var setIsDebugLicensing = function (value, persist) {
108
+ if (persist === void 0) { persist = false; }
109
+ isDebug = value;
110
+ if (persist || !value) {
111
+ localStorageApi_1.localStorageApi.setIsLicenseDebug(value);
112
+ }
113
+ };
114
+ exports.setIsDebugLicensing = setIsDebugLicensing;
106
115
  var debug = function (message) {
107
116
  if (isDebug === null) {
108
117
  isDebug = localStorageApi_1.localStorageApi.getIsLicenseDebug();
@@ -172,6 +181,7 @@ var getlicenseFromWizard = function () { return __awaiter(void 0, void 0, void 0
172
181
  keyCode = _b.sent();
173
182
  _a = setNewLicense(keyCode), requiresValidation = _a.requiresValidation, trialExpired = _a.trialExpired;
174
183
  if (requiresValidation) {
184
+ debug("Got a developer license from local license wizard. Validating...");
175
185
  checkStatus = licensingClasses_1.LicenseCheckStatus.ValidatingDeveloperLicense;
176
186
  dolicenseChallenge();
177
187
  }
@@ -181,6 +191,7 @@ var getlicenseFromWizard = function () { return __awaiter(void 0, void 0, void 0
181
191
  wizardTimer = setTimeout(function () { return getlicenseFromWizard(); }, retryTime * 1000);
182
192
  }
183
193
  else {
194
+ debug("Got a valid license from local license wizard.");
184
195
  checkStatus = licensingClasses_1.LicenseCheckStatus.LicenseOK;
185
196
  }
186
197
  return [3 /*break*/, 4];
@@ -302,6 +313,7 @@ var dolicenseChallenge = function () { return __awaiter(void 0, void 0, void 0,
302
313
  key = (0, exports.getLicenseCookie)().key;
303
314
  timeNow = Math.floor(new Date().getTime() / 1000);
304
315
  setLicenseCookie(key, token, expirySeconds, timeNow);
316
+ debug("License validated");
305
317
  checkStatus = licensingClasses_1.LicenseCheckStatus.LicenseOK;
306
318
  timeToExpiry = expirySeconds - timeNow;
307
319
  challengeFailCounts = 0;
@@ -309,24 +321,47 @@ var dolicenseChallenge = function () { return __awaiter(void 0, void 0, void 0,
309
321
  }
310
322
  else {
311
323
  // Something went wrong with the apply
312
- console.log("license challenge response was invalid: " + token);
324
+ debug("license challenge response was invalid: " + token);
313
325
  checkStatus = licensingClasses_1.LicenseCheckStatus.FailedToValidateDeveloperLicense;
314
326
  }
315
327
  }
316
328
  else {
317
329
  // Challenge rejected by server
318
- console.log("Server rejected the license challenge: " + token);
330
+ debug("Server rejected the license challenge: " + token);
319
331
  checkStatus = licensingClasses_1.LicenseCheckStatus.FailedToValidateDeveloperLicense;
320
332
  }
321
333
  return [3 /*break*/, 10];
322
334
  case 9:
323
335
  // Server error or network failure
324
- console.log("Error during license validation: " + response.statusText);
325
- checkStatus = licensingClasses_1.LicenseCheckStatus.FailedToValidateDeveloperLicense;
336
+ if (licenseManager2dState_1.licenseManager2dState.getIsDev()) {
337
+ console.warn("Error during license validation: " + response.statusText);
338
+ checkStatus = licensingClasses_1.LicenseCheckStatus.FailedToValidateDeveloperLicense;
339
+ }
340
+ else {
341
+ // switch to license wizard
342
+ throw new Error(response.statusText);
343
+ }
326
344
  _b.label = 10;
327
345
  case 10: return [3 /*break*/, 12];
328
346
  case 11:
329
347
  err_4 = _b.sent();
348
+ // switch to license wizard
349
+ if (!licenseManager2dState_1.licenseManager2dState.getIsDev()) {
350
+ console.warn("Server license validation failed. Looking for local developer license");
351
+ runtimeLicenseKey = "";
352
+ checkStatus = licensingClasses_1.LicenseCheckStatus.NoLicense;
353
+ licenseContext2D.SCRTCredentials.ResetRuntimeLicense();
354
+ isRuntimeKey = false;
355
+ (0, exports.applyLicense)(licenseContext2D);
356
+ // licenseManager2dState.setIsDev(true);
357
+ // checkStatus = LicenseCheckStatus.LookingForLicenseWizard;
358
+ // getlicenseFromWizard();
359
+ // if (licenseContext2D !== undefined) {
360
+ // updateLicenseDisplay(getLicenseInfo(licenseContext2D), sciChartSurface2D, true, false);
361
+ // }
362
+ // callbacks3D.updateLicenseDisplay3D();
363
+ return [2 /*return*/];
364
+ }
330
365
  // Failed to connect. Retry
331
366
  challengeFailCounts += 1;
332
367
  if (challengeFailCounts < maxretries) {
@@ -361,15 +396,21 @@ var sciChartSurface2D;
361
396
  var isRuntimeKey = false;
362
397
  var applyLicense2D = function (licenseContext, sciChartSurface, isSingle) {
363
398
  debug("applyLicense 2D");
399
+ sciChartSurface2D = sciChartSurface;
364
400
  if (isSingle || shouldApplyLicense2D) {
365
401
  licenseContext2D = licenseContext;
366
- sciChartSurface2D = sciChartSurface;
367
402
  (0, exports.applyLicense)(licenseContext);
368
403
  }
404
+ else {
405
+ if (checkStatus !== licensingClasses_1.LicenseCheckStatus.LicenseOK) {
406
+ (0, exports.updateLicenseDisplay)((0, exports.getLicenseInfo)(licenseContext2D), sciChartSurface2D, true, false);
407
+ }
408
+ }
369
409
  if (!isSingle)
370
410
  shouldApplyLicense2D = false;
371
411
  };
372
412
  var applyLicense = function (licenseContext) {
413
+ var _a;
373
414
  debug("applyLicense running");
374
415
  var licenseKey = "";
375
416
  var lt = licenseContext.SCRTCredentials.GetLicenseType();
@@ -400,6 +441,12 @@ var applyLicense = function (licenseContext) {
400
441
  licenseKey = runtimelicense;
401
442
  }
402
443
  else {
444
+ if (window && ((_a = window.location) === null || _a === void 0 ? void 0 : _a.hostname) && !window.location.hostname.includes("localhost")) {
445
+ console.warn("Runtime license is invalid. Call setIsDebugLicensing(true) for details.");
446
+ }
447
+ else {
448
+ debug("Runtime license is invalid: " + licenseContext.SCRTCredentials.GetLicenseErrors());
449
+ }
403
450
  licenseKey = "";
404
451
  }
405
452
  }
@@ -444,7 +491,7 @@ var applyLicense = function (licenseContext) {
444
491
  (0, cookie_1.deleteCookie)("scLicense");
445
492
  checkStatus = licensingClasses_1.LicenseCheckStatus.DevKeyInRuntimeKey;
446
493
  }
447
- else if (licenseCookie.expiry > new Date()) {
494
+ else if (licenseCookie.expiry > new Date() && licenseCookie.key === licenseKey) {
448
495
  debug("current token in cookie");
449
496
  var expirySeconds = setChallengeResponse(licenseCookie.token);
450
497
  lt = licenseContext.SCRTCredentials.GetLicenseType();
@@ -495,7 +542,9 @@ var openLicenseModal = function () {
495
542
  var setNewLicense = function (keyCode) {
496
543
  var requiresValidation = false;
497
544
  var trialExpired;
498
- licenseModal.style.display = "none";
545
+ if (licenseModal) {
546
+ licenseModal.style.display = "none";
547
+ }
499
548
  isRuntimeKey = false;
500
549
  setLicenseCookie(keyCode, null, null, null);
501
550
  if (licenseContext2D !== undefined) {
@@ -585,7 +634,21 @@ var createLicenseModal = function (message, postFormMessage) {
585
634
  var modalInfo = document.createElement("div");
586
635
  modalInfo.style.padding = "10px 26px 10px 16px";
587
636
  modalInfo.innerHTML = "<ol><li>If you have not done so already, download the SciChart Cross Platform Licensing Wizard for\n <a href=\"https://github.com/ABTSoftware/SciChart.LicenseWizard/releases/latest/download/SciChart-Licensing-Wizard.exe\" download> Windows</a> or\n <a href=\"https://github.com/ABTSoftware/SciChart.LicenseWizard/releases/latest/download/SciChart-Licensing-Wizard.dmg\" download> macOS</a></li>\n <li>Install it and sign in with your SciChart username and password</li>\n <li>Start a trial for SciChart Web</li>\n <li>This web page should pick up your license from the wizard in a few seconds, or refresh the page</li>";
637
+ var buttonLabel = document.createElement("div");
638
+ modalInfo.innerHTML = "To toggle License debug mode use button below and refresh the page.";
639
+ var toggleDebugModeButton = document.createElement("button");
640
+ toggleDebugModeButton.style.margin = "10px";
641
+ var setDebugModeSwitchLabel = function () {
642
+ toggleDebugModeButton.textContent = isDebug ? "Disable licensing debug mode" : "Enable licensing debug mode";
643
+ };
644
+ setDebugModeSwitchLabel();
645
+ toggleDebugModeButton.onclick = function () {
646
+ (0, exports.setIsDebugLicensing)(!isDebug, true);
647
+ setDebugModeSwitchLabel();
648
+ };
588
649
  modalContentForm.appendChild(modalInfo);
650
+ modalContentForm.appendChild(buttonLabel);
651
+ modalContentForm.appendChild(toggleDebugModeButton);
589
652
  var modalFooter = document.createElement("div");
590
653
  modalFooter.innerHTML = postFormMessage;
591
654
  modalFooter.style.padding = "8px 16px";
@@ -672,6 +735,14 @@ var getLicenseInfo = function (licenseContext) {
672
735
  var sclt = licenseContext.SCRTCredentials.GetLicenseType();
673
736
  var licenseType = convertLicenseType(sclt, licenseContext);
674
737
  var daysRemaining = licenseContext.SCRTCredentials.GetLicenseDaysRemaining();
738
+ if (checkStatus === licensingClasses_1.LicenseCheckStatus.LicenseOK && licenseManager2dState_1.licenseManager2dState.getLicenseType() !== licenseType) {
739
+ licenseManager2dState_1.licenseManager2dState.setOrderId(licenseContext.SCRTCredentials.GetEncryptedOrderId());
740
+ licenseManager2dState_1.licenseManager2dState.setProductCode(licenseContext.SCRTCredentials.GetProductCode());
741
+ licenseManager2dState_1.licenseManager2dState.setLicenseType(licenseType);
742
+ licenseManager2dState_1.licenseManager2dState.setDevCount(licenseContext.SCRTCredentials.GetDeveloperCount());
743
+ // Telemetry is enabled based on a license feature
744
+ licenseManager2dState_1.licenseManager2dState.setTelemetry(licenseContext.SCRTCredentials.HasFeature("TE") === licenseContext.SCRTLicenseType.LICENSE_TYPE_FULL);
745
+ }
675
746
  if (isDebug) {
676
747
  debug(licenseContext.SCRTCredentials.Dump());
677
748
  }
@@ -821,6 +892,9 @@ var updateLicenseDisplayInternal = function (licenseInfo, sciChartSurface, is2D,
821
892
  }
822
893
  }
823
894
  }
895
+ else {
896
+ (0, Telemetry_1.sendTelemetry)();
897
+ }
824
898
  }
825
899
  updateLicenseMessageDOM(sciChartSurface.domDivContainer, licenseMessageDiv);
826
900
  if (applyToOther) {
@@ -833,6 +907,7 @@ var updateLicenseDisplay = function (licenseInfo, sciChartSurface, is2D, applyTo
833
907
  exports.updateLicenseDisplay = updateLicenseDisplay;
834
908
  exports.licenseManager = {
835
909
  setRuntimeLicenseKey: function (value) { return (0, exports.setRuntimeLicenseKey)(value); },
910
+ setIsDebugLicensing: function (value) { return (0, exports.setIsDebugLicensing)(value); },
836
911
  setLicenseCallback: function (callback) { return (0, exports.setLicenseCallback)(callback); },
837
912
  setServerLicenseEndpoint: function (value) { return setServerLicenseEndpoint(value); },
838
913
  applyLicense2D: function (licenseContext, sciChartSurface, isSingle) {
@@ -1,4 +1,15 @@
1
+ import { LicenseType } from "../../types/licensingClasses";
1
2
  export declare const licenseManager2dState: {
2
3
  getIsDev: () => boolean;
3
4
  setIsDev: (value: boolean) => void;
5
+ getOrderId: () => string;
6
+ setOrderId: (value: string) => void;
7
+ getProductCode: () => string;
8
+ setProductCode: (value: string) => void;
9
+ getLicenseType: () => LicenseType;
10
+ setLicenseType: (value: LicenseType) => void;
11
+ getDevCount: () => number;
12
+ setDevCount: (value: number) => void;
13
+ getTelemetry: () => boolean;
14
+ setTelemetry: (value: boolean) => void;
4
15
  };
@@ -1,12 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.licenseManager2dState = void 0;
4
+ var licensingClasses_1 = require("../../types/licensingClasses");
4
5
  var isDev = false;
5
6
  var getIsDev = function () { return isDev; };
6
7
  var setIsDev = function (value) {
7
8
  isDev = value;
8
9
  };
10
+ var orderId = "";
11
+ var getOrderId = function () { return orderId; };
12
+ var setOrderId = function (value) {
13
+ orderId = value;
14
+ };
15
+ var productCode = "";
16
+ var getProductCode = function () { return productCode; };
17
+ var setProductCode = function (value) {
18
+ productCode = value;
19
+ };
20
+ var devCount = 1;
21
+ var getDevCount = function () { return devCount; };
22
+ var setDevCount = function (value) {
23
+ devCount = value;
24
+ };
25
+ var licenseType = licensingClasses_1.LicenseType.NoLicense;
26
+ var getLicenseType = function () { return licenseType; };
27
+ var setLicenseType = function (value) {
28
+ licenseType = value;
29
+ };
30
+ var telemetryEnabled = false;
31
+ var getTelemetry = function () { return telemetryEnabled; };
32
+ var setTelemetry = function (value) {
33
+ telemetryEnabled = value;
34
+ };
9
35
  exports.licenseManager2dState = {
10
36
  getIsDev: getIsDev,
11
- setIsDev: setIsDev
37
+ setIsDev: setIsDev,
38
+ getOrderId: getOrderId,
39
+ setOrderId: setOrderId,
40
+ getProductCode: getProductCode,
41
+ setProductCode: setProductCode,
42
+ getLicenseType: getLicenseType,
43
+ setLicenseType: setLicenseType,
44
+ getDevCount: getDevCount,
45
+ setDevCount: setDevCount,
46
+ getTelemetry: getTelemetry,
47
+ setTelemetry: setTelemetry
12
48
  };
@@ -40,7 +40,10 @@ var DefaultSciChartLoader = /** @class */ (function () {
40
40
  * @inheritDoc
41
41
  */
42
42
  DefaultSciChartLoader.prototype.removeChartLoader = function (domChartRoot, loaderElement) {
43
- domChartRoot.removeChild(loaderElement);
43
+ try {
44
+ domChartRoot.removeChild(loaderElement);
45
+ }
46
+ catch (_a) { }
44
47
  };
45
48
  DefaultSciChartLoader.prototype.toJSON = function () {
46
49
  return { type: this.type };
@@ -64,7 +64,7 @@ var SciChart3DRenderer = /** @class */ (function () {
64
64
  * The main render loop
65
65
  */
66
66
  SciChart3DRenderer.prototype.render = function () {
67
- if (this.scs.isDeleted) {
67
+ if (this.scs.isDeleted || !this.scs.isInitialized) {
68
68
  return;
69
69
  }
70
70
  // Step 1: Sanity checks
@@ -156,20 +156,26 @@ var createMaster = function () {
156
156
  InitializeChart: function () {
157
157
  resolve({ getChildSurfaces: getChildSurfaces, createChildSurface: createChildSurface, wasmContext: wasmContext });
158
158
  },
159
- Draw: function () {
160
- exports.sciChartDestinations.forEach(function (dest) {
161
- var canvasElementId = dest.canvasElementId, sciChartSurface = dest.sciChartSurface;
162
- var chart = wasmContext.SCRTGetGlobalSampleChartInterface3D();
163
- // TODO
164
- if (chart.GetCurrentDestination()) {
165
- var currDestID = chart.GetCurrentDestination().GetID();
166
- if (currDestID === canvasElementId &&
167
- sciChartSurface.isInitialized &&
168
- !sciChartSurface.isDeleted) {
169
- sciChartSurface.doDrawingLoop();
170
- }
171
- }
172
- });
159
+ Draw: function (canvasId) {
160
+ var dest = exports.sciChartDestinations.find(function (d) { return d.canvasElementId === canvasId; });
161
+ if (dest) {
162
+ dest.sciChartSurface.doDrawingLoop();
163
+ }
164
+ // sciChartDestinations.forEach(dest => {
165
+ // const { canvasElementId, sciChartSurface } = dest;
166
+ // const chart = wasmContext.SCRTGetGlobalSampleChartInterface3D();
167
+ // // TODO
168
+ // if (chart.GetCurrentDestination()) {
169
+ // const currDestID = chart.GetCurrentDestination().GetID();
170
+ // if (
171
+ // currDestID === canvasElementId &&
172
+ // sciChartSurface.isInitialized &&
173
+ // !sciChartSurface.isDeleted
174
+ // ) {
175
+ // (sciChartSurface as SciChart3DSurface).doDrawingLoop();
176
+ // }
177
+ // }
178
+ // });
173
179
  },
174
180
  Update: function (deltaTime) {
175
181
  // console.log("Update");
@@ -9,7 +9,6 @@ var sciChartInitCommon_1 = require("../../Charting/Visuals/sciChartInitCommon");
9
9
  var SciChartSurfaceBase_1 = require("../../Charting/Visuals/SciChartSurfaceBase");
10
10
  var BuildStamp_1 = require("../../Core/BuildStamp");
11
11
  var WebGlHelper_1 = require("../../Core/WebGlHelper");
12
- var logger_1 = require("../../utils/logger");
13
12
  var licenseManager3D_1 = require("./licenseManager3D");
14
13
  var SciChart3DSurface_1 = require("./SciChart3DSurface");
15
14
  var createSingle3dInternal = function (divElement, options) {
@@ -67,16 +66,16 @@ var initDrawEngineSingleChart = function (wasmContext, canvases, resolve, theme)
67
66
  }, 0);
68
67
  resolve({ wasmContext: wasmContext, sciChart3DSurface: scs });
69
68
  },
70
- Draw: function () {
69
+ Draw: function (canvasId) {
71
70
  if (scs.isInitialized) {
72
71
  scs.doDrawingLoop();
73
72
  }
74
73
  },
75
74
  Update: function (deltaTime) {
76
- logger_1.Logger.log("SciChart3DSurface.ts Update()");
75
+ //Logger.log("SciChart3DSurface.ts Update()");
77
76
  },
78
77
  ShutDownChart: function () {
79
- logger_1.Logger.log("SciChart3DSurface.ts ShutDownChart");
78
+ //Logger.log("SciChart3DSurface.ts ShutDownChart");
80
79
  }
81
80
  };
82
81
  var chartInitObj = wasmContext.SCRTSampleChartInterface3D.implement(chartInitializer);
@@ -34,7 +34,9 @@ var applyLicense3D = function (licenseContext, sciChartSurface, isSingle) {
34
34
  (0, licenseManager2D_1.setCallbacks3D)(callbacks3D);
35
35
  (0, licenseManager2D_1.applyLicense)(licenseContext);
36
36
  }
37
- (0, licenseManager2D_1.updateLicenseDisplay)((0, licenseManager2D_1.getLicenseInfo)(licenseContext), sciChartSurface, false, false);
37
+ else {
38
+ (0, licenseManager2D_1.updateLicenseDisplay)((0, licenseManager2D_1.getLicenseInfo)(licenseContext), sciChartSurface, false, false);
39
+ }
38
40
  if (!isSingle)
39
41
  shouldApplyLicense3D = false;
40
42
  };
@@ -1,4 +1,4 @@
1
1
  import { TSciChart } from "../types/TSciChart";
2
2
  import { TSciChart3D } from "../types/TSciChart3D";
3
- export declare const libraryVersion = "2.2.2351";
3
+ export declare const libraryVersion = "2.2.2378";
4
4
  export declare const checkBuildStamp: (wasmContext: TSciChart | TSciChart3D) => boolean;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkBuildStamp = exports.libraryVersion = void 0;
4
- var buildStamp = "2022-05-04T00:00:00";
4
+ var buildStamp = "2022-05-20T00:00:00";
5
5
  var result;
6
6
  // tslint:disable-next-line:no-var-requires
7
- exports.libraryVersion = "2.2.2351";
7
+ exports.libraryVersion = "2.2.2378";
8
8
  var checkBuildStamp = function (wasmContext) {
9
9
  if (result !== undefined)
10
10
  return result;
@@ -0,0 +1,7 @@
1
+ export declare const getUserCookie: () => {
2
+ userId: string;
3
+ sessionId: string;
4
+ sessionStart: number;
5
+ };
6
+ export declare const shouldSendTelemetry: () => boolean;
7
+ export declare const sendTelemetry: () => void;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendTelemetry = exports.shouldSendTelemetry = exports.getUserCookie = void 0;
4
+ var licenseManager2dState_1 = require("../Charting/Visuals/licenseManager2dState");
5
+ var cookie_1 = require("../utils/cookie");
6
+ var BuildStamp_1 = require("./BuildStamp");
7
+ var app_1 = require("../constants/app");
8
+ var guid_1 = require("../utils/guid");
9
+ var sessionTime = 60 * 60 * 1000;
10
+ var hasSent = false;
11
+ var setUserCookie = function (userId, sessionId, sessionStart) {
12
+ var cookieVal = "".concat(userId, ",").concat(sessionId, ",").concat(sessionStart);
13
+ return (0, cookie_1.setCookie)("scUser", cookieVal, 365);
14
+ };
15
+ var getUserCookie = function () {
16
+ var cookie = (0, cookie_1.getCookie)("scUser");
17
+ if (cookie) {
18
+ var parts = cookie.split(",");
19
+ if (parts.length === 3)
20
+ return {
21
+ userId: parts[0],
22
+ sessionId: parts[1],
23
+ sessionStart: Number.parseInt(parts[2], 10)
24
+ };
25
+ }
26
+ return {
27
+ userId: (0, guid_1.base64Id)(),
28
+ sessionId: (0, guid_1.base64Id)(),
29
+ sessionStart: 0
30
+ };
31
+ };
32
+ exports.getUserCookie = getUserCookie;
33
+ var shouldSendTelemetry = function () {
34
+ // Not in test
35
+ if (app_1.IS_TEST_ENV)
36
+ return false;
37
+ // Not if we've already done it
38
+ if (hasSent)
39
+ return false;
40
+ // not if the license is not dev
41
+ if (!licenseManager2dState_1.licenseManager2dState.getIsDev())
42
+ return false;
43
+ // not if telemetry not enabled
44
+ if (!licenseManager2dState_1.licenseManager2dState.getTelemetry())
45
+ return false;
46
+ // not if not online
47
+ if (window && !window.navigator.onLine)
48
+ return false;
49
+ return true;
50
+ };
51
+ exports.shouldSendTelemetry = shouldSendTelemetry;
52
+ var sendTelemetry = function () {
53
+ if (!(0, exports.shouldSendTelemetry)())
54
+ return;
55
+ var user = (0, exports.getUserCookie)();
56
+ var timeStamp = new Date().toISOString();
57
+ // New sessionId if previous has expired
58
+ if (Date.now() - user.sessionStart < sessionTime) {
59
+ // Don't send more than once per session.
60
+ return;
61
+ }
62
+ // Reset the session time. Sessions expire 30 minutes after the last use in the session.
63
+ // Session tracking is more relevant once we start collecting more detailed per-chart data
64
+ user.sessionId = (0, guid_1.base64Id)();
65
+ user.sessionStart = Date.now();
66
+ setUserCookie(user.userId, user.sessionId, user.sessionStart);
67
+ var eventData = {
68
+ time: timeStamp,
69
+ iKey: "210b4d64-8147-471e-b6cb-244a2c939455",
70
+ name: "Microsoft.ApplicationInsights.210b4d648147471eb6cb244a2c939455.Event",
71
+ tags: {
72
+ "ai.user.id": user.userId,
73
+ "ai.session.id": user.sessionId,
74
+ "ai.device.id": "browser",
75
+ "ai.device.type": "Browser"
76
+ },
77
+ data: {
78
+ baseType: "EventData",
79
+ baseData: {
80
+ ver: 2,
81
+ name: "LicenseSet",
82
+ properties: {
83
+ platform: "JS",
84
+ licenseType: licenseManager2dState_1.licenseManager2dState.getLicenseType(),
85
+ orderId: licenseManager2dState_1.licenseManager2dState.getOrderId(),
86
+ productCode: licenseManager2dState_1.licenseManager2dState.getProductCode(),
87
+ isDev: licenseManager2dState_1.licenseManager2dState.getIsDev(),
88
+ devCount: licenseManager2dState_1.licenseManager2dState.getDevCount(),
89
+ sciChartVersion: BuildStamp_1.libraryVersion
90
+ },
91
+ measurements: {}
92
+ }
93
+ }
94
+ };
95
+ var endPointUrl = "https://dc.services.visualstudio.com/v2/track";
96
+ var body = JSON.stringify([eventData]);
97
+ fetch(endPointUrl, {
98
+ method: "POST",
99
+ headers: {
100
+ "Content-Type": "application/json"
101
+ },
102
+ body: body
103
+ }).catch();
104
+ hasSent = true;
105
+ };
106
+ exports.sendTelemetry = sendTelemetry;
@@ -1,8 +1,12 @@
1
1
  declare function getIsLicenseDebug(): boolean;
2
+ declare function setIsLicenseDebug(value: boolean): void;
3
+ declare function clearLicensingDebug(): void;
2
4
  declare function getLicenseWizardPort(): number;
3
5
  declare function getLicenseWizardMaxPort(): number;
4
6
  export declare const localStorageApi: {
5
7
  getIsLicenseDebug: typeof getIsLicenseDebug;
8
+ setIsLicenseDebug: typeof setIsLicenseDebug;
9
+ clearLicensingDebug: typeof clearLicensingDebug;
6
10
  getLicenseWizardMaxPort: typeof getLicenseWizardMaxPort;
7
11
  getLicenseWizardPort: typeof getLicenseWizardPort;
8
12
  };
@@ -7,6 +7,16 @@ function getIsLicenseDebug() {
7
7
  return undefined;
8
8
  return localStorage.getItem("LICENSE_DEBUG") === "1";
9
9
  }
10
+ function setIsLicenseDebug(value) {
11
+ if (checkLocalStorageIsUndefined())
12
+ return;
13
+ localStorage.setItem("LICENSE_DEBUG", value ? "1" : "0");
14
+ }
15
+ function clearLicensingDebug() {
16
+ if (checkLocalStorageIsUndefined())
17
+ return;
18
+ localStorage.removeItem("LICENSE_DEBUG");
19
+ }
10
20
  function getLicenseWizardPort() {
11
21
  if (checkLocalStorageIsUndefined())
12
22
  return undefined;
@@ -27,6 +37,8 @@ function getLicenseWizardMaxPort() {
27
37
  }
28
38
  exports.localStorageApi = {
29
39
  getIsLicenseDebug: getIsLicenseDebug,
40
+ setIsLicenseDebug: setIsLicenseDebug,
41
+ clearLicensingDebug: clearLicensingDebug,
30
42
  getLicenseWizardMaxPort: getLicenseWizardMaxPort,
31
43
  getLicenseWizardPort: getLicenseWizardPort
32
44
  };