scichart 2.0.2139 → 2.0.2144

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 (74) hide show
  1. package/Builder/buildSeries.d.ts +1 -1
  2. package/Charting/ChartModifiers/LegendModifier.js +1 -0
  3. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +2 -2
  4. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +3 -2
  5. package/Charting/Model/BaseDataSeries.d.ts +2 -2
  6. package/Charting/Model/OhlcDataSeries.d.ts +2 -2
  7. package/Charting/Model/XyyDataSeries.d.ts +2 -2
  8. package/Charting/Model/XyzDataSeries.d.ts +2 -2
  9. package/Charting/Services/SciChartRenderer.js +14 -4
  10. package/Charting/Visuals/Axis/AxisBase2D.d.ts +75 -52
  11. package/Charting/Visuals/Axis/AxisBase2D.js +53 -34
  12. package/Charting/Visuals/Axis/AxisCore.d.ts +7 -4
  13. package/Charting/Visuals/Axis/AxisCore.js +21 -5
  14. package/Charting/Visuals/Axis/LogarithmicAxis.d.ts +1 -3
  15. package/Charting/Visuals/Axis/LogarithmicAxis.js +4 -11
  16. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.d.ts +2 -2
  17. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +2 -2
  18. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.d.ts +2 -2
  19. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +2 -2
  20. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.d.ts +1 -1
  21. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.d.ts +2 -2
  22. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +2 -2
  23. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  24. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +2 -2
  25. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.d.ts +2 -2
  26. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +2 -2
  27. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.d.ts +2 -2
  28. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +2 -2
  29. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.d.ts +2 -2
  30. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +2 -2
  31. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +2 -2
  32. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +2 -2
  33. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.d.ts +2 -2
  34. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +2 -2
  35. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.d.ts → SeriesAnimation.d.ts} +3 -2
  36. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.js → SeriesAnimation.js} +13 -13
  37. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  38. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.js +2 -2
  39. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +2 -2
  40. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +2 -2
  41. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +8 -8
  42. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +9 -9
  43. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +3 -3
  44. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +7 -7
  45. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +1 -1
  46. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +7 -7
  47. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +1 -1
  48. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +2 -2
  49. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +3 -3
  50. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.d.ts +5 -0
  51. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +29 -5
  52. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  53. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +4 -4
  54. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +4 -4
  55. package/Charting/Visuals/SciChartSurface.d.ts +13 -0
  56. package/Charting/Visuals/SciChartSurface.js +38 -3
  57. package/Charting3D/Visuals/SciChart3DRenderer.js +1 -0
  58. package/Core/Animations/AnimationFiniteStateMachine.d.ts +27 -14
  59. package/Core/Animations/AnimationFiniteStateMachine.js +48 -15
  60. package/Core/Animations/Animator.d.ts +1 -9
  61. package/Core/Animations/Animator.js +1 -9
  62. package/Core/Animations/DoubleAnimator.d.ts +2 -8
  63. package/Core/Animations/DoubleAnimator.js +1 -7
  64. package/Core/Animations/GenericAnimation.d.ts +74 -0
  65. package/Core/Animations/GenericAnimation.js +74 -0
  66. package/Core/Animations/NumberRangeAnimator.d.ts +4 -3
  67. package/Core/Animations/NumberRangeAnimator.js +23 -3
  68. package/Core/NumberRange.js +4 -5
  69. package/_wasm/scichart.browser.js +1 -1
  70. package/_wasm/scichart2d.js +95 -95
  71. package/_wasm/scichart2d.wasm +0 -0
  72. package/_wasm/scichart3d.js +95 -95
  73. package/_wasm/scichart3d.wasm +0 -0
  74. package/package.json +1 -1
@@ -5,15 +5,7 @@ var AnimationToken_1 = require("../AnimationToken");
5
5
  var Guard_1 = require("../Guard");
6
6
  var NumberUtil_1 = require("../NumberUtil");
7
7
  /**
8
- * @description A generic function for animating any value
9
- * @remarks See functions {@link DoubleAnimator.animate} and {@link NumberRangeAnimator.animate} for examples on how to use this
10
- * @param durationMs The duration of the animation in milliseconds
11
- * @param from The start value
12
- * @param to The end value
13
- * @param onAnimate A function which is called on animation step, with the current intermediate value passed in
14
- * @param interpolate An interpolation function
15
- * @param onCompleted A function which is called when animation is completed
16
- * @param easingFn An easing function. See {@link IEasingMap} for a list of values
8
+ * @deprecated Instead create an {@link GenericAnimation} and pass it to sciChartSurface.addAnimation
17
9
  */
