vislite 0.4.1-alpha.2 → 0.4.1-beta.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.
Files changed (113) hide show
  1. package/.editorconfig +19 -0
  2. package/CHANGELOG +17 -8
  3. package/README.md +16 -1
  4. package/lib/Buffer/index.umd.js +2 -2
  5. package/lib/Buffer/index.umd.min.js +2 -2
  6. package/lib/Canvas/index.umd.js +89 -10
  7. package/lib/Canvas/index.umd.min.js +3 -3
  8. package/lib/Cardinal/index.umd.js +2 -2
  9. package/lib/Cardinal/index.umd.min.js +2 -2
  10. package/lib/Eoap/index.umd.js +2 -2
  11. package/lib/Eoap/index.umd.min.js +2 -2
  12. package/lib/Hermite/index.umd.js +2 -2
  13. package/lib/Hermite/index.umd.min.js +2 -2
  14. package/lib/Matrix4/index.umd.js +2 -2
  15. package/lib/Matrix4/index.umd.min.js +2 -2
  16. package/lib/Mercator/index.umd.js +2 -2
  17. package/lib/Mercator/index.umd.min.js +2 -2
  18. package/lib/OralCanvas/index.es.js +79 -8
  19. package/lib/OralCanvas/index.es.min.js +3 -3
  20. package/lib/OralWebGL/index.es.js +35 -10
  21. package/lib/OralWebGL/index.es.min.js +3 -3
  22. package/lib/SVG/index.umd.js +2 -2
  23. package/lib/SVG/index.umd.min.js +2 -2
  24. package/lib/Shader/index.umd.js +82 -3
  25. package/lib/Shader/index.umd.min.js +3 -3
  26. package/lib/Texture/index.umd.js +3 -5
  27. package/lib/Texture/index.umd.min.js +3 -3
  28. package/lib/TreeLayout/index.umd.js +427 -0
  29. package/lib/TreeLayout/index.umd.min.js +11 -0
  30. package/lib/WebGL/index.umd.js +45 -12
  31. package/lib/WebGL/index.umd.min.js +3 -3
  32. package/lib/animation/index.umd.js +3 -3
  33. package/lib/animation/index.umd.min.js +2 -2
  34. package/lib/formatColor/index.umd.js +59 -0
  35. package/lib/formatColor/index.umd.min.js +11 -0
  36. package/lib/getLoopColors/index.umd.js +2 -2
  37. package/lib/getLoopColors/index.umd.min.js +2 -2
  38. package/lib/getWebGLContext/index.umd.js +2 -2
  39. package/lib/getWebGLContext/index.umd.min.js +2 -2
  40. package/lib/index.umd.js +555 -23
  41. package/lib/index.umd.min.js +3 -3
  42. package/lib/resizeObserver/index.umd.js +48 -0
  43. package/lib/resizeObserver/index.umd.min.js +11 -0
  44. package/lib/rotate/index.umd.js +2 -2
  45. package/lib/rotate/index.umd.min.js +2 -2
  46. package/lib/ruler/index.umd.js +2 -2
  47. package/lib/ruler/index.umd.min.js +2 -2
  48. package/lib/throttle/index.umd.js +68 -0
  49. package/lib/throttle/index.umd.min.js +11 -0
  50. package/lib/viewHandler/index.umd.js +2 -2
  51. package/lib/viewHandler/index.umd.min.js +2 -2
  52. package/package/Buffer/index.ts +1 -0
  53. package/package/Canvas/index.ts +1 -0
  54. package/package/OralCanvas/index.ts +1 -0
  55. package/package/OralWebGL/index.ts +1 -0
  56. package/package/Shader/index.ts +39 -1
  57. package/package/Texture/index.ts +1 -0
  58. package/package/TreeLayout/index.ts +3 -0
  59. package/package/WebGL/index.ts +1 -0
  60. package/package/formatColor/index.ts +3 -0
  61. package/package/index.ts +12 -1
  62. package/package/resizeObserver/index.ts +3 -0
  63. package/package/throttle/index.ts +3 -0
  64. package/package.json +1 -1
  65. package/src/Canvas.ts +7 -3
  66. package/src/Eoap.ts +1 -1
  67. package/src/Matrix4/index.ts +1 -1
  68. package/src/Mercator.ts +1 -1
  69. package/src/SVG.ts +2 -1
  70. package/src/TreeLayout/index.ts +186 -0
  71. package/src/WebGL.ts +7 -3
  72. package/src/animation.ts +2 -3
  73. package/src/common/canvas/config.ts +2 -1
  74. package/src/common/canvas/index.ts +10 -3
  75. package/src/common/canvas/painter.ts +74 -5
  76. package/src/common/mergeOption.ts +7 -0
  77. package/src/common/svg/config.ts +2 -1
  78. package/src/common/svg/index.ts +2 -1
  79. package/src/common/svg/tool.ts +2 -1
  80. package/src/common/tree/index.ts +26 -0
  81. package/src/common/tree/toInnerTree.ts +57 -0
  82. package/src/common/tree/toPlainTree.ts +132 -0
  83. package/src/common/webgl/doDraw.ts +2 -0
  84. package/src/common/webgl/getShader.ts +25 -52
  85. package/src/common/webgl/index.ts +4 -3
  86. package/src/common/webgl/texture.ts +2 -5
  87. package/src/formatColor.ts +45 -0
  88. package/src/interpolation/Cardinal.ts +2 -1
  89. package/src/interpolation/Hermite.ts +1 -1
  90. package/src/resizeObserver.ts +37 -0
  91. package/src/ruler.ts +1 -1
  92. package/src/shader/fsColor.c +8 -0
  93. package/src/shader/fsColors.c +8 -0
  94. package/src/shader/fsCube.c +9 -0
  95. package/src/shader/fsImage.c +9 -0
  96. package/src/shader/vsColor.c +18 -0
  97. package/src/shader/vsColors.c +14 -0
  98. package/src/shader/vsCube.c +14 -0
  99. package/src/shader/vsImage.c +14 -0
  100. package/src/throttle.ts +50 -0
  101. package/src/viewHandler.ts +1 -1
  102. package/types/Canvas.d.ts +12 -0
  103. package/types/CanvasOption.d.ts +2 -2
  104. package/types/Shader.d.ts +6 -0
  105. package/types/Tree.d.ts +38 -0
  106. package/types/TreeConfig.d.ts +25 -0
  107. package/types/TreeLayout.d.ts +49 -0
  108. package/types/TreeOption.d.ts +46 -0
  109. package/types/formatColor.d.ts +3 -0
  110. package/types/index.d.ts +24 -1
  111. package/types/resizeObserver.d.ts +3 -0
  112. package/types/throttle.d.ts +5 -0
  113. package/types/throttleOption.d.ts +20 -0
