@visactor/vstory 0.0.8-alpha.14 → 0.0.8-alpha.15
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/cjs/index.d.ts +1 -0
- package/cjs/index.js +2 -1
- package/cjs/index.js.map +1 -1
- package/cjs/story/canvas/canvas.d.ts +13 -1
- package/cjs/story/canvas/canvas.js +20 -10
- package/cjs/story/canvas/canvas.js.map +1 -1
- package/cjs/story/character/chart/character.js +2 -2
- package/cjs/story/character/chart/character.js.map +1 -1
- package/cjs/story/index.d.ts +1 -0
- package/cjs/story/index.js +11 -4
- package/cjs/story/index.js.map +1 -1
- package/cjs/story/interface/runtime-interface.d.ts +4 -0
- package/cjs/story/interface/runtime-interface.js.map +1 -1
- package/cjs/story/story.d.ts +2 -0
- package/cjs/story/story.js +6 -2
- package/cjs/story/story.js.map +1 -1
- package/dist/index.js +35 -16
- package/dist/index.min.js +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/es/story/canvas/canvas.d.ts +13 -1
- package/es/story/canvas/canvas.js +16 -8
- package/es/story/canvas/canvas.js.map +1 -1
- package/es/story/character/chart/character.js +2 -2
- package/es/story/character/chart/character.js.map +1 -1
- package/es/story/index.d.ts +1 -0
- package/es/story/index.js +8 -3
- package/es/story/index.js.map +1 -1
- package/es/story/interface/runtime-interface.d.ts +4 -0
- package/es/story/interface/runtime-interface.js.map +1 -1
- package/es/story/story.d.ts +2 -0
- package/es/story/story.js +6 -2
- package/es/story/story.js.map +1 -1
- package/package.json +3 -3
package/cjs/index.d.ts
CHANGED
package/cjs/index.js
CHANGED
|
@@ -21,6 +21,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
21
21
|
|
|
22
22
|
const story_1 = require("./story");
|
|
23
23
|
|
|
24
|
-
(0, story_1.registerCharacter)(), __exportStar(require("./story
|
|
24
|
+
(0, story_1.registerCharacter)(), __exportStar(require("./story/canvas/canvas"), exports),
|
|
25
|
+
__exportStar(require("./story"), exports), __exportStar(require("./story/utils/vchart-pick"), exports),
|
|
25
26
|
__exportStar(require("./story/utils/chart"), exports), __exportStar(require("./story/utils/layout"), exports),
|
|
26
27
|
__exportStar(require("./template/unit"), exports);
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mCAA4C;AAE5C,IAAA,yBAAiB,GAAE,CAAC;AAEpB,0CAAwB;AACxB,4DAA0C;AAC1C,sDAAoC;AACpC,uDAAqC;AAErC,kDAAgC","file":"index.js","sourcesContent":["import { registerCharacter } from './story';\n\nregisterCharacter();\n\nexport * from './story';\nexport * from './story/utils/vchart-pick';\nexport * from './story/utils/chart';\nexport * from './story/utils/layout';\n\nexport * from './template/unit';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mCAA4C;AAE5C,IAAA,yBAAiB,GAAE,CAAC;AAEpB,wDAAsC;AACtC,0CAAwB;AACxB,4DAA0C;AAC1C,sDAAoC;AACpC,uDAAqC;AAErC,kDAAgC","file":"index.js","sourcesContent":["import { registerCharacter } from './story';\n\nregisterCharacter();\n\nexport * from './story/canvas/canvas';\nexport * from './story';\nexport * from './story/utils/vchart-pick';\nexport * from './story/utils/chart';\nexport * from './story/utils/layout';\n\nexport * from './template/unit';\n"]}
|
|
@@ -2,6 +2,7 @@ import type { Story } from '../story';
|
|
|
2
2
|
import type { IStage } from '@visactor/vrender';
|
|
3
3
|
import type { IStoryCanvas, StoryEvent } from '../interface/runtime-interface';
|
|
4
4
|
import type { ICharacter } from '../character/runtime-interface';
|
|
5
|
+
export declare function setBrowserEnv(): void;
|
|
5
6
|
export declare class StoryCanvas implements IStoryCanvas {
|
|
6
7
|
protected _story: Story;
|
|
7
8
|
protected _canvas: HTMLCanvasElement;
|
|
@@ -10,15 +11,26 @@ export declare class StoryCanvas implements IStoryCanvas {
|
|
|
10
11
|
getCanvas(): HTMLCanvasElement;
|
|
11
12
|
protected _container: HTMLDivElement | null;
|
|
12
13
|
get container(): HTMLDivElement;
|
|
14
|
+
protected _params: {
|
|
15
|
+
container?: HTMLDivElement;
|
|
16
|
+
canvas?: HTMLCanvasElement;
|
|
17
|
+
width?: number;
|
|
18
|
+
height?: number;
|
|
19
|
+
dpr?: number;
|
|
20
|
+
pluginList?: string[];
|
|
21
|
+
};
|
|
22
|
+
get dpr(): number;
|
|
13
23
|
constructor(story: Story, params: {
|
|
14
24
|
container?: HTMLDivElement;
|
|
15
25
|
canvas?: HTMLCanvasElement;
|
|
16
26
|
width?: number;
|
|
17
27
|
height?: number;
|
|
28
|
+
dpr?: number;
|
|
29
|
+
pluginList?: string[];
|
|
18
30
|
});
|
|
19
31
|
resize(w: number, h: number): void;
|
|
20
32
|
protected _initCanvasByContainer(): void;
|
|
21
|
-
protected _initCanvasByCanvas(canvas: HTMLCanvasElement, width: number, height: number): void;
|
|
33
|
+
protected _initCanvasByCanvas(canvas: HTMLCanvasElement, width: number, height: number, dpr: number): void;
|
|
22
34
|
getEventDetail(event: StoryEvent): {
|
|
23
35
|
character: ICharacter;
|
|
24
36
|
characterInfo: undefined;
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.StoryCanvas = void 0;
|
|
5
|
+
}), exports.StoryCanvas = exports.setBrowserEnv = void 0;
|
|
6
6
|
|
|
7
7
|
const vrender_1 = require("@visactor/vrender"), vrender_2 = require("@visactor/vrender");
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
vrender_1.
|
|
9
|
+
function setBrowserEnv() {
|
|
10
|
+
(0, vrender_1.preLoadAllModule)(), (0, vrender_2.loadBrowserEnv)(vrender_1.container),
|
|
11
|
+
vrender_1.vglobal.setEnv("browser");
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.setBrowserEnv = setBrowserEnv;
|
|
11
15
|
|
|
12
16
|
class StoryCanvas {
|
|
13
17
|
getStage() {
|
|
@@ -19,15 +23,20 @@ class StoryCanvas {
|
|
|
19
23
|
get container() {
|
|
20
24
|
return this._container;
|
|
21
25
|
}
|
|
26
|
+
get dpr() {
|
|
27
|
+
var _a;
|
|
28
|
+
return null !== (_a = this._params.dpr) && void 0 !== _a ? _a : vrender_1.vglobal.devicePixelRatio;
|
|
29
|
+
}
|
|
22
30
|
constructor(story, params) {
|
|
23
|
-
this._story = story, this.
|
|
24
|
-
params.canvas && this._initCanvasByCanvas(params.canvas, params.width || 500, params.height || 500);
|
|
31
|
+
this._story = story, this._params = params, this._container = params.container,
|
|
32
|
+
this._container && this._initCanvasByContainer(), params.canvas && this._initCanvasByCanvas(params.canvas, params.width || 500, params.height || 500, params.dpr);
|
|
25
33
|
}
|
|
26
34
|
resize(w, h) {
|
|
27
35
|
this._canvas && (this._canvas.width = w * vrender_1.vglobal.devicePixelRatio, this._canvas.height = h * vrender_1.vglobal.devicePixelRatio,
|
|
28
36
|
this._canvas.style.width = w + "px", this._canvas.style.height = h + "px", this._stage.resize(w, h));
|
|
29
37
|
}
|
|
30
38
|
_initCanvasByContainer() {
|
|
39
|
+
var _a;
|
|
31
40
|
const canvas = document.createElement("canvas");
|
|
32
41
|
canvas.style.position = "absolute", canvas.id = `_visactor_story_canvas_${this._story.id}`,
|
|
33
42
|
this._container.appendChild(canvas), this._canvas = canvas;
|
|
@@ -35,19 +44,20 @@ class StoryCanvas {
|
|
|
35
44
|
canvas: this._canvas,
|
|
36
45
|
width: this._container.clientWidth,
|
|
37
46
|
height: this._container.clientHeight,
|
|
38
|
-
dpr:
|
|
47
|
+
dpr: this.dpr,
|
|
39
48
|
canvasControled: !0,
|
|
40
49
|
autoRender: !0,
|
|
41
50
|
disableDirtyBounds: !0,
|
|
42
51
|
ticker: new vrender_1.ManualTicker([]),
|
|
43
|
-
pluginList:
|
|
52
|
+
pluginList: null !== (_a = this._params.pluginList) && void 0 !== _a ? _a : [],
|
|
44
53
|
event: {
|
|
45
54
|
clickInterval: 300
|
|
46
55
|
}
|
|
47
56
|
});
|
|
48
57
|
this._stage = stage;
|
|
49
58
|
}
|
|
50
|
-
_initCanvasByCanvas(canvas, width, height) {
|
|
59
|
+
_initCanvasByCanvas(canvas, width, height, dpr) {
|
|
60
|
+
var _a;
|
|
51
61
|
this._canvas = canvas;
|
|
52
62
|
const stage = (0, vrender_1.createStage)({
|
|
53
63
|
canvas: this._canvas,
|
|
@@ -57,8 +67,8 @@ class StoryCanvas {
|
|
|
57
67
|
autoRender: !0,
|
|
58
68
|
disableDirtyBounds: !0,
|
|
59
69
|
ticker: new vrender_1.ManualTicker([]),
|
|
60
|
-
pluginList:
|
|
61
|
-
dpr:
|
|
70
|
+
pluginList: null !== (_a = this._params.pluginList) && void 0 !== _a ? _a : [],
|
|
71
|
+
dpr: this.dpr,
|
|
62
72
|
event: {
|
|
63
73
|
clickInterval: 300
|
|
64
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/story/canvas/canvas.ts"],"names":[],"mappings":";;;AAEA,+CAAoG;AACpG,+CAAmD;AAInD,IAAA,0BAAgB,GAAE,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/story/canvas/canvas.ts"],"names":[],"mappings":";;;AAEA,+CAAoG;AACpG,+CAAmD;AAInD,SAAgB,aAAa;IAC3B,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,wBAAc,EAAC,mBAAS,CAAC,CAAC;IAC1B,iBAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5B,CAAC;AAJD,sCAIC;AAED,MAAa,WAAW;IAItB,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAGD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAUD,IAAI,GAAG;;QACL,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,GAAG,mCAAI,iBAAO,CAAC,gBAAgB,CAAC;IACtD,CAAC;IAED,YACE,KAAY,EACZ,MAOC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,MAAM,CAAC,MAAM,IAAI,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,iBAAO,CAAC,gBAAgB,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,iBAAO,CAAC,gBAAgB,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1B;IACH,CAAC;IAES,sBAAsB;;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACnC,MAAM,CAAC,EAAE,GAAG,0BAA0B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;YAClC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,eAAe,EAAE,IAAI;YAErB,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,IAAI;YACxB,MAAM,EAAE,IAAI,sBAAY,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,mCAAI,EAAE;YACzC,KAAK,EAAE;gBACL,aAAa,EAAE,GAAG;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAES,mBAAmB,CAAC,MAAyB,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW;;QACjG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC;YACxB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,KAAK;YACL,MAAM;YACN,eAAe,EAAE,IAAI;YAErB,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,IAAI;YACxB,MAAM,EAAE,IAAI,sBAAY,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,mCAAI,EAAE;YACzC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE;gBACL,aAAa,EAAE,GAAG;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,cAAc,CAAC,KAAiB;QAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,IAAI,aAAa,CAAC;QAClB,IAAI,SAAqB,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACjD,MAAM,aAAa,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,IAAI,EAAE;gBACR,aAAa,GAAG,IAAI,CAAC;gBACrB,SAAS,GAAG,aAAa,CAAC;gBAC1B,OAAO,IAAI,CAAC;aACb;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,SAAS;YACT,aAAa;SACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF;AAhID,kCAgIC","file":"canvas.js","sourcesContent":["import type { Story } from '../story';\nimport type { IStage } from '@visactor/vrender';\nimport { createStage, vglobal, container, preLoadAllModule, ManualTicker } from '@visactor/vrender';\nimport { loadBrowserEnv } from '@visactor/vrender';\nimport type { IStoryCanvas, StoryEvent } from '../interface/runtime-interface';\nimport type { ICharacter } from '../character/runtime-interface';\n\nexport function setBrowserEnv() {\n preLoadAllModule();\n loadBrowserEnv(container);\n vglobal.setEnv('browser');\n}\n\nexport class StoryCanvas implements IStoryCanvas {\n protected _story: Story;\n protected _canvas: HTMLCanvasElement;\n protected _stage: IStage;\n getStage() {\n return this._stage;\n }\n\n getCanvas() {\n return this._canvas;\n }\n\n protected _container: HTMLDivElement | null;\n get container() {\n return this._container;\n }\n\n protected _params: {\n container?: HTMLDivElement;\n canvas?: HTMLCanvasElement;\n width?: number;\n height?: number;\n dpr?: number;\n pluginList?: string[];\n };\n get dpr() {\n return this._params.dpr ?? vglobal.devicePixelRatio;\n }\n\n constructor(\n story: Story,\n params: {\n container?: HTMLDivElement;\n canvas?: HTMLCanvasElement;\n width?: number;\n height?: number;\n dpr?: number;\n pluginList?: string[];\n }\n ) {\n this._story = story;\n this._params = params;\n this._container = params.container;\n this._container && this._initCanvasByContainer();\n params.canvas && this._initCanvasByCanvas(params.canvas, params.width || 500, params.height || 500, params.dpr);\n }\n\n resize(w: number, h: number) {\n if (this._canvas) {\n this._canvas.width = w * vglobal.devicePixelRatio;\n this._canvas.height = h * vglobal.devicePixelRatio;\n this._canvas.style.width = w + 'px';\n this._canvas.style.height = h + 'px';\n this._stage.resize(w, h);\n }\n }\n\n protected _initCanvasByContainer() {\n const canvas = document.createElement('canvas');\n canvas.style.position = 'absolute';\n canvas.id = `_visactor_story_canvas_${this._story.id}`;\n this._container.appendChild(canvas);\n this._canvas = canvas;\n const stage = createStage({\n canvas: this._canvas,\n width: this._container.clientWidth,\n height: this._container.clientHeight,\n dpr: this.dpr,\n canvasControled: true,\n // 得开启自动渲染,否则编辑场景中无法触发视图更新\n autoRender: true,\n disableDirtyBounds: true,\n ticker: new ManualTicker([]),\n pluginList: this._params.pluginList ?? [],\n event: {\n clickInterval: 300\n }\n });\n // @ts-ignore\n this._stage = stage;\n }\n\n protected _initCanvasByCanvas(canvas: HTMLCanvasElement, width: number, height: number, dpr: number) {\n this._canvas = canvas;\n const stage = createStage({\n canvas: this._canvas,\n width,\n height,\n canvasControled: true,\n // 得开启自动渲染,否则编辑场景中无法触发视图更新\n autoRender: true,\n disableDirtyBounds: true,\n ticker: new ManualTicker([]),\n pluginList: this._params.pluginList ?? [],\n dpr: this.dpr,\n event: {\n clickInterval: 300\n }\n });\n // @ts-ignore\n this._stage = stage;\n }\n\n getEventDetail(event: StoryEvent) {\n // 得到交互元素的详细信息\n const characterMap = this._story.getCharacters();\n let characterInfo;\n let character: ICharacter;\n Object.keys(this._story.getCharacters()).find(id => {\n const characterTemp = characterMap[id];\n const info = characterTemp.checkEvent(event);\n if (info) {\n characterInfo = info;\n character = characterTemp;\n return true;\n }\n return false;\n });\n\n return {\n character,\n characterInfo\n };\n }\n\n release() {\n this._stage.release();\n }\n}\n"]}
|
|
@@ -33,8 +33,8 @@ class CharacterChart extends character_1.CharacterVisactor {
|
|
|
33
33
|
ClassType: core_1.VChart,
|
|
34
34
|
vchart: null,
|
|
35
35
|
zIndex: this._spec.zIndex,
|
|
36
|
-
mode: "desktop-browser",
|
|
37
|
-
dpr:
|
|
36
|
+
mode: "node" === this._option.story.option.renderMode ? "desktop-browser" : "node",
|
|
37
|
+
dpr: this._option.canvas.dpr,
|
|
38
38
|
interactive: !1,
|
|
39
39
|
autoRender: !1,
|
|
40
40
|
disableDirtyBounds: !0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/story/character/chart/character.ts"],"names":[],"mappings":"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","file":"character.js","sourcesContent":["import { CommonSpecRuntime } from './runtime/common-spec';\nimport { ComponentSpecRuntime } from './runtime/component-spec';\nimport type { IChartCharacterRuntimeConstructor } from './runtime/interface';\nimport { cloneDeep } from '@visactor/vutils';\nimport { VChart } from '@visactor/vchart/esm/core';\nimport type { IChartCharacterSpec } from '../dsl-interface';\nimport { Chart } from './graphic/vchart-graphic';\nimport { CharacterVisactor } from '../visactor/character';\nimport { SpecProcess } from './spec-process/spec-process';\nimport { ChartDataTempTransform } from './spec-process/data-temp-transform';\nimport type { ITicker } from '@visactor/vrender';\nimport type { IChartTemp } from './temp/interface';\nimport { SeriesSpecRuntime } from './runtime/series-spec';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport { getChartModelWithEvent } from '../../utils/vchart-pick';\nimport { mergeChartOption } from '../../utils/chart';\n\nexport class CharacterChart extends CharacterVisactor {\n static type = 'CharacterChart';\n static RunTime: IChartCharacterRuntimeConstructor[] = [\n ComponentSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n CommonSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n SeriesSpecRuntime as unknown as IChartCharacterRuntimeConstructor\n ];\n\n readonly visActorType = 'chart';\n\n protected declare _specProcess: SpecProcess;\n protected _ticker: ITicker;\n\n declare _graphic: Chart;\n\n protected declare _spec: IChartCharacterSpec;\n get spec() {\n return this._spec;\n }\n\n protected _initSpecProcess(): void {\n this._specProcess = new SpecProcess(this as any, ChartDataTempTransform, this.onSpecReady);\n }\n\n protected _initRuntime(): void {\n CharacterChart.RunTime.forEach(R => {\n this._runtime.push(new R(this));\n });\n }\n\n protected _parserSpec(): void {\n this._specProcess.updateConfig(this._spec);\n }\n protected _initGraphics(): void {\n const { spec, viewBox } = this._getChartOption();\n // @ts-ignore\n this._graphic = new Chart({\n renderCanvas: this._option.canvas.getCanvas(),\n spec,\n ClassType: VChart,\n vchart: null,\n zIndex: this._spec.zIndex,\n mode: 'desktop-browser',\n dpr: window.devicePixelRatio,\n interactive: false,\n autoRender: false,\n disableDirtyBounds: true,\n viewBox,\n ticker: this._option.canvas.getStage().ticker,\n visibleAll: false,\n ...(this._spec.options.panel ?? {}),\n chartInitOptions: mergeChartOption(\n {\n animation: true,\n disableTriggerEvent: true,\n performanceHook: {\n afterInitializeChart: () => {\n (<IChartTemp>this.specProcess.dataTempTransform?.specTemp)?.afterInitializeChart({ character: this });\n this._runtime.forEach(r => r.afterInitializeChart?.());\n },\n afterVRenderDraw: () => {\n this._runtime.forEach(r => r.afterVRenderDraw?.());\n }\n }\n },\n this._spec.options.initOption ?? {}\n )\n });\n this.option.graphicParent.add(this._graphic as any);\n }\n\n setAttributes(attr: Record<string, any>): void {\n // character 的属性\n if (attr.position) {\n this._spec.position = attr.position;\n // 位置属性\n this._graphic.updateViewBox(this.getViewBoxFromSpec().viewBox);\n }\n }\n getViewBoxFromSpec() {\n const layout = getLayoutFromWidget(this._spec.position);\n const viewBox = {\n x1: layout.x,\n x2: layout.x + layout.width,\n y1: layout.y,\n y2: layout.y + layout.height\n };\n return { layout, viewBox };\n }\n\n private _getChartOption() {\n const { layout, viewBox } = this.getViewBoxFromSpec();\n const spec = cloneDeep(this._specProcess.getVisSpec() ?? this._spec.options.spec);\n spec.width = layout.width;\n spec.height = layout.height;\n return {\n viewBox,\n spec\n };\n }\n\n protected _afterRender(): void {\n // console.log('afterRender');\n return;\n }\n protected _updateVisactorSpec(): void {\n this._graphic?.updateSpec(this._specProcess.getVisSpec());\n }\n\n clearCharacter(): void {\n this._graphic.vProduct.release();\n this._graphic.parent.removeChild(this._graphic);\n }\n\n tickTo(t: number): void {\n this._ticker.tickAt(t);\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n if (!(event.detailPath ?? event.path).some(g => g === this._graphic)) {\n return false;\n }\n const chartPath = event.detailPath[event.detailPath.length - 1];\n const result = getChartModelWithEvent(this._graphic.vProduct, event);\n if (!result) {\n // 点击到图表的空白区域\n if (this._graphic.pointInViewBox((event as any).canvasX, (event as any).canvasY)) {\n return {\n part: 'null',\n graphic: null,\n modelInfo: null,\n graphicType: 'null'\n };\n }\n return false;\n }\n const graphic = chartPath?.[chartPath.length - 1];\n return {\n part: result.type,\n modelInfo: result,\n graphic,\n graphicType: graphic.type\n };\n }\n\n release(): void {\n this.option.graphicParent.removeChild(this._graphic as any);\n this._graphic.release && this._graphic.release();\n }\n\n private _reflow() {\n if (!this._graphic) {\n this._initGraphics();\n return;\n }\n const { spec } = this._getChartOption();\n this._graphic.updateSpec(spec);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/story/character/chart/character.ts"],"names":[],"mappings":"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","file":"character.js","sourcesContent":["import { CommonSpecRuntime } from './runtime/common-spec';\nimport { ComponentSpecRuntime } from './runtime/component-spec';\nimport type { IChartCharacterRuntimeConstructor } from './runtime/interface';\nimport { cloneDeep } from '@visactor/vutils';\nimport { VChart } from '@visactor/vchart/esm/core';\nimport type { IChartCharacterSpec } from '../dsl-interface';\nimport { Chart } from './graphic/vchart-graphic';\nimport { CharacterVisactor } from '../visactor/character';\nimport { SpecProcess } from './spec-process/spec-process';\nimport { ChartDataTempTransform } from './spec-process/data-temp-transform';\nimport type { ITicker } from '@visactor/vrender';\nimport type { IChartTemp } from './temp/interface';\nimport { SeriesSpecRuntime } from './runtime/series-spec';\nimport type { StoryEvent } from '../../interface/runtime-interface';\nimport type { ICharacterPickInfo } from '../runtime-interface';\nimport { getLayoutFromWidget } from '../../utils/layout';\nimport { getChartModelWithEvent } from '../../utils/vchart-pick';\nimport { mergeChartOption } from '../../utils/chart';\n\nexport class CharacterChart extends CharacterVisactor {\n static type = 'CharacterChart';\n static RunTime: IChartCharacterRuntimeConstructor[] = [\n ComponentSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n CommonSpecRuntime as unknown as IChartCharacterRuntimeConstructor,\n SeriesSpecRuntime as unknown as IChartCharacterRuntimeConstructor\n ];\n\n readonly visActorType = 'chart';\n\n protected declare _specProcess: SpecProcess;\n protected _ticker: ITicker;\n\n declare _graphic: Chart;\n\n protected declare _spec: IChartCharacterSpec;\n get spec() {\n return this._spec;\n }\n\n protected _initSpecProcess(): void {\n this._specProcess = new SpecProcess(this as any, ChartDataTempTransform, this.onSpecReady);\n }\n\n protected _initRuntime(): void {\n CharacterChart.RunTime.forEach(R => {\n this._runtime.push(new R(this));\n });\n }\n\n protected _parserSpec(): void {\n this._specProcess.updateConfig(this._spec);\n }\n protected _initGraphics(): void {\n const { spec, viewBox } = this._getChartOption();\n // @ts-ignore\n this._graphic = new Chart({\n renderCanvas: this._option.canvas.getCanvas(),\n spec,\n ClassType: VChart,\n vchart: null,\n zIndex: this._spec.zIndex,\n mode: this._option.story.option.renderMode === 'node' ? 'desktop-browser' : 'node',\n dpr: this._option.canvas.dpr,\n interactive: false,\n autoRender: false,\n disableDirtyBounds: true,\n viewBox,\n ticker: this._option.canvas.getStage().ticker,\n visibleAll: false,\n ...(this._spec.options.panel ?? {}),\n chartInitOptions: mergeChartOption(\n {\n animation: true,\n disableTriggerEvent: true,\n performanceHook: {\n afterInitializeChart: () => {\n (<IChartTemp>this.specProcess.dataTempTransform?.specTemp)?.afterInitializeChart({ character: this });\n this._runtime.forEach(r => r.afterInitializeChart?.());\n },\n afterVRenderDraw: () => {\n this._runtime.forEach(r => r.afterVRenderDraw?.());\n }\n }\n },\n this._spec.options.initOption ?? {}\n )\n });\n this.option.graphicParent.add(this._graphic as any);\n }\n\n setAttributes(attr: Record<string, any>): void {\n // character 的属性\n if (attr.position) {\n this._spec.position = attr.position;\n // 位置属性\n this._graphic.updateViewBox(this.getViewBoxFromSpec().viewBox);\n }\n }\n getViewBoxFromSpec() {\n const layout = getLayoutFromWidget(this._spec.position);\n const viewBox = {\n x1: layout.x,\n x2: layout.x + layout.width,\n y1: layout.y,\n y2: layout.y + layout.height\n };\n return { layout, viewBox };\n }\n\n private _getChartOption() {\n const { layout, viewBox } = this.getViewBoxFromSpec();\n const spec = cloneDeep(this._specProcess.getVisSpec() ?? this._spec.options.spec);\n spec.width = layout.width;\n spec.height = layout.height;\n return {\n viewBox,\n spec\n };\n }\n\n protected _afterRender(): void {\n // console.log('afterRender');\n return;\n }\n protected _updateVisactorSpec(): void {\n this._graphic?.updateSpec(this._specProcess.getVisSpec());\n }\n\n clearCharacter(): void {\n this._graphic.vProduct.release();\n this._graphic.parent.removeChild(this._graphic);\n }\n\n tickTo(t: number): void {\n this._ticker.tickAt(t);\n }\n\n checkEvent(event: StoryEvent): false | ICharacterPickInfo {\n if (!(event.detailPath ?? event.path).some(g => g === this._graphic)) {\n return false;\n }\n const chartPath = event.detailPath[event.detailPath.length - 1];\n const result = getChartModelWithEvent(this._graphic.vProduct, event);\n if (!result) {\n // 点击到图表的空白区域\n if (this._graphic.pointInViewBox((event as any).canvasX, (event as any).canvasY)) {\n return {\n part: 'null',\n graphic: null,\n modelInfo: null,\n graphicType: 'null'\n };\n }\n return false;\n }\n const graphic = chartPath?.[chartPath.length - 1];\n return {\n part: result.type,\n modelInfo: result,\n graphic,\n graphicType: graphic.type\n };\n }\n\n release(): void {\n this.option.graphicParent.removeChild(this._graphic as any);\n this._graphic.release && this._graphic.release();\n }\n\n private _reflow() {\n if (!this._graphic) {\n this._initGraphics();\n return;\n }\n const { spec } = this._getChartOption();\n this._graphic.updateSpec(spec);\n }\n}\n"]}
|
package/cjs/story/index.d.ts
CHANGED
package/cjs/story/index.js
CHANGED
|
@@ -17,7 +17,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
17
17
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
|
-
}), exports.registerCharacter = void 0;
|
|
20
|
+
}), exports.registerCharacter = exports.registerEditPlugin = void 0;
|
|
21
21
|
|
|
22
22
|
const character_qipao_1 = require("./character/component/characters/character-qipao"), character_rect_1 = require("./character/component/characters/character-rect"), factory_1 = require("./factory/factory"), vrender_1 = require("@visactor/vrender"), vrender_2 = require("@visactor/vrender"), vchart_graphic_render_1 = require("./character/chart/graphic/vchart-graphic-render"), character_text_1 = require("./character/component/characters/character-text"), vchart_graphic_picker_1 = require("./character/chart/graphic/vchart-graphic-picker"), character_1 = require("../constants/character"), character_line_1 = require("./character/component/characters/character-line"), character_image_1 = require("./character/component/characters/character-image"), character_shape_1 = require("./character/component/characters/character-shape"), vchart_1 = require("./character/chart/characters/vchart"), component_group_graphic_render_1 = require("./character/component/character-group/component-group-graphic-render"), character_timeline_1 = require("./character/component/characters/character-timeline"), rankingBar_1 = require("./character/chart/characters/rankingBar"), character_unit_1 = require("./character/component/characters/character-unit"), splitModule = new vrender_1.ContainerModule((bind => {
|
|
23
23
|
bind(vchart_graphic_render_1.VChartRender).toSelf().inSingletonScope(), bind(vchart_graphic_render_1.ChartRender).toService(vchart_graphic_render_1.VChartRender),
|
|
@@ -25,10 +25,17 @@ const character_qipao_1 = require("./character/component/characters/character-qi
|
|
|
25
25
|
bind(vrender_2.CanvasPickerContribution).toService(vchart_graphic_picker_1.VChartPicker),
|
|
26
26
|
bind(component_group_graphic_render_1.ComponentGroupRender).toSelf().inSingletonScope(),
|
|
27
27
|
bind(vrender_1.GraphicRender).toService(component_group_graphic_render_1.ComponentGroupRender);
|
|
28
|
-
})), editPlugin = new vrender_1.ContainerModule((bind => {
|
|
29
|
-
bind(vrender_1.RichTextEditPlugin).toSelf(), bind(vrender_1.AutoEnablePlugins).toService(vrender_1.RichTextEditPlugin);
|
|
30
28
|
}));
|
|
31
29
|
|
|
30
|
+
function registerEditPlugin() {
|
|
31
|
+
const editPlugin = new vrender_1.ContainerModule((bind => {
|
|
32
|
+
bind(vrender_1.RichTextEditPlugin).toSelf(), bind(vrender_1.AutoEnablePlugins).toService(vrender_1.RichTextEditPlugin);
|
|
33
|
+
}));
|
|
34
|
+
vrender_1.container.load(editPlugin);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
exports.registerEditPlugin = registerEditPlugin;
|
|
38
|
+
|
|
32
39
|
let _register = !1;
|
|
33
40
|
|
|
34
41
|
function registerCharacter() {
|
|
@@ -42,7 +49,7 @@ function registerCharacter() {
|
|
|
42
49
|
factory_1.StoryFactory.registerCharacter(character_1.StoryComponentType.SHAPE, character_shape_1.CharacterComponentShape),
|
|
43
50
|
factory_1.StoryFactory.registerCharacter(character_1.StoryComponentType.TIMELINE, character_timeline_1.CharacterComponentTimeline),
|
|
44
51
|
factory_1.StoryFactory.registerCharacter(character_1.StoryComponentType.UNIT, character_unit_1.CharacterComponentUnit),
|
|
45
|
-
vrender_1.container.load(splitModule)
|
|
52
|
+
vrender_1.container.load(splitModule));
|
|
46
53
|
}
|
|
47
54
|
|
|
48
55
|
exports.registerCharacter = registerCharacter, registerCharacter(), __exportStar(require("./story"), exports);
|
package/cjs/story/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/story/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sFAA2F;AAC3F,oFAAyF;AACzF,+CAAiD;AACjD,+CAAqH;AACrH,+CAA6D;AAC7D,2FAA4F;AAC5F,oFAAyF;AAEzF,2FAA+E;AAC/E,sDAA4D;AAC5D,oFAAyF;AACzF,sFAA2F;AAC3F,sFAA2F;AAC3F,gEAAsE;AACtE,yHAA4G;AAC5G,4FAAiG;AACjG,wEAA8E;AAC9E,oFAAyF;AAEzF,MAAM,WAAW,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,EAAE;IAE7C,IAAI,CAAC,oCAAY,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/C,IAAI,CAAC,mCAAW,CAAC,CAAC,SAAS,CAAC,oCAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,uBAAa,CAAC,CAAC,SAAS,CAAC,mCAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,oCAAY,CAAC,CAAC,EAAE,CAAC,oCAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,kCAAwB,CAAC,CAAC,SAAS,CAAC,oCAAY,CAAC,CAAC;IAGvD,IAAI,CAAC,qDAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,uBAAa,CAAC,CAAC,SAAS,CAAC,qDAAoB,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"sources":["../src/story/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,sFAA2F;AAC3F,oFAAyF;AACzF,+CAAiD;AACjD,+CAAqH;AACrH,+CAA6D;AAC7D,2FAA4F;AAC5F,oFAAyF;AAEzF,2FAA+E;AAC/E,sDAA4D;AAC5D,oFAAyF;AACzF,sFAA2F;AAC3F,sFAA2F;AAC3F,gEAAsE;AACtE,yHAA4G;AAC5G,4FAAiG;AACjG,wEAA8E;AAC9E,oFAAyF;AAEzF,MAAM,WAAW,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,EAAE;IAE7C,IAAI,CAAC,oCAAY,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC/C,IAAI,CAAC,mCAAW,CAAC,CAAC,SAAS,CAAC,oCAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,uBAAa,CAAC,CAAC,SAAS,CAAC,mCAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,oCAAY,CAAC,CAAC,EAAE,CAAC,oCAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,kCAAwB,CAAC,CAAC,SAAS,CAAC,oCAAY,CAAC,CAAC;IAGvD,IAAI,CAAC,qDAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,uBAAa,CAAC,CAAC,SAAS,CAAC,qDAAoB,CAAC,CAAC;AACtD,CAAC,CAAC,CAAC;AAEH,SAAgB,kBAAkB;IAChC,MAAM,UAAU,GAAG,IAAI,yBAAe,CAAC,IAAI,CAAC,EAAE;QAC5C,IAAI,CAAC,4BAAkB,CAAC,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,2BAAiB,CAAC,CAAC,SAAS,CAAC,4BAAkB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAND,gDAMC;AAED,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,SAAgB,iBAAiB;IAC/B,IAAI,SAAS,EAAE;QACb,OAAO;KACR;IACD,SAAS,GAAG,IAAI,CAAC;IACjB,sBAAY,CAAC,iBAAiB,CAAC,wBAAe,CAAC,IAAI,EAAE,wBAAe,CAAC,CAAC;IACtE,sBAAY,CAAC,iBAAiB,CAAC,gCAAmB,CAAC,IAAI,EAAE,gCAAmB,CAAC,CAAC;IAK9E,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,IAAI,EAAE,uCAAsB,CAAC,CAAC;IAChF,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,IAAI,EAAE,uCAAsB,CAAC,CAAC;IAEhF,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,KAAK,EAAE,yCAAuB,CAAC,CAAC;IAClF,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,IAAI,EAAE,uCAAsB,CAAC,CAAC;IAChF,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,KAAK,EAAE,yCAAuB,CAAC,CAAC;IAClF,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,KAAK,EAAE,yCAAuB,CAAC,CAAC;IAClF,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,QAAQ,EAAE,+CAA0B,CAAC,CAAC;IACxF,sBAAY,CAAC,iBAAiB,CAAC,8BAAkB,CAAC,IAAI,EAAE,uCAAsB,CAAC,CAAC;IAEhF,mBAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAtBD,8CAsBC;AAED,iBAAiB,EAAE,CAAC;AAEpB,0CAAwB","file":"index.js","sourcesContent":["import { CharacterComponentQipao } from './character/component/characters/character-qipao';\nimport { CharacterComponentRect } from './character/component/characters/character-rect';\nimport { StoryFactory } from './factory/factory';\nimport { AutoEnablePlugins, ContainerModule, GraphicRender, RichTextEditPlugin, container } from '@visactor/vrender';\nimport { CanvasPickerContribution } from '@visactor/vrender';\nimport { ChartRender, VChartRender } from './character/chart/graphic/vchart-graphic-render';\nimport { CharacterComponentText } from './character/component/characters/character-text';\n// import { CharacterComponentRichText } from './character/component/characters/character-richtext';\nimport { VChartPicker } from './character/chart/graphic/vchart-graphic-picker';\nimport { StoryComponentType } from '../constants/character';\nimport { CharacterComponentLine } from './character/component/characters/character-line';\nimport { CharacterComponentImage } from './character/component/characters/character-image';\nimport { CharacterComponentShape } from './character/component/characters/character-shape';\nimport { VChartCharacter } from './character/chart/characters/vchart';\nimport { ComponentGroupRender } from './character/component/character-group/component-group-graphic-render';\nimport { CharacterComponentTimeline } from './character/component/characters/character-timeline';\nimport { RankingBarCharacter } from './character/chart/characters/rankingBar';\nimport { CharacterComponentUnit } from './character/component/characters/character-unit';\n\nconst splitModule = new ContainerModule(bind => {\n // chart渲染器注入\n bind(VChartRender).toSelf().inSingletonScope();\n bind(ChartRender).toService(VChartRender);\n bind(GraphicRender).toService(ChartRender);\n bind(VChartPicker).to(VChartPicker).inSingletonScope();\n bind(CanvasPickerContribution).toService(VChartPicker);\n\n // component渲染器注入\n bind(ComponentGroupRender).toSelf().inSingletonScope();\n bind(GraphicRender).toService(ComponentGroupRender);\n});\n\nexport function registerEditPlugin() {\n const editPlugin = new ContainerModule(bind => {\n bind(RichTextEditPlugin).toSelf();\n bind(AutoEnablePlugins).toService(RichTextEditPlugin);\n });\n container.load(editPlugin);\n}\n\nlet _register = false;\nexport function registerCharacter() {\n if (_register) {\n return;\n }\n _register = true;\n StoryFactory.registerCharacter(VChartCharacter.type, VChartCharacter);\n StoryFactory.registerCharacter(RankingBarCharacter.type, RankingBarCharacter);\n\n // StoryFactory.registerCharacter('BarChart', CharacterChart);\n // StoryFactory.registerCharacter('CharacterChart', CharacterChart);\n // StoryFactory.registerCharacter('LineChart', CharacterChart);\n StoryFactory.registerCharacter(StoryComponentType.RECT, CharacterComponentRect);\n StoryFactory.registerCharacter(StoryComponentType.TEXT, CharacterComponentText);\n // StoryFactory.registerCharacter(StoryComponentType.RICH_TEXT, CharacterComponentRichText);\n StoryFactory.registerCharacter(StoryComponentType.QIPAO, CharacterComponentQipao);\n StoryFactory.registerCharacter(StoryComponentType.LINE, CharacterComponentLine);\n StoryFactory.registerCharacter(StoryComponentType.IMAGE, CharacterComponentImage);\n StoryFactory.registerCharacter(StoryComponentType.SHAPE, CharacterComponentShape);\n StoryFactory.registerCharacter(StoryComponentType.TIMELINE, CharacterComponentTimeline);\n StoryFactory.registerCharacter(StoryComponentType.UNIT, CharacterComponentUnit);\n\n container.load(splitModule);\n}\n\nregisterCharacter();\n\nexport * from './story';\n"]}
|
|
@@ -10,8 +10,11 @@ export interface IStoryInitOption {
|
|
|
10
10
|
scaleX?: number;
|
|
11
11
|
scaleY?: number;
|
|
12
12
|
};
|
|
13
|
+
dpr?: number;
|
|
14
|
+
renderMode?: 'node' | 'browser';
|
|
13
15
|
}
|
|
14
16
|
export interface IStoryCanvas {
|
|
17
|
+
readonly dpr: number;
|
|
15
18
|
getStage: () => IStage;
|
|
16
19
|
getCanvas: () => HTMLCanvasElement;
|
|
17
20
|
resize: (w: number, height: number) => void;
|
|
@@ -25,6 +28,7 @@ export interface IStory {
|
|
|
25
28
|
readonly id: string;
|
|
26
29
|
readonly player: IPlayer;
|
|
27
30
|
readonly characterTree: ICharacterTree;
|
|
31
|
+
readonly option: IStoryInitOption;
|
|
28
32
|
canvas: IStoryCanvas;
|
|
29
33
|
getCharacters: () => {
|
|
30
34
|
[key: string]: ICharacter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/story/interface/runtime-interface.ts"],"names":[],"mappings":"","file":"runtime-interface.js","sourcesContent":["import type { IGraphic, IStage } from '@visactor/vrender';\nimport type { ICharacter, ICharacterSpec } from '../character';\nimport type { IPlayer } from '../../player/interface/player';\n\nexport interface IStoryInitOption {\n dom?: string | HTMLDivElement; // dom id\n canvas?: string | HTMLCanvasElement; // canvas id\n width?: number;\n height?: number;\n playerOption?: {\n scaleX?: number;\n scaleY?: number;\n };\n}\n\nexport interface IStoryCanvas {\n getStage: () => IStage;\n getCanvas: () => HTMLCanvasElement;\n resize: (w: number, height: number) => void;\n getEventDetail: (event: StoryEvent) => {\n character: ICharacter;\n characterInfo: undefined;\n };\n release: () => void;\n}\n\nexport interface IStory {\n readonly id: string;\n readonly player: IPlayer;\n readonly characterTree: ICharacterTree;\n canvas: IStoryCanvas;\n getCharacters: () => { [key: string]: ICharacter };\n getCharactersById: (key: string) => ICharacter | null;\n}\nexport interface ICharacterTree {\n getCharacters: () => { [key: string]: ICharacter };\n getCharactersById: (key: string) => ICharacter | null;\n addCharacter: (spec: ICharacterSpec) => ICharacter;\n initCharacters: (spec: ICharacterSpec[]) => void;\n}\n\nexport type StoryEvent = Event & {\n detailPath: IGraphic[];\n path: IGraphic[];\n canvasX?: number;\n canvasY?: number;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/story/interface/runtime-interface.ts"],"names":[],"mappings":"","file":"runtime-interface.js","sourcesContent":["import type { IGraphic, IStage } from '@visactor/vrender';\nimport type { ICharacter, ICharacterSpec } from '../character';\nimport type { IPlayer } from '../../player/interface/player';\n\nexport interface IStoryInitOption {\n dom?: string | HTMLDivElement; // dom id\n canvas?: string | HTMLCanvasElement; // canvas id\n width?: number;\n height?: number;\n playerOption?: {\n scaleX?: number;\n scaleY?: number;\n };\n dpr?: number;\n renderMode?: 'node' | 'browser';\n}\n\nexport interface IStoryCanvas {\n readonly dpr: number;\n getStage: () => IStage;\n getCanvas: () => HTMLCanvasElement;\n resize: (w: number, height: number) => void;\n getEventDetail: (event: StoryEvent) => {\n character: ICharacter;\n characterInfo: undefined;\n };\n release: () => void;\n}\n\nexport interface IStory {\n readonly id: string;\n readonly player: IPlayer;\n readonly characterTree: ICharacterTree;\n readonly option: IStoryInitOption;\n canvas: IStoryCanvas;\n getCharacters: () => { [key: string]: ICharacter };\n getCharactersById: (key: string) => ICharacter | null;\n}\nexport interface ICharacterTree {\n getCharacters: () => { [key: string]: ICharacter };\n getCharactersById: (key: string) => ICharacter | null;\n addCharacter: (spec: ICharacterSpec) => ICharacter;\n initCharacters: (spec: ICharacterSpec[]) => void;\n}\n\nexport type StoryEvent = Event & {\n detailPath: IGraphic[];\n path: IGraphic[];\n canvasX?: number;\n canvasY?: number;\n};\n"]}
|
package/cjs/story/story.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export declare class Story implements IStory {
|
|
|
12
12
|
get canvas(): IStoryCanvas;
|
|
13
13
|
get player(): IPlayer;
|
|
14
14
|
get characterTree(): ICharacterTree;
|
|
15
|
+
protected _option: IStoryInitOption;
|
|
16
|
+
get option(): IStoryInitOption;
|
|
15
17
|
constructor(spec: IStorySpec | null, option: IStoryInitOption);
|
|
16
18
|
load(spec: IStorySpec): void;
|
|
17
19
|
getCharacters(): {
|
package/cjs/story/story.js
CHANGED
|
@@ -44,12 +44,16 @@ class Story {
|
|
|
44
44
|
get characterTree() {
|
|
45
45
|
return this._characterTree;
|
|
46
46
|
}
|
|
47
|
+
get option() {
|
|
48
|
+
return this._option;
|
|
49
|
+
}
|
|
47
50
|
constructor(spec, option) {
|
|
48
|
-
this.id = "test-mvp_" + Story._id_++, this._canvas = new canvas_1.StoryCanvas(this, {
|
|
51
|
+
this.id = "test-mvp_" + Story._id_++, this._option = option, this._canvas = new canvas_1.StoryCanvas(this, {
|
|
49
52
|
container: (0, vutils_1.isString)(option.dom) ? document.getElementById(option.dom) : option.dom,
|
|
50
53
|
canvas: (0, vutils_1.isString)(option.canvas) ? document.getElementById(option.canvas) : option.canvas,
|
|
51
54
|
width: option.width,
|
|
52
|
-
height: option.height
|
|
55
|
+
height: option.height,
|
|
56
|
+
dpr: option.dpr
|
|
53
57
|
}), this._player = new player_1.Player(this, option.playerOption), this._characterTree = new character_tree_1.CharacterTree(this),
|
|
54
58
|
spec && this.load(spec);
|
|
55
59
|
}
|
package/cjs/story/story.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/story/story.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA4C;AAG5C,4CAA8C;AAE9C,+CAAmE;AACnE,oEAAgE;AAEhE,6CAA0C;AAE1C,uBAAa,CAAC,WAAW,CAAC,yBAAe,CAAC,CAAC;AAE3C,MAAa,KAAK;IAahB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,YAAY,IAAuB,EAAE,MAAwB;QAC3D,IAAI,CAAC,EAAE,GAAG,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAW,CAAC,IAAI,EAAE;YACnC,SAAS,EAAE,IAAA,iBAAQ,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG;YACtG,MAAM,EAAE,IAAA,iBAAQ,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;YAC/G,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;
|
|
1
|
+
{"version":3,"sources":["../src/story/story.ts"],"names":[],"mappings":"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","file":"story.js","sourcesContent":["import { isString } from '@visactor/vutils';\nimport type { ICharacterTree, IStory, IStoryCanvas, IStoryInitOption } from './interface/runtime-interface';\nimport type { ICharacter } from './character/runtime-interface';\nimport { StoryCanvas } from './canvas/canvas';\nimport type { IStorySpec } from './interface';\nimport { defaultTicker, defaultTimeline } from '@visactor/vrender';\nimport { CharacterTree } from './character-tree/character-tree';\nimport type { IPlayer } from '../player/interface/player';\nimport { Player } from '../player/player';\n\ndefaultTicker.remTimeline(defaultTimeline);\n\nexport class Story implements IStory {\n static _id_ = 0;\n\n protected _player: IPlayer;\n\n readonly id: string;\n\n protected _canvas: IStoryCanvas;\n\n protected _characterTree: ICharacterTree;\n\n protected _spec: IStorySpec;\n\n get canvas() {\n return this._canvas;\n }\n\n get player(): IPlayer {\n return this._player;\n }\n\n get characterTree() {\n return this._characterTree;\n }\n\n protected _option: IStoryInitOption;\n get option() {\n return this._option;\n }\n\n constructor(spec: IStorySpec | null, option: IStoryInitOption) {\n this.id = 'test-mvp_' + Story._id_++;\n this._option = option;\n this._canvas = new StoryCanvas(this, {\n container: isString(option.dom) ? (document.getElementById(option.dom) as HTMLDivElement) : option.dom,\n canvas: isString(option.canvas) ? (document.getElementById(option.canvas) as HTMLCanvasElement) : option.canvas,\n width: option.width,\n height: option.height,\n dpr: option.dpr\n });\n this._player = new Player(this, option.playerOption) as any;\n\n this._characterTree = new CharacterTree(this);\n spec && this.load(spec);\n }\n\n load(spec: IStorySpec) {\n this._spec = spec;\n if (!spec) {\n return;\n }\n this._characterTree.initCharacters(spec.characters);\n this._player.initActs(spec.acts);\n }\n\n getCharacters(): { [key: string]: ICharacter } {\n return this._characterTree.getCharacters();\n }\n\n getCharactersById(key: string) {\n return this._characterTree.getCharactersById(key);\n }\n\n // private _createAct(spec: IActSpec) {\n // this._player.addAct(spec, this._characters);\n // }\n\n play(loop: boolean = true) {\n // player 开始播放\n this._spec && this.load(this._spec);\n this._player.play();\n if (loop) {\n this._player.once('onstop', () => {\n this.play(loop);\n });\n }\n }\n\n pause() {\n this._player.pause();\n return;\n }\n\n async encodeToVideo(actIndexOrId: number, millsecond: number, fps: number) {\n return this._player.encodeToVideo(millsecond, fps);\n }\n\n getPlayer() {\n return this._player;\n }\n\n release() {\n this._player.release();\n this._canvas.release();\n }\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -70786,7 +70786,7 @@
|
|
|
70786
70786
|
_initGraphics() {
|
|
70787
70787
|
var _a, _b;
|
|
70788
70788
|
const { spec, viewBox } = this._getChartOption();
|
|
70789
|
-
this._graphic = new Chart(Object.assign(Object.assign({ renderCanvas: this._option.canvas.getCanvas(), spec, ClassType: VChart, vchart: null, zIndex: this._spec.zIndex, mode: 'desktop-browser', dpr:
|
|
70789
|
+
this._graphic = new Chart(Object.assign(Object.assign({ renderCanvas: this._option.canvas.getCanvas(), spec, ClassType: VChart, vchart: null, zIndex: this._spec.zIndex, mode: this._option.story.option.renderMode === 'node' ? 'desktop-browser' : 'node', dpr: this._option.canvas.dpr, interactive: false, autoRender: false, disableDirtyBounds: true, viewBox, ticker: this._option.canvas.getStage().ticker, visibleAll: false }, ((_a = this._spec.options.panel) !== null && _a !== void 0 ? _a : {})), { chartInitOptions: mergeChartOption({
|
|
70790
70790
|
animation: true,
|
|
70791
70791
|
disableTriggerEvent: true,
|
|
70792
70792
|
performanceHook: {
|
|
@@ -108710,9 +108710,11 @@
|
|
|
108710
108710
|
}
|
|
108711
108711
|
}
|
|
108712
108712
|
|
|
108713
|
-
|
|
108714
|
-
|
|
108715
|
-
|
|
108713
|
+
function setBrowserEnv() {
|
|
108714
|
+
preLoadAllModule();
|
|
108715
|
+
loadBrowserEnv(container);
|
|
108716
|
+
vglobal.setEnv('browser');
|
|
108717
|
+
}
|
|
108716
108718
|
class StoryCanvas {
|
|
108717
108719
|
getStage() {
|
|
108718
108720
|
return this._stage;
|
|
@@ -108723,11 +108725,16 @@
|
|
|
108723
108725
|
get container() {
|
|
108724
108726
|
return this._container;
|
|
108725
108727
|
}
|
|
108728
|
+
get dpr() {
|
|
108729
|
+
var _a;
|
|
108730
|
+
return (_a = this._params.dpr) !== null && _a !== void 0 ? _a : vglobal.devicePixelRatio;
|
|
108731
|
+
}
|
|
108726
108732
|
constructor(story, params) {
|
|
108727
108733
|
this._story = story;
|
|
108734
|
+
this._params = params;
|
|
108728
108735
|
this._container = params.container;
|
|
108729
108736
|
this._container && this._initCanvasByContainer();
|
|
108730
|
-
params.canvas && this._initCanvasByCanvas(params.canvas, params.width || 500, params.height || 500);
|
|
108737
|
+
params.canvas && this._initCanvasByCanvas(params.canvas, params.width || 500, params.height || 500, params.dpr);
|
|
108731
108738
|
}
|
|
108732
108739
|
resize(w, h) {
|
|
108733
108740
|
if (this._canvas) {
|
|
@@ -108739,6 +108746,7 @@
|
|
|
108739
108746
|
}
|
|
108740
108747
|
}
|
|
108741
108748
|
_initCanvasByContainer() {
|
|
108749
|
+
var _a;
|
|
108742
108750
|
const canvas = document.createElement('canvas');
|
|
108743
108751
|
canvas.style.position = 'absolute';
|
|
108744
108752
|
canvas.id = `_visactor_story_canvas_${this._story.id}`;
|
|
@@ -108748,19 +108756,20 @@
|
|
|
108748
108756
|
canvas: this._canvas,
|
|
108749
108757
|
width: this._container.clientWidth,
|
|
108750
108758
|
height: this._container.clientHeight,
|
|
108751
|
-
dpr:
|
|
108759
|
+
dpr: this.dpr,
|
|
108752
108760
|
canvasControled: true,
|
|
108753
108761
|
autoRender: true,
|
|
108754
108762
|
disableDirtyBounds: true,
|
|
108755
108763
|
ticker: new ManualTicker([]),
|
|
108756
|
-
pluginList: [
|
|
108764
|
+
pluginList: (_a = this._params.pluginList) !== null && _a !== void 0 ? _a : [],
|
|
108757
108765
|
event: {
|
|
108758
108766
|
clickInterval: 300
|
|
108759
108767
|
}
|
|
108760
108768
|
});
|
|
108761
108769
|
this._stage = stage;
|
|
108762
108770
|
}
|
|
108763
|
-
_initCanvasByCanvas(canvas, width, height) {
|
|
108771
|
+
_initCanvasByCanvas(canvas, width, height, dpr) {
|
|
108772
|
+
var _a;
|
|
108764
108773
|
this._canvas = canvas;
|
|
108765
108774
|
const stage = createStage({
|
|
108766
108775
|
canvas: this._canvas,
|
|
@@ -108770,8 +108779,8 @@
|
|
|
108770
108779
|
autoRender: true,
|
|
108771
108780
|
disableDirtyBounds: true,
|
|
108772
108781
|
ticker: new ManualTicker([]),
|
|
108773
|
-
pluginList: [
|
|
108774
|
-
dpr:
|
|
108782
|
+
pluginList: (_a = this._params.pluginList) !== null && _a !== void 0 ? _a : [],
|
|
108783
|
+
dpr: this.dpr,
|
|
108775
108784
|
event: {
|
|
108776
108785
|
clickInterval: 300
|
|
108777
108786
|
}
|
|
@@ -108935,13 +108944,18 @@
|
|
|
108935
108944
|
get characterTree() {
|
|
108936
108945
|
return this._characterTree;
|
|
108937
108946
|
}
|
|
108947
|
+
get option() {
|
|
108948
|
+
return this._option;
|
|
108949
|
+
}
|
|
108938
108950
|
constructor(spec, option) {
|
|
108939
108951
|
this.id = 'test-mvp_' + Story._id_++;
|
|
108952
|
+
this._option = option;
|
|
108940
108953
|
this._canvas = new StoryCanvas(this, {
|
|
108941
108954
|
container: isString$3(option.dom) ? document.getElementById(option.dom) : option.dom,
|
|
108942
108955
|
canvas: isString$3(option.canvas) ? document.getElementById(option.canvas) : option.canvas,
|
|
108943
108956
|
width: option.width,
|
|
108944
|
-
height: option.height
|
|
108957
|
+
height: option.height,
|
|
108958
|
+
dpr: option.dpr
|
|
108945
108959
|
});
|
|
108946
108960
|
this._player = new Player(this, option.playerOption);
|
|
108947
108961
|
this._characterTree = new CharacterTree(this);
|
|
@@ -108998,10 +109012,13 @@
|
|
|
108998
109012
|
bind(ComponentGroupRender).toSelf().inSingletonScope();
|
|
108999
109013
|
bind(GraphicRender).toService(ComponentGroupRender);
|
|
109000
109014
|
});
|
|
109001
|
-
|
|
109002
|
-
bind
|
|
109003
|
-
|
|
109004
|
-
|
|
109015
|
+
function registerEditPlugin() {
|
|
109016
|
+
const editPlugin = new ContainerModule(bind => {
|
|
109017
|
+
bind(RichTextEditPlugin).toSelf();
|
|
109018
|
+
bind(AutoEnablePlugins).toService(RichTextEditPlugin);
|
|
109019
|
+
});
|
|
109020
|
+
container.load(editPlugin);
|
|
109021
|
+
}
|
|
109005
109022
|
let _register = false;
|
|
109006
109023
|
function registerCharacter() {
|
|
109007
109024
|
if (_register) {
|
|
@@ -109019,7 +109036,6 @@
|
|
|
109019
109036
|
StoryFactory.registerCharacter(StoryComponentType.TIMELINE, CharacterComponentTimeline);
|
|
109020
109037
|
StoryFactory.registerCharacter(StoryComponentType.UNIT, CharacterComponentUnit);
|
|
109021
109038
|
container.load(splitModule);
|
|
109022
|
-
container.load(editPlugin);
|
|
109023
109039
|
}
|
|
109024
109040
|
registerCharacter();
|
|
109025
109041
|
|
|
@@ -109328,6 +109344,7 @@
|
|
|
109328
109344
|
registerCharacter();
|
|
109329
109345
|
|
|
109330
109346
|
exports.Story = Story;
|
|
109347
|
+
exports.StoryCanvas = StoryCanvas;
|
|
109331
109348
|
exports.axisMarkPick = axisMarkPick;
|
|
109332
109349
|
exports.colorLegendMarkPick = colorLegendMarkPick;
|
|
109333
109350
|
exports.continuousPlayerMarkPick = continuousPlayerMarkPick;
|
|
@@ -109344,8 +109361,10 @@
|
|
|
109344
109361
|
exports.mergeChartOption = mergeChartOption;
|
|
109345
109362
|
exports.mergeSpec = mergeSpec$1;
|
|
109346
109363
|
exports.registerCharacter = registerCharacter;
|
|
109364
|
+
exports.registerEditPlugin = registerEditPlugin;
|
|
109347
109365
|
exports.scrollBarMarkPick = scrollBarMarkPick;
|
|
109348
109366
|
exports.seriesMarkPick = seriesMarkPick;
|
|
109367
|
+
exports.setBrowserEnv = setBrowserEnv;
|
|
109349
109368
|
exports.sizeLegendMarkPick = sizeLegendMarkPick;
|
|
109350
109369
|
exports.titleBarMarkPick = titleBarMarkPick;
|
|
109351
109370
|
|