@363045841yyt/klinechart-core 0.8.1-alpha.3 → 0.8.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/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +30 -4
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/types.d.ts +9 -2
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/data-fetchers/baostock.js +3 -3
- package/dist/data-fetchers/baostock.js.map +1 -1
- package/dist/data-fetchers/dataBuffer.d.ts +6 -1
- package/dist/data-fetchers/dataBuffer.d.ts.map +1 -1
- package/dist/data-fetchers/dataBuffer.js +88 -47
- package/dist/data-fetchers/dataBuffer.js.map +1 -1
- package/dist/data-fetchers/index.d.ts +1 -0
- package/dist/data-fetchers/index.d.ts.map +1 -1
- package/dist/data-fetchers/index.js +1 -0
- package/dist/data-fetchers/index.js.map +1 -1
- package/dist/data-fetchers/router.d.ts.map +1 -1
- package/dist/data-fetchers/router.js +3 -0
- package/dist/data-fetchers/router.js.map +1 -1
- package/dist/data-fetchers/tradingview.d.ts +3 -0
- package/dist/data-fetchers/tradingview.d.ts.map +1 -0
- package/dist/data-fetchers/tradingview.js +45 -0
- package/dist/data-fetchers/tradingview.js.map +1 -0
- package/dist/engine/chart.d.ts +34 -351
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +246 -1716
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/chartContext.d.ts +24 -0
- package/dist/engine/chartContext.d.ts.map +1 -0
- package/dist/engine/chartContext.js +19 -0
- package/dist/engine/chartContext.js.map +1 -0
- package/dist/engine/chartTypes.d.ts +77 -0
- package/dist/engine/chartTypes.d.ts.map +1 -0
- package/dist/engine/chartTypes.js +2 -0
- package/dist/engine/chartTypes.js.map +1 -0
- package/dist/engine/controller/interaction.d.ts +1 -0
- package/dist/engine/controller/interaction.d.ts.map +1 -1
- package/dist/engine/controller/interaction.js +9 -2
- package/dist/engine/controller/interaction.js.map +1 -1
- package/dist/engine/data/chartDataManager.d.ts +102 -0
- package/dist/engine/data/chartDataManager.d.ts.map +1 -0
- package/dist/engine/data/chartDataManager.js +590 -0
- package/dist/engine/data/chartDataManager.js.map +1 -0
- package/dist/engine/indicators/chartIndicatorManager.d.ts +102 -0
- package/dist/engine/indicators/chartIndicatorManager.d.ts.map +1 -0
- package/dist/engine/indicators/chartIndicatorManager.js +437 -0
- package/dist/engine/indicators/chartIndicatorManager.js.map +1 -0
- package/dist/engine/layout/chartPaneLayout.d.ts +53 -0
- package/dist/engine/layout/chartPaneLayout.d.ts.map +1 -0
- package/dist/engine/layout/chartPaneLayout.js +388 -0
- package/dist/engine/layout/chartPaneLayout.js.map +1 -0
- package/dist/engine/render/chartRenderer.d.ts +86 -0
- package/dist/engine/render/chartRenderer.d.ts.map +1 -0
- package/dist/engine/render/chartRenderer.js +438 -0
- package/dist/engine/render/chartRenderer.js.map +1 -0
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +73 -7
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
- package/dist/engine/renderers/comparisonLine.d.ts.map +1 -1
- package/dist/engine/renderers/comparisonLine.js +25 -11
- package/dist/engine/renderers/comparisonLine.js.map +1 -1
- package/dist/engine/subPaneManager.d.ts +27 -6
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +54 -56
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/engine/utils/chartZoomController.d.ts +33 -0
- package/dist/engine/utils/chartZoomController.d.ts.map +1 -0
- package/dist/engine/utils/chartZoomController.js +66 -0
- package/dist/engine/utils/chartZoomController.js.map +1 -0
- package/dist/engine/viewport/chartViewportManager.d.ts +72 -0
- package/dist/engine/viewport/chartViewportManager.d.ts.map +1 -0
- package/dist/engine/viewport/chartViewportManager.js +249 -0
- package/dist/engine/viewport/chartViewportManager.js.map +1 -0
- package/dist/engine/viewport/viewport.js +1 -1
- package/dist/engine/viewport/viewport.js.map +1 -1
- package/dist/plugin/types.d.ts +1 -0
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/types.js.map +1 -1
- package/dist/tokens/theme-china.d.ts.map +1 -1
- package/dist/tokens/theme-china.js +0 -4
- package/dist/tokens/theme-china.js.map +1 -1
- package/dist/tokens/theme-dark.d.ts.map +1 -1
- package/dist/tokens/theme-dark.js +0 -4
- package/dist/tokens/theme-dark.js.map +1 -1
- package/dist/tokens/theme-light.d.ts.map +1 -1
- package/dist/tokens/theme-light.js +1 -5
- package/dist/tokens/theme-light.js.map +1 -1
- package/dist/tokens/types.d.ts +0 -4
- package/dist/tokens/types.d.ts.map +1 -1
- package/dist/types/price.d.ts +2 -0
- package/dist/types/price.d.ts.map +1 -1
- package/dist/types/price.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
- package/src/controllers/createChartController.ts +49 -13
- package/src/controllers/types.ts +9 -2
- package/src/data-fetchers/__tests__/dataBuffer.test.ts +77 -0
- package/src/data-fetchers/baostock.ts +3 -3
- package/src/data-fetchers/dataBuffer.ts +70 -22
- package/src/data-fetchers/index.ts +1 -0
- package/src/data-fetchers/router.ts +3 -0
- package/src/data-fetchers/tradingview.ts +48 -0
- package/src/engine/__tests__/subPaneManager.test.ts +154 -0
- package/src/engine/chart.ts +260 -2103
- package/src/engine/chartContext.ts +34 -0
- package/src/engine/chartTypes.ts +88 -0
- package/src/engine/controller/__tests__/interaction.dpr.test.ts +1 -0
- package/src/engine/controller/interaction.ts +10 -2
- package/src/engine/data/chartDataManager.ts +691 -0
- package/src/engine/indicators/__tests__/chartIndicatorManager.test.ts +103 -0
- package/src/engine/indicators/chartIndicatorManager.ts +566 -0
- package/src/engine/layout/chartPaneLayout.ts +474 -0
- package/src/engine/render/chartRenderer.ts +579 -0
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +99 -13
- package/src/engine/renderers/comparisonLine.ts +25 -11
- package/src/engine/subPaneManager.ts +75 -59
- package/src/engine/utils/chartZoomController.ts +104 -0
- package/src/engine/viewport/chartViewportManager.ts +310 -0
- package/src/engine/viewport/viewport.ts +1 -1
- package/src/plugin/types.ts +1 -0
- package/src/tokens/__tests__/__snapshots__/baseline.test.ts.snap +1 -9
- package/src/tokens/theme-china.ts +0 -4
- package/src/tokens/theme-dark.ts +0 -4
- package/src/tokens/theme-light.ts +2 -6
- package/src/tokens/types.ts +0 -4
- package/src/types/price.ts +2 -0
- package/src/version.ts +1 -1
- package/src/engine/chart.d.ts +0 -619
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import type { KLineData } from '../../types/price';
|
|
2
|
+
import type { SymbolSpec, DataFetcher } from '../../controllers/types';
|
|
3
|
+
import { type Signal } from '../../reactivity/signal';
|
|
4
|
+
import { DataBuffer } from '../../data-fetchers/dataBuffer';
|
|
5
|
+
import type { ChartDom, Viewport } from '../chartTypes';
|
|
6
|
+
import type { VisibleRange, UpdateLevel } from '../layout/pane';
|
|
7
|
+
export interface DataDependencies {
|
|
8
|
+
getOption: () => {
|
|
9
|
+
kWidth: number;
|
|
10
|
+
kGap: number;
|
|
11
|
+
};
|
|
12
|
+
getEffectiveDpr: () => number;
|
|
13
|
+
getLogicalScrollLeft: () => number;
|
|
14
|
+
getCachedScrollLeft: () => number;
|
|
15
|
+
setCachedScrollLeft: (v: number) => void;
|
|
16
|
+
setPendingScrollLeft: (v: number) => void;
|
|
17
|
+
getDom: () => ChartDom;
|
|
18
|
+
getObservedSize: () => {
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
};
|
|
22
|
+
getViewport: () => Viewport | null;
|
|
23
|
+
scheduleDraw: (level?: UpdateLevel) => void;
|
|
24
|
+
resetInteraction: () => void;
|
|
25
|
+
getIndicatorScheduler: () => {
|
|
26
|
+
update: (data: KLineData[], range: VisibleRange) => boolean;
|
|
27
|
+
};
|
|
28
|
+
setPendingIndicatorDataUpdate: (v: boolean) => void;
|
|
29
|
+
isPointerDown: () => boolean;
|
|
30
|
+
}
|
|
31
|
+
export declare class ChartDataManager {
|
|
32
|
+
private _internalData;
|
|
33
|
+
private _dataFetcher;
|
|
34
|
+
private _dataBuffer;
|
|
35
|
+
private _dataBufferUnsub;
|
|
36
|
+
private _comparisonSpecs;
|
|
37
|
+
private _comparisonData;
|
|
38
|
+
private _comparisonBuffers;
|
|
39
|
+
private _comparisonBufferUnsubs;
|
|
40
|
+
private _comparisonColors;
|
|
41
|
+
private _comparisonColorsSignal;
|
|
42
|
+
private _comparisonLoadingUnsubs;
|
|
43
|
+
private _comparisonLoadingSignal;
|
|
44
|
+
private _dataSignal;
|
|
45
|
+
private _symbolsSignal;
|
|
46
|
+
private _pendingFetches;
|
|
47
|
+
private _batchFlushScheduled;
|
|
48
|
+
private incrementalLoadHintEl;
|
|
49
|
+
private incrementalLoadHintTimer;
|
|
50
|
+
private pendingPrependedCount;
|
|
51
|
+
lastVisibleRange: VisibleRange;
|
|
52
|
+
lastRawVisibleRange: VisibleRange;
|
|
53
|
+
pendingIndicatorDataUpdate: boolean;
|
|
54
|
+
private deps;
|
|
55
|
+
constructor(deps: DataDependencies);
|
|
56
|
+
private getScrollContentHost;
|
|
57
|
+
getLeftLoadBufferWidth(): number;
|
|
58
|
+
private computeRawVisibleRange;
|
|
59
|
+
private getTrailingSlotCount;
|
|
60
|
+
private static readonly LEADING_SLOTS;
|
|
61
|
+
private static readonly TRAILING_DRAWING_SLOTS;
|
|
62
|
+
private clearIncrementalLoadHintTimer;
|
|
63
|
+
private hideIncrementalLoadHint;
|
|
64
|
+
private ensureIncrementalLoadHint;
|
|
65
|
+
private showIncrementalLoadHint;
|
|
66
|
+
get data(): Signal<ReadonlyArray<KLineData>>;
|
|
67
|
+
get symbols(): Signal<ReadonlyArray<SymbolSpec>>;
|
|
68
|
+
getInternalData(): KLineData[];
|
|
69
|
+
getComparisonData(): Map<string, KLineData[]>;
|
|
70
|
+
getComparisonSpecs(): SymbolSpec[];
|
|
71
|
+
get dataBuffer(): DataBuffer;
|
|
72
|
+
get comparisonColors(): Signal<ReadonlyMap<string, string>>;
|
|
73
|
+
get comparisonLoading(): Signal<boolean>;
|
|
74
|
+
getComparisonColors(): Map<string, string>;
|
|
75
|
+
private recomputeComparisonLoading;
|
|
76
|
+
updateData(data: KLineData[]): void;
|
|
77
|
+
setData(data: KLineData[]): void;
|
|
78
|
+
appendData(newData: KLineData[]): void;
|
|
79
|
+
getData(): KLineData[];
|
|
80
|
+
setDataFetcher(fetcher: DataFetcher | null): void;
|
|
81
|
+
private _createBatchHandler;
|
|
82
|
+
private _scheduleBatchFlush;
|
|
83
|
+
private _flushBatch;
|
|
84
|
+
checkVisibleRangeGap(): void;
|
|
85
|
+
private syncComparisonBuffers;
|
|
86
|
+
private clearComparisonBuffers;
|
|
87
|
+
addComparisonSymbol(spec: SymbolSpec): void;
|
|
88
|
+
removeComparisonSymbol(symbol: string): void;
|
|
89
|
+
setSymbols(specs: ReadonlyArray<SymbolSpec>): void;
|
|
90
|
+
getContentWidth(): number;
|
|
91
|
+
scrollToRight(): void;
|
|
92
|
+
getComparisonEquivalentPriceRange(range: VisibleRange): {
|
|
93
|
+
min: number;
|
|
94
|
+
max: number;
|
|
95
|
+
} | null;
|
|
96
|
+
getLogicalSlotCount(): number;
|
|
97
|
+
getTimestampAtLogicalIndex(index: number): number | null;
|
|
98
|
+
getLogicalIndexAtX(mouseX: number): number | null;
|
|
99
|
+
getDataIndexAtX(mouseX: number): number | null;
|
|
100
|
+
destroy(): void;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=chartDataManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chartDataManager.d.ts","sourceRoot":"","sources":["../../../src/engine/data/chartDataManager.ts"],"names":[],"mappings":"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"}
|