@@ -0,0 +1,38 @@
1
+ export interface TreeResultType {
2
+
3
+ /**
4
+ * 树的层数
5
+ */
6
+ deep: number
7
+
8
+ node: {
9
+ [id: string]: {
10
+ children: Array<string>
11
+ data: any
12
+ id: string
13
+ pid: string
14
+ left: number
15
+ top: number,
16
+ isOpen: boolean,
17
+ show: boolean
18
+ }
19
+ }
20
+
21
+ /**
22
+ * 根结点id
23
+ */
24
+ root: string
25
+
26
+ /**
27
+ * 树的宽数
28
+ */
29
+ size: number
30
+ }
31
+
32
+ export default interface TreeType {
33
+
34
+ /**
35
+ * 求解单一值
36
+ */
37
+ use(initTree: any): TreeResultType
38
+ }
@@ -0,0 +1,25 @@
1
+ export default interface TreeConfigType {
2
+
3
+ /**
4
+ * 获取根结点的方法
5
+ * @param initTree 原始数据
6
+ * @returns 返回根结点
7
+ */
8
+ root?: (initTree: any) => any
9
+
10
+ /**
11
+ * 获取子结点的方法
12
+ * @param parentTree 父结点
13
+ * @param initTree 原始数据
14
+ * @returns 返回当前父结点的所有子结点数组
15
+ */
16
+ children?: (parentTree: any, initTree: any) => any[]
17
+
18
+ /**
19
+ * 获取结点ID方法
20
+ * @param treedata 当前结点
21
+ * @returns 返回可以唯一标识当前结点的id
22
+ */
23
+ id?: (treedata: any) => string
24
+
25
+ }
@@ -0,0 +1,49 @@
1
+ import TreeType from "./Tree"
2
+ import { TreeResultType } from "./Tree"
3
+ import TreeOptionType from './TreeOption'
4
+
5
+ export default interface TreeLayoutType extends TreeType {
6
+
7
+ /**
8
+ * 设置布局的行为
9
+ * @param option
10
+ */
11
+ setOption(option: TreeOptionType): this
12
+
13
+ /**
14
+ * 单纯的树图坐标计算
15
+ * @param initTree 原始数据
16
+ */
17
+ use(initTree: any, noOpens?: {}): TreeResultType
18
+
19
+ /**
20
+ * 绑定新的数据和渲染方法
21
+ * @param initTree 原始数据
22
+ * @param renderBack 渲染方法
23
+ */
24
+ bind(initTree: any, renderBack: (tree: TreeResultType) => void): this
25
+
26
+ /**
27
+ * 解除绑定
28
+ */
29
+ unbind(): this
30
+
31
+ /**
32
+ * 闭合指定节点
33
+ * @param id
34
+ */
35
+ closeNode(id: string): this
36
+
37
+ /**
38
+ * 展开指定节点
39
+ * @param id
40
+ */
41
+ openNode(id: string): this
42
+
43
+ /**
44
+ * 闭合或展开指定节点
45
+ * @param id
46
+ */
47
+ toggleNode(id: string): this
48
+
49
+ }
@@ -0,0 +1,46 @@
1
+ export default interface TreeOptionType {
2
+
3
+ offsetX?: number
4
+ offsetY?: number
5
+
6
+ /**
7
+ * 树图类型
8
+ */
9
+ type?: string
10
+
11
+ /**
12
+ * 设置成矩形树图(rect)时有效,表示树图方向
13
+ */
14
+ direction?: string
15
+
16
+ /**
17
+ * 树图x坐标
18
+ */
19
+ x?: number
20
+
21
+ /**
22
+ * 树图y坐标
23
+ */
24
+ y?: number
25
+
26
+ /**
27
+ * 设置成矩形树图(rect)时有效,表示矩形宽
28
+ */
29
+ width?: number
30
+
31
+ /**
32
+ * 设置成矩形树图(rect)时有效,表示矩形高
33
+ */
34
+ height?: number
35
+
36
+ /**
37
+ * 设置成圆树图(circle)时有效,表示圆树的半径
38
+ */
39
+ radius?: number
40
+
41
+ /**
42
+ * 切换时长
43
+ */
44
+ duration?: number
45
+
46
+ }
@@ -0,0 +1,3 @@
1
+ export default interface formatColor {
2
+ (color: string, format: string): number[] | string
3
+ }
package/types/index.d.ts CHANGED
@@ -5,6 +5,7 @@ import Matrix4Type from './Matrix4'
5
5
  import rotateType from './rotate'
