@baron1996/klinecharts-runtime 0.4.2 → 0.5.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 +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/runtime.d.ts +8 -2
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +126 -0
- package/dist/types.d.ts +32 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Browser editing runtime and standard annotation toolbar for deterministic KLineC
|
|
|
4
4
|
ChartScene files.
|
|
5
5
|
|
|
6
6
|
```bash
|
|
7
|
-
npm install --save-exact @baron1996/kline-scene-schema@0.
|
|
7
|
+
npm install --save-exact @baron1996/kline-scene-schema@0.5.1 @baron1996/klinecharts-runtime@0.5.1
|
|
8
8
|
```
|
|
9
9
|
|
|
10
10
|
```ts
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Web Runtime npm 包版本;ChartScene runtimeVersion 是独立的数据契约版本。 */
|
|
2
|
-
export declare const WEB_RUNTIME_PACKAGE_VERSION: "0.
|
|
2
|
+
export declare const WEB_RUNTIME_PACKAGE_VERSION: "0.5.1";
|
|
3
3
|
export { SUPPORTED_OVERLAYS } from '@baron1996/klinecharts-adapter';
|
|
4
4
|
export * from './drawing/capabilities.js';
|
|
5
5
|
export * from './drawing/projection-service.js';
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Web Runtime npm 包版本;ChartScene runtimeVersion 是独立的数据契约版本。 */
|
|
2
|
-
export const WEB_RUNTIME_PACKAGE_VERSION = '0.
|
|
2
|
+
export const WEB_RUNTIME_PACKAGE_VERSION = '0.5.1';
|
|
3
3
|
export { SUPPORTED_OVERLAYS } from '@baron1996/klinecharts-adapter';
|
|
4
4
|
export * from './drawing/capabilities.js';
|
|
5
5
|
export * from './drawing/projection-service.js';
|
package/dist/runtime.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type ChartScene, type SceneOverlay } from '@baron1996/kline-scene-schema';
|
|
1
|
+
import { type ChartScene, type SceneIndicator, type SceneOverlay } from '@baron1996/kline-scene-schema';
|
|
2
2
|
import { type EngineDrawingSnapshot, type EnginePixelCoordinate, type MainSeriesPresentation, type OverlayHitResult, type PixelCoordinate } from '@baron1996/klinecharts-adapter';
|
|
3
3
|
import type { DrawingRuntimeCapability, RuntimeAuxiliaryCapability } from './drawing/capabilities.js';
|
|
4
4
|
import type { HostActionDescriptor, RuntimeCapabilityDescriptor } from './drawing/runtime-capability-descriptor.js';
|
|
5
|
-
import type { KLineSceneRuntimeListener, KLineSceneRuntimeOptions, PriceScale, StartOverlayDrawingOptions, SupportedOverlayType } from './types.js';
|
|
5
|
+
import type { AddIndicatorOptions, KLineSceneRuntimeListener, KLineSceneRuntimeOptions, PriceScale, StartOverlayDrawingOptions, SupportedOverlayType } from './types.js';
|
|
6
6
|
export declare const DEFAULT_OVERLAY_STYLES: SceneOverlay['styles'];
|
|
7
7
|
/**
|
|
8
8
|
* 面向 Web、离线 HTML 和测试渲染器的纯场景 Runtime。
|
|
@@ -53,6 +53,12 @@ export declare class KLineSceneRuntime implements DrawingRuntimeCapability, Runt
|
|
|
53
53
|
requestHostAction(actionId: string, overlayId?: string | null): void;
|
|
54
54
|
getOverlay(id: string): SceneOverlay | undefined;
|
|
55
55
|
listOverlays(): readonly SceneOverlay[];
|
|
56
|
+
listIndicators(): readonly SceneIndicator[];
|
|
57
|
+
addIndicator(options: AddIndicatorOptions): SceneIndicator;
|
|
58
|
+
removeIndicator(id: string): boolean;
|
|
59
|
+
enterFullscreen(): Promise<void>;
|
|
60
|
+
exitFullscreen(): Promise<void>;
|
|
61
|
+
isFullscreen(): boolean;
|
|
56
62
|
getSelectedOverlayId(): string | undefined;
|
|
57
63
|
subscribe(listener: KLineSceneRuntimeListener): () => void;
|
|
58
64
|
destroy(): void;
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAMN,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAErB,KAAK,eAAe,EACpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,4CAA4C,CAAC;AAGpD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -22,6 +22,34 @@ export const DEFAULT_OVERLAY_STYLES = {
|
|
|
22
22
|
borderColor: 'rgba(41, 98, 255, 1)',
|
|
23
23
|
},
|
|
24
24
|
};
|
|
25
|
+
const DEFAULT_INDICATOR_LINE_COLORS = [
|
|
26
|
+
'rgba(41, 98, 255, 1)',
|
|
27
|
+
'rgba(245, 158, 11, 1)',
|
|
28
|
+
'rgba(16, 185, 129, 1)',
|
|
29
|
+
'rgba(239, 68, 68, 1)',
|
|
30
|
+
'rgba(139, 92, 246, 1)',
|
|
31
|
+
];
|
|
32
|
+
function defaultIndicatorStyles(name, calcParams) {
|
|
33
|
+
const lines = calcParams.map((_param, index) => ({
|
|
34
|
+
color: DEFAULT_INDICATOR_LINE_COLORS[index % DEFAULT_INDICATOR_LINE_COLORS.length],
|
|
35
|
+
size: 1,
|
|
36
|
+
style: 'solid',
|
|
37
|
+
}));
|
|
38
|
+
if (name === 'VOL') {
|
|
39
|
+
return {
|
|
40
|
+
lines,
|
|
41
|
+
bars: [
|
|
42
|
+
{
|
|
43
|
+
upColor: 'rgba(239, 83, 80, 1)',
|
|
44
|
+
downColor: 'rgba(38, 166, 154, 1)',
|
|
45
|
+
noChangeColor: 'rgba(88, 88, 88, 1)',
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
circles: [],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return { lines, bars: [], circles: [] };
|
|
52
|
+
}
|
|
25
53
|
function toRuntimeEvent(event) {
|
|
26
54
|
return {
|
|
27
55
|
...structuredClone(event),
|
|
@@ -40,10 +68,26 @@ export class KLineSceneRuntime {
|
|
|
40
68
|
#events = new RuntimeEventBus();
|
|
41
69
|
/** Adapter 事件解绑函数。 */
|
|
42
70
|
#unsubscribeAdapter;
|
|
71
|
+
/** Adapter 十字线监听解绑函数。 */
|
|
72
|
+
#unsubscribeCrosshair = null;
|
|
43
73
|
/** 当前选中标注的稳定 ID。 */
|
|
44
74
|
#selectedOverlayId = null;
|
|
45
75
|
/** 确定性标注 ID 递增序号。 */
|
|
46
76
|
#overlaySequence = 0;
|
|
77
|
+
/** 确定性指标 ID 递增序号。 */
|
|
78
|
+
#indicatorSequence = 0;
|
|
79
|
+
/** 全屏状态变化监听器。 */
|
|
80
|
+
#fullscreenChangeHandler = () => {
|
|
81
|
+
if (this.#destroyed) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
this.#events.emit({
|
|
85
|
+
type: 'fullscreen-changed',
|
|
86
|
+
active: this.isFullscreen(),
|
|
87
|
+
sceneVersion: 1,
|
|
88
|
+
runtimeVersion: '0.2.0',
|
|
89
|
+
});
|
|
90
|
+
};
|
|
47
91
|
/** 防止销毁后的 API 继续访问引擎。 */
|
|
48
92
|
#destroyed = false;
|
|
49
93
|
constructor(adapter, options) {
|
|
@@ -61,6 +105,16 @@ export class KLineSceneRuntime {
|
|
|
61
105
|
}
|
|
62
106
|
this.#events.emit(toRuntimeEvent(event));
|
|
63
107
|
});
|
|
108
|
+
this.#unsubscribeCrosshair = adapter.subscribeCrosshair((snapshot) => {
|
|
109
|
+
this.#events.emit({
|
|
110
|
+
type: 'crosshair-changed',
|
|
111
|
+
timestamp: snapshot.timestamp,
|
|
112
|
+
bar: snapshot.bar,
|
|
113
|
+
sceneVersion: 1,
|
|
114
|
+
runtimeVersion: '0.2.0',
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
document.addEventListener('fullscreenchange', this.#fullscreenChangeHandler);
|
|
64
118
|
}
|
|
65
119
|
#defaultFileName = 'kline-scene.json';
|
|
66
120
|
static async create(container, value, options = {}) {
|
|
@@ -102,6 +156,15 @@ export class KLineSceneRuntime {
|
|
|
102
156
|
} while (existing.has(id));
|
|
103
157
|
return id;
|
|
104
158
|
}
|
|
159
|
+
#nextIndicatorId(name) {
|
|
160
|
+
const existing = new Set(this.#adapter.listIndicators().map((indicator) => indicator.id));
|
|
161
|
+
let id = '';
|
|
162
|
+
do {
|
|
163
|
+
id = `indicator-${name.toLowerCase()}-${this.#indicatorSequence}`;
|
|
164
|
+
this.#indicatorSequence++;
|
|
165
|
+
} while (existing.has(id));
|
|
166
|
+
return id;
|
|
167
|
+
}
|
|
105
168
|
getScene() {
|
|
106
169
|
this.#assertActive();
|
|
107
170
|
return structuredClone(this.#adapter.exportScene());
|
|
@@ -293,6 +356,66 @@ export class KLineSceneRuntime {
|
|
|
293
356
|
this.#assertActive();
|
|
294
357
|
return structuredClone(this.#adapter.listOverlays());
|
|
295
358
|
}
|
|
359
|
+
listIndicators() {
|
|
360
|
+
this.#assertActive();
|
|
361
|
+
return this.#adapter.listIndicators();
|
|
362
|
+
}
|
|
363
|
+
addIndicator(options) {
|
|
364
|
+
this.#assertActive();
|
|
365
|
+
const scene = this.#adapter.exportScene();
|
|
366
|
+
const candlePane = scene.panes.find((pane) => pane.kind === 'candle');
|
|
367
|
+
if (candlePane === undefined) {
|
|
368
|
+
throw new SceneError('INVALID_REFERENCE', '/panes', 'Candle pane does not exist.');
|
|
369
|
+
}
|
|
370
|
+
const paneId = options.paneId ?? candlePane.id;
|
|
371
|
+
const pane = scene.panes.find((candidate) => candidate.id === paneId);
|
|
372
|
+
if (pane === undefined) {
|
|
373
|
+
throw new SceneError('INVALID_REFERENCE', '/panes', `Pane ${paneId} does not exist.`);
|
|
374
|
+
}
|
|
375
|
+
const yAxisId = options.yAxisId ??
|
|
376
|
+
pane.yAxes.find((axis) => axis.role === 'primary')?.id;
|
|
377
|
+
if (yAxisId === undefined) {
|
|
378
|
+
throw new SceneError('INVALID_REFERENCE', `/panes/${paneId}/yAxes`, 'Primary Y-axis does not exist.');
|
|
379
|
+
}
|
|
380
|
+
const indicator = {
|
|
381
|
+
id: options.id ?? this.#nextIndicatorId(options.name),
|
|
382
|
+
name: options.name,
|
|
383
|
+
paneId,
|
|
384
|
+
yAxisId,
|
|
385
|
+
calcParams: [...options.calcParams],
|
|
386
|
+
precision: options.precision ?? 2,
|
|
387
|
+
visible: options.visible ?? true,
|
|
388
|
+
zLevel: options.zLevel ?? 0,
|
|
389
|
+
styles: options.styles ??
|
|
390
|
+
defaultIndicatorStyles(options.name, options.calcParams),
|
|
391
|
+
};
|
|
392
|
+
return this.#adapter.addIndicator(indicator);
|
|
393
|
+
}
|
|
394
|
+
removeIndicator(id) {
|
|
395
|
+
this.#assertActive();
|
|
396
|
+
return this.#adapter.removeIndicator(id);
|
|
397
|
+
}
|
|
398
|
+
async enterFullscreen() {
|
|
399
|
+
this.#assertActive();
|
|
400
|
+
const element = this.#adapterContainer();
|
|
401
|
+
if (typeof element.requestFullscreen !== 'function') {
|
|
402
|
+
throw new SceneError('RUNTIME_INIT_FAILED', '/fullscreen', 'Fullscreen API is unavailable.');
|
|
403
|
+
}
|
|
404
|
+
await element.requestFullscreen();
|
|
405
|
+
}
|
|
406
|
+
async exitFullscreen() {
|
|
407
|
+
this.#assertActive();
|
|
408
|
+
if (typeof document.exitFullscreen !== 'function') {
|
|
409
|
+
throw new SceneError('RUNTIME_INIT_FAILED', '/fullscreen', 'Fullscreen API is unavailable.');
|
|
410
|
+
}
|
|
411
|
+
await document.exitFullscreen();
|
|
412
|
+
}
|
|
413
|
+
isFullscreen() {
|
|
414
|
+
return document.fullscreenElement === this.#adapterContainer();
|
|
415
|
+
}
|
|
416
|
+
#adapterContainer() {
|
|
417
|
+
return this.#adapter.getContainer();
|
|
418
|
+
}
|
|
296
419
|
getSelectedOverlayId() {
|
|
297
420
|
this.#assertActive();
|
|
298
421
|
return this.#selectedOverlayId ?? undefined;
|
|
@@ -306,6 +429,9 @@ export class KLineSceneRuntime {
|
|
|
306
429
|
return;
|
|
307
430
|
}
|
|
308
431
|
this.#destroyed = true;
|
|
432
|
+
document.removeEventListener('fullscreenchange', this.#fullscreenChangeHandler);
|
|
433
|
+
this.#unsubscribeCrosshair?.();
|
|
434
|
+
this.#unsubscribeCrosshair = null;
|
|
309
435
|
runRuntimeTeardowns(this);
|
|
310
436
|
this.#adapter.dispose();
|
|
311
437
|
this.#unsubscribeAdapter();
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChartScene, JsonObject, SceneIssue, SceneOverlay } from '@baron1996/kline-scene-schema';
|
|
1
|
+
import type { ChartScene, JsonObject, SceneIssue, SceneOverlay, SceneIndicator } from '@baron1996/kline-scene-schema';
|
|
2
2
|
import type { SUPPORTED_OVERLAYS } from '@baron1996/klinecharts-adapter';
|
|
3
3
|
import type { HostActionDescriptor } from './drawing/runtime-capability-descriptor.js';
|
|
4
4
|
export type SupportedOverlayType = (typeof SUPPORTED_OVERLAYS)[number];
|
|
@@ -9,6 +9,24 @@ export interface KLineSceneRuntimeEventEnvelope {
|
|
|
9
9
|
export type OverlayDragTarget = 'body' | 'anchor';
|
|
10
10
|
export type OverlayDragCancelReason = 'escape' | 'pointer-cancel' | 'window-blur' | 'destroy' | 'validation-error';
|
|
11
11
|
export type PriceScale = 'linear' | 'logarithmic';
|
|
12
|
+
export interface RuntimeCrosshairBar {
|
|
13
|
+
readonly open: number;
|
|
14
|
+
readonly high: number;
|
|
15
|
+
readonly low: number;
|
|
16
|
+
readonly close: number;
|
|
17
|
+
readonly volume: number | null;
|
|
18
|
+
}
|
|
19
|
+
export interface AddIndicatorOptions {
|
|
20
|
+
readonly id?: string;
|
|
21
|
+
readonly name: SceneIndicator['name'];
|
|
22
|
+
readonly paneId?: string;
|
|
23
|
+
readonly yAxisId?: string;
|
|
24
|
+
readonly calcParams: readonly number[];
|
|
25
|
+
readonly precision?: number;
|
|
26
|
+
readonly visible?: boolean;
|
|
27
|
+
readonly zLevel?: number;
|
|
28
|
+
readonly styles?: SceneIndicator['styles'];
|
|
29
|
+
}
|
|
12
30
|
interface OverlayDragEventIdentity {
|
|
13
31
|
readonly interactionId: string;
|
|
14
32
|
readonly overlayId: string;
|
|
@@ -19,6 +37,12 @@ interface OverlayDragEventIdentity {
|
|
|
19
37
|
type KLineSceneRuntimeEventPayload = {
|
|
20
38
|
readonly type: 'scene-ready';
|
|
21
39
|
readonly scene: ChartScene;
|
|
40
|
+
} | {
|
|
41
|
+
readonly type: 'indicator-created';
|
|
42
|
+
readonly indicator: SceneIndicator;
|
|
43
|
+
} | {
|
|
44
|
+
readonly type: 'indicator-removed';
|
|
45
|
+
readonly id: string;
|
|
22
46
|
} | {
|
|
23
47
|
readonly type: 'overlay-created';
|
|
24
48
|
readonly overlay: SceneOverlay;
|
|
@@ -57,6 +81,13 @@ type KLineSceneRuntimeEventPayload = {
|
|
|
57
81
|
readonly type: 'host-action-requested';
|
|
58
82
|
readonly actionId: string;
|
|
59
83
|
readonly overlayId: string | null;
|
|
84
|
+
} | {
|
|
85
|
+
readonly type: 'crosshair-changed';
|
|
86
|
+
readonly timestamp: number | null;
|
|
87
|
+
readonly bar: RuntimeCrosshairBar | null;
|
|
88
|
+
} | {
|
|
89
|
+
readonly type: 'fullscreen-changed';
|
|
90
|
+
readonly active: boolean;
|
|
60
91
|
} | {
|
|
61
92
|
readonly type: 'scene-error';
|
|
62
93
|
readonly issues: readonly SceneIssue[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baron1996/klinecharts-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"description": "Web runtime for deterministic KLineCharts scenes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@baron1996/kline-scene-schema": "0.
|
|
43
|
-
"@baron1996/klinecharts-adapter": "0.
|
|
42
|
+
"@baron1996/kline-scene-schema": "0.5.1",
|
|
43
|
+
"@baron1996/klinecharts-adapter": "0.5.1",
|
|
44
44
|
"@js-temporal/polyfill": "0.5.1"
|
|
45
45
|
}
|
|
46
46
|
}
|