18
10
  function animateAny(durationMs, from, to, onAnimate, interpolate, onCompleted, easingFn) {
19
11
  Guard_1.Guard.notNull(onAnimate, "onAnimate");
@@ -5,14 +5,8 @@ import { TEasingFn } from "./EasingFunctions";
5
5
  */
6
6
  export declare class DoubleAnimator {
7
7
  /**
8
- * Animates a number with a start, to value over a specified duration and with an optional completed and easing function
9
- * @param from The start value to animate
10
- * @param to The end value to animate
11
- * @param durationMs The duration of the animation in milliseconds
12
- * @param onAnimate A callback function which is called with intermediate values
13
- * @param onCompleted A callback function which is called when the animation completes
14
- * @param easingFunction An optional easing function. See {@link IEasingMap} for a list of values
8
+ * @deprecated Instead create an {@link GenericAnimation} and pass it to sciChartSurface.addAnimation
15
9
  */
16
10
  static animate(from: number, to: number, durationMs: number, onAnimate: (value: number) => void, onCompleted: () => void, easingFunction?: TEasingFn): AnimationToken;
17
- private static interpolate;
11
+ static interpolate(from: number, to: number, interpolationFactor: number): number;
18
12
  }
@@ -10,13 +10,7 @@ var DoubleAnimator = /** @class */ (function () {
10
10
  function DoubleAnimator() {
11
11
  }
12
12
  /**
13
- * Animates a number with a start, to value over a specified duration and with an optional completed and easing function
14
- * @param from The start value to animate
15
- * @param to The end value to animate
16
- * @param durationMs The duration of the animation in milliseconds
17
- * @param onAnimate A callback function which is called with intermediate values
18
- * @param onCompleted A callback function which is called when the animation completes
19
- * @param easingFunction An optional easing function. See {@link IEasingMap} for a list of values
13
+ * @deprecated Instead create an {@link GenericAnimation} and pass it to sciChartSurface.addAnimation
20
14
  */
21
15
  DoubleAnimator.animate = function (from, to, durationMs, onAnimate, onCompleted, easingFunction) {
22
16
  if (easingFunction === void 0) { easingFunction = EasingFunctions_1.easing.outExpo; }
@@ -0,0 +1,74 @@
1
+ import { IAnimation } from "./AnimationFiniteStateMachine";
2
+ import { TEasingFn } from "./EasingFunctions";
3
+ /**
4
+ * Options passed to a {@link GenericAnimation} at construction time
5
+ */
6
+ export interface IGenericAnimationOptions<T> {
7
+ /** An identifier for the animation. Will be set to a Guid if not specified */
8
+ id?: string;
9
+ /** Time in ms before the animation is started. Animations are advanced on each frame, so this time is a minimum, not exact. */
10
+ delay?: number;
11
+ /** Time in ms that the animation will run for. Animations are advanced on each frame, so this time is a minimum, not exact */
12
+ duration?: number;
13
+ /** An easing function used to calculate progress */
14
+ ease?: TEasingFn | string;
15
+ /** The initial state of the animation parameter */
16
+ from: T;
17
+ /** The final state of the animation parameter */
18
+ to: T;
19
+ /**
20
+ * A function that is called each frame. Update the target of the animation here. progress is between 0 and 1.
21
+ */
22
+ onAnimate: (from: T, to: T, progress: number) => void;
23
+ /**
24
+ * A function that is called after the animation has finished.
25
+ */
26
+ onCompleted?: () => void;
27
+ }
28
+ export interface IGenericAnimation extends IAnimation {
29
+ readonly id: string;
30
+ isComplete: boolean;
31
+ reset(): void;
32
+ update(timeElapsed: number): void;
33
+ cancel(): void;
34
+ }
35
+ /**
36
+ * @summary Defines Animations that can be applied directly to a {@link SciChartSurface} in SciChart's High Performance Real-time
37
+ * {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
38
+ * @remarks
39
+ * When creating the animation, use the options to specify what to update
40
+ */
41
+ export declare class GenericAnimation<T> implements IGenericAnimation {
42
+ /** The initial state of the animation parameter */
43
+ from: T;
44
+ /** The final state of the animation parameter */
45
+ to: T;
46
+ get isComplete(): boolean;
47
+ readonly id: string;
48
+ /**
49
+ * The animation delay
50
+ */
51
+ delay: number;
52
+ /**
53
+ * The animation duration
54
+ */
55
+ duration: number;
56
+ /**
57
+ * Sets the animation easing function
58
+ */
59
+ ease: TEasingFn;
60
+ /** The function that is called each frame. Update the target of the animation here. progress is between 0 and 1. */
61
+ onAnimate: (from: T, to: T, progress: number) => void;
62
+ /** The function that is called after the animation has finished. */
63
+ onCompleted: () => void;
64
+ private animationFSM;
65
+ constructor(options: IGenericAnimationOptions<T>);
66
+ /** Reset the animation to its initial state.
67
+ * If reset while running or onCompleted, the animation will remain in the list and run again.
68
+ */
69
+ reset(): void;
70
+ /** Advance the animation according to the time elapsed since the last frame */
71
+ update(timeElapsed: number): void;
72
+ /** Cancel the animation. onCompleted will not be called */
73
+ cancel(): void;
74
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericAnimation = void 0;
4
+ var guid_1 = require("../../utils/guid");
5
+ var AnimationFiniteStateMachine_1 = require("./AnimationFiniteStateMachine");
6
+ var EasingFunctions_1 = require("./EasingFunctions");
7
+ /**
8
+ * @summary Defines Animations that can be applied directly to a {@link SciChartSurface} in SciChart's High Performance Real-time
9
+ * {@link https://www.scichart.com/javascript-chart-features | JavaScript Charts}
10
+ * @remarks
11
+ * When creating the animation, use the options to specify what to update
12
+ */
13
+ var GenericAnimation = /** @class */ (function () {
14
+ function GenericAnimation(options) {
15
+ var _a, _b, _c, _d;
16
+ /**
17
+ * The animation delay
18
+ */
19
+ this.delay = 0;
20
+ /**
21
+ * The animation duration
22
+ */
23
+ this.duration = 1000;
24
+ /**
25
+ * Sets the animation easing function
26
+ */
27
+ this.ease = EasingFunctions_1.easing.linear;
28
+ this.id = (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : guid_1.generateGuid();
29
+ this.delay = (_b = options === null || options === void 0 ? void 0 : options.delay) !== null && _b !== void 0 ? _b : this.delay;
30
+ this.duration = (_c = options === null || options === void 0 ? void 0 : options.duration) !== null && _c !== void 0 ? _c : this.duration;
31
+ if ((options === null || options === void 0 ? void 0 : options.ease) && typeof options.ease === "string") {
32
+ options.ease = EasingFunctions_1.easing[options.ease];
33
+ }
34
+ this.ease = (_d = options === null || options === void 0 ? void 0 : options.ease) !== null && _d !== void 0 ? _d : this.ease;
35
+ this.from = options.from;
36
+ this.to = options.to;
37
+ this.onAnimate = options.onAnimate;
38
+ this.onCompleted = options === null || options === void 0 ? void 0 : options.onCompleted;
39
+ this.animationFSM = new AnimationFiniteStateMachine_1.AnimationFiniteStateMachine(this);
40
+ }
41
+ Object.defineProperty(GenericAnimation.prototype, "isComplete", {
42
+ get: function () {
43
+ return this.animationFSM.is([AnimationFiniteStateMachine_1.EAnimationState.Completed]);
44
+ },
45
+ enumerable: false,
46
+ configurable: true
47
+ });
48
+ /** Reset the animation to its initial state.
49
+ * If reset while running or onCompleted, the animation will remain in the list and run again.
50
+ */
51
+ GenericAnimation.prototype.reset = function () {
52
+ this.animationFSM = new AnimationFiniteStateMachine_1.AnimationFiniteStateMachine(this);
53
+ };
54
+ /** Advance the animation according to the time elapsed since the last frame */
55
+ GenericAnimation.prototype.update = function (timeElapsed) {
56
+ var transition = this.animationFSM.update(timeElapsed);
57
+ if ([AnimationFiniteStateMachine_1.EAnimationStateTransition.InitialState_Running, AnimationFiniteStateMachine_1.EAnimationStateTransition.Delayed_Running].includes(transition)) {
58
+ this.onAnimate(this.from, this.to, 0);
59
+ }
60
+ if (this.animationFSM.is([AnimationFiniteStateMachine_1.EAnimationState.Running, AnimationFiniteStateMachine_1.EAnimationState.Completed])) {
61
+ this.onAnimate(this.from, this.to, this.animationFSM.animationProgress);
62
+ }
63
+ if ([AnimationFiniteStateMachine_1.EAnimationStateTransition.Running_Completed, AnimationFiniteStateMachine_1.EAnimationStateTransition.InitialState_Completed].includes(transition)) {
64
+ if (this.onCompleted)
65
+ this.onCompleted();
66
+ }
67
+ };
68
+ /** Cancel the animation. onCompleted will not be called */
69
+ GenericAnimation.prototype.cancel = function () {
70
+ this.animationFSM.toCompleted();
71
+ };
72
+ return GenericAnimation;
73
+ }());
74
+ exports.GenericAnimation = GenericAnimation;
@@ -1,6 +1,6 @@
1
- import { AnimationToken } from "../AnimationToken";
2
1
  import { NumberRange } from "../NumberRange";
3
2
  import { TEasingFn } from "./EasingFunctions";
3
+ import { GenericAnimation } from "./GenericAnimation";
4
4
  /**
5
5
  * A class for animating a value of type {@link NumberRange}. Used throughout SciChart to animate
6
6
  * {@link AxisCore.visibleRange} when zooming or panning.
@@ -15,6 +15,7 @@ export declare class NumberRangeAnimator {
15
15
  * @param onCompleted A callback function which is called when the animation completes
16
16
  * @param easingFunction An optional easing function. See {@link IEasingMap} for a list of values
17
17
  */
18
- static animate(from: NumberRange, to: NumberRange, durationMs: number, onAnimate: (value: NumberRange) => void, onCompleted: () => void, easingFunction?: TEasingFn): AnimationToken;
19
- private static interpolate;
18
+ static animate(from: NumberRange, to: NumberRange, durationMs: number, onAnimate: (value: NumberRange) => void, onCompleted: () => void, easingFunction?: TEasingFn, isLog?: boolean): GenericAnimation<NumberRange>;
19
+ static interpolate(from: NumberRange, to: NumberRange, interpolationFactor: number): NumberRange;
20
+ static interpolateLog(from: NumberRange, to: NumberRange, interpolationFactor: number): NumberRange;
20
21
  }
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NumberRangeAnimator = void 0;
4
4
  var NumberRange_1 = require("../NumberRange");
5
- var Animator_1 = require("./Animator");
6
5
  var EasingFunctions_1 = require("./EasingFunctions");
6
+ var GenericAnimation_1 = require("./GenericAnimation");
7
7
  /**
8
8
  * A class for animating a value of type {@link NumberRange}. Used throughout SciChart to animate
9
9
  * {@link AxisCore.visibleRange} when zooming or panning.
@@ -20,9 +20,23 @@ var NumberRangeAnimator = /** @class */ (function () {
20
20
  * @param onCompleted A callback function which is called when the animation completes
21
21
  * @param easingFunction An optional easing function. See {@link IEasingMap} for a list of values
22
22
  */
23
- NumberRangeAnimator.animate = function (from, to, durationMs, onAnimate, onCompleted, easingFunction) {
23
+ NumberRangeAnimator.animate = function (from, to, durationMs, onAnimate, onCompleted, easingFunction, isLog) {
24
24
  if (easingFunction === void 0) { easingFunction = EasingFunctions_1.easing.outExpo; }
25
- return Animator_1.animateAny(durationMs, from, to, onAnimate, NumberRangeAnimator.interpolate, onCompleted, easingFunction);
25
+ if (isLog === void 0) { isLog = false; }
26
+ var animation = new GenericAnimation_1.GenericAnimation({
27
+ from: from,
28
+ to: to,
29
+ duration: durationMs,
30
+ onAnimate: function (from, to, progress) {
31
+ var interpolate = isLog ? NumberRangeAnimator.interpolateLog : NumberRangeAnimator.interpolate;
32
+ var intermediate = interpolate(from, to, progress);
33
+ onAnimate(intermediate);
34
+ },
35
+ delay: 0,
36
+ ease: easingFunction,
37
+ onCompleted: onCompleted
38
+ });
39
+ return animation;
26
40
  };
27
41
  NumberRangeAnimator.interpolate = function (from, to, interpolationFactor) {
28
42
  var newMin = (to.min - from.min) * interpolationFactor + from.min;
@@ -30,6 +44,12 @@ var NumberRangeAnimator = /** @class */ (function () {
30
44
  var result = new NumberRange_1.NumberRange(newMin, newMax);
31
45
  return result;
32
46
  };
47
+ NumberRangeAnimator.interpolateLog = function (from, to, interpolationFactor) {
48
+ var newMin = Math.pow(to.min / from.min, interpolationFactor) * from.min;
49
+ var newMax = Math.pow(to.max / from.max, interpolationFactor) * from.max;
50
+ var result = new NumberRange_1.NumberRange(newMin, newMax);
51
+ return result;
52
+ };
33
53
  return NumberRangeAnimator;
34
54
  }());
35
55
  exports.NumberRangeAnimator = NumberRangeAnimator;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NumberRange = void 0;
4
- var app_1 = require("../constants/app");
5
4
  var isRealNumber_1 = require("../utils/isRealNumber");
6
5
  var math_1 = require("../utils/math");
7
6
  /**
@@ -57,10 +56,10 @@ var NumberRange = /** @class */ (function () {
57
56
  max = temp;
58
57
  }
59
58
  // If still zero, then expand around the zero line
60
- if (Math.abs(max - min) <= app_1.EPSILON && Math.abs(min) <= app_1.EPSILON) {
61
- min = -1.0;
62
- max = 1.0;
63
- }
59
+ // if (Math.abs(max - min) <= EPSILON && Math.abs(min) <= EPSILON) {
60
+ // min = -1.0;
61
+ // max = 1.0;
62
+ // }
64
63
  return new NumberRange(min, max);
65
64
  };
66
65
  NumberRange.prototype.growByLog = function (range, logBase) {