scichart-engine 1.9.1 → 1.10.1
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.
- package/README.md +39 -2
- package/dist/core/chart/ChartAxisManager.d.ts +61 -0
- package/dist/core/chart/ChartCore.d.ts +27 -15
- package/dist/core/chart/ChartPluginBridge.d.ts +33 -0
- package/dist/core/chart/ChartRenderLoop.d.ts +98 -0
- package/dist/core/chart/ChartRenderer.d.ts +1 -0
- package/dist/core/chart/ChartStateManager.d.ts +52 -0
- package/dist/core/chart/types.d.ts +2 -1
- package/dist/index-DSspeT94.js +2431 -0
- package/dist/index-DSspeT94.js.map +1 -0
- package/dist/{index.core-9MC7hRn3.js → index.core-BbUNB-sR.js} +1813 -1237
- package/dist/index.core-BbUNB-sR.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/plugins/forecasting/algorithms.d.ts +6 -0
- package/dist/plugins/forecasting/exports.d.ts +3 -0
- package/dist/plugins/forecasting/index.d.ts +11 -0
- package/dist/plugins/forecasting/types.d.ts +88 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/tools/tooltip/templates/AnnotationTemplate.d.ts +1 -1
- package/dist/plugins/tools/tooltip/templates/CrosshairTemplate.d.ts +10 -1
- package/dist/plugins/tools/tooltip/templates/DefaultTemplate.d.ts +1 -1
- package/dist/plugins/tools/tooltip/templates/HeatmapTemplate.d.ts +1 -1
- package/dist/plugins/tools/tooltip/templates/MinimalTemplate.d.ts +1 -1
- package/dist/plugins/tools/tooltip/templates/RangeTemplate.d.ts +1 -1
- package/dist/plugins/tools/tooltip/templates/ScientificTemplate.d.ts +1 -1
- package/dist/plugins/tools/tooltip/types.d.ts +1 -1
- package/dist/plugins/tools.js +1 -1
- package/dist/scichart-engine.full.js +2427 -2209
- package/dist/scichart-engine.full.js.map +1 -1
- package/dist/scichart-engine.js +1 -1
- package/dist/theme/colorSchemes.d.ts +56 -0
- package/dist/theme/index.d.ts +1 -0
- package/dist/types.d.ts +2 -0
- package/package.json +5 -1
- package/dist/index-Btz_voey.js +0 -2403
- package/dist/index-Btz_voey.js.map +0 -1
- package/dist/index.core-9MC7hRn3.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@ A high-performance, WebGL-powered scientific charting engine built for precision
|
|
|
12
12
|
- **📊 Specialized Series**: Support for Lines, Scatter (SDF symbols), Step charts, Band series, Area charts, **Candlesticks** (OHLC), and **Stacked Charts**.
|
|
13
13
|
- **↕️ Multi-Axis Engine**: Independent scales and units with axis-specific scrolling and zooming.
|
|
14
14
|
- **📏 Professional Tooling**: Real-time Statistics panel, Annotations (Lines/Shapes/Text), and **high-fidelity SVG/PNG export**.
|
|
15
|
+
- **🎨 Color Schemes**: **5 professional palettes** with 20 colors each for multi-series charts, auto-assigned when colors aren't specified.
|
|
16
|
+
- **✨ Interactive Legend**: Hover over series in legend to **bring to front** and highlight with distinct color.
|
|
15
17
|
- **🔌 Extensible**: **Plugin System** with lifecycle hooks for custom drawing and data analysis.
|
|
16
18
|
- **⚛️ Framework First**: Native React support via hooks and high-level components.
|
|
17
19
|
- **🎨 Dynamic Theming**: Sleek built-in themes (Light/Midnight) with support for custom CSS-based skins.
|
|
@@ -58,14 +60,49 @@ import { createChart } from 'scichart-engine';
|
|
|
58
60
|
|
|
59
61
|
const chart = createChart({
|
|
60
62
|
container: document.getElementById('chart-container'),
|
|
61
|
-
|
|
63
|
+
theme: 'dark',
|
|
64
|
+
colorScheme: 'vibrant', // Auto-assigns colors from vibrant palette
|
|
65
|
+
showLegend: true
|
|
62
66
|
});
|
|
63
67
|
|
|
68
|
+
// Series without explicit colors get auto-assigned from the scheme
|
|
64
69
|
chart.addSeries({
|
|
65
|
-
id: '
|
|
70
|
+
id: 'signal1',
|
|
66
71
|
type: 'line',
|
|
67
72
|
data: { x: [...], y: [...] }
|
|
68
73
|
});
|
|
74
|
+
|
|
75
|
+
chart.addSeries({
|
|
76
|
+
id: 'signal2',
|
|
77
|
+
type: 'line',
|
|
78
|
+
data: { x: [...], y: [...] }
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
// Change color scheme at runtime
|
|
82
|
+
chart.setColorScheme('ocean');
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Multi-Series with Color Schemes
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
// Create chart with 20+ series - colors auto-cycle
|
|
89
|
+
const chart = createChart({
|
|
90
|
+
container: document.getElementById('chart'),
|
|
91
|
+
colorScheme: 'neon', // 'vibrant', 'pastel', 'neon', 'earth', 'ocean'
|
|
92
|
+
showLegend: true
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
// Add multiple series - colors assigned automatically
|
|
96
|
+
for (let i = 0; i < 20; i++) {
|
|
97
|
+
chart.addSeries({
|
|
98
|
+
id: `series${i}`,
|
|
99
|
+
name: `Dataset ${i + 1}`,
|
|
100
|
+
type: 'line',
|
|
101
|
+
data: generateData(i)
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Hover over series in legend → brings to front + highlights! ✨
|
|
69
106
|
```
|
|
70
107
|
|
|
71
108
|
## 📖 Documentation
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Scale } from '../../scales';
|
|
2
|
+
import { AxisOptions } from '../../types';
|
|
3
|
+
import { Series } from '../Series';
|
|
4
|
+
|
|
5
|
+
export interface AxisManagerContext {
|
|
6
|
+
xAxisOptions: AxisOptions;
|
|
7
|
+
xScale: Scale;
|
|
8
|
+
yAxisOptionsMap: Map<string, AxisOptions>;
|
|
9
|
+
yScales: Map<string, Scale>;
|
|
10
|
+
primaryYAxisId: string;
|
|
11
|
+
series: Map<string, Series>;
|
|
12
|
+
requestRender: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare class ChartAxisManager {
|
|
15
|
+
private ctx;
|
|
16
|
+
constructor(ctx: AxisManagerContext);
|
|
17
|
+
/**
|
|
18
|
+
* Add a new Y axis dynamically
|
|
19
|
+
*/
|
|
20
|
+
addYAxis(options: AxisOptions): string;
|
|
21
|
+
/**
|
|
22
|
+
* Remove a Y axis by ID
|
|
23
|
+
*/
|
|
24
|
+
removeYAxis(id: string): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Update Y axis configuration
|
|
27
|
+
*/
|
|
28
|
+
updateYAxis(id: string, options: Partial<AxisOptions>): void;
|
|
29
|
+
/**
|
|
30
|
+
* Update X axis configuration
|
|
31
|
+
*/
|
|
32
|
+
updateXAxis(options: Partial<AxisOptions>): void;
|
|
33
|
+
/**
|
|
34
|
+
* Get Y axis configuration by ID
|
|
35
|
+
*/
|
|
36
|
+
getYAxis(id: string): AxisOptions | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Get all Y axes configurations
|
|
39
|
+
*/
|
|
40
|
+
getAllYAxes(): AxisOptions[];
|
|
41
|
+
/**
|
|
42
|
+
* Get the primary Y axis ID
|
|
43
|
+
*/
|
|
44
|
+
getPrimaryYAxisId(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Get X axis configuration
|
|
47
|
+
*/
|
|
48
|
+
getXAxis(): AxisOptions;
|
|
49
|
+
/**
|
|
50
|
+
* Get X scale
|
|
51
|
+
*/
|
|
52
|
+
getXScale(): Scale;
|
|
53
|
+
/**
|
|
54
|
+
* Get Y scale by axis ID
|
|
55
|
+
*/
|
|
56
|
+
getYScale(axisId?: string): Scale | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Get all Y scales
|
|
59
|
+
*/
|
|
60
|
+
getAllYScales(): Map<string, Scale>;
|
|
61
|
+
}
|
|
@@ -2,7 +2,7 @@ import { ChartOptions, AxisOptions, SeriesOptions, HeatmapOptions, SeriesUpdateD
|
|
|
2
2
|
import { EventEmitter } from '../EventEmitter';
|
|
3
3
|
import { Series } from '../Series';
|
|
4
4
|
import { Scale } from '../../scales';
|
|
5
|
-
import { ChartTheme } from '../../theme';
|
|
5
|
+
import { ChartTheme, ColorScheme } from '../../theme';
|
|
6
6
|
import { Annotation } from '../annotations';
|
|
7
7
|
import { SelectedPoint, SelectionMode, HitTestResult, SelectionConfig } from '../selection';
|
|
8
8
|
import { ResponsiveConfig, ResponsiveState } from '../responsive';
|
|
@@ -32,24 +32,20 @@ export declare class ChartImpl implements Chart {
|
|
|
32
32
|
private get yScale();
|
|
33
33
|
theme: ChartTheme;
|
|
34
34
|
baseTheme: ChartTheme;
|
|
35
|
+
private colorScheme;
|
|
35
36
|
private cursorOptions;
|
|
36
37
|
private cursorPosition;
|
|
37
38
|
private showLegend;
|
|
38
39
|
private legend;
|
|
39
40
|
private originalSeriesStyles;
|
|
41
|
+
private hoveredSeriesId;
|
|
40
42
|
private showControls;
|
|
41
43
|
private toolbarOptions?;
|
|
42
44
|
private controls;
|
|
43
|
-
private animationFrameId;
|
|
44
|
-
private needsFullRender;
|
|
45
|
-
private needsOverlayRender;
|
|
46
45
|
private _isDestroyed;
|
|
47
46
|
private autoScroll;
|
|
48
47
|
private showStatistics;
|
|
49
48
|
private initQueueId;
|
|
50
|
-
private initStarted;
|
|
51
|
-
private frameCount;
|
|
52
|
-
private lastRenderTime;
|
|
53
49
|
private commandQueue;
|
|
54
50
|
private annotationQueue;
|
|
55
51
|
private annotationIdCounter;
|
|
@@ -60,14 +56,13 @@ export declare class ChartImpl implements Chart {
|
|
|
60
56
|
private selectionRect;
|
|
61
57
|
private pluginManager;
|
|
62
58
|
private initialOptions;
|
|
59
|
+
private pluginBridge;
|
|
60
|
+
private axisManager;
|
|
61
|
+
private stateManager;
|
|
62
|
+
private renderLoop;
|
|
63
63
|
setXScale(scale: Scale): void;
|
|
64
64
|
setYScale(yAxisId: string, scale: Scale): void;
|
|
65
65
|
get analysis(): any;
|
|
66
|
-
private animationEngine;
|
|
67
|
-
private animationConfig;
|
|
68
|
-
get animations(): ChartAnimationConfig;
|
|
69
|
-
private selectionManager;
|
|
70
|
-
private responsiveManager;
|
|
71
66
|
get tooltip(): any;
|
|
72
67
|
get loading(): any;
|
|
73
68
|
get deltaTool(): any;
|
|
@@ -84,6 +79,12 @@ export declare class ChartImpl implements Chart {
|
|
|
84
79
|
get themeEditor(): any;
|
|
85
80
|
get sync(): any;
|
|
86
81
|
get brokenAxis(): any;
|
|
82
|
+
get forecasting(): any;
|
|
83
|
+
private animationEngine;
|
|
84
|
+
private animationConfig;
|
|
85
|
+
get animations(): ChartAnimationConfig;
|
|
86
|
+
private selectionManager;
|
|
87
|
+
private responsiveManager;
|
|
87
88
|
constructor(options: ChartOptions);
|
|
88
89
|
/**
|
|
89
90
|
* Start the chart initialization (called by queue system)
|
|
@@ -103,6 +104,15 @@ export declare class ChartImpl implements Chart {
|
|
|
103
104
|
private toggleLegend;
|
|
104
105
|
private initLegend;
|
|
105
106
|
setTheme(theme: string | ChartTheme): void;
|
|
107
|
+
/**
|
|
108
|
+
* Set the color scheme for multi-series charts
|
|
109
|
+
* @param scheme - Color scheme name ('vibrant', 'pastel', 'neon', 'earth', 'ocean') or ColorScheme object
|
|
110
|
+
*/
|
|
111
|
+
setColorScheme(scheme: string | ColorScheme): void;
|
|
112
|
+
/**
|
|
113
|
+
* Get the current color scheme
|
|
114
|
+
*/
|
|
115
|
+
getColorScheme(): ColorScheme;
|
|
106
116
|
getPlotArea(): {
|
|
107
117
|
x: number;
|
|
108
118
|
y: number;
|
|
@@ -299,15 +309,17 @@ export declare class ChartImpl implements Chart {
|
|
|
299
309
|
* Load state from URL hash
|
|
300
310
|
*/
|
|
301
311
|
fromUrlHash(hash: string, compressed?: boolean): void;
|
|
302
|
-
use(plugin:
|
|
312
|
+
use(plugin: any): Promise<void>;
|
|
303
313
|
resize(): void;
|
|
304
314
|
requestRender(): void;
|
|
305
315
|
requestOverlayRender(): void;
|
|
306
|
-
|
|
316
|
+
/**
|
|
317
|
+
* Trigger an immediate full render (public API compatibility)
|
|
318
|
+
*/
|
|
319
|
+
render(): void;
|
|
307
320
|
private pixelToDataX;
|
|
308
321
|
private pixelToDataY;
|
|
309
322
|
private startRenderLoop;
|
|
310
|
-
private scheduleRenderFrame;
|
|
311
323
|
on<K extends keyof ChartEventMap>(e: K, h: (d: ChartEventMap[K]) => void): void;
|
|
312
324
|
off<K extends keyof ChartEventMap>(e: K, h: (d: ChartEventMap[K]) => void): void;
|
|
313
325
|
destroy(): void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { PluginManagerImpl } from '../../plugins';
|
|
2
|
+
|
|
3
|
+
export declare class ChartPluginBridge {
|
|
4
|
+
private pluginManager;
|
|
5
|
+
constructor(pluginManager: PluginManagerImpl);
|
|
6
|
+
private getAPI;
|
|
7
|
+
get analysis(): any;
|
|
8
|
+
get tooltip(): any;
|
|
9
|
+
get loading(): any;
|
|
10
|
+
get deltaTool(): any;
|
|
11
|
+
get peakTool(): any;
|
|
12
|
+
get regression(): any;
|
|
13
|
+
get radar(): any;
|
|
14
|
+
get ml(): any;
|
|
15
|
+
get snapshot(): any;
|
|
16
|
+
get dataExport(): any;
|
|
17
|
+
get roi(): any;
|
|
18
|
+
get videoRecorder(): any;
|
|
19
|
+
get offscreen(): any;
|
|
20
|
+
get virtualization(): any;
|
|
21
|
+
get themeEditor(): any;
|
|
22
|
+
get sync(): any;
|
|
23
|
+
get brokenAxis(): any;
|
|
24
|
+
get forecasting(): any;
|
|
25
|
+
/**
|
|
26
|
+
* Get a plugin API by name
|
|
27
|
+
*/
|
|
28
|
+
getPlugin<T = any>(name: string): T | null;
|
|
29
|
+
/**
|
|
30
|
+
* Get all plugin names
|
|
31
|
+
*/
|
|
32
|
+
getPluginNames(): string[];
|
|
33
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { NativeWebGLRenderer } from '../../renderer/NativeWebGLRenderer';
|
|
2
|
+
import { OverlayRenderer } from '../OverlayRenderer';
|
|
3
|
+
import { Series } from '../Series';
|
|
4
|
+
import { Scale } from '../../scales';
|
|
5
|
+
import { Bounds, AxisOptions, CursorOptions, PlotArea, ChartEventMap } from '../../types';
|
|
6
|
+
import { EventEmitter } from '../EventEmitter';
|
|
7
|
+
import { SelectionManager } from '../selection';
|
|
8
|
+
import { PluginManagerImpl } from '../../plugins';
|
|
9
|
+
|
|
10
|
+
export interface RenderLoopContext {
|
|
11
|
+
webglCanvas: HTMLCanvasElement;
|
|
12
|
+
overlayCanvas: HTMLCanvasElement;
|
|
13
|
+
overlayCtx: CanvasRenderingContext2D;
|
|
14
|
+
container: HTMLDivElement;
|
|
15
|
+
series: Map<string, Series>;
|
|
16
|
+
viewBounds: Bounds;
|
|
17
|
+
xScale: Scale;
|
|
18
|
+
yScales: Map<string, Scale>;
|
|
19
|
+
yAxisOptionsMap: Map<string, AxisOptions>;
|
|
20
|
+
xAxisOptions: AxisOptions;
|
|
21
|
+
primaryYAxisId: string;
|
|
22
|
+
renderer: NativeWebGLRenderer;
|
|
23
|
+
overlay: OverlayRenderer;
|
|
24
|
+
backgroundColor: [number, number, number, number];
|
|
25
|
+
plotAreaBackground: [number, number, number, number];
|
|
26
|
+
cursorOptions: CursorOptions | null;
|
|
27
|
+
cursorPosition: {
|
|
28
|
+
x: number;
|
|
29
|
+
y: number;
|
|
30
|
+
} | null;
|
|
31
|
+
selectionRect: {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
} | null;
|
|
37
|
+
events: EventEmitter<ChartEventMap>;
|
|
38
|
+
selectionManager: SelectionManager;
|
|
39
|
+
hoveredSeriesId: string | null;
|
|
40
|
+
pluginManager: PluginManagerImpl;
|
|
41
|
+
updateSeriesBuffer: (s: Series) => void;
|
|
42
|
+
getPlotArea: () => PlotArea;
|
|
43
|
+
pixelToDataX: (px: number) => number;
|
|
44
|
+
pixelToDataY: (py: number, yAxisId?: string) => number;
|
|
45
|
+
get yScale(): Scale;
|
|
46
|
+
}
|
|
47
|
+
export declare class ChartRenderLoop {
|
|
48
|
+
private ctx;
|
|
49
|
+
private animationFrameId;
|
|
50
|
+
private needsFullRender;
|
|
51
|
+
private needsOverlayRender;
|
|
52
|
+
private frameCount;
|
|
53
|
+
private lastRenderTime;
|
|
54
|
+
private initStarted;
|
|
55
|
+
constructor(ctx: RenderLoopContext);
|
|
56
|
+
/**
|
|
57
|
+
* Mark that initialization has started
|
|
58
|
+
*/
|
|
59
|
+
startInit(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Check if init has started
|
|
62
|
+
*/
|
|
63
|
+
isInitStarted(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Request a full render (WebGL + overlay)
|
|
66
|
+
*/
|
|
67
|
+
requestRender(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Request overlay-only render
|
|
70
|
+
*/
|
|
71
|
+
requestOverlayRender(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Schedule render on next animation frame
|
|
74
|
+
*/
|
|
75
|
+
private scheduleRenderFrame;
|
|
76
|
+
/**
|
|
77
|
+
* Cancel any pending render
|
|
78
|
+
*/
|
|
79
|
+
cancelPendingRender(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Perform the actual rendering
|
|
82
|
+
*/
|
|
83
|
+
private performRender;
|
|
84
|
+
/**
|
|
85
|
+
* Get render statistics
|
|
86
|
+
*/
|
|
87
|
+
getStats(): {
|
|
88
|
+
frameCount: number;
|
|
89
|
+
lastRenderTime: number;
|
|
90
|
+
hasPendingRender: boolean;
|
|
91
|
+
needsFullRender: boolean;
|
|
92
|
+
needsOverlayRender: boolean;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Reset frame counter
|
|
96
|
+
*/
|
|
97
|
+
resetFrameCount(): void;
|
|
98
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Annotation } from '../annotations';
|
|
2
|
+
import { Series } from '../Series';
|
|
3
|
+
import { AxisOptions } from '../../types';
|
|
4
|
+
import { Scale } from '../../scales';
|
|
5
|
+
import { PluginManagerImpl } from '../../plugins';
|
|
6
|
+
import { ChartState, SerializeOptions, DeserializeOptions } from '../../serialization';
|
|
7
|
+
|
|
8
|
+
export interface StateManagerContext {
|
|
9
|
+
viewBounds: {
|
|
10
|
+
xMin: number;
|
|
11
|
+
xMax: number;
|
|
12
|
+
yMin: number;
|
|
13
|
+
yMax: number;
|
|
14
|
+
};
|
|
15
|
+
xAxisOptions: AxisOptions;
|
|
16
|
+
xScale: Scale;
|
|
17
|
+
yScales: Map<string, Scale>;
|
|
18
|
+
primaryYAxisId: string;
|
|
19
|
+
series: Map<string, Series>;
|
|
20
|
+
pluginManager: PluginManagerImpl;
|
|
21
|
+
showLegend: boolean;
|
|
22
|
+
showControls: boolean;
|
|
23
|
+
showStatistics: boolean;
|
|
24
|
+
autoScroll: boolean;
|
|
25
|
+
getAnnotations: () => Annotation[];
|
|
26
|
+
clearAnnotations: () => void;
|
|
27
|
+
addAnnotation: (annotation: Annotation) => void;
|
|
28
|
+
updateYAxis: (id: string, options: Partial<AxisOptions>) => void;
|
|
29
|
+
removeSeries: (id: string) => void;
|
|
30
|
+
addSeries: (options: any) => void;
|
|
31
|
+
requestRender: () => void;
|
|
32
|
+
}
|
|
33
|
+
export declare class ChartStateManager {
|
|
34
|
+
private ctx;
|
|
35
|
+
constructor(ctx: StateManagerContext);
|
|
36
|
+
/**
|
|
37
|
+
* Export complete chart state
|
|
38
|
+
*/
|
|
39
|
+
serialize(options?: SerializeOptions): ChartState;
|
|
40
|
+
/**
|
|
41
|
+
* Restore chart from saved state
|
|
42
|
+
*/
|
|
43
|
+
deserialize(state: ChartState, options?: DeserializeOptions): void;
|
|
44
|
+
/**
|
|
45
|
+
* Convert current state to URL-safe hash
|
|
46
|
+
*/
|
|
47
|
+
toUrlHash(compress?: boolean): string;
|
|
48
|
+
/**
|
|
49
|
+
* Load state from URL hash
|
|
50
|
+
*/
|
|
51
|
+
fromUrlHash(hash: string, compressed?: boolean): void;
|
|
52
|
+
}
|
|
@@ -57,6 +57,7 @@ export interface Chart {
|
|
|
57
57
|
readonly themeEditor: any;
|
|
58
58
|
readonly sync: any;
|
|
59
59
|
readonly brokenAxis: any;
|
|
60
|
+
readonly forecasting: any;
|
|
60
61
|
addAnnotation(annotation: Annotation): string;
|
|
61
62
|
removeAnnotation(id: string): boolean;
|
|
62
63
|
updateAnnotation(id: string, updates: Partial<Annotation>): void;
|
|
@@ -161,7 +162,7 @@ export interface Chart {
|
|
|
161
162
|
setXScale(scale: any): void;
|
|
162
163
|
setYScale(yAxisId: string, scale: any): void;
|
|
163
164
|
/** Use a plugin */
|
|
164
|
-
use(plugin: ChartPlugin): void
|
|
165
|
+
use(plugin: ChartPlugin | any): Promise<void>;
|
|
165
166
|
/** Destroy the chart and cleanup resources */
|
|
166
167
|
destroy(): void;
|
|
167
168
|
}
|