vislite 1.2.0 → 1.2.1-alpha.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/AUTHORS.txt +6 -6
- package/CHANGELOG +279 -274
- package/LICENSE +20 -20
- package/README.md +175 -175
- package/lib/Buffer/index.es.js +1 -1
- package/lib/Buffer/index.es.min.js +1 -1
- package/lib/Canvas/index.es.js +1 -1
- package/lib/Canvas/index.es.min.js +1 -1
- package/lib/Cardinal/index.es.js +1 -1
- package/lib/Cardinal/index.es.min.js +1 -1
- package/lib/Eoap/index.es.js +1 -1
- package/lib/Eoap/index.es.min.js +1 -1
- package/lib/Hermite/index.es.js +1 -1
- package/lib/Hermite/index.es.min.js +1 -1
- package/lib/Matrix4/index.es.js +1 -1
- package/lib/Matrix4/index.es.min.js +1 -1
- package/lib/Mercator/index.es.js +1 -1
- package/lib/Mercator/index.es.min.js +1 -1
- package/lib/RawCanvas/index.es.js +1 -1
- package/lib/RawCanvas/index.es.min.js +1 -1
- package/lib/SVG/index.es.js +1 -1
- package/lib/SVG/index.es.min.js +1 -1
- package/lib/Shader/index.es.js +1 -1
- package/lib/Shader/index.es.min.js +1 -1
- package/lib/Texture/index.es.js +1 -1
- package/lib/Texture/index.es.min.js +1 -1
- package/lib/TreeLayout/index.es.js +1 -1
- package/lib/TreeLayout/index.es.min.js +1 -1
- package/lib/animation/index.es.js +1 -1
- package/lib/animation/index.es.min.js +1 -1
- package/lib/assemble/index.es.js +1 -1
- package/lib/assemble/index.es.min.js +1 -1
- package/lib/getLoopColors/index.es.js +1 -1
- package/lib/getLoopColors/index.es.min.js +1 -1
- package/lib/getWebGLContext/index.es.js +1 -1
- package/lib/getWebGLContext/index.es.min.js +1 -1
- package/lib/index.umd.js +1 -1
- package/lib/index.umd.min.js +1 -1
- package/lib/initOption/index.es.js +1 -1
- package/lib/initOption/index.es.min.js +1 -1
- package/lib/mergeOption/index.es.js +1 -1
- package/lib/mergeOption/index.es.min.js +1 -1
- package/lib/move/index.es.js +1 -1
- package/lib/move/index.es.min.js +1 -1
- package/lib/rotate/index.es.js +1 -1
- package/lib/rotate/index.es.min.js +1 -1
- package/lib/ruler/index.es.js +1 -1
- package/lib/ruler/index.es.min.js +1 -1
- package/lib/scale/index.es.js +1 -1
- package/lib/scale/index.es.min.js +1 -1
- package/lib/throttle/index.es.js +1 -1
- package/lib/throttle/index.es.min.js +1 -1
- package/minialipay/ui-canvas/drawImage.js +35 -35
- package/minialipay/ui-canvas/index.acss +4 -4
- package/minialipay/ui-canvas/index.axml +3 -3
- package/minialipay/ui-canvas/index.d.ts +1 -1
- package/minialipay/ui-canvas/index.js +100 -100
- package/minialipay/ui-canvas/index.json +6 -6
- package/miniprogram/ui-canvas/drawImage.js +35 -35
- package/miniprogram/ui-canvas/index.js +117 -117
- package/miniprogram/ui-canvas/index.json +4 -4
- package/miniprogram/ui-canvas/index.wxml +4 -4
- package/miniprogram/ui-canvas/index.wxss +5 -5
- package/package/Buffer/index.ts +2 -2
- package/package/Canvas/index.ts +2 -2
- package/package/Cardinal/index.ts +2 -2
- package/package/Eoap/index.ts +2 -2
- package/package/Hermite/index.ts +2 -2
- package/package/Matrix4/index.ts +2 -2
- package/package/Mercator/index.ts +2 -2
- package/package/RawCanvas/index.ts +2 -2
- package/package/SVG/index.ts +2 -2
- package/package/Shader/index.ts +2 -2
- package/package/Texture/index.ts +2 -2
- package/package/TreeLayout/index.ts +2 -2
- package/package/animation/index.ts +2 -2
- package/package/assemble/index.ts +2 -2
- package/package/getLoopColors/index.ts +2 -2
- package/package/getWebGLContext/index.ts +40 -40
- package/package/index.ts +75 -75
- package/package/initOption/index.ts +2 -2
- package/package/mergeOption/index.ts +2 -2
- package/package/move/index.ts +2 -2
- package/package/rotate/index.ts +2 -2
- package/package/ruler/index.ts +2 -2
- package/package/scale/index.ts +2 -2
- package/package/throttle/index.ts +2 -2
- package/package.json +78 -78
- package/src/Canvas.ts +84 -84
- package/src/Eoap.ts +66 -66
- package/src/Matrix4/index.ts +84 -84
- package/src/Matrix4/move.ts +12 -12
- package/src/Matrix4/rotate.ts +15 -15
- package/src/Matrix4/scale.ts +11 -11
- package/src/Matrix4/transform.ts +64 -64
- package/src/Mercator.ts +27 -27
- package/src/SVG.ts +24 -24
- package/src/common/assemble.ts +22 -22
- package/src/common/canvas/arc.ts +51 -51
- package/src/common/canvas/config.ts +158 -158
- package/src/common/canvas/default.ts +61 -61
- package/src/common/canvas/gradient.ts +31 -31
- package/src/common/canvas/index.ts +188 -188
- package/src/common/canvas/painter.ts +430 -430
- package/src/common/canvas/texts.ts +18 -18
- package/src/common/option.ts +29 -29
- package/src/common/setStyle.ts +5 -5
- package/src/common/svg/config.ts +194 -194
- package/src/common/svg/default.ts +26 -26
- package/src/common/svg/gradient.ts +53 -53
- package/src/common/svg/index.ts +332 -332
- package/src/common/svg/tool.ts +42 -42
- package/src/common/tree/index.ts +25 -25
- package/src/common/tree/toInnerTree.ts +59 -59
- package/src/common/tree/toPlainTree.ts +132 -132
- package/src/common/type.ts +26 -26
- package/src/common/webgl/buffer.ts +79 -79
- package/src/common/webgl/getWebGLContext.ts +45 -45
- package/src/common/webgl/shader.ts +75 -75
- package/src/common/webgl/texture.ts +97 -97
- package/src/getLoopColors.ts +42 -42
- package/src/interpolation/Cardinal.ts +110 -110
- package/src/interpolation/Hermite.ts +65 -65
- package/src/layout/TreeLayout.ts +188 -188
- package/src/move.ts +7 -7
- package/src/rotate.ts +7 -7
- package/src/ruler.ts +209 -209
- package/src/scale.ts +6 -6
- package/types/Buffer.d.ts +23 -23
- package/types/Canvas.d.ts +344 -344
- package/types/CanvasConfig.d.ts +116 -116
- package/types/CanvasOption.d.ts +8 -8
- package/types/CanvasOpts.d.ts +9 -9
- package/types/Cardinal.d.ts +13 -13
- package/types/Gradient.d.ts +14 -14
- package/types/Hermite.d.ts +18 -18
- package/types/Map.d.ts +9 -9
- package/types/Matrix4.d.ts +47 -47
- package/types/SVG.d.ts +243 -243
- package/types/SVGConfig.d.ts +89 -89
- package/types/Shader.d.ts +16 -16
- package/types/Texture.d.ts +16 -16
- package/types/Tree.d.ts +69 -69
- package/types/TreeConfig.d.ts +36 -36
- package/types/TreeLayout.d.ts +54 -54
- package/types/TreeOption.d.ts +48 -48
- package/types/animation.d.ts +5 -5
- package/types/assemble.d.ts +5 -5
- package/types/getLoopColors.d.ts +5 -5
- package/types/getWebGLContext.d.ts +7 -7
- package/types/index.d.ts +165 -160
- package/types/move.d.ts +5 -5
- package/types/option.d.ts +12 -12
- package/types/painterConfig.d.ts +4 -4
- package/types/rotate.d.ts +5 -5
- package/types/ruler.d.ts +10 -10
- package/types/scale.d.ts +5 -5
- package/types/throttle.d.ts +5 -5
- package/types/ui-canvas.d.ts +4 -4
- package/types/uni-canvas.d.ts +3 -3
- package/uni-app/drawImage.js +19 -19
- package/uni-app/ui-canvas.vue +284 -284
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import getLoopColors from "../../src/getLoopColors"
|
|
2
|
-
|
|
1
|
+
import getLoopColors from "../../src/getLoopColors"
|
|
2
|
+
|
|
3
3
|
export default getLoopColors
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import getWebGLContext from "../../src/common/webgl/getWebGLContext"
|
|
2
|
-
import type { WebGLmodeType } from "../../types/getWebGLContext"
|
|
3
|
-
|
|
4
|
-
export default (el: HTMLElement | null, scale: number = 1, mode?: WebGLmodeType) => {
|
|
5
|
-
if (!el) {
|
|
6
|
-
throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.")
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
let width = el.clientWidth, height = el.clientHeight
|
|
10
|
-
|
|
11
|
-
let ViewCanvas: HTMLCanvasElement
|
|
12
|
-
|
|
13
|
-
let _el = el as any
|
|
14
|
-
|
|
15
|
-
// 如果已经初始化过了
|
|
16
|
-
if (_el._vislite_canvas_) {
|
|
17
|
-
ViewCanvas = _el._vislite_canvas_
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// 否则就初始化
|
|
21
|
-
else {
|
|
22
|
-
|
|
23
|
-
ViewCanvas = document.createElement('canvas')
|
|
24
|
-
el.appendChild(ViewCanvas)
|
|
25
|
-
|
|
26
|
-
_el._vislite_canvas_ = ViewCanvas
|
|
27
|
-
|
|
28
|
-
el.setAttribute('vislite', 'WebGL')
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// 设置画布大小
|
|
33
|
-
|
|
34
|
-
ViewCanvas.style.width = width + "px"
|
|
35
|
-
ViewCanvas.setAttribute('width', width + "")
|
|
36
|
-
|
|
37
|
-
ViewCanvas.style.height = height + "px"
|
|
38
|
-
ViewCanvas.setAttribute('height', height + "")
|
|
39
|
-
|
|
40
|
-
return getWebGLContext(ViewCanvas, scale, {}, mode)
|
|
1
|
+
import getWebGLContext from "../../src/common/webgl/getWebGLContext"
|
|
2
|
+
import type { WebGLmodeType } from "../../types/getWebGLContext"
|
|
3
|
+
|
|
4
|
+
export default (el: HTMLElement | null, scale: number = 1, mode?: WebGLmodeType) => {
|
|
5
|
+
if (!el) {
|
|
6
|
+
throw new Error("VISLite getWebGLContext:The mount point requires an HTMLElement type but encountered null.")
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
let width = el.clientWidth, height = el.clientHeight
|
|
10
|
+
|
|
11
|
+
let ViewCanvas: HTMLCanvasElement
|
|
12
|
+
|
|
13
|
+
let _el = el as any
|
|
14
|
+
|
|
15
|
+
// 如果已经初始化过了
|
|
16
|
+
if (_el._vislite_canvas_) {
|
|
17
|
+
ViewCanvas = _el._vislite_canvas_
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// 否则就初始化
|
|
21
|
+
else {
|
|
22
|
+
|
|
23
|
+
ViewCanvas = document.createElement('canvas')
|
|
24
|
+
el.appendChild(ViewCanvas)
|
|
25
|
+
|
|
26
|
+
_el._vislite_canvas_ = ViewCanvas
|
|
27
|
+
|
|
28
|
+
el.setAttribute('vislite', 'WebGL')
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// 设置画布大小
|
|
33
|
+
|
|
34
|
+
ViewCanvas.style.width = width + "px"
|
|
35
|
+
ViewCanvas.setAttribute('width', width + "")
|
|
36
|
+
|
|
37
|
+
ViewCanvas.style.height = height + "px"
|
|
38
|
+
ViewCanvas.setAttribute('height', height + "")
|
|
39
|
+
|
|
40
|
+
return getWebGLContext(ViewCanvas, scale, {}, mode)
|
|
41
41
|
}
|
package/package/index.ts
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import Cardinal from "./Cardinal/index"
|
|
2
|
-
import Hermite from "./Hermite/index"
|
|
3
|
-
|
|
4
|
-
import Matrix4 from "./Matrix4/index"
|
|
5
|
-
import rotate from "./rotate/index"
|
|
6
|
-
import move from "./move/index"
|
|
7
|
-
import scale from "./scale/index"
|
|
8
|
-
|
|
9
|
-
import getLoopColors from "./getLoopColors/index"
|
|
10
|
-
import animation from "./animation/index"
|
|
11
|
-
import ruler from "./ruler/index"
|
|
12
|
-
|
|
13
|
-
import SVG from "./SVG/index"
|
|
14
|
-
import Canvas from "./Canvas/index"
|
|
15
|
-
import RawCanvas from "../src/common/canvas/index"
|
|
16
|
-
|
|
17
|
-
import getWebGLContext from "./getWebGLContext/index"
|
|
18
|
-
import Shader from "./Shader/index"
|
|
19
|
-
import Texture from "./Texture/index"
|
|
20
|
-
import Buffer from "./Buffer/index"
|
|
21
|
-
|
|
22
|
-
import Eoap from "./Eoap/index"
|
|
23
|
-
import Mercator from "./Mercator/index"
|
|
24
|
-
|
|
25
|
-
import throttle from "./throttle/index"
|
|
26
|
-
|
|
27
|
-
import TreeLayout from "./TreeLayout/index"
|
|
28
|
-
|
|
29
|
-
import initOption from "./initOption/index"
|
|
30
|
-
import mergeOption from "./mergeOption/index"
|
|
31
|
-
|
|
32
|
-
import assemble from "./assemble/index"
|
|
33
|
-
|
|
34
|
-
export default {
|
|
35
|
-
|
|
36
|
-
// 插值
|
|
37
|
-
Cardinal,
|
|
38
|
-
Hermite,
|
|
39
|
-
|
|
40
|
-
// 变换
|
|
41
|
-
Matrix4,
|
|
42
|
-
rotate,
|
|
43
|
-
move,
|
|
44
|
-
scale,
|
|
45
|
-
|
|
46
|
-
// 工具
|
|
47
|
-
getLoopColors,
|
|
48
|
-
animation,
|
|
49
|
-
ruler,
|
|
50
|
-
|
|
51
|
-
// 画笔
|
|
52
|
-
SVG,
|
|
53
|
-
Canvas,
|
|
54
|
-
RawCanvas,
|
|
55
|
-
|
|
56
|
-
// WebGL
|
|
57
|
-
getWebGLContext,
|
|
58
|
-
Shader,
|
|
59
|
-
Texture,
|
|
60
|
-
Buffer,
|
|
61
|
-
|
|
62
|
-
// 投影
|
|
63
|
-
Eoap,
|
|
64
|
-
Mercator,
|
|
65
|
-
|
|
66
|
-
// 辅助
|
|
67
|
-
throttle,
|
|
68
|
-
assemble,
|
|
69
|
-
|
|
70
|
-
// 布局
|
|
71
|
-
TreeLayout,
|
|
72
|
-
|
|
73
|
-
// 配置项
|
|
74
|
-
initOption,
|
|
75
|
-
mergeOption
|
|
1
|
+
import Cardinal from "./Cardinal/index"
|
|
2
|
+
import Hermite from "./Hermite/index"
|
|
3
|
+
|
|
4
|
+
import Matrix4 from "./Matrix4/index"
|
|
5
|
+
import rotate from "./rotate/index"
|
|
6
|
+
import move from "./move/index"
|
|
7
|
+
import scale from "./scale/index"
|
|
8
|
+
|
|
9
|
+
import getLoopColors from "./getLoopColors/index"
|
|
10
|
+
import animation from "./animation/index"
|
|
11
|
+
import ruler from "./ruler/index"
|
|
12
|
+
|
|
13
|
+
import SVG from "./SVG/index"
|
|
14
|
+
import Canvas from "./Canvas/index"
|
|
15
|
+
import RawCanvas from "../src/common/canvas/index"
|
|
16
|
+
|
|
17
|
+
import getWebGLContext from "./getWebGLContext/index"
|
|
18
|
+
import Shader from "./Shader/index"
|
|
19
|
+
import Texture from "./Texture/index"
|
|
20
|
+
import Buffer from "./Buffer/index"
|
|
21
|
+
|
|
22
|
+
import Eoap from "./Eoap/index"
|
|
23
|
+
import Mercator from "./Mercator/index"
|
|
24
|
+
|
|
25
|
+
import throttle from "./throttle/index"
|
|
26
|
+
|
|
27
|
+
import TreeLayout from "./TreeLayout/index"
|
|
28
|
+
|
|
29
|
+
import initOption from "./initOption/index"
|
|
30
|
+
import mergeOption from "./mergeOption/index"
|
|
31
|
+
|
|
32
|
+
import assemble from "./assemble/index"
|
|
33
|
+
|
|
34
|
+
export default {
|
|
35
|
+
|
|
36
|
+
// 插值
|
|
37
|
+
Cardinal,
|
|
38
|
+
Hermite,
|
|
39
|
+
|
|
40
|
+
// 变换
|
|
41
|
+
Matrix4,
|
|
42
|
+
rotate,
|
|
43
|
+
move,
|
|
44
|
+
scale,
|
|
45
|
+
|
|
46
|
+
// 工具
|
|
47
|
+
getLoopColors,
|
|
48
|
+
animation,
|
|
49
|
+
ruler,
|
|
50
|
+
|
|
51
|
+
// 画笔
|
|
52
|
+
SVG,
|
|
53
|
+
Canvas,
|
|
54
|
+
RawCanvas,
|
|
55
|
+
|
|
56
|
+
// WebGL
|
|
57
|
+
getWebGLContext,
|
|
58
|
+
Shader,
|
|
59
|
+
Texture,
|
|
60
|
+
Buffer,
|
|
61
|
+
|
|
62
|
+
// 投影
|
|
63
|
+
Eoap,
|
|
64
|
+
Mercator,
|
|
65
|
+
|
|
66
|
+
// 辅助
|
|
67
|
+
throttle,
|
|
68
|
+
assemble,
|
|
69
|
+
|
|
70
|
+
// 布局
|
|
71
|
+
TreeLayout,
|
|
72
|
+
|
|
73
|
+
// 配置项
|
|
74
|
+
initOption,
|
|
75
|
+
mergeOption
|
|
76
76
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { initOption } from "../../src/common/option"
|
|
2
|
-
|
|
1
|
+
import { initOption } from "../../src/common/option"
|
|
2
|
+
|
|
3
3
|
export default initOption
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { mergeOption } from "../../src/common/option"
|
|
2
|
-
|
|
1
|
+
import { mergeOption } from "../../src/common/option"
|
|
2
|
+
|
|
3
3
|
export default mergeOption
|
package/package/move/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import move from "../../src/move"
|
|
2
|
-
|
|
1
|
+
import move from "../../src/move"
|
|
2
|
+
|
|
3
3
|
export default move
|
package/package/rotate/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import rotate from "../../src/rotate"
|
|
2
|
-
|
|
1
|
+
import rotate from "../../src/rotate"
|
|
2
|
+
|
|
3
3
|
export default rotate
|
package/package/ruler/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import ruler from "../../src/ruler"
|
|
2
|
-
|
|
1
|
+
import ruler from "../../src/ruler"
|
|
2
|
+
|
|
3
3
|
export default ruler
|
package/package/scale/index.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import scale from "../../src/scale"
|
|
2
|
-
|
|
1
|
+
import scale from "../../src/scale"
|
|
2
|
+
|
|
3
3
|
export default scale
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { throttle } from "@oipage/core.js/src/throttle/index"
|
|
2
|
-
|
|
1
|
+
import { throttle } from "@oipage/core.js/src/throttle/index"
|
|
2
|
+
|
|
3
3
|
export default throttle
|
package/package.json
CHANGED
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "vislite",
|
|
3
|
-
"version": "1.2.0",
|
|
4
|
-
"description": "灵活、快速、简单的数据可视化交互式跨端前端库",
|
|
5
|
-
"main": "./lib/index.umd.min.js",
|
|
6
|
-
"typings": "./types/index.d.ts",
|
|
7
|
-
"unpkg": "./lib/index.umd.min.js",
|
|
8
|
-
"jsdelivr": "./lib/index.umd.min.js",
|
|
9
|
-
"sideEffects": false,
|
|
10
|
-
"scripts": {
|
|
11
|
-
"init": "npm install && devby --copy ./node_modules/pageby/dist/pageby.min.js ./docs/js/min/pageby.min.js",
|
|
12
|
-
"dev": "webpack serve --config ./build/webpack.config.js",
|
|
13
|
-
"build": "devby --delete ./lib && node ./build/pkg.js",
|
|
14
|
-
"test": "karma start ./build/karma.config.js",
|
|
15
|
-
"lint": "eslint src/**/*.ts --fix"
|
|
16
|
-
},
|
|
17
|
-
"miniprogram": ".",
|
|
18
|
-
"repository": {
|
|
19
|
-
"type": "git",
|
|
20
|
-
"url": "git+https://github.com/oi-contrib/VISLite.git"
|
|
21
|
-
},
|
|
22
|
-
"keywords": [
|
|
23
|
-
"svg",
|
|
24
|
-
"webgl",
|
|
25
|
-
"typescript",
|
|
26
|
-
"canvas",
|
|
27
|
-
"vue",
|
|
28
|
-
"uniapp",
|
|
29
|
-
"miniprogram",
|
|
30
|
-
"image2d",
|
|
31
|
-
"image3d",
|
|
32
|
-
"oi-contrib",
|
|
33
|
-
"vislite",
|
|
34
|
-
"d3",
|
|
35
|
-
"zxl20070701",
|
|
36
|
-
"three",
|
|
37
|
-
"echarts",
|
|
38
|
-
"datav",
|
|
39
|
-
"webgpu",
|
|
40
|
-
"layout",
|
|
41
|
-
"algorithm"
|
|
42
|
-
],
|
|
43
|
-
"author": {
|
|
44
|
-
"name": "zxl20070701",
|
|
45
|
-
"url": "https://zxl20070701.github.io/notebook/home.html"
|
|
46
|
-
},
|
|
47
|
-
"license": "MIT",
|
|
48
|
-
"bugs": {
|
|
49
|
-
"url": "https://github.com/oi-contrib/VISLite/issues"
|
|
50
|
-
},
|
|
51
|
-
"homepage": "https://oi-contrib.github.io/VISLite",
|
|
52
|
-
"devDependencies": {
|
|
53
|
-
"@rollup/plugin-commonjs": "^25.0.7",
|
|
54
|
-
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
55
|
-
"@rollup/plugin-typescript": "^11.1.0",
|
|
56
|
-
"@types/jasmine": "^4.3.1",
|
|
57
|
-
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
58
|
-
"@typescript-eslint/parser": "^6.14.0",
|
|
59
|
-
"devby": "^0.4.6",
|
|
60
|
-
"eslint": "^8.56.0",
|
|
61
|
-
"karma": "^6.3.10",
|
|
62
|
-
"karma-chrome-launcher": "^3.1.0",
|
|
63
|
-
"karma-jasmine": "^4.0.1",
|
|
64
|
-
"karma-webpack": "^5.0.0",
|
|
65
|
-
"pageby": "^0.1.0",
|
|
66
|
-
"rollup": "^3.20.6",
|
|
67
|
-
"terser": "^5.17.1",
|
|
68
|
-
"ts-loader": "^9.2.8",
|
|
69
|
-
"tslib": "^2.5.0",
|
|
70
|
-
"typescript": "^4.6.2",
|
|
71
|
-
"webpack": "^5.70.0",
|
|
72
|
-
"webpack-cli": "^4.9.2",
|
|
73
|
-
"webpack-dev-server": "^4.7.4"
|
|
74
|
-
},
|
|
75
|
-
"dependencies": {
|
|
76
|
-
"@oipage/core.js": "^0.1.0"
|
|
77
|
-
}
|
|
78
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "vislite",
|
|
3
|
+
"version": "1.2.1-alpha.0",
|
|
4
|
+
"description": "灵活、快速、简单的数据可视化交互式跨端前端库",
|
|
5
|
+
"main": "./lib/index.umd.min.js",
|
|
6
|
+
"typings": "./types/index.d.ts",
|
|
7
|
+
"unpkg": "./lib/index.umd.min.js",
|
|
8
|
+
"jsdelivr": "./lib/index.umd.min.js",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"scripts": {
|
|
11
|
+
"init": "npm install && devby --copy ./node_modules/pageby/dist/pageby.min.js ./docs/js/min/pageby.min.js",
|
|
12
|
+
"dev": "webpack serve --config ./build/webpack.config.js",
|
|
13
|
+
"build": "devby --delete ./lib && node ./build/pkg.js",
|
|
14
|
+
"test": "karma start ./build/karma.config.js",
|
|
15
|
+
"lint": "eslint src/**/*.ts --fix"
|
|
16
|
+
},
|
|
17
|
+
"miniprogram": ".",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "git+https://github.com/oi-contrib/VISLite.git"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"svg",
|
|
24
|
+
"webgl",
|
|
25
|
+
"typescript",
|
|
26
|
+
"canvas",
|
|
27
|
+
"vue",
|
|
28
|
+
"uniapp",
|
|
29
|
+
"miniprogram",
|
|
30
|
+
"image2d",
|
|
31
|
+
"image3d",
|
|
32
|
+
"oi-contrib",
|
|
33
|
+
"vislite",
|
|
34
|
+
"d3",
|
|
35
|
+
"zxl20070701",
|
|
36
|
+
"three",
|
|
37
|
+
"echarts",
|
|
38
|
+
"datav",
|
|
39
|
+
"webgpu",
|
|
40
|
+
"layout",
|
|
41
|
+
"algorithm"
|
|
42
|
+
],
|
|
43
|
+
"author": {
|
|
44
|
+
"name": "zxl20070701",
|
|
45
|
+
"url": "https://zxl20070701.github.io/notebook/home.html"
|
|
46
|
+
},
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"bugs": {
|
|
49
|
+
"url": "https://github.com/oi-contrib/VISLite/issues"
|
|
50
|
+
},
|
|
51
|
+
"homepage": "https://oi-contrib.github.io/VISLite",
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
54
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
55
|
+
"@rollup/plugin-typescript": "^11.1.0",
|
|
56
|
+
"@types/jasmine": "^4.3.1",
|
|
57
|
+
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
|
58
|
+
"@typescript-eslint/parser": "^6.14.0",
|
|
59
|
+
"devby": "^0.4.6",
|
|
60
|
+
"eslint": "^8.56.0",
|
|
61
|
+
"karma": "^6.3.10",
|
|
62
|
+
"karma-chrome-launcher": "^3.1.0",
|
|
63
|
+
"karma-jasmine": "^4.0.1",
|
|
64
|
+
"karma-webpack": "^5.0.0",
|
|
65
|
+
"pageby": "^0.1.0",
|
|
66
|
+
"rollup": "^3.20.6",
|
|
67
|
+
"terser": "^5.17.1",
|
|
68
|
+
"ts-loader": "^9.2.8",
|
|
69
|
+
"tslib": "^2.5.0",
|
|
70
|
+
"typescript": "^4.6.2",
|
|
71
|
+
"webpack": "^5.70.0",
|
|
72
|
+
"webpack-cli": "^4.9.2",
|
|
73
|
+
"webpack-dev-server": "^4.7.4"
|
|
74
|
+
},
|
|
75
|
+
"dependencies": {
|
|
76
|
+
"@oipage/core.js": "^0.1.0"
|
|
77
|
+
}
|
|
78
|
+
}
|
package/src/Canvas.ts
CHANGED
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
import type CanvasType from '../types/Canvas'
|
|
2
|
-
import type CanvasOptionType from '../types/CanvasOption'
|
|
3
|
-
|
|
4
|
-
import OralCanvas from './common/canvas/index'
|
|
5
|
-
import { initOption } from './common/option'
|
|
6
|
-
|
|
7
|
-
class Canvas extends OralCanvas implements CanvasType {
|
|
8
|
-
private __canvas: HTMLCanvasElement
|
|
9
|
-
private __el: HTMLElement
|
|
10
|
-
constructor(el: HTMLElement | null, option: CanvasOptionType = {}, width: number = 0, height: number = 0) {
|
|
11
|
-
if (!el) {
|
|
12
|
-
throw new Error("VISLite Canvas:The mount point requires an HTMLElement type but encountered null.")
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
option = initOption(option, {
|
|
16
|
-
region: true,
|
|
17
|
-
willReadFrequently: false
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
width = width || el.clientWidth
|
|
21
|
-
height = height || el.clientHeight
|
|
22
|
-
|
|
23
|
-
let ViewCanvas: HTMLCanvasElement, RegionCanvas: HTMLCanvasElement | null = null
|
|
24
|
-
|
|
25
|
-
const _el = el as any
|
|
26
|
-
|
|
27
|
-
// 如果已经初始化过了
|
|
28
|
-
if (_el._vislite_canvas_) {
|
|
29
|
-
ViewCanvas = _el._vislite_canvas_[0]
|
|
30
|
-
RegionCanvas = _el._vislite_canvas_[1]
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// 否则就初始化
|
|
34
|
-
else {
|
|
35
|
-
ViewCanvas = document.createElement('canvas')
|
|
36
|
-
el.appendChild(ViewCanvas)
|
|
37
|
-
|
|
38
|
-
if (option.region) {
|
|
39
|
-
RegionCanvas = document.createElement('canvas')
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
_el._vislite_canvas_ = [ViewCanvas, RegionCanvas]
|
|
43
|
-
|
|
44
|
-
el.setAttribute('vislite', 'Canvas')
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// 设置画布大小
|
|
48
|
-
const canvasArray = [RegionCanvas, ViewCanvas]
|
|
49
|
-
for (let index = 0; index < canvasArray.length; index++) {
|
|
50
|
-
const canvas = canvasArray[index]
|
|
51
|
-
if (canvas) {
|
|
52
|
-
canvas.style.width = width + "px"
|
|
53
|
-
canvas.setAttribute('width', (index * width + width) + "")
|
|
54
|
-
|
|
55
|
-
canvas.style.height = height + "px"
|
|
56
|
-
canvas.setAttribute('height', (index * height + height) + "")
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
super(ViewCanvas, RegionCanvas, {
|
|
61
|
-
willReadFrequently: option.willReadFrequently,
|
|
62
|
-
}, 2)
|
|
63
|
-
|
|
64
|
-
this.__canvas = ViewCanvas
|
|
65
|
-
this.__el = el
|
|
66
|
-
this.painter.scale(2, 2)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
toDataURL(): Promise<string> {
|
|
70
|
-
return new Promise(resolve => {
|
|
71
|
-
resolve(this.__canvas.toDataURL())
|
|
72
|
-
})
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
bind(eventName: string, callback: (regionName: string, x: number, y: number) => void) {
|
|
76
|
-
this.__el.addEventListener(eventName, (event: any) => {
|
|
77
|
-
this.getRegion(event.offsetX, event.offsetY).then(regionName => {
|
|
78
|
-
callback(regionName, event.offsetX, event.offsetY)
|
|
79
|
-
})
|
|
80
|
-
})
|
|
81
|
-
return this
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
1
|
+
import type CanvasType from '../types/Canvas'
|
|
2
|
+
import type CanvasOptionType from '../types/CanvasOption'
|
|
3
|
+
|
|
4
|
+
import OralCanvas from './common/canvas/index'
|
|
5
|
+
import { initOption } from './common/option'
|
|
6
|
+
|
|
7
|
+
class Canvas extends OralCanvas implements CanvasType {
|
|
8
|
+
private __canvas: HTMLCanvasElement
|
|
9
|
+
private __el: HTMLElement
|
|
10
|
+
constructor(el: HTMLElement | null, option: CanvasOptionType = {}, width: number = 0, height: number = 0) {
|
|
11
|
+
if (!el) {
|
|
12
|
+
throw new Error("VISLite Canvas:The mount point requires an HTMLElement type but encountered null.")
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
option = initOption(option, {
|
|
16
|
+
region: true,
|
|
17
|
+
willReadFrequently: false
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
width = width || el.clientWidth
|
|
21
|
+
height = height || el.clientHeight
|
|
22
|
+
|
|
23
|
+
let ViewCanvas: HTMLCanvasElement, RegionCanvas: HTMLCanvasElement | null = null
|
|
24
|
+
|
|
25
|
+
const _el = el as any
|
|
26
|
+
|
|
27
|
+
// 如果已经初始化过了
|
|
28
|
+
if (_el._vislite_canvas_) {
|
|
29
|
+
ViewCanvas = _el._vislite_canvas_[0]
|
|
30
|
+
RegionCanvas = _el._vislite_canvas_[1]
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// 否则就初始化
|
|
34
|
+
else {
|
|
35
|
+
ViewCanvas = document.createElement('canvas')
|
|
36
|
+
el.appendChild(ViewCanvas)
|
|
37
|
+
|
|
38
|
+
if (option.region) {
|
|
39
|
+
RegionCanvas = document.createElement('canvas')
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
_el._vislite_canvas_ = [ViewCanvas, RegionCanvas]
|
|
43
|
+
|
|
44
|
+
el.setAttribute('vislite', 'Canvas')
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 设置画布大小
|
|
48
|
+
const canvasArray = [RegionCanvas, ViewCanvas]
|
|
49
|
+
for (let index = 0; index < canvasArray.length; index++) {
|
|
50
|
+
const canvas = canvasArray[index]
|
|
51
|
+
if (canvas) {
|
|
52
|
+
canvas.style.width = width + "px"
|
|
53
|
+
canvas.setAttribute('width', (index * width + width) + "")
|
|
54
|
+
|
|
55
|
+
canvas.style.height = height + "px"
|
|
56
|
+
canvas.setAttribute('height', (index * height + height) + "")
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
super(ViewCanvas, RegionCanvas, {
|
|
61
|
+
willReadFrequently: option.willReadFrequently,
|
|
62
|
+
}, 2)
|
|
63
|
+
|
|
64
|
+
this.__canvas = ViewCanvas
|
|
65
|
+
this.__el = el
|
|
66
|
+
this.painter.scale(2, 2)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
toDataURL(): Promise<string> {
|
|
70
|
+
return new Promise(resolve => {
|
|
71
|
+
resolve(this.__canvas.toDataURL())
|
|
72
|
+
})
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
bind(eventName: string, callback: (regionName: string, x: number, y: number) => void) {
|
|
76
|
+
this.__el.addEventListener(eventName, (event: any) => {
|
|
77
|
+
this.getRegion(event.offsetX, event.offsetY).then(regionName => {
|
|
78
|
+
callback(regionName, event.offsetX, event.offsetY)
|
|
79
|
+
})
|
|
80
|
+
})
|
|
81
|
+
return this
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
85
|
export default Canvas
|