@363045841yyt/klinechart-core 0.7.13 → 0.8.1-alpha.2
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/config/chartSettings.d.ts +0 -6
- package/dist/config/chartSettings.d.ts.map +1 -1
- package/dist/config/chartSettings.js +0 -1
- package/dist/config/chartSettings.js.map +1 -1
- package/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +26 -0
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/index.d.ts +5 -3
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +3 -1
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/types.d.ts +22 -0
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/data-fetchers/baostock.d.ts +3 -0
- package/dist/data-fetchers/baostock.d.ts.map +1 -0
- package/dist/data-fetchers/baostock.js +34 -0
- package/dist/data-fetchers/baostock.js.map +1 -0
- package/dist/data-fetchers/dataBuffer.d.ts +28 -0
- package/dist/data-fetchers/dataBuffer.d.ts.map +1 -0
- package/dist/data-fetchers/dataBuffer.js +150 -0
- package/dist/data-fetchers/dataBuffer.js.map +1 -0
- package/dist/data-fetchers/hundred-mock.d.ts +3 -0
- package/dist/data-fetchers/hundred-mock.d.ts.map +1 -0
- package/dist/data-fetchers/hundred-mock.js +30 -0
- package/dist/data-fetchers/hundred-mock.js.map +1 -0
- package/dist/data-fetchers/index.d.ts +7 -0
- package/dist/data-fetchers/index.d.ts.map +1 -0
- package/dist/data-fetchers/index.js +6 -0
- package/dist/data-fetchers/index.js.map +1 -0
- package/dist/data-fetchers/router.d.ts +3 -0
- package/dist/data-fetchers/router.d.ts.map +1 -0
- package/dist/data-fetchers/router.js +16 -0
- package/dist/data-fetchers/router.js.map +1 -0
- package/dist/data-fetchers/thousand-mock.d.ts +3 -0
- package/dist/data-fetchers/thousand-mock.d.ts.map +1 -0
- package/dist/data-fetchers/thousand-mock.js +29 -0
- package/dist/data-fetchers/thousand-mock.js.map +1 -0
- package/dist/engine/chart.d.ts +21 -0
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +113 -3
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/renderers/Indicator/{indicatorData.d.ts → indicatorCatalog.d.ts} +1 -1
- package/dist/engine/renderers/Indicator/indicatorCatalog.d.ts.map +1 -0
- package/dist/engine/renderers/Indicator/{indicatorData.js → indicatorCatalog.js} +94 -406
- package/dist/engine/renderers/Indicator/indicatorCatalog.js.map +1 -0
- package/dist/engine/renderers/Indicator/structure.js +1 -1
- package/dist/engine/renderers/Indicator/structure.js.map +1 -1
- package/dist/engine/renderers/Indicator/supertrend.js +1 -1
- package/dist/engine/renderers/Indicator/supertrend.js.map +1 -1
- package/dist/engine/renderers/paneTitle.d.ts.map +1 -1
- package/dist/engine/renderers/paneTitle.js +3 -2
- package/dist/engine/renderers/paneTitle.js.map +1 -1
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +2 -1
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/semantic/controller.d.ts +3 -14
- package/dist/semantic/controller.d.ts.map +1 -1
- package/dist/semantic/controller.js +9 -43
- package/dist/semantic/controller.js.map +1 -1
- package/dist/semantic/index.d.ts +3 -2
- package/dist/semantic/index.d.ts.map +1 -1
- package/dist/semantic/index.js +1 -1
- package/dist/semantic/index.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 +4 -4
- package/src/config/chartSettings.ts +0 -1
- package/src/controllers/__tests__/indicatorSelector.test.ts +1 -1
- package/src/controllers/createChartController.ts +35 -1
- package/src/controllers/index.ts +8 -2
- package/src/controllers/types.ts +31 -0
- package/src/data-fetchers/__tests__/dataBuffer.test.ts +287 -0
- package/src/data-fetchers/baostock.ts +34 -0
- package/src/data-fetchers/dataBuffer.ts +176 -0
- package/src/data-fetchers/hundred-mock.ts +31 -0
- package/src/data-fetchers/index.ts +6 -0
- package/src/data-fetchers/router.ts +17 -0
- package/src/data-fetchers/thousand-mock.ts +30 -0
- package/src/engine/chart.ts +128 -3
- package/src/engine/renderers/Indicator/indicatorCatalog.ts +346 -0
- package/src/engine/renderers/Indicator/structure.ts +1 -1
- package/src/engine/renderers/Indicator/supertrend.ts +1 -1
- package/src/engine/renderers/paneTitle.ts +3 -2
- package/src/engine/subPaneManager.ts +2 -1
- package/src/semantic/__tests__/controller.test.ts +19 -7
- package/src/semantic/controller.ts +9 -57
- package/src/semantic/index.ts +3 -2
- package/src/version.ts +1 -1
- package/dist/engine/renderers/Indicator/indicatorData.d.ts.map +0 -1
- package/dist/engine/renderers/Indicator/indicatorData.js.map +0 -1
- package/src/engine/renderers/Indicator/indicatorData.ts +0 -650
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const hundredMockDataFetcher = async (_source, config) => {
|
|
2
|
+
console.log(`[hundred-mock] generating ${config.symbol} ${config.period}`);
|
|
3
|
+
const start = new Date(config.startDate).getTime();
|
|
4
|
+
const end = new Date(config.endDate).getTime();
|
|
5
|
+
const dayMs = 86400000;
|
|
6
|
+
const totalDays = Math.floor((end - start) / dayMs) + 1;
|
|
7
|
+
const data = [];
|
|
8
|
+
let price = 10 + Math.random() * 5;
|
|
9
|
+
for (let i = 0; i < totalDays; i++) {
|
|
10
|
+
const ts = start + i * dayMs;
|
|
11
|
+
const change = (Math.random() - 0.48) * price * 0.06;
|
|
12
|
+
const open = price;
|
|
13
|
+
const close = Math.round((open + change) * 100) / 100;
|
|
14
|
+
const high = Math.round(Math.max(open, close) * (1 + Math.random() * 0.03) * 100) / 100;
|
|
15
|
+
const low = Math.round(Math.min(open, close) * (1 - Math.random() * 0.03) * 100) / 100;
|
|
16
|
+
const volume = Math.round(Math.random() * 10000000 + 1000000);
|
|
17
|
+
data.push({
|
|
18
|
+
timestamp: ts,
|
|
19
|
+
open,
|
|
20
|
+
high,
|
|
21
|
+
low,
|
|
22
|
+
close,
|
|
23
|
+
volume,
|
|
24
|
+
turnover: Math.round((volume * (open + close)) / 2),
|
|
25
|
+
});
|
|
26
|
+
price = close;
|
|
27
|
+
}
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=hundred-mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hundred-mock.js","sourceRoot":"","sources":["../../src/data-fetchers/hundred-mock.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAgB,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAC3E,OAAO,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IAC1E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;IAClD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAA;IACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACvD,MAAM,IAAI,GAAgB,EAAE,CAAA;IAC5B,IAAI,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,CAAA;QAC5B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;QACpD,MAAM,IAAI,GAAG,KAAK,CAAA;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACvF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;QACtF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,CAAC;YACR,SAAS,EAAE,EAAE;YACb,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;SACpD,CAAC,CAAA;QACF,KAAK,GAAG,KAAK,CAAA;IACf,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { thousandMockDataFetcher } from './thousand-mock';
|
|
2
|
+
export { hundredMockDataFetcher } from './hundred-mock';
|
|
3
|
+
export { baostockDataFetcher } from './baostock';
|
|
4
|
+
export { routerDataFetcher } from './router';
|
|
5
|
+
export { DataBuffer } from './dataBuffer';
|
|
6
|
+
export type { DataWindow } from './dataBuffer';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/data-fetchers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { thousandMockDataFetcher } from './thousand-mock';
|
|
2
|
+
export { hundredMockDataFetcher } from './hundred-mock';
|
|
3
|
+
export { baostockDataFetcher } from './baostock';
|
|
4
|
+
export { routerDataFetcher } from './router';
|
|
5
|
+
export { DataBuffer } from './dataBuffer';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/data-fetchers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/data-fetchers/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKvD,eAAO,MAAM,iBAAiB,EAAE,WAW/B,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { baostockDataFetcher } from './baostock';
|
|
2
|
+
import { hundredMockDataFetcher } from './hundred-mock';
|
|
3
|
+
import { thousandMockDataFetcher } from './thousand-mock';
|
|
4
|
+
export const routerDataFetcher = (source, config) => {
|
|
5
|
+
switch (source) {
|
|
6
|
+
case 'baostock':
|
|
7
|
+
return baostockDataFetcher(source, config);
|
|
8
|
+
case 'mock-100':
|
|
9
|
+
return hundredMockDataFetcher(source, config);
|
|
10
|
+
case 'mock-10000':
|
|
11
|
+
return thousandMockDataFetcher(source, config);
|
|
12
|
+
default:
|
|
13
|
+
return hundredMockDataFetcher(source, config);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/data-fetchers/router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD,MAAM,CAAC,MAAM,iBAAiB,GAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;IAC/D,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU;YACb,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC5C,KAAK,UAAU;YACb,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/C,KAAK,YAAY;YACf,OAAO,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChD;YACE,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjD,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thousand-mock.d.ts","sourceRoot":"","sources":["../../src/data-fetchers/thousand-mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,sBAAsB,CAAA;AAElE,eAAO,MAAM,uBAAuB,EAAE,WA2BrC,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const thousandMockDataFetcher = async (_source, _config) => {
|
|
2
|
+
console.log('[thousand-mock] generating 10k K-lines');
|
|
3
|
+
const data = [];
|
|
4
|
+
const startTime = new Date('2020-01-01').getTime();
|
|
5
|
+
const dayMs = 24 * 60 * 60 * 1000;
|
|
6
|
+
let lastClose = 3000;
|
|
7
|
+
for (let i = 0; i < 10000; i++) {
|
|
8
|
+
const timestamp = startTime + i * dayMs;
|
|
9
|
+
const volatility = 0.02;
|
|
10
|
+
const trend = 0.0001;
|
|
11
|
+
const change = (Math.random() - 0.5) * 2 * volatility + trend;
|
|
12
|
+
const open = lastClose;
|
|
13
|
+
const close = open * (1 + change);
|
|
14
|
+
const high = Math.max(open, close) * (1 + Math.random() * 0.01);
|
|
15
|
+
const low = Math.min(open, close) * (1 - Math.random() * 0.01);
|
|
16
|
+
const volume = Math.floor(1000000 + Math.random() * 5000000);
|
|
17
|
+
data.push({
|
|
18
|
+
timestamp,
|
|
19
|
+
open: parseFloat(open.toFixed(2)),
|
|
20
|
+
high: parseFloat(high.toFixed(2)),
|
|
21
|
+
low: parseFloat(low.toFixed(2)),
|
|
22
|
+
close: parseFloat(close.toFixed(2)),
|
|
23
|
+
volume,
|
|
24
|
+
});
|
|
25
|
+
lastClose = close;
|
|
26
|
+
}
|
|
27
|
+
return data;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=thousand-mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thousand-mock.js","sourceRoot":"","sources":["../../src/data-fetchers/thousand-mock.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAgB,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC7E,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAA;IACrD,MAAM,IAAI,GAAgB,EAAE,CAAA;IAC5B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAA;IAClD,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IACjC,IAAI,SAAS,GAAG,IAAI,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,GAAG,KAAK,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAA;QACvB,MAAM,KAAK,GAAG,MAAM,CAAA;QACpB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,KAAK,CAAA;QAC7D,MAAM,IAAI,GAAG,SAAS,CAAA;QACtB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAA;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAA;QAC5D,IAAI,CAAC,IAAI,CAAC;YACR,SAAS;YACT,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM;SACP,CAAC,CAAA;QACF,SAAS,GAAG,KAAK,CAAA;IACnB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
package/dist/engine/chart.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { KLineData } from '../types/price';
|
|
2
2
|
import type { ChartSettings } from '../config/chartSettings';
|
|
3
3
|
import { type Signal, type Computed } from '../reactivity/signal';
|
|
4
|
+
import type { SymbolSpec, DataFetcher } from '../controllers/types';
|
|
5
|
+
import { DataBuffer } from '../data-fetchers/dataBuffer';
|
|
4
6
|
import { type VisibleRange, UpdateLevel } from './layout/pane';
|
|
5
7
|
import { InteractionController, type InteractionSnapshot } from './controller/interaction';
|
|
6
8
|
export type { InteractionSnapshot };
|
|
@@ -95,6 +97,9 @@ export declare class Chart {
|
|
|
95
97
|
private dom;
|
|
96
98
|
private opt;
|
|
97
99
|
private _internalData;
|
|
100
|
+
private _dataFetcher;
|
|
101
|
+
private _dataBuffer;
|
|
102
|
+
private _dataBufferUnsub;
|
|
98
103
|
private raf;
|
|
99
104
|
private pendingUpdateLevel;
|
|
100
105
|
private _internalViewport;
|
|
@@ -244,6 +249,7 @@ export declare class Chart {
|
|
|
244
249
|
*/
|
|
245
250
|
draw(level?: UpdateLevel): void;
|
|
246
251
|
private prepareFrameData;
|
|
252
|
+
private clearAllCanvases;
|
|
247
253
|
private renderPanes;
|
|
248
254
|
private renderXAxis;
|
|
249
255
|
/**
|
|
@@ -395,6 +401,8 @@ export declare class Chart {
|
|
|
395
401
|
getLogicalIndexAtX(mouseX: number): number | null;
|
|
396
402
|
/** 根据视口内 X 坐标反查数据索引(用于绘图落点) */
|
|
397
403
|
getDataIndexAtX(mouseX: number): number | null;
|
|
404
|
+
private static readonly LEADING_SLOTS;
|
|
405
|
+
private static readonly TRAILING_DRAWING_SLOTS;
|
|
398
406
|
/** 获取内容总宽度(用于外部 scroll-content 撑开 scrollWidth) */
|
|
399
407
|
getContentWidth(): number;
|
|
400
408
|
/** 容器尺寸变化时调用 */
|
|
@@ -418,6 +426,7 @@ export declare class Chart {
|
|
|
418
426
|
private computeViewport;
|
|
419
427
|
private _viewportSignal;
|
|
420
428
|
private _dataSignal;
|
|
429
|
+
private _symbolsSignal;
|
|
421
430
|
private _themeSignal;
|
|
422
431
|
private _drawingToolSignal;
|
|
423
432
|
private _drawingsSignal;
|
|
@@ -430,6 +439,8 @@ export declare class Chart {
|
|
|
430
439
|
get viewport(): Signal<ViewportState>;
|
|
431
440
|
/** 数据信号 */
|
|
432
441
|
get data(): Signal<ReadonlyArray<KLineData>>;
|
|
442
|
+
/** 符号信号 */
|
|
443
|
+
get symbols(): Signal<ReadonlyArray<SymbolSpec>>;
|
|
433
444
|
/** 主题信号 */
|
|
434
445
|
get theme(): Signal<'light' | 'dark'>;
|
|
435
446
|
/** 指标实例列表信号(派生信号,自动随主/副图状态更新) */
|
|
@@ -455,6 +466,16 @@ export declare class Chart {
|
|
|
455
466
|
* 合并现有数据并更新
|
|
456
467
|
*/
|
|
457
468
|
appendData(newData: KLineData[]): void;
|
|
469
|
+
/**
|
|
470
|
+
* 设置数据获取器适配器
|
|
471
|
+
*/
|
|
472
|
+
setDataFetcher(fetcher: DataFetcher | null): void;
|
|
473
|
+
get dataBuffer(): DataBuffer;
|
|
474
|
+
checkVisibleRangeGap(): void;
|
|
475
|
+
/**
|
|
476
|
+
* 设置当前符号并触发数据加载
|
|
477
|
+
*/
|
|
478
|
+
setSymbols(specs: ReadonlyArray<SymbolSpec>): void;
|
|
458
479
|
/**
|
|
459
480
|
* 设置主题(高层 API)
|
|
460
481
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/engine/chart.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/engine/chart.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/chart.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createSignal, computed } from '../reactivity/signal';
|
|
2
|
+
import { DataBuffer } from '../data-fetchers/dataBuffer';
|
|
2
3
|
import { getVisibleRange } from './viewport/viewport';
|
|
3
4
|
import { Pane, UpdateLevel } from './layout/pane';
|
|
4
5
|
import { InteractionController } from './controller/interaction';
|
|
@@ -30,6 +31,9 @@ export class Chart {
|
|
|
30
31
|
dom;
|
|
31
32
|
opt;
|
|
32
33
|
_internalData = [];
|
|
34
|
+
_dataFetcher = null;
|
|
35
|
+
_dataBuffer = new DataBuffer();
|
|
36
|
+
_dataBufferUnsub = null;
|
|
33
37
|
raf = null;
|
|
34
38
|
pendingUpdateLevel = UpdateLevel.All;
|
|
35
39
|
_internalViewport = null;
|
|
@@ -513,8 +517,11 @@ export class Chart {
|
|
|
513
517
|
this.markerManager.clear();
|
|
514
518
|
// 2. 准备帧数据(视口 / 可见范围 / K 线坐标,优先走缓存)
|
|
515
519
|
const frame = this.prepareFrameData(level);
|
|
516
|
-
if (!frame)
|
|
520
|
+
if (!frame) {
|
|
521
|
+
if (this._internalData.length === 0)
|
|
522
|
+
this.clearAllCanvases();
|
|
517
523
|
return;
|
|
524
|
+
}
|
|
518
525
|
const { vp, range, kLinePositions, kLineCenters, kBarRects, kWidthPx, useCachedFrame } = frame;
|
|
519
526
|
// 3. 更新交互控制器坐标映射
|
|
520
527
|
this.interaction.setKLinePositions(kLinePositions, range, kWidthPx);
|
|
@@ -545,6 +552,7 @@ export class Chart {
|
|
|
545
552
|
if (!useCachedFrame && (range.start !== this.lastVisibleRange.start || range.end !== this.lastVisibleRange.end)) {
|
|
546
553
|
this.indicatorScheduler.updateVisibleRange(range);
|
|
547
554
|
this.lastVisibleRange = range;
|
|
555
|
+
this.checkVisibleRangeGap();
|
|
548
556
|
}
|
|
549
557
|
const kLinePositions = useCachedFrame
|
|
550
558
|
? this.cachedDrawFrame.kLinePositions
|
|
@@ -584,6 +592,24 @@ export class Chart {
|
|
|
584
592
|
}
|
|
585
593
|
return { vp, range, kLinePositions, kLineCenters, kBarRects, kWidthPx, useCachedFrame };
|
|
586
594
|
}
|
|
595
|
+
clearAllCanvases() {
|
|
596
|
+
const vp = this.computeViewport();
|
|
597
|
+
if (!vp)
|
|
598
|
+
return;
|
|
599
|
+
for (const r of this.paneRenderers) {
|
|
600
|
+
const { mainCtx, overlayCtx, yAxisCtx } = r.getContexts();
|
|
601
|
+
const pane = r.getPane();
|
|
602
|
+
mainCtx?.clearRect(0, 0, vp.plotWidth + 1, pane.height + 2 / vp.dpr);
|
|
603
|
+
overlayCtx?.clearRect(0, 0, vp.plotWidth + 1, pane.height + 2 / vp.dpr);
|
|
604
|
+
yAxisCtx?.clearRect(0, 0, vp.plotWidth + 1, pane.height + 2 / vp.dpr);
|
|
605
|
+
}
|
|
606
|
+
const xCtx = this.xAxisCtx;
|
|
607
|
+
if (xCtx) {
|
|
608
|
+
const xW = xCtx.canvas.width;
|
|
609
|
+
const xH = xCtx.canvas.height;
|
|
610
|
+
xCtx.clearRect(0, 0, xW, xH);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
587
613
|
renderPanes(vp, range, kLinePositions, kLineCenters, kBarRects, kWidthPx, mainIndicatorRange, hasCrosshair, useCachedFrame, level) {
|
|
588
614
|
const sharedYAxisLabels = [];
|
|
589
615
|
const sharedXAxisLabels = [];
|
|
@@ -1286,6 +1312,8 @@ export class Chart {
|
|
|
1286
1312
|
return null;
|
|
1287
1313
|
return index;
|
|
1288
1314
|
}
|
|
1315
|
+
static LEADING_SLOTS = 60;
|
|
1316
|
+
static TRAILING_DRAWING_SLOTS = 24;
|
|
1289
1317
|
/** 获取内容总宽度(用于外部 scroll-content 撑开 scrollWidth) */
|
|
1290
1318
|
getContentWidth() {
|
|
1291
1319
|
const dataLength = this._internalData.length;
|
|
@@ -1295,9 +1323,8 @@ export class Chart {
|
|
|
1295
1323
|
const kGap = this.opt.kGap;
|
|
1296
1324
|
const viewWidth = this._internalViewport?.plotWidth ?? 0;
|
|
1297
1325
|
const dpr = this.getEffectiveDpr();
|
|
1298
|
-
const TRAILING_DRAWING_SLOTS = 24;
|
|
1299
1326
|
const { startXPx, unitPx } = getPhysicalKLineConfig(kWidth, kGap, dpr);
|
|
1300
|
-
const dataPlotWidth = (startXPx + (dataLength + TRAILING_DRAWING_SLOTS) * unitPx) / dpr;
|
|
1327
|
+
const dataPlotWidth = (startXPx + (Chart.LEADING_SLOTS + dataLength + Chart.TRAILING_DRAWING_SLOTS) * unitPx) / dpr;
|
|
1301
1328
|
return Math.max(dataPlotWidth, viewWidth);
|
|
1302
1329
|
}
|
|
1303
1330
|
/** 容器尺寸变化时调用 */
|
|
@@ -1351,6 +1378,11 @@ export class Chart {
|
|
|
1351
1378
|
cancelAnimationFrame(this.raf);
|
|
1352
1379
|
this.raf = null;
|
|
1353
1380
|
}
|
|
1381
|
+
if (this._dataBufferUnsub) {
|
|
1382
|
+
this._dataBufferUnsub();
|
|
1383
|
+
this._dataBufferUnsub = null;
|
|
1384
|
+
}
|
|
1385
|
+
this._dataBuffer.dispose();
|
|
1354
1386
|
// 清理尺寸观察器
|
|
1355
1387
|
this.resizeObserver?.disconnect();
|
|
1356
1388
|
this.resizeObserver = undefined;
|
|
@@ -1666,6 +1698,7 @@ export class Chart {
|
|
|
1666
1698
|
kGap: 1,
|
|
1667
1699
|
});
|
|
1668
1700
|
_dataSignal = createSignal([]);
|
|
1701
|
+
_symbolsSignal = createSignal([]);
|
|
1669
1702
|
_themeSignal = createSignal('light');
|
|
1670
1703
|
_drawingToolSignal = createSignal(null);
|
|
1671
1704
|
_drawingsSignal = createSignal([]);
|
|
@@ -1724,6 +1757,10 @@ export class Chart {
|
|
|
1724
1757
|
get data() {
|
|
1725
1758
|
return this._dataSignal;
|
|
1726
1759
|
}
|
|
1760
|
+
/** 符号信号 */
|
|
1761
|
+
get symbols() {
|
|
1762
|
+
return this._symbolsSignal;
|
|
1763
|
+
}
|
|
1727
1764
|
/** 主题信号 */
|
|
1728
1765
|
get theme() {
|
|
1729
1766
|
return this._themeSignal;
|
|
@@ -1771,6 +1808,79 @@ export class Chart {
|
|
|
1771
1808
|
const merged = [...this._internalData, ...newData];
|
|
1772
1809
|
this.setData(merged);
|
|
1773
1810
|
}
|
|
1811
|
+
/**
|
|
1812
|
+
* 设置数据获取器适配器
|
|
1813
|
+
*/
|
|
1814
|
+
setDataFetcher(fetcher) {
|
|
1815
|
+
this._dataFetcher = fetcher;
|
|
1816
|
+
this._dataBuffer.setFetcher(fetcher);
|
|
1817
|
+
}
|
|
1818
|
+
get dataBuffer() {
|
|
1819
|
+
return this._dataBuffer;
|
|
1820
|
+
}
|
|
1821
|
+
checkVisibleRangeGap() {
|
|
1822
|
+
if (this._internalData.length === 0)
|
|
1823
|
+
return;
|
|
1824
|
+
const window = this._dataBuffer.loadedWindow;
|
|
1825
|
+
if (!window)
|
|
1826
|
+
return;
|
|
1827
|
+
const range = this.lastVisibleRange;
|
|
1828
|
+
if (range.start <= 5 && this._dataFetcher) {
|
|
1829
|
+
const MS_PER_DAY = 86_400_000;
|
|
1830
|
+
const earlierThanEarliest = window.earliestTs - 90 * MS_PER_DAY;
|
|
1831
|
+
this._dataBuffer.ensureRange(earlierThanEarliest, window.earliestTs);
|
|
1832
|
+
return;
|
|
1833
|
+
}
|
|
1834
|
+
if (range.start >= this._internalData.length)
|
|
1835
|
+
return;
|
|
1836
|
+
const firstVisibleTs = this._internalData[Math.max(0, range.start)]?.timestamp;
|
|
1837
|
+
if (firstVisibleTs === undefined)
|
|
1838
|
+
return;
|
|
1839
|
+
if (firstVisibleTs < window.earliestTs) {
|
|
1840
|
+
this._dataBuffer.ensureRange(firstVisibleTs, window.earliestTs);
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1843
|
+
/**
|
|
1844
|
+
* 设置当前符号并触发数据加载
|
|
1845
|
+
*/
|
|
1846
|
+
setSymbols(specs) {
|
|
1847
|
+
this._symbolsSignal.set(specs);
|
|
1848
|
+
if (specs.length === 0)
|
|
1849
|
+
return;
|
|
1850
|
+
const spec = specs[0];
|
|
1851
|
+
if (!this._dataFetcher)
|
|
1852
|
+
return;
|
|
1853
|
+
this._dataBuffer.setFetcher(this._dataFetcher);
|
|
1854
|
+
this._dataBuffer.onPrepend = (count) => {
|
|
1855
|
+
const dpr = this.getEffectiveDpr();
|
|
1856
|
+
const { unitPx } = getPhysicalKLineConfig(this.opt.kWidth, this.opt.kGap, dpr);
|
|
1857
|
+
const compensation = (count * unitPx) / dpr;
|
|
1858
|
+
const container = this.dom.container;
|
|
1859
|
+
if (container) {
|
|
1860
|
+
container.scrollLeft += compensation;
|
|
1861
|
+
this.cachedScrollLeft = container.scrollLeft;
|
|
1862
|
+
}
|
|
1863
|
+
};
|
|
1864
|
+
if (!this._dataBufferUnsub) {
|
|
1865
|
+
this._dataBufferUnsub = this._dataBuffer.data.subscribe(() => {
|
|
1866
|
+
const bufferData = this._dataBuffer.data.peek();
|
|
1867
|
+
this._internalData = [...bufferData];
|
|
1868
|
+
this._dataSignal.set([...this._internalData]);
|
|
1869
|
+
this.interaction.reset();
|
|
1870
|
+
if (this.lastVisibleRange.start === 0 && this.lastVisibleRange.end === 0 && this._internalData.length > 0) {
|
|
1871
|
+
const plotWidth = this.observedSize.width > 0
|
|
1872
|
+
? this.observedSize.width
|
|
1873
|
+
: Math.max(1, Math.round(this.dom.container?.clientWidth ?? 800));
|
|
1874
|
+
const dpr = this.getEffectiveDpr();
|
|
1875
|
+
const { start, end } = getVisibleRange(this.cachedScrollLeft, plotWidth, this.opt.kWidth, this.opt.kGap, this._internalData.length, dpr);
|
|
1876
|
+
this.lastVisibleRange = { start, end };
|
|
1877
|
+
}
|
|
1878
|
+
this.indicatorScheduler.update(this._internalData, this.lastVisibleRange);
|
|
1879
|
+
this.scheduleDraw();
|
|
1880
|
+
});
|
|
1881
|
+
}
|
|
1882
|
+
this._dataBuffer.setSymbol(spec);
|
|
1883
|
+
}
|
|
1774
1884
|
// ---------- Theme ----------
|
|
1775
1885
|
/**
|
|
1776
1886
|
* 设置主题(高层 API)
|