6
6
 
7
7
  import getLoopColorsType from './getLoopColors'
8
+ import formatColorType from './formatColor'
8
9
  import animationType from './animation'
9
10
  import rulerType from './ruler'
10
11
 
@@ -23,6 +24,11 @@ import TextureType from './Texture'
23
24
  import MapType from './Map'
24
25
 
25
26
  import viewHandlerType from './viewHandler'
27
+ import throttleType from './throttle'
28
+ import resizeObserverType from './resizeObserver'
29
+
30
+ import TreeLayoutType from './TreeLayout'
31
+ import TreeConfigType from './TreeConfig'
26
32
 
27
33
  // 插值
28
34
  interface NewCardinalType extends CardinalType {
@@ -67,6 +73,11 @@ interface NewMercatorType extends MapType {
67
73
  new(scale?: number, center?: number[]): this
68
74
  }
69
75
 
76
+ // 布局
77
+ interface NewTreeLayoutType extends TreeLayoutType {
78
+ new(config?: TreeConfigType): this
79
+ }
80
+
70
81
  export default class VISLite {
71
82
 
72
83
  // 插值
@@ -79,6 +90,7 @@ export default class VISLite {
79
90
 
80
91
  // 工具
81
92
  static getLoopColors: getLoopColorsType
93
+ static formatColor: formatColorType
82
94
  static animation: animationType
83
95
  static ruler: rulerType
84
96
 
@@ -99,6 +111,11 @@ export default class VISLite {
99
111
 
100
112
  // 辅助
101
113
  static viewHandler: viewHandlerType
114
+ static throttle: throttleType
115
+ static resizeObserver: resizeObserverType
116
+
117
+ // 布局
118
+ static TreeLayout: NewTreeLayoutType
102
119
  }
103
120
 
104
121
  // 插值
@@ -111,6 +128,7 @@ export let rotate: rotateType
111
128
 
112
129
  // 工具
113
130
  export let getLoopColors: getLoopColorsType
131
+ export let formatColor: formatColorType
114
132
  export let animation: animationType
115
133
  export let ruler: rulerType
116
134
 
@@ -130,4 +148,9 @@ export let Eoap: NewEoapType
130
148
  export let Mercator: NewMercatorType
131
149
 
132
150
  // 辅助
133
- export let viewHandler: viewHandlerType
151
+ export let viewHandler: viewHandlerType
152
+ export let throttle: throttleType
153
+ export let resizeObserver: resizeObserverType
154
+
155
+ // 布局
156
+ export let TreeLayout: NewTreeLayoutType
@@ -0,0 +1,3 @@
1
+ export default interface resizeObserver {
2
+ (el: HTMLElement | null, callback: Function): Function
3
+ }
@@ -0,0 +1,5 @@
1
+ import throttleOptionType from './throttleOption'
2
+
3
+ export default interface throttle {
4
+ (callback: Function, option?: throttleOptionType): Function
5
+ }
@@ -0,0 +1,20 @@
1
+ export default interface throttleOptionType {
2
+
3
+ /**
4
+ * 节流时长
5
+ */
6
+ time?: number
7
+
8
+ /**
9
+ * 是否持续节流
10
+ */
11
+ keep?: boolean
12
+
13
+ /**
14
+ * 执行时机
15
+ *
16
+ * begin(开始触发)、end(结束触发)、wide(第一次开始触发,其余结束触发)
17
+ */
18
+ opportunity?: string
19
+
20
+ }