@baron1996/klinecharts-runtime 0.7.1 → 0.8.0
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/drawing/capabilities.d.ts +9 -2
- package/dist/drawing/capabilities.d.ts.map +1 -1
- package/dist/drawing/legacy-runtime-capability.d.ts.map +1 -1
- package/dist/drawing/legacy-runtime-capability.js +6 -0
- package/dist/drawing/scene-runtime-factory.d.ts +6 -1
- package/dist/drawing/scene-runtime-factory.d.ts.map +1 -1
- package/dist/drawing/scene-runtime-factory.js +1 -1
- package/dist/drawing/session-controller.d.ts +2 -0
- package/dist/drawing/session-controller.d.ts.map +1 -1
- package/dist/drawing/session-controller.js +2 -0
- package/dist/drawing/workspace-events.d.ts +13 -0
- package/dist/drawing/workspace-events.d.ts.map +1 -1
- package/dist/drawing/workspace-runtime.d.ts +11 -4
- package/dist/drawing/workspace-runtime.d.ts.map +1 -1
- package/dist/drawing/workspace-runtime.js +72 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
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.6.0 @baron1996/klinecharts-runtime@0.
|
|
7
|
+
npm install --save-exact @baron1996/kline-scene-schema@0.6.0 @baron1996/klinecharts-runtime@0.8.0
|
|
8
8
|
```
|
|
9
9
|
|
|
10
10
|
```ts
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import type { ChartScene, Drawing } from '@baron1996/kline-scene-schema';
|
|
2
|
-
import type { EngineDrawingSnapshot, EnginePixelCoordinate, MainSeriesPresentation } from '@baron1996/klinecharts-adapter';
|
|
1
|
+
import type { ChartScene, Drawing, MarketData } from '@baron1996/kline-scene-schema';
|
|
2
|
+
import type { EngineHistoricalDataCommitResult, EngineDrawingSnapshot, EnginePixelCoordinate, MainSeriesPresentation } from '@baron1996/klinecharts-adapter';
|
|
3
3
|
import type { HostActionDescriptor, RuntimeCapabilityDescriptor } from './runtime-capability-descriptor.js';
|
|
4
4
|
/** 公共 Drawing 能力;工具栏与所有正式交互式图表 Runtime 共用。 */
|
|
5
5
|
export interface DrawingRuntimeCapability {
|
|
6
6
|
startDrawing(type: Drawing['type'], options?: {
|
|
7
7
|
readonly text?: string;
|
|
8
8
|
readonly id?: string;
|
|
9
|
+
readonly groupId?: string;
|
|
9
10
|
readonly styles?: Drawing['styles'];
|
|
11
|
+
readonly metadata?: NonNullable<Drawing['metadata']>;
|
|
10
12
|
}): string;
|
|
11
13
|
listDrawings(): readonly EngineDrawingSnapshot[];
|
|
12
14
|
getDrawing(id: string): EngineDrawingSnapshot | undefined;
|
|
@@ -33,4 +35,9 @@ export interface RuntimeAuxiliaryCapability {
|
|
|
33
35
|
};
|
|
34
36
|
requestHostAction(actionId: string, drawingId?: string | null): void;
|
|
35
37
|
}
|
|
38
|
+
/** 由宿主接管网络请求的更早行情能力。 */
|
|
39
|
+
export interface HistoricalDataRuntimeCapability {
|
|
40
|
+
commitHistoricalData(requestId: string, data: readonly MarketData[], hasMore: boolean): EngineHistoricalDataCommitResult;
|
|
41
|
+
rejectHistoricalData(requestId: string, message: string): boolean;
|
|
42
|
+
}
|
|
36
43
|
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/drawing/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,OAAO,EACP,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACX,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,oCAAoC,CAAC;AAG5C,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACxC,YAAY,CACX,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EACrB,OAAO,CAAC,EAAE;QACT,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/drawing/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,OAAO,EACP,UAAU,EACV,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACX,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,oCAAoC,CAAC;AAG5C,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACxC,YAAY,CACX,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EACrB,OAAO,CAAC,EAAE;QACT,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;KACrD,GACC,MAAM,CAAC;IACV,YAAY,IAAI,SAAS,qBAAqB,EAAE,CAAC;IACjD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAAC;IAC1D,mBAAmB,CAClB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvB,qBAAqB,CAAC;IACzB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAAC;IACnE,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACvC,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC3C,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,0BAA0B;IAC1C,8BAA8B,CAAC,OAAO,CAAC,EAAE;QACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;KACvD,GAAG,2BAA2B,CAAC;IAChC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG;QAClC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;QAC3B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;QACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,iBAAiB,CAAC,KAAK,EAAE,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxE,yBAAyB,CACxB,YAAY,EAAE,sBAAsB,GAClC;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACrE;AAED,wBAAwB;AACxB,MAAM,WAAW,+BAA+B;IAC/C,oBAAoB,CACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,UAAU,EAAE,EAC3B,OAAO,EAAE,OAAO,GACd,gCAAgC,CAAC;IACpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CAClE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-runtime-capability.d.ts","sourceRoot":"","sources":["../../src/drawing/legacy-runtime-capability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,YAAY,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,GACZ,qBAAqB,
|
|
1
|
+
{"version":3,"file":"legacy-runtime-capability.d.ts","sourceRoot":"","sources":["../../src/drawing/legacy-runtime-capability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,YAAY,EACZ,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E;;;GAGG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,GACZ,qBAAqB,CAsBvB"}
|
|
@@ -8,9 +8,15 @@ export function overlayToDrawingSnapshot(overlay, period) {
|
|
|
8
8
|
return {
|
|
9
9
|
id: overlay.id,
|
|
10
10
|
type: overlay.type,
|
|
11
|
+
...(overlay.groupId === undefined ? {} : { groupId: overlay.groupId }),
|
|
11
12
|
target: { paneRole: 'candle', yAxisRole: 'primary' },
|
|
12
13
|
geometry,
|
|
13
14
|
styles: structuredClone(overlay.styles),
|
|
15
|
+
...(overlay.metadata === undefined
|
|
16
|
+
? {}
|
|
17
|
+
: {
|
|
18
|
+
metadata: structuredClone(overlay.metadata),
|
|
19
|
+
}),
|
|
14
20
|
locked: overlay.locked,
|
|
15
21
|
visible: overlay.visible,
|
|
16
22
|
zLevel: overlay.zLevel,
|
|
@@ -3,13 +3,18 @@ import { type DrawingEnginePort, type DrawingProjectionPolicy } from '@baron1996
|
|
|
3
3
|
export interface SceneRuntimeRegistration {
|
|
4
4
|
readonly sceneKind: 'chart' | 'time-series';
|
|
5
5
|
parseScene(value: unknown): ChartScene | TimeSeriesScene;
|
|
6
|
-
createAdapter(container: HTMLElement, workspace: DrawableWorkspaceDocument): Promise<DrawingEnginePort>;
|
|
6
|
+
createAdapter(container: HTMLElement, workspace: DrawableWorkspaceDocument, options?: SceneRuntimeAdapterOptions): Promise<DrawingEnginePort>;
|
|
7
7
|
createPolicy(): DrawingProjectionPolicy;
|
|
8
8
|
readonly defaultTarget: {
|
|
9
9
|
readonly paneRole: string;
|
|
10
10
|
readonly yAxisRole: 'primary';
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
+
export interface SceneRuntimeAdapterOptions {
|
|
14
|
+
readonly historicalDataLoading?: {
|
|
15
|
+
readonly hasMore: boolean;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
13
18
|
export declare function registerSceneRuntime(registration: SceneRuntimeRegistration): void;
|
|
14
19
|
export declare function getSceneRuntime(kind: 'chart' | 'time-series'): SceneRuntimeRegistration;
|
|
15
20
|
//# sourceMappingURL=scene-runtime-factory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-runtime-factory.d.ts","sourceRoot":"","sources":["../../src/drawing/scene-runtime-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,yBAAyB,EACzB,eAAe,EACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAKN,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5C,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,CAAC;IACzD,aAAa,CACZ,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,yBAAyB,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,YAAY,IAAI,uBAAuB,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;KAC9B,CAAC;CACF;AAID,wBAAgB,oBAAoB,CACnC,YAAY,EAAE,wBAAwB,GACpC,IAAI,CAEN;AAED,wBAAgB,eAAe,CAC9B,IAAI,EAAE,OAAO,GAAG,aAAa,GAC3B,wBAAwB,CAM1B"}
|
|
1
|
+
{"version":3,"file":"scene-runtime-factory.d.ts","sourceRoot":"","sources":["../../src/drawing/scene-runtime-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,yBAAyB,EACzB,eAAe,EACf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAKN,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,aAAa,CAAC;IAC5C,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,eAAe,CAAC;IACzD,aAAa,CACZ,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,yBAAyB,EACpC,OAAO,CAAC,EAAE,0BAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,YAAY,IAAI,uBAAuB,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE;QACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;KAC9B,CAAC;CACF;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,CAAC,qBAAqB,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAC/D;AAID,wBAAgB,oBAAoB,CACnC,YAAY,EAAE,wBAAwB,GACpC,IAAI,CAEN;AAED,wBAAgB,eAAe,CAC9B,IAAI,EAAE,OAAO,GAAG,aAAa,GAC3B,wBAAwB,CAM1B"}
|
|
@@ -14,7 +14,7 @@ export function getSceneRuntime(kind) {
|
|
|
14
14
|
registerSceneRuntime({
|
|
15
15
|
sceneKind: 'chart',
|
|
16
16
|
parseScene: (value) => parseChartScene(value),
|
|
17
|
-
createAdapter: (container, workspace) => KLineChartsSceneAdapter.createWorkspace(container, workspace),
|
|
17
|
+
createAdapter: (container, workspace, options) => KLineChartsSceneAdapter.createWorkspace(container, workspace, options),
|
|
18
18
|
createPolicy: () => new KLineDrawingProjectionPolicy(),
|
|
19
19
|
defaultTarget: { paneRole: 'candle', yAxisRole: 'primary' },
|
|
20
20
|
});
|
|
@@ -41,7 +41,9 @@ export declare class DrawingSessionController {
|
|
|
41
41
|
startCreate(type: string, options?: {
|
|
42
42
|
readonly text?: string;
|
|
43
43
|
readonly id?: string;
|
|
44
|
+
readonly groupId?: string;
|
|
44
45
|
readonly styles?: EngineDrawingSnapshot['styles'];
|
|
46
|
+
readonly metadata?: NonNullable<EngineDrawingSnapshot['metadata']>;
|
|
45
47
|
}): string;
|
|
46
48
|
updateDrawingStyles(id: string, styles: EngineDrawingSnapshot['styles']): EngineDrawingSnapshot;
|
|
47
49
|
updateDrawingText(id: string, text: string): EngineDrawingSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../src/drawing/session-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAIhF,OAAO,KAAK,EACX,iBAAiB,EAEjB,qBAAqB,EACrB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACN,wBAAwB,EACxB,KAAK,eAAe,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAEX,qBAAqB,EACrB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,mBAAmB,GAC5B,OAAO,GACP,aAAa,GACb,4BAA4B,GAC5B,cAAc,GACd,gBAAgB,GAChB,WAAW,CAAC;AAEf,MAAM,MAAM,uBAAuB,GAChC,4BAA4B,GAC5B,8BAA8B,GAC9B,yBAAyB,GACzB,4BAA4B,GAC5B,sCAAsC,CAAC;AAE1C,qBAAa,mBAAoB,SAAQ,KAAK;IAC7C,SAAgB,IAAI,EAAE,uBAAuB,CAAC;IAC9C,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAM/E;AAWD,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,SAAS,SAAS,EAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE;QAChB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,KAAK,eAAe,CAAC;IACxF,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACtD;AAED;;;GAGG;AACH,qBAAa,wBAAwB;;gBAYjB,OAAO,EAAE,+BAA+B;IAQ3D,IAAW,KAAK,IAAI,mBAAmB,CAEtC;IAED,IAAW,iBAAiB,IAAI,SAAS,qBAAqB,EAAE,CAG/D;IAED,IAAW,UAAU,IAAI,MAAM,GAAG,IAAI,CAErC;IAED,yCAAyC;IACzC,IAAW,eAAe,IAAI,eAAe,CAG5C;IAEM,gBAAgB,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,GAAG,IAAI;IAWlE,WAAW,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACT,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"session-controller.d.ts","sourceRoot":"","sources":["../../src/drawing/session-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,8 +64,10 @@ export class DrawingSessionController {
|
|
|
64
64
|
return this.#options.engine.startDrawing({
|
|
65
65
|
id: options?.id ?? `drawing-${++this.#requestSequence}`,
|
|
66
66
|
type: type,
|
|
67
|
+
...(options?.groupId === undefined ? {} : { groupId: options.groupId }),
|
|
67
68
|
target: structuredClone(this.#options.target),
|
|
68
69
|
styles: options?.styles ?? defaultStyles(),
|
|
70
|
+
metadata: structuredClone(options?.metadata ?? {}),
|
|
69
71
|
...(options?.text === undefined ? {} : { text: options.text }),
|
|
70
72
|
});
|
|
71
73
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ChartScene, DrawingDocument, TimeSeriesScene } from '@baron1996/kline-scene-schema';
|
|
2
2
|
import type { EngineDrawingSnapshot } from '@baron1996/klinecharts-adapter';
|
|
3
|
+
import type { EngineHistoricalDataRequest } from '@baron1996/klinecharts-adapter';
|
|
3
4
|
import type { ActiveMainSeriesType } from '@baron1996/klinecharts-adapter';
|
|
4
5
|
export declare const WORKSPACE_EVENT_PROTOCOL: "@baron1996/drawable-workspace-events";
|
|
5
6
|
export declare const WORKSPACE_EVENT_PROTOCOL_VERSION: "1.0.0";
|
|
@@ -42,6 +43,18 @@ export type WorkspaceRuntimeEvent = ({
|
|
|
42
43
|
} | {
|
|
43
44
|
readonly type: 'scene-replaced';
|
|
44
45
|
readonly scene: WorkspaceSceneSnapshot;
|
|
46
|
+
} | ({
|
|
47
|
+
readonly type: 'historical-data-requested';
|
|
48
|
+
} & EngineHistoricalDataRequest) | {
|
|
49
|
+
readonly type: 'historical-data-appended';
|
|
50
|
+
readonly requestId: string;
|
|
51
|
+
readonly addedCount: number;
|
|
52
|
+
readonly totalCount: number;
|
|
53
|
+
readonly hasMore: boolean;
|
|
54
|
+
} | {
|
|
55
|
+
readonly type: 'historical-data-rejected';
|
|
56
|
+
readonly requestId: string;
|
|
57
|
+
readonly message: string;
|
|
45
58
|
} | {
|
|
46
59
|
readonly type: 'value-axis-scale-changed';
|
|
47
60
|
readonly scale: 'linear' | 'logarithmic';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-events.d.ts","sourceRoot":"","sources":["../../src/drawing/workspace-events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-events.d.ts","sourceRoot":"","sources":["../../src/drawing/workspace-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { ChartScene, DrawableWorkspaceDocument, Drawing, DrawingDocument, TimeSeriesScene } from '@baron1996/kline-scene-schema';
|
|
2
|
-
import type { EngineDrawingSnapshot, MainSeriesPresentation } from '@baron1996/klinecharts-adapter';
|
|
3
|
-
import type { DrawingRuntimeCapability, RuntimeAuxiliaryCapability } from './capabilities.js';
|
|
1
|
+
import type { ChartScene, DrawableWorkspaceDocument, Drawing, DrawingDocument, MarketData, TimeSeriesScene } from '@baron1996/kline-scene-schema';
|
|
2
|
+
import type { EngineDrawingSnapshot, EngineHistoricalDataCommitResult, MainSeriesPresentation } from '@baron1996/klinecharts-adapter';
|
|
3
|
+
import type { DrawingRuntimeCapability, HistoricalDataRuntimeCapability, RuntimeAuxiliaryCapability } from './capabilities.js';
|
|
4
4
|
import type { HostActionDescriptor, RuntimeCapabilityDescriptor } from './runtime-capability-descriptor.js';
|
|
5
5
|
import { DrawingSessionController } from './session-controller.js';
|
|
6
6
|
import { type WorkspaceRuntimeListener } from './workspace-events.js';
|
|
@@ -8,8 +8,11 @@ export interface DrawableWorkspaceRuntimeOptions {
|
|
|
8
8
|
readonly commitMode: 'immediate' | 'host-confirmed';
|
|
9
9
|
readonly onEvent?: WorkspaceRuntimeListener;
|
|
10
10
|
readonly hostActions?: readonly HostActionDescriptor[];
|
|
11
|
+
readonly historicalDataLoading?: {
|
|
12
|
+
readonly hasMore: boolean;
|
|
13
|
+
};
|
|
11
14
|
}
|
|
12
|
-
export interface DrawableWorkspaceRuntimeHandle extends DrawingRuntimeCapability, RuntimeAuxiliaryCapability {
|
|
15
|
+
export interface DrawableWorkspaceRuntimeHandle extends DrawingRuntimeCapability, HistoricalDataRuntimeCapability, RuntimeAuxiliaryCapability {
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* 组合 Scene Adapter、Drawing 会话与公共能力的工作区 Runtime。
|
|
@@ -26,7 +29,9 @@ export declare class DrawableWorkspaceRuntime implements DrawableWorkspaceRuntim
|
|
|
26
29
|
startDrawing(type: Drawing['type'], options?: {
|
|
27
30
|
readonly text?: string;
|
|
28
31
|
readonly id?: string;
|
|
32
|
+
readonly groupId?: string;
|
|
29
33
|
readonly styles?: Drawing['styles'];
|
|
34
|
+
readonly metadata?: NonNullable<Drawing['metadata']>;
|
|
30
35
|
}): string;
|
|
31
36
|
listDrawings(): readonly EngineDrawingSnapshot[];
|
|
32
37
|
getDrawing(id: string): EngineDrawingSnapshot | undefined;
|
|
@@ -56,6 +61,8 @@ export declare class DrawableWorkspaceRuntime implements DrawableWorkspaceRuntim
|
|
|
56
61
|
readonly activeType: string;
|
|
57
62
|
};
|
|
58
63
|
replaceScene(scene: ChartScene | TimeSeriesScene): ChartScene | TimeSeriesScene;
|
|
64
|
+
commitHistoricalData(requestId: string, data: readonly MarketData[], hasMore: boolean): EngineHistoricalDataCommitResult;
|
|
65
|
+
rejectHistoricalData(requestId: string, message: string): boolean;
|
|
59
66
|
commitDrawingChange(requestId: string, canonicalHash: string): boolean;
|
|
60
67
|
rejectDrawingChange(requestId: string): boolean;
|
|
61
68
|
requestHostAction(actionId: string, drawingId?: string | null): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-runtime.d.ts","sourceRoot":"","sources":["../../src/drawing/workspace-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,UAAU,EACV,yBAAyB,EACzB,OAAO,EACP,eAAe,EACf,eAAe,EACf,MAAM,+BAA+B,CAAC;AAOvC,OAAO,KAAK,EAGX,qBAAqB,EACrB,sBAAsB,EACtB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,KAAK,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,KAAK,EACX,oBAAoB,EACpB,2BAA2B,EAC3B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACN,wBAAwB,EAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAKN,KAAK,wBAAwB,EAC7B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,gBAAgB,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-runtime.d.ts","sourceRoot":"","sources":["../../src/drawing/workspace-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,13 @@ function drawingToSnapshot(drawing) {
|
|
|
8
8
|
return {
|
|
9
9
|
id: drawing.id,
|
|
10
10
|
type: drawing.type,
|
|
11
|
+
...(drawing.groupId === undefined ? {} : { groupId: drawing.groupId }),
|
|
11
12
|
target: structuredClone(drawing.target),
|
|
12
13
|
geometry: structuredClone(drawing.geometry),
|
|
13
14
|
styles: structuredClone(drawing.styles),
|
|
15
|
+
...(drawing.metadata === undefined
|
|
16
|
+
? {}
|
|
17
|
+
: { metadata: structuredClone(drawing.metadata) }),
|
|
14
18
|
locked: drawing.locked,
|
|
15
19
|
visible: drawing.visible,
|
|
16
20
|
zLevel: drawing.zLevel,
|
|
@@ -21,9 +25,13 @@ function snapshotToDrawing(snapshot) {
|
|
|
21
25
|
return {
|
|
22
26
|
id: snapshot.id,
|
|
23
27
|
type: snapshot.type,
|
|
28
|
+
...(snapshot.groupId === undefined ? {} : { groupId: snapshot.groupId }),
|
|
24
29
|
target: structuredClone(snapshot.target),
|
|
25
30
|
geometry: structuredClone(snapshot.geometry),
|
|
26
31
|
styles: structuredClone(snapshot.styles),
|
|
32
|
+
...(snapshot.metadata === undefined
|
|
33
|
+
? {}
|
|
34
|
+
: { metadata: structuredClone(snapshot.metadata) }),
|
|
27
35
|
locked: snapshot.locked,
|
|
28
36
|
visible: snapshot.visible,
|
|
29
37
|
zLevel: snapshot.zLevel,
|
|
@@ -45,6 +53,8 @@ export class DrawableWorkspaceRuntime {
|
|
|
45
53
|
/** 宿主确认策略在 Runtime 生命周期内不可切换。 */
|
|
46
54
|
#commitMode;
|
|
47
55
|
#listeners = new Set();
|
|
56
|
+
/** 释放历史行情请求订阅,避免 Runtime 销毁后宿主收到旧请求。 */
|
|
57
|
+
#unsubscribeHistoricalData;
|
|
48
58
|
#sequence = 0;
|
|
49
59
|
#destroyed = false;
|
|
50
60
|
#scene;
|
|
@@ -73,11 +83,25 @@ export class DrawableWorkspaceRuntime {
|
|
|
73
83
|
if (options.onEvent !== undefined) {
|
|
74
84
|
this.#listeners.add(options.onEvent);
|
|
75
85
|
}
|
|
86
|
+
const historicalDataPort = this.#historicalDataPort();
|
|
87
|
+
this.#unsubscribeHistoricalData = options.historicalDataLoading === undefined
|
|
88
|
+
? undefined
|
|
89
|
+
: historicalDataPort?.subscribeHistoricalDataRequests((request) => {
|
|
90
|
+
this.#emit({ type: 'historical-data-requested', ...request });
|
|
91
|
+
});
|
|
76
92
|
}
|
|
77
93
|
static async create(container, value, options) {
|
|
78
94
|
const workspace = parseDrawableWorkspaceDocument(value);
|
|
95
|
+
if (options.historicalDataLoading !== undefined &&
|
|
96
|
+
workspace.scene.kind !== 'chart') {
|
|
97
|
+
throw new Error('HISTORICAL_DATA_UNSUPPORTED: only chart Workspaces support historical data loading.');
|
|
98
|
+
}
|
|
79
99
|
const registration = getSceneRuntime(workspace.scene.kind);
|
|
80
|
-
const engine = await registration.createAdapter(container, workspace
|
|
100
|
+
const engine = await registration.createAdapter(container, workspace, {
|
|
101
|
+
...(options.historicalDataLoading === undefined
|
|
102
|
+
? {}
|
|
103
|
+
: { historicalDataLoading: options.historicalDataLoading }),
|
|
104
|
+
});
|
|
81
105
|
return new DrawableWorkspaceRuntime(container, workspace, engine, options);
|
|
82
106
|
}
|
|
83
107
|
/** 跨周期等宿主编排只能连接显式 host-confirmed Runtime。 */
|
|
@@ -258,6 +282,36 @@ export class DrawableWorkspaceRuntime {
|
|
|
258
282
|
this.#emit({ type: 'scene-replaced', scene: { kind: this.#sceneKind(), document: applied } });
|
|
259
283
|
return structuredClone(applied);
|
|
260
284
|
}
|
|
285
|
+
commitHistoricalData(requestId, data, hasMore) {
|
|
286
|
+
this.#assertUsable();
|
|
287
|
+
const port = this.#requireHistoricalDataPort();
|
|
288
|
+
const current = parseChartScene(this.#scene);
|
|
289
|
+
const candidate = parseChartScene({
|
|
290
|
+
...structuredClone(current),
|
|
291
|
+
data: [...structuredClone(data), ...structuredClone(current.data)],
|
|
292
|
+
});
|
|
293
|
+
const result = this.#session.replaceProjectionScene({ kind: 'chart', document: candidate }, () => port.commitHistoricalData(requestId, data, hasMore));
|
|
294
|
+
this.#scene = result.scene;
|
|
295
|
+
this.#emit({
|
|
296
|
+
type: 'historical-data-appended',
|
|
297
|
+
requestId,
|
|
298
|
+
addedCount: result.addedCount,
|
|
299
|
+
totalCount: result.scene.data.length,
|
|
300
|
+
hasMore: result.hasMore,
|
|
301
|
+
});
|
|
302
|
+
return {
|
|
303
|
+
...result,
|
|
304
|
+
scene: structuredClone(result.scene),
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
rejectHistoricalData(requestId, message) {
|
|
308
|
+
this.#assertUsable();
|
|
309
|
+
const rejected = this.#requireHistoricalDataPort().rejectHistoricalData(requestId);
|
|
310
|
+
if (rejected) {
|
|
311
|
+
this.#emit({ type: 'historical-data-rejected', requestId, message });
|
|
312
|
+
}
|
|
313
|
+
return rejected;
|
|
314
|
+
}
|
|
261
315
|
commitDrawingChange(requestId, canonicalHash) {
|
|
262
316
|
return this.#session.commitDrawingChange(requestId, canonicalHash);
|
|
263
317
|
}
|
|
@@ -276,6 +330,7 @@ export class DrawableWorkspaceRuntime {
|
|
|
276
330
|
return;
|
|
277
331
|
}
|
|
278
332
|
this.#destroyed = true;
|
|
333
|
+
this.#unsubscribeHistoricalData?.();
|
|
279
334
|
this.#session.destroy();
|
|
280
335
|
this.#engine.dispose();
|
|
281
336
|
this.#listeners.clear();
|
|
@@ -289,7 +344,7 @@ export class DrawableWorkspaceRuntime {
|
|
|
289
344
|
scopeKey: workspace.drawings.scopeKey,
|
|
290
345
|
coordinateSystem: structuredClone(workspace.drawings.coordinateSystem),
|
|
291
346
|
drawings: drawings.map((snapshot) => snapshotToDrawing(snapshot)),
|
|
292
|
-
metadata:
|
|
347
|
+
metadata: structuredClone(workspace.drawings.metadata),
|
|
293
348
|
});
|
|
294
349
|
}
|
|
295
350
|
#projectionScene() {
|
|
@@ -316,6 +371,21 @@ export class DrawableWorkspaceRuntime {
|
|
|
316
371
|
#sceneKind() {
|
|
317
372
|
return 'panes' in this.#scene ? 'chart' : 'time-series';
|
|
318
373
|
}
|
|
374
|
+
#historicalDataPort() {
|
|
375
|
+
const candidate = this.#engine;
|
|
376
|
+
return (typeof candidate.subscribeHistoricalDataRequests === 'function' &&
|
|
377
|
+
typeof candidate.commitHistoricalData === 'function' &&
|
|
378
|
+
typeof candidate.rejectHistoricalData === 'function')
|
|
379
|
+
? candidate
|
|
380
|
+
: undefined;
|
|
381
|
+
}
|
|
382
|
+
#requireHistoricalDataPort() {
|
|
383
|
+
const port = this.#historicalDataPort();
|
|
384
|
+
if (port === undefined) {
|
|
385
|
+
throw new Error('HISTORICAL_DATA_UNSUPPORTED: the current Scene Adapter has no historical data port.');
|
|
386
|
+
}
|
|
387
|
+
return port;
|
|
388
|
+
}
|
|
319
389
|
#emit(event) {
|
|
320
390
|
const envelope = deepFreeze({
|
|
321
391
|
protocol: WORKSPACE_EVENT_PROTOCOL,
|
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.8.0";
|
|
3
3
|
export { SUPPORTED_OVERLAYS } from '@baron1996/klinecharts-adapter';
|
|
4
4
|
export * from './cross-period/coordinator.js';
|
|
5
5
|
export * from './drawing/capabilities.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.8.0';
|
|
3
3
|
export { SUPPORTED_OVERLAYS } from '@baron1996/klinecharts-adapter';
|
|
4
4
|
export * from './cross-period/coordinator.js';
|
|
5
5
|
export * from './drawing/capabilities.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baron1996/klinecharts-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Web runtime for deterministic KLineCharts scenes.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@baron1996/kline-scene-schema": "0.6.0",
|
|
43
|
-
"@baron1996/klinecharts-adapter": "0.
|
|
43
|
+
"@baron1996/klinecharts-adapter": "0.8.0",
|
|
44
44
|
"@js-temporal/polyfill": "0.5.1"
|
|
45
45
|
}
|
|
46
46
|
}
|