vislite 1.9.0 → 1.10.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/CHANGELOG +15 -0
- package/README.md +53 -52
- package/lib/BarLayout/index.es.js +8 -17
- package/lib/BarLayout/index.es.min.js +1 -10
- package/lib/Buffer/index.es.js +0 -4
- package/lib/Buffer/index.es.min.js +0 -4
- package/lib/Canvas/index.es.js +0 -4
- package/lib/Canvas/index.es.min.js +0 -4
- package/lib/Cardinal/index.es.js +0 -4
- package/lib/Cardinal/index.es.min.js +0 -4
- package/lib/Eoap/index.es.js +0 -4
- package/lib/Eoap/index.es.min.js +0 -4
- package/lib/Hermite/index.es.js +0 -4
- package/lib/Hermite/index.es.min.js +0 -4
- package/lib/MapCoordinate/index.es.js +0 -4
- package/lib/MapCoordinate/index.es.min.js +0 -4
- package/lib/Matrix4/index.es.js +0 -4
- package/lib/Matrix4/index.es.min.js +0 -4
- package/lib/Mercator/index.es.js +0 -4
- package/lib/Mercator/index.es.min.js +0 -4
- package/lib/PieLayout/index.es.js +8 -17
- package/lib/PieLayout/index.es.min.js +1 -9
- package/lib/RawCanvas/index.es.js +0 -4
- package/lib/RawCanvas/index.es.min.js +0 -4
- package/lib/SVG/index.es.js +14 -9
- package/lib/SVG/index.es.min.js +1 -5
- package/lib/Shader/index.es.js +0 -4
- package/lib/Shader/index.es.min.js +0 -4
- package/lib/Texture/index.es.js +0 -4
- package/lib/Texture/index.es.min.js +0 -4
- package/lib/TreeLayout/index.es.js +8 -17
- package/lib/TreeLayout/index.es.min.js +1 -9
- package/lib/animation/index.es.js +8 -17
- package/lib/animation/index.es.min.js +1 -9
- package/lib/assemble/index.es.js +0 -4
- package/lib/assemble/index.es.min.js +0 -4
- package/lib/getLoopColors/index.es.js +0 -4
- package/lib/getLoopColors/index.es.min.js +0 -4
- package/lib/getWebGLContext/index.es.js +0 -4
- package/lib/getWebGLContext/index.es.min.js +0 -4
- package/lib/index.umd.js +27 -28
- package/lib/index.umd.min.js +2 -12
- package/lib/initOption/index.es.js +0 -4
- package/lib/initOption/index.es.min.js +0 -4
- package/lib/mergeOption/index.es.js +0 -4
- package/lib/mergeOption/index.es.min.js +0 -4
- package/lib/move/index.es.js +0 -4
- package/lib/move/index.es.min.js +0 -4
- package/lib/rotate/index.es.js +0 -4
- package/lib/rotate/index.es.min.js +0 -4
- package/lib/ruler/index.es.js +0 -4
- package/lib/ruler/index.es.min.js +0 -4
- package/lib/scale/index.es.js +0 -4
- package/lib/scale/index.es.min.js +0 -4
- package/lib/throttle/index.es.js +4 -13
- package/lib/throttle/index.es.min.js +1 -9
- package/package.json +3 -2
- package/src/SVG.ts +19 -5
- package/types/Buffer.d.ts +15 -8
- package/types/Canvas.d.ts +4 -0
- package/types/CanvasConfig.d.ts +20 -47
- package/types/Cardinal.d.ts +9 -2
- package/types/Gradient.d.ts +10 -4
- package/types/Hermite.d.ts +15 -8
- package/types/Matrix4.d.ts +47 -15
- package/types/SVG.d.ts +4 -0
- package/types/SVGConfig.d.ts +18 -35
- package/types/Shader.d.ts +10 -4
- package/types/Texture.d.ts +12 -6
- package/types/TreeConfig.d.ts +32 -16
- package/types/TreeLayout.d.ts +25 -13
- package/types/animation.d.ts +15 -0
- package/types/assemble.d.ts +10 -1
- package/types/getLoopColors.d.ts +9 -1
- package/types/index.d.ts +52 -27
- package/types/move.d.ts +11 -1
- package/types/painterConfig.d.ts +10 -0
- package/types/rotate.d.ts +11 -1
- package/types/ruler.d.ts +15 -1
- package/types/scale.d.ts +11 -1
- package/types/throttle.d.ts +2 -1
- package/uni-app/ui-canvas.vue +2 -2
package/CHANGELOG
CHANGED
|
@@ -363,3 +363,18 @@ v1.9.0:
|
|
|
363
363
|
1、animation兼容对支付宝小程序等支持
|
|
364
364
|
2、饼布局 pieLayout
|
|
365
365
|
* 优化动画效果
|
|
366
|
+
v1.9.1:
|
|
367
|
+
date:2026-03-04
|
|
368
|
+
changes:
|
|
369
|
+
- 修复bug
|
|
370
|
+
1、修复uni-app(Vue2版本)的在支付宝小程序中运行报错问题
|
|
371
|
+
- 优化改造
|
|
372
|
+
1、调整打包若干细节
|
|
373
|
+
2、优化uni-app(Vue3版本)的在支付宝小程序中不合理的警告提示
|
|
374
|
+
3、针对SVG画笔优化初始化方式
|
|
375
|
+
v1.10.0:
|
|
376
|
+
date:2026-05-01
|
|
377
|
+
changes:
|
|
378
|
+
- 优化改造
|
|
379
|
+
1、校对或补充types相关文件
|
|
380
|
+
2、简化依赖
|
package/README.md
CHANGED
|
@@ -33,31 +33,35 @@
|
|
|
33
33
|
|
|
34
34
|
# VISLite
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
🚀 一款轻量、优雅的跨端数据可视化解决方案
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
`VISLite` 是一个使用 `TypeScript` 构建的高性能可视化库。官网地址:[https://oi-contrib.github.io/VISLite](https://oi-contrib.github.io/VISLite)
|
|
39
|
+
|
|
40
|
+
它提供了统一的跨端画布绘制与计算能力,让开发者只需关注业务逻辑,即可轻松实现 Web、uni-app、微信小程序、支付宝小程序等多平台的可视化应用。除初始化配置存在细微平台差异外,核心业务代码完全通用。
|
|
39
41
|
|
|
40
42
|
## 简介
|
|
41
43
|
|
|
42
|
-
|
|
44
|
+
🎯 轻量级数据可视化开发库 —— 助你更快速、简洁、高效地构建可视化产品。
|
|
43
45
|
|
|
44
46
|
> 本项目已在[开源中国](https://www.oschina.net/p/vislite)中开源,欢迎关注和留言。
|
|
45
47
|
|
|
46
|
-
##
|
|
48
|
+
## 快速开始
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
### 📦 安装
|
|
49
51
|
|
|
50
|
-
```
|
|
52
|
+
```bash
|
|
51
53
|
npm install --save vislite
|
|
52
54
|
```
|
|
53
55
|
|
|
54
|
-
|
|
56
|
+
### 🖼️ 准备画布
|
|
55
57
|
|
|
56
58
|
```html
|
|
57
59
|
<div id="root" style="width:500px;height:300px;"></div>
|
|
58
60
|
```
|
|
59
61
|
|
|
60
|
-
|
|
62
|
+
### 🎨 开始绘制
|
|
63
|
+
|
|
64
|
+
获取画笔即可绘制你需要的任意内容。例如,获取 Canvas 画笔绘制一个红色圆:
|
|
61
65
|
|
|
62
66
|
```js
|
|
63
67
|
import { Canvas } from 'vislite';
|
|
@@ -69,12 +73,10 @@ painter.config({
|
|
|
69
73
|
}).fillCircle(200, 150, 100);
|
|
70
74
|
```
|
|
71
75
|
|
|
72
|
-
|
|
76
|
+
更复杂的图表?我们提供了丰富的辅助 API。以树布局为例,只需简单几步即可绘制树图:
|
|
73
77
|
|
|
74
78
|
<img src="https://oi-contrib.github.io/VISLite/images/docs/tree.png" width="500"/>
|
|
75
79
|
|
|
76
|
-
具体代码如下:
|
|
77
|
-
|
|
78
80
|
```js
|
|
79
81
|
import { Canvas, TreeLayout } from 'vislite';
|
|
80
82
|
|
|
@@ -119,7 +121,6 @@ painter.config({
|
|
|
119
121
|
for (var key in tree.node) {
|
|
120
122
|
var pid = tree.node[key].pid;
|
|
121
123
|
|
|
122
|
-
// 如果父结点存在,和父结点连起来
|
|
123
124
|
if (pid) {
|
|
124
125
|
var dist = (tree.node[key].top - tree.node[pid].top) * 0.5;
|
|
125
126
|
|
|
@@ -150,90 +151,90 @@ for (var key in tree.node) {
|
|
|
150
151
|
}
|
|
151
152
|
```
|
|
152
153
|
|
|
153
|
-
|
|
154
|
+
树布局的详细用法,请参阅:[《教程 / 树布局》](https://oi-contrib.github.io/VISLite/#/course/tree-layout)
|
|
154
155
|
|
|
155
|
-
##
|
|
156
|
+
## 核心功能
|
|
156
157
|
|
|
157
|
-
###
|
|
158
|
+
### 🧮 可视化算法库
|
|
158
159
|
|
|
159
|
-
|
|
160
|
+
我们封装了可视化开发中常用的算法,助你轻松绘制复杂图表。通过简单的配置,即可将任意格式的数据转换为带坐标的绘制数据:
|
|
160
161
|
|
|
161
162
|
<img src="https://oi-contrib.github.io/VISLite/images/docs/what_1.png" width="400"/>
|
|
162
163
|
|
|
163
|
-
>
|
|
164
|
+
> 示例运行地址:[从左到右树状图](https://oi-contrib.github.io/VISLite/#/example/canvas/tree-layout-lr)
|
|
164
165
|
|
|
165
|
-
|
|
166
|
+
除[树布局](https://oi-contrib.github.io/VISLite/#/api/treeLayout)外,还提供:[刻度尺算法](https://oi-contrib.github.io/VISLite/#/api/ruler)、[等角斜方位投影](https://oi-contrib.github.io/VISLite/#/api/eoap)、[墨卡托投影](https://oi-contrib.github.io/VISLite/#/api/mercator)、[插值函数](https://oi-contrib.github.io/VISLite/#/api/cardinal)、[变换矩阵](https://oi-contrib.github.io/VISLite/#/api/matrix4)等。
|
|
166
167
|
|
|
167
|
-
###
|
|
168
|
+
### 🖌️ 增强型画笔
|
|
168
169
|
|
|
169
|
-
|
|
170
|
+
画笔经过精心设计,使用更简单、功能更强大。以 Canvas 为例,抽象出「区域」概念,无论图形多么不规则,都能轻松实现交互:
|
|
170
171
|
|
|
171
172
|
<img src="https://oi-contrib.github.io/VISLite/images/docs/what_2.png" width="400"/>
|
|
172
173
|
|
|
173
|
-
>
|
|
174
|
+
> 示例运行地址:[中国地图](https://oi-contrib.github.io/VISLite/#/example/canvas/china)
|
|
174
175
|
|
|
175
|
-
|
|
176
|
+
画笔不仅为交互而设计区域,还对原生 API 进行了优雅封装,接口更友好直观(如 WebGL 让3D开发零门槛,SVG 无需记忆晦涩属性)。同时自动抹平浏览器兼容性差异。
|
|
176
177
|
|
|
177
|
-
###
|
|
178
|
+
### 📱 跨端支持
|
|
178
179
|
|
|
179
|
-
|
|
180
|
+
除 Web 端外,还支持 uni-app、微信小程序、支付宝小程序等多端,API 统一,极大提升代码复用率:
|
|
180
181
|
|
|
181
182
|
<img src="https://oi-contrib.github.io/VISLite/images/docs/what_3.png" width="600"/>
|
|
182
183
|
|
|
183
|
-
>
|
|
184
|
+
> 示例运行地址:[金额波浪球](https://oi-contrib.github.io/VISLite/#/example/svg/money-schedule)
|
|
184
185
|
|
|
185
|
-
|
|
186
|
+
目前 `Canvas` 已支持:Web、原生微信小程序、原生支付宝小程序、uni-app(编译为 H5、微信小程序、支付宝小程序等)。后续将持续扩展更多端和画笔类型。
|
|
186
187
|
|
|
187
|
-
##
|
|
188
|
+
## 核心优势
|
|
188
189
|
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
190
|
+
- **灵活的引入方式**:支持 npm 安装后的 ES Module / CommonJS 引入,以及 script 标签 CDN 方式
|
|
191
|
+
- **按需加载**:源码 TS 引入、按需 JS 引入或全量引入,多种模式按需选择
|
|
192
|
+
- **简洁与强大并存**:提供可视化基础组件可自由组合,同时也支持常见场景的封装方案
|
|
193
|
+
- **稳定可靠**:同一大版本完全向下兼容(alpha、beta 版本除外),始终保持最新版本为最优选择
|
|
193
194
|
|
|
194
|
-
>
|
|
195
|
+
> 版本规范:alpha(开发版)→ beta(测试版)→ rc(候选版)→ next(预发布版)→ 正式版
|
|
195
196
|
|
|
196
|
-
##
|
|
197
|
+
## 需求反馈
|
|
197
198
|
|
|
198
|
-
|
|
199
|
+
我们致力于不断完善可视化功能,期待你的宝贵建议!欢迎通过 [留言](https://github.com/oi-contrib/VISLite/issues) 与我们交流。
|
|
199
200
|
|
|
200
|
-
|
|
201
|
+
所有建议将在一周内得到回复。
|
|
201
202
|
|
|
202
203
|
## 更新日志
|
|
203
204
|
|
|
204
|
-
详见[正式版更新日志](./CHANGELOG)
|
|
205
|
+
详见[正式版更新日志](./CHANGELOG),每次正式版本发布后更新。
|
|
205
206
|
|
|
206
|
-
##
|
|
207
|
+
## Roadmap
|
|
207
208
|
|
|
208
|
-
|
|
209
|
+
近期工作重点:
|
|
209
210
|
|
|
210
|
-
-
|
|
211
|
-
-
|
|
211
|
+
- 提供常用坐标系和布局组件,加速开发
|
|
212
|
+
- 持续优化文档(提升可读性、丰富示例、完善教程)
|
|
212
213
|
|
|
213
|
-
|
|
214
|
+
有想要的功能?[告诉我们](https://github.com/oi-contrib/VISLite/issues),我们会优先考虑!
|
|
214
215
|
|
|
215
|
-
##
|
|
216
|
+
## 贡献指南
|
|
216
217
|
|
|
217
|
-
|
|
218
|
+
欢迎通过以下方式参与项目:
|
|
218
219
|
|
|
219
|
-
-
|
|
220
|
-
-
|
|
221
|
-
-
|
|
222
|
-
-
|
|
220
|
+
- **代码维护**:处理新功能开发与 Bug 修复
|
|
221
|
+
- **文档完善**:接口文档和教程的编写与优化
|
|
222
|
+
- **测试用例**:补充 test 目录下的测试用例和 docs 目录下的示例
|
|
223
|
+
- **方向讨论**:参与项目未来发展的讨论
|
|
223
224
|
|
|
224
|
-
|
|
225
|
+
有意加入?请通过 [issue](https://github.com/oi-contrib/VISLite/issues) 联系我们,请简要说明情况,我们会尽快回复。
|
|
225
226
|
|
|
226
|
-
|
|
227
|
+
详见 [VISLite 贡献指南](./.github/CONTRIBUTING.md) 和 [AUTHORS.txt](./AUTHORS.txt)
|
|
227
228
|
|
|
228
|
-
##
|
|
229
|
+
## 示例项目
|
|
229
230
|
|
|
230
|
-
|
|
231
|
+
基于 VISLite 及相关插件(如 [@vislite/canvas](https://github.com/oi-contrib/vislite-plugin-canvas)、[@vislite/chart](https://github.com/oi-contrib/vislite-plugin-chart))开发的示例:
|
|
231
232
|
|
|
232
233
|
<img src="https://oi-contrib.github.io/VISLite/images/docs/examples/review1.png" style="width:700px;border:2px solid black;margin-bottom:20px;"/>
|
|
233
234
|
<img src="https://oi-contrib.github.io/VISLite/images/docs/examples/review2.png" style="width:700px;border:2px solid black;margin-bottom:20px;"/>
|
|
234
235
|
<img src="https://oi-contrib.github.io/VISLite/images/docs/examples/review3.png" style="width:300px;border:2px solid black;margin-bottom:20px;"/>
|
|
235
236
|
|
|
236
|
-
|
|
237
|
+
更多示例请访问:[VISLite 示例项目](https://rapid-start.github.io/VISLite-examples/index.html)
|
|
237
238
|
|
|
238
239
|
## 版权
|
|
239
240
|
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* BarLayout of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
function initOption(setOption, defaultOption) {
|
|
6
2
|
for (var key in setOption) {
|
|
7
3
|
defaultOption[key] = setOption[key];
|
|
@@ -147,17 +143,12 @@ function ruler (maxValue, minValue, num, option) {
|
|
|
147
143
|
return rulerArray;
|
|
148
144
|
}
|
|
149
145
|
|
|
150
|
-
/*!
|
|
151
|
-
* animation of OIPage v1.8.0
|
|
152
|
-
* git+https://github.com/oi-contrib/OIPage.git
|
|
153
|
-
*/
|
|
154
|
-
|
|
155
146
|
//当前正在运动的动画的tick函数堆栈
|
|
156
|
-
|
|
147
|
+
let $timers = [];
|
|
157
148
|
//唯一定时器的定时间隔
|
|
158
|
-
|
|
149
|
+
let $interval = 13;
|
|
159
150
|
//定时器ID
|
|
160
|
-
|
|
151
|
+
let $timerId;
|
|
161
152
|
|
|
162
153
|
/**
|
|
163
154
|
* 动画轮播
|
|
@@ -171,13 +162,13 @@ function animation(doback, duration, callback) {
|
|
|
171
162
|
if (arguments.length < 2) duration = 400;
|
|
172
163
|
if (arguments.length < 3) callback = function () { };
|
|
173
164
|
|
|
174
|
-
|
|
165
|
+
let clock = {
|
|
175
166
|
//把tick函数推入堆栈
|
|
176
167
|
"timer": function (tick, duration, callback) {
|
|
177
168
|
if (!tick) {
|
|
178
169
|
throw new Error('Tick is required!');
|
|
179
170
|
}
|
|
180
|
-
|
|
171
|
+
let id = new Date().valueOf() + "_" + (Math.random() * 1000).toFixed(0);
|
|
181
172
|
$timers.push({
|
|
182
173
|
"id": id,
|
|
183
174
|
"createTime": new Date(),
|
|
@@ -209,7 +200,7 @@ function animation(doback, duration, callback) {
|
|
|
209
200
|
|
|
210
201
|
//被定时器调用,遍历timers堆栈
|
|
211
202
|
"tick": function () {
|
|
212
|
-
|
|
203
|
+
let createTime, flag, tick, callback, timer, duration, passTime, timers = $timers;
|
|
213
204
|
|
|
214
205
|
$timers = [];
|
|
215
206
|
$timers.length = 0;
|
|
@@ -252,7 +243,7 @@ function animation(doback, duration, callback) {
|
|
|
252
243
|
}
|
|
253
244
|
};
|
|
254
245
|
|
|
255
|
-
|
|
246
|
+
let id = clock.timer(function (deep) {
|
|
256
247
|
//其中deep为0-1,表示改变的程度
|
|
257
248
|
doback(deep);
|
|
258
249
|
}, duration, callback);
|
|
@@ -261,7 +252,7 @@ function animation(doback, duration, callback) {
|
|
|
261
252
|
// 一个函数
|
|
262
253
|
// 用于在动画结束前结束动画
|
|
263
254
|
stop: function () {
|
|
264
|
-
|
|
255
|
+
let i;
|
|
265
256
|
for (i in $timers) {
|
|
266
257
|
if ($timers[i].id == id) {
|
|
267
258
|
$timers[i].id = void 0;
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* BarLayout of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
|
-
function t(t,i){for(var a in t)i[a]=t[a];return i}
|
|
6
|
-
/*!
|
|
7
|
-
* animation of OIPage v1.8.0
|
|
8
|
-
* git+https://github.com/oi-contrib/OIPage.git
|
|
9
|
-
*/
|
|
10
|
-
var i,a=[];var e=function(){function e(i){void 0===i&&(i={}),this.name="BarLayout",this.__option={x:50,y:350,width:400,height:300,category:"xAxis",duration:200},this.__config=t(i,{})}return e.prototype.setOption=function(i){return t(i,this.__option),this},e.prototype.use=function(t){var i={coordinate:{x:this.__option.x,y:this.__option.y,width:this.__option.width,height:this.__option.height,xAxis:{type:"xAxis"===this.__option.category?"category":"value",data:[]},yAxis:{type:"xAxis"===this.__option.category?"value":"category",data:[]}},node:[]},a=void 0,e=void 0;if(t.data)for(var n=0,r=t.data;n<r.length;n++){var o=r[n];(void 0===a||o>a)&&(a=o),(void 0===e||o<e)&&(e=o)}else{if(!t.value)throw new Error("No data leads to parsing errors");for(var h=0,u=t.value;h<u.length;h++)for(var l=0,s=u[h].data;l<s.length;l++){o=s[l];(void 0===a||o>a)&&(a=o),(void 0===e||o<e)&&(e=o)}}var _,d,f=function(t,i,a,e){if(t<i){var n=i;i=t,t=n}else if(t==i)return[t];var r=function(t){for(var i=t<100&&t>-100?10:.1,a=-1,e=t;10==i?e>=-100&&e<=100:e<=-100||e>=100;)a+=1,e*=i;if(10==i)return Math.pow(10,a);for(var n="0.",r=1;r<a;r++)n+="0";return+(n+"1")}(t-i),o=Math.ceil((t-i)*r/a),h=function(a){var e=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[o+a]||o+a)/r,n=Math.floor(i/e)*e,h=[];h.push(n);for(var u=1;h[h.length-1]<t;u++)h.push(n+e*u);return h},u=h(0),l=function(){for(var t=[],a=u[u.length-1]-(null==e?void 0:e.max),n=0;n<u.length;n++)n+1<u.length&&u[n+1]-a<i||t.push(u[n]-a);return t},s=function(){for(var i=[],a=u[0]-(null==e?void 0:e.min),n=0;n<u.length&&(i[n]=u[n]-a,!(t<=i[n]));n++);return i};if(e){if("max"in e&&"min"in e&&e.max>=t&&e.min<=i){var _=function(){if(u[0]>=e.min&&u[u.length-1]<=e.max)return!0;var t=l();if(t[0]>=e.min&&t[t.length-1]<=e.max)return u=t,!0;var i=s();return i[0]>=e.min&&i[t.length-1]<=e.max?(u=i,!0):void 0};if(_())return u;for(var d=1;d<100;d++){if(u=h(d),_())return u;if(u=h(-d),_())return u}}"max"in e&&e.max>=t?e.max<u[u.length-1]&&(u=l()):"min"in e&&e.min<=i&&e.min>u[0]&&(u=s())}for(var f=0;f<u.length;f++){var c=u[f]+"";/\./.test(c)&&(/9{7,}$/.test(c)?(c=c.replace(/9{7,}$/,""),u[f]=+(c.substring(0,c.length-1)+(+c[c.length-1]+1))):/0{7,}\d$/.test(c)&&(u[f]=+c.replace(/0{7,}\d$/,"")))}return u}(a||0,e||0,5);"xAxis"===this.__option.category?(i.coordinate.xAxis.data=t.category,i.coordinate.yAxis.data=f,_=this.__option.width,d=-1*this.__option.height):(i.coordinate.xAxis.data=f,i.coordinate.yAxis.data=t.category,_=this.__option.height,d=this.__option.width);var c=[],v=_/t.category.length,p=.9*v,g=.05*v;if(t.data)for(var x=0;x<t.data.length;x++)c.push([g+v*x,p]);else{var m=p/t.value.length,y=.9*m,b=.05*m;for(x=0;x<t.value[0].data.length;x++){c[x]=[];for(var w=0;w<t.value.length;w++)c[x].push([g+v*x+m*w+b,y])}}var A=d/(f[f.length-1]-f[0]),k=function(t){return A*(t-f[0])};if("xAxis"===this.__option.category)if(t.data){var B=[];for(x=0;x<t.data.length;x++)B.push({x:this.__option.x+c[x][0],y:this.__option.y,width:c[x][1],height:k(t.data[x]),value:t.data[x]});i.node.push({bar:B})}else for(w=0;w<t.value.length;w++){for(B=[],x=0;x<t.value[w].data.length;x++)B.push({x:this.__option.x+c[x][w][0],y:this.__option.y,width:c[x][w][1],height:k(t.value[w].data[x]),value:t.value[w].data[x]});i.node.push({name:t.value[w].name,bar:B})}else if(t.data){for(B=[],x=0;x<t.data.length;x++)B.push({x:this.__option.x,y:this.__option.y-this.__option.height+c[x][0],width:k(t.data[x]),height:c[x][1],value:t.data[x]});i.node.push({bar:B})}else for(w=0;w<t.value.length;w++){for(B=[],x=0;x<t.value[w].data.length;x++)B.push({x:this.__option.x,y:this.__option.y-this.__option.height+c[x][w][0],width:k(t.value[w].data[x]),height:c[x][w][1],value:t.value[w].data[x]});i.node.push({name:t.value[w].name,bar:B})}return i},e.prototype.bind=function(t,i){return this.__rback=i,this.__oralBar=t,this.__preBar=this.use(this.__oralBar),this.__rback(this.__preBar),this},e.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralBar=null,this.__preBar=null,this},e.prototype.doUpdate=function(){var t=this,e=this.use(this.__oralBar),n=JSON.parse(JSON.stringify(e));return function(t,e,n){arguments.length<2&&(e=400),arguments.length<3&&(n=function(){});var r={timer:function(t,i,e){if(!t)throw new Error("Tick is required!");var n=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return a.push({id:n,createTime:new Date,tick:t,duration:i,callback:e}),r.start(),n},start:function(){if(!i)try{i=globalThis&&globalThis.requestAnimationFrame?globalThis.requestAnimationFrame((function t(){r.tick(),i&&(i=globalThis.requestAnimationFrame(t))})):setInterval(r.tick,13)}catch(t){i=setInterval(r.tick,13)}},tick:function(){var t,i,e,n,o,h,u,l=a;for((a=[]).length=0,i=0;i<l.length;i++)t=(o=l[i]).createTime,e=o.tick,h=o.duration,n=o.callback,e(u=(u=(+(new Date).valueOf()-t.valueOf())/h)>1?1:u),u<1&&o.id?a.push(o):n(u);a.length<=0&&r.stop()},stop:function(){if(i){try{globalThis&&globalThis.requestAnimationFrame?globalThis.cancelAnimationFrame(i):clearInterval(i)}catch(t){clearInterval(i)}i=null}}},o=r.timer((function(i){t(i)}),e,n)}((function(i){t.__preBar||t.__rback(n)}),this.__option.duration,(function(){t.__preBar=e,t.__rback(t.__preBar)})),this},e}();export{e as default};
|
|
1
|
+
function t(t,i){for(var a in t)i[a]=t[a];return i}let i,a=[];var e=function(){function e(i){void 0===i&&(i={}),this.name="BarLayout",this.__option={x:50,y:350,width:400,height:300,category:"xAxis",duration:200},this.__config=t(i,{})}return e.prototype.setOption=function(i){return t(i,this.__option),this},e.prototype.use=function(t){var i={coordinate:{x:this.__option.x,y:this.__option.y,width:this.__option.width,height:this.__option.height,xAxis:{type:"xAxis"===this.__option.category?"category":"value",data:[]},yAxis:{type:"xAxis"===this.__option.category?"value":"category",data:[]}},node:[]},a=void 0,e=void 0;if(t.data)for(var n=0,r=t.data;n<r.length;n++){var o=r[n];(void 0===a||o>a)&&(a=o),(void 0===e||o<e)&&(e=o)}else{if(!t.value)throw new Error("No data leads to parsing errors");for(var h=0,l=t.value;h<l.length;h++)for(var u=0,s=l[h].data;u<s.length;u++){o=s[u];(void 0===a||o>a)&&(a=o),(void 0===e||o<e)&&(e=o)}}var _,d,f=function(t,i,a,e){if(t<i){var n=i;i=t,t=n}else if(t==i)return[t];var r=function(t){for(var i=t<100&&t>-100?10:.1,a=-1,e=t;10==i?e>=-100&&e<=100:e<=-100||e>=100;)a+=1,e*=i;if(10==i)return Math.pow(10,a);for(var n="0.",r=1;r<a;r++)n+="0";return+(n+"1")}(t-i),o=Math.ceil((t-i)*r/a),h=function(a){var e=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[o+a]||o+a)/r,n=Math.floor(i/e)*e,h=[];h.push(n);for(var l=1;h[h.length-1]<t;l++)h.push(n+e*l);return h},l=h(0),u=function(){for(var t=[],a=l[l.length-1]-(null==e?void 0:e.max),n=0;n<l.length;n++)n+1<l.length&&l[n+1]-a<i||t.push(l[n]-a);return t},s=function(){for(var i=[],a=l[0]-(null==e?void 0:e.min),n=0;n<l.length&&(i[n]=l[n]-a,!(t<=i[n]));n++);return i};if(e){if("max"in e&&"min"in e&&e.max>=t&&e.min<=i){var _=function(){if(l[0]>=e.min&&l[l.length-1]<=e.max)return!0;var t=u();if(t[0]>=e.min&&t[t.length-1]<=e.max)return l=t,!0;var i=s();return i[0]>=e.min&&i[t.length-1]<=e.max?(l=i,!0):void 0};if(_())return l;for(var d=1;d<100;d++){if(l=h(d),_())return l;if(l=h(-d),_())return l}}"max"in e&&e.max>=t?e.max<l[l.length-1]&&(l=u()):"min"in e&&e.min<=i&&e.min>l[0]&&(l=s())}for(var f=0;f<l.length;f++){var c=l[f]+"";/\./.test(c)&&(/9{7,}$/.test(c)?(c=c.replace(/9{7,}$/,""),l[f]=+(c.substring(0,c.length-1)+(+c[c.length-1]+1))):/0{7,}\d$/.test(c)&&(l[f]=+c.replace(/0{7,}\d$/,"")))}return l}(a||0,e||0,5);"xAxis"===this.__option.category?(i.coordinate.xAxis.data=t.category,i.coordinate.yAxis.data=f,_=this.__option.width,d=-1*this.__option.height):(i.coordinate.xAxis.data=f,i.coordinate.yAxis.data=t.category,_=this.__option.height,d=this.__option.width);var c=[],p=_/t.category.length,v=.9*p,g=.05*p;if(t.data)for(var x=0;x<t.data.length;x++)c.push([g+p*x,v]);else{var m=v/t.value.length,y=.9*m,b=.05*m;for(x=0;x<t.value[0].data.length;x++){c[x]=[];for(var w=0;w<t.value.length;w++)c[x].push([g+p*x+m*w+b,y])}}var A=d/(f[f.length-1]-f[0]),k=function(t){return A*(t-f[0])};if("xAxis"===this.__option.category)if(t.data){var B=[];for(x=0;x<t.data.length;x++)B.push({x:this.__option.x+c[x][0],y:this.__option.y,width:c[x][1],height:k(t.data[x]),value:t.data[x]});i.node.push({bar:B})}else for(w=0;w<t.value.length;w++){for(B=[],x=0;x<t.value[w].data.length;x++)B.push({x:this.__option.x+c[x][w][0],y:this.__option.y,width:c[x][w][1],height:k(t.value[w].data[x]),value:t.value[w].data[x]});i.node.push({name:t.value[w].name,bar:B})}else if(t.data){for(B=[],x=0;x<t.data.length;x++)B.push({x:this.__option.x,y:this.__option.y-this.__option.height+c[x][0],width:k(t.data[x]),height:c[x][1],value:t.data[x]});i.node.push({bar:B})}else for(w=0;w<t.value.length;w++){for(B=[],x=0;x<t.value[w].data.length;x++)B.push({x:this.__option.x,y:this.__option.y-this.__option.height+c[x][w][0],width:k(t.value[w].data[x]),height:c[x][w][1],value:t.value[w].data[x]});i.node.push({name:t.value[w].name,bar:B})}return i},e.prototype.bind=function(t,i){return this.__rback=i,this.__oralBar=t,this.__preBar=this.use(this.__oralBar),this.__rback(this.__preBar),this},e.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralBar=null,this.__preBar=null,this},e.prototype.doUpdate=function(){var t=this,e=this.use(this.__oralBar),n=JSON.parse(JSON.stringify(e));return function(t,e,n){arguments.length<2&&(e=400),arguments.length<3&&(n=function(){});let r={timer:function(t,i,e){if(!t)throw new Error("Tick is required!");let n=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return a.push({id:n,createTime:new Date,tick:t,duration:i,callback:e}),r.start(),n},start:function(){if(!i)try{i=globalThis&&globalThis.requestAnimationFrame?globalThis.requestAnimationFrame((function t(){r.tick(),i&&(i=globalThis.requestAnimationFrame(t))})):setInterval(r.tick,13)}catch(t){i=setInterval(r.tick,13)}},tick:function(){let t,i,e,n,o,h,l,u=a;for(a=[],a.length=0,i=0;i<u.length;i++)o=u[i],t=o.createTime,e=o.tick,h=o.duration,n=o.callback,l=(+(new Date).valueOf()-t.valueOf())/h,l=l>1?1:l,e(l),l<1&&o.id?a.push(o):n(l);a.length<=0&&r.stop()},stop:function(){if(i){try{globalThis&&globalThis.requestAnimationFrame?globalThis.cancelAnimationFrame(i):clearInterval(i)}catch(t){clearInterval(i)}i=null}}},o=r.timer((function(i){t(i)}),e,n)}((function(i){t.__preBar||t.__rback(n)}),this.__option.duration,(function(){t.__preBar=e,t.__rback(t.__preBar)})),this},e}();export{e as default};
|
package/lib/Buffer/index.es.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Buffer of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=function(){function t(t,i){void 0===i&&(i=!1),this.__painter=t,this.__isElement=i,this.__buffer=function(t){return t.createBuffer()}(t),this.__type=i?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER}return t.prototype.use=function(){return this.__painter.bindBuffer(this.__type,this.__buffer),this},t.prototype.write=function(t){return function(t,i,e,_){var r=e?t.ELEMENT_ARRAY_BUFFER:t.ARRAY_BUFFER;t.bufferData(r,i,_)}(this.__painter,t,this.__isElement,this.__painter.STATIC_DRAW),this.__fsize=t.BYTES_PER_ELEMENT,this},t.prototype.divide=function(t,i,e,_){return void 0===_&&(_=0),function(t,i,e,_,r,n,s){t.vertexAttribPointer(i,e,_,s,r,n),t.enableVertexAttribArray(i)}(this.__painter,t,i,this.__painter.FLOAT,e*this.__fsize,_*this.__fsize,!1),this},t}();export{t as default};
|
package/lib/Canvas/index.es.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Canvas of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=function(i,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},t(i,e)};function i(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var e=function(){return e=Object.assign||function(t){for(var i,e=1,n=arguments.length;e<n;e++)for(var r in i=arguments[e])Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r]);return t},e.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var n=function(t,i,e,n,r){var o=Math.cos(e),s=Math.sin(e);return[+((n-t)*o-(r-i)*s+t).toFixed(7),+((n-t)*s+(r-i)*o+i).toFixed(7)]};var r=function(t,i,e,n,r){return t.beginPath(),t.translate(e,n),t.rotate(r),t.font=i.fontStyle+" "+i.fontWeight+" "+i.fontSize+"px "+i.fontFamily,t},o=function(t,i,e,r,o,s,a,_){if(o>s){var h=o;o=s,s=h}return a%=2*Math.PI,_>=1.999999*Math.PI||_<=1.999999*-Math.PI?_=2*Math.PI:_%=2*Math.PI,function(t,i,e,r,o,s,a){i<0&&(t+=i,i*=-1);var _,h=[];_=n(0,0,t,o,0),h[0]=_[0],h[1]=_[1],_=n(0,0,i,_[0],_[1]),h[2]=_[0],h[3]=_[1],_=n(0,0,t,s,0),h[4]=_[0],h[5]=_[1],_=n(0,0,i,_[0],_[1]),h[6]=_[0],h[7]=_[1],a(t,t+i,h[0]+e,h[1]+r,h[4]+e,h[5]+r,h[2]+e,h[3]+r,h[6]+e,h[7]+r,.5*(s-o))}(a,_,e,r,o,s,(function(n,a,_,h,l,p,u,c,f,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(_,h),t.arc(e,r,o,n,a,!1),"round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,a-Math.PI,a,!0):"-round"==i.arcEndCap?t.arc(.5*(u+f),.5*(c+g),y,a-Math.PI,a,!1):t.lineTo(f,g),t.arc(e,r,s,a,n,!0),"round"==i.arcStartCap?t.arc(.5*(_+l),.5*(h+p),y,n,n-Math.PI,!0):"-round"==i.arcStartCap?t.arc(.5*(_+l),.5*(h+p),y,n,n-Math.PI,!1):t.lineTo(_,h)})),"butt"==i.arcStartCap&&t.closePath(),t},s=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},a=function(t,i,e,n,r,o){t.beginPath();var s=[];if(Array.isArray(i.rectRadius)&&i.rectRadius.length>0)for(var a=0;a<4;a++)s.push.apply(s,i.rectRadius);return s.length>=4?(t.arc(e+s[0],n+s[0],s[0],Math.PI,1.5*Math.PI),t.arc(e+r-s[1],n+s[1],s[1],1.5*Math.PI,0),t.arc(e+r-s[2],n+o-s[2],s[2],0,.5*Math.PI),t.arc(e+s[3],n+o-s[3],s[3],.5*Math.PI,Math.PI),t.closePath()):t.rect(e,n,r,o),t};function _(t,i,e,n,r){for(var o=0,s="",a=0;a<i.length;a++)t.measureText(s+i[a]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[a]):a==i.length-1?(o+=1,r(s+i[a],(o-.5)*n)):s+=i[a];return o*n}function h(t){var i={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt",rectRadius:[]},n={fillStyle:"black",strokeStyle:"black",lineWidth:1,lineCap:"butt",lineJoin:"miter",lineDash:[],textAlign:"left",textBaseline:"middle",shadowBlur:0,shadowColor:"black"};return"special"==t?i:"init"==t?n:e(e({},i),n)}var l=function(){function t(t,i,e,n,r){void 0===i&&(i={}),void 0===n&&(n=!1),this.__region=null,this.__onlyRegion=!1,this.__onlyView=!1,this.__specialConfig=h("special"),this.__initConfig=h("init"),this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left",this.painter.shadowColor="black"}return t.prototype.useConfig=function(t,i){if(this.__region&&!this.__onlyView&&["fillStyle","strokeStyle","shadowBlur","shadowColor"].indexOf(t)<0&&this.__region.useConfig(t,i),this.__isPainter&&this.__onlyRegion)return this;if("lineDash"==t)this.painter.setLineDash&&this.painter.setLineDash(i);else if(t in this.__specialConfig)"fontSize"==t&&(i=Math.round(i)),this.__specialConfig[t]=i;else{if(!(t in this.__initConfig))throw new Error("Illegal configuration item of painter : "+t+" !");this.painter[t]=i}return this},t.prototype.fillText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.fillText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.strokeText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,e,n){return void 0===n&&(n=0),this.__region&&!this.__onlyView&&this.__region.fullText(t,i,e,n),this.__isPainter&&this.__onlyRegion||(this.painter.save(),r(this.painter,this.__specialConfig,i,e,n),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,e,n,o,s){var a=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,e,n,o,s){var a=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,e,n,o,s){var a=this;void 0===o&&(o=1.2),void 0===s&&(s=0);var h=0;if(this.__region&&!this.__onlyView&&(h=this.__region.fillTexts(t,i,e,n,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),r(this.painter,this.__specialConfig,i,e,s);var l=_(this.painter,t,n,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i),a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.beginPath=function(){return this.__region&&!this.__onlyView&&this.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&!this.__onlyView&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,i){return this.__region&&!this.__onlyView&&this.__region.moveTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.moveTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.lineTo=function(t,i){return this.__region&&!this.__onlyView&&this.__region.lineTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.lineTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.arc=function(t,i,e,n,r){return this.__region&&!this.__onlyView&&this.__region.arc(t,i,e,n,r),this.__isPainter&&this.__onlyRegion||this.painter.arc(t,i,e,n,n+r,r<0),this},t.prototype.fill=function(){return this.__region&&!this.__onlyView&&this.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&!this.__onlyView&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&!this.__onlyView&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&!this.__onlyView&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&!this.__onlyView&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&!this.__onlyView&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.quadraticCurveTo(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.quadraticCurveTo(t,i,e,n),this},t.prototype.bezierCurveTo=function(t,i,e,n,r,o){return this.__region&&!this.__onlyView&&this.__region.bezierCurveTo(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||this.painter.bezierCurveTo(t,i,e,n,r,o),this},t.prototype.clearRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.clearRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,i,e,n),this},t.prototype.clearCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.clearCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(this.painter.beginPath(),this.painter.globalCompositeOperation="destination-out",this.painter.arc(t,i,e,0,2*Math.PI),this.painter.fill(),this.painter.globalCompositeOperation="source-over",this.painter.closePath()),this},t.prototype.fillArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.fillArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||o(this.painter,this.__specialConfig,t,i,e,n,r,s).fill(),this},t.prototype.strokeArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.strokeArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||o(this.painter,this.__specialConfig,t,i,e,n,r,s).stroke(),this},t.prototype.fullArc=function(t,i,e,n,r,s){return this.__region&&!this.__onlyView&&this.__region.fullArc(t,i,e,n,r,s),this.__isPainter&&this.__onlyRegion||(o(this.painter,this.__specialConfig,t,i,e,n,r,s),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.fillCircle(t,i,e),this.__isPainter&&this.__onlyRegion||s(this.painter,t,i,e).fill(),this},t.prototype.strokeCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.strokeCircle(t,i,e),this.__isPainter&&this.__onlyRegion||s(this.painter,t,i,e).stroke(),this},t.prototype.fullCircle=function(t,i,e){return this.__region&&!this.__onlyView&&this.__region.fullCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(s(this.painter,t,i,e),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.fillRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||a(this.painter,this.__specialConfig,t,i,e,n).fill(),this},t.prototype.strokeRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.strokeRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||a(this.painter,this.__specialConfig,t,i,e,n).stroke(),this},t.prototype.fullRect=function(t,i,e,n){return this.__region&&!this.__onlyView&&this.__region.fullRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||(a(this.painter,this.__specialConfig,t,i,e,n),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){return Promise.resolve()},t.prototype.drawImage=function(t,i,e,n,r,o){var s=this;return void 0===o&&(o=!1),new Promise((function(a){if(s.__region&&!s.__onlyView&&s.__region.fillRect(i,e,n,r),s.__isPainter&&s.__onlyRegion)a({});else if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),a({});else{var _=new Image;_.onload=function(){s.painter.drawImage(_,i,e,n,r),a({})},_.src=t}}))},t.prototype.translate=function(t,i){return this.painter.translate(t,i),this},t.prototype.rotate=function(t){return this.painter.rotate(t),this},t.prototype.install=function(t){var i=this,e=function(e){if(e in n)throw new Error("VISLite Canvas:Method already exists and cannot be overwritten.");n[e]=function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];var o=t[e].apply(i,n);return null!=o?o:i}},n=this;for(var r in t)e(r);return this},t}();var p=function(t,i){var e={value:function(){return t},setColor:function(n,r){return t.addColorStop(i?i(n):n,r),e}};return e};function u(t,i){for(var e in t)i[e]=t[e];return i}var c=function(t){function e(i,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=t.call(this,i,n,e?new l(e,{willReadFrequently:!0}):void 0,!0,r)||this;return o.name="Canvas",o.__regionList={},o.__regionAssemble=function(t,i,e,n){for(var r=[],o=0;o<n;o++)r[o]=t;return function(){for(var o=0;o<n;o++){if(r[o]+e<i){r[o]=+(r[o]+e).toFixed(7);break}o<n-1&&(r[o]=t)}return r}}(0,255,10,3),o.__scaleSize=r,o.setRegion(""),o}return i(e,t),e.prototype.config=function(t){for(var i in t)this.useConfig(i,t[i]);return this},e.prototype.reset=function(t){return void 0===t&&(t={}),this.config(u(t,h())),this},e.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},e.prototype.onlyView=function(t){return this.__onlyView=t,this},e.prototype.setRegion=function(t){if(this.__region)if(t){if(null==this.__regionList[t]){var i=this.__regionAssemble();this.__regionList[t]="rgb("+i[0]+","+i[1]+","+i[2]+")"}this.__region.useConfig("fillStyle",this.__regionList[t])&&this.__region.useConfig("strokeStyle",this.__regionList[t])}else this.__region.useConfig("fillStyle","#000000")&&this.__region.useConfig("strokeStyle","#000000");return this},e.prototype.getRegion=function(t,i){var e=this;return new Promise((function(n){var r=e.__region?e.__region.painter.getImageData(t-.5,i-.5,1,1):{data:[0,0,0,0]},o=r.data,s=function(){if(e.__region)for(var t in e.__regionList)if("rgb("+o[0]+","+o[1]+","+o[2]+")"==e.__regionList[t]){n(t);break}n("")};o?s():r.then((function(t){o=t,s()}))}))},e.prototype.textWidth=function(t){this.painter.save(),r(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},e.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},e.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},e.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r);return p(o)}(this.painter,t,i,e,n)},e.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n);return p(r)}(this.painter,t,i,e)},e.prototype.createConicGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createConicGradient(n,i,e);return p(o,r?function(t){return r/(2*Math.PI)*t}:void 0)}(this.painter,t,i,e,n)},e.prototype.getColor=function(t,i){t*=this.__scaleSize,i*=this.__scaleSize;var e=this.painter.getImageData(t-.5,i-.5,1,1).data;return"rgba("+e[0]+","+e[1]+","+e[2]+","+e[3]+")"},e}(l),f=function(t){function e(i,e,n,r){void 0===e&&(e={}),void 0===n&&(n=0),void 0===r&&(r=0);var o=this;if(!i)throw new Error("VISLite Canvas:The mount point requires an HTMLElement type but encountered null.");e=u(e,{scale:2,region:!0,willReadFrequently:!1}),n=n||i.clientWidth,r=r||i.clientHeight;var s,a=null,_=i;_._vislite_canvas_?(s=_._vislite_canvas_[0],a=_._vislite_canvas_[1]):(s=document.createElement("canvas"),i.appendChild(s),e.region&&(a=document.createElement("canvas")),_._vislite_canvas_=[s,a],i.setAttribute("vislite","Canvas"));for(var h=[a,s],l=0;l<h.length;l++){var p=h[l];p&&(p.style.width=n+"px",p.setAttribute("width",(1===l?e.scale:1)*n+""),p.style.height=r+"px",p.setAttribute("height",(1===l?e.scale:1)*r+""))}return(o=t.call(this,s,a,{willReadFrequently:e.willReadFrequently},e.scale)||this).__canvas=s,o.__el=i,o.painter.scale(e.scale,e.scale),o}return i(e,t),e.prototype.toDataURL=function(t,i){var e=this;return void 0===t&&(t="image/png"),void 0===i&&(i=.92),new Promise((function(n){n(e.__canvas.toDataURL(t,i))}))},e.prototype.bind=function(t,i){var e=this;return this.__el.addEventListener(t,(function(t){e.getRegion(t.offsetX,t.offsetY).then((function(e){i(e,t.offsetX,t.offsetY)}))})),this},e}(c);export{f as default};
|
package/lib/Cardinal/index.es.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Cardinal of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,_,h,s,e){if(!(t<_))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=_;var n=this.__u*s,o=this.__u*e;return i/=_-t,h/=_-t,this.__MR=[2*i-2*h+n+o,3*h-3*i-2*n-o,n,i],this},t.prototype.use=function(t){if(this.__MR){var i=(t-this.__a)/(this.__b-this.__a),_=i*i;return(i*_*this.__MR[0]+_*this.__MR[1]+i*this.__MR[2]+this.__MR[3])*(this.__b-this.__a)}throw new Error("You shoud first set the position!")},t}(),i=function(){function i(t){void 0===t&&(t=0),this.name="Cardinal",this.__t=t}return i.prototype.setP=function(i){this.__HS={x:[],h:[]};var _,h,s=(i[1][1]-i[0][1])/(i[1][0]-i[0][0]);for(this.__HS.x[0]=i[0][0],_=1;_<i.length;_++){if(i[_][0]<=i[_-1][0])throw new Error("The point position should be increamented!");this.__HS.x[_]=i[_][0],h=_<i.length-1?i[_+1][1]>i[_][1]&&i[_-1][1]>i[_][1]||i[_+1][1]<i[_][1]&&i[_-1][1]<i[_][1]||i[_+1][1]==i[_][1]||i[_-1][1]==i[_][1]?0:(i[_+1][1]-i[_-1][1])/(i[_+1][0]-i[_-1][0]):(i[_][1]-i[_-1][1])/(i[_][0]-i[_-1][0]),this.__HS.h[_-1]=new t(.5*(1-this.__t)).setP(i[_-1][0],i[_-1][1],i[_][0],i[_][1],s,h),s=h}return this},i.prototype.use=function(t){if(this.__HS){for(this.__i=-1;this.__i+1<this.__HS.x.length&&(t>this.__HS.x[this.__i+1]||-1==this.__i&&t>=this.__HS.x[this.__i+1]);)this.__i+=1;return this.__i<0?this.__HS.h[0].use(this.__HS.x[0]):this.__i>=this.__HS.h.length?this.__HS.h[this.__HS.h.length-1].use(this.__HS.x[this.__HS.x.length-1]):this.__HS.h[this.__i].use(t)}throw new Error("You shoud first set the position!")},i}();export{i as default};
|
package/lib/Eoap/index.es.js
CHANGED
package/lib/Eoap/index.es.min.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Eoap of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=function(t,n,a,e){var r=Math.cos(t),h=Math.sin(t);return[n*r-a*h,n*h+a*r,e]},n=function(){function n(t,n){void 0===t&&(t=7),void 0===n&&(n=[107,36]),this.name="Eoap",this.__scale=t,this.__center=n}return n.prototype.use=function(n,a){var e,r,h,i,s,o,c=(e=(360-a)/180*Math.PI,r=100*this.__scale,h=0,i=0,s=Math.cos(e),o=Math.sin(e),[i*o+r*s,h,i*s-r*o]);return c=t(n/180*Math.PI,c[0],c[1],c[2]),c=t((90-this.__center[0])/180*Math.PI,c[0],c[1],c[2]),c=function(t,n,a,e){var r=Math.cos(t),h=Math.sin(t);return[n,a*r-e*h,a*h+e*r]}((90-this.__center[1])/180*Math.PI,c[0],c[1],c[2]),[-c[0],c[1],c[2]]},n}();export{n as default};
|
package/lib/Hermite/index.es.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Hermite of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,_,s,h,r){if(!(t<_))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=_;var o=this.__u*h,e=this.__u*r;return i/=_-t,s/=_-t,this.__MR=[2*i-2*s+o+e,3*s-3*i-2*o-e,o,i],this},t.prototype.use=function(t){if(this.__MR){var i=(t-this.__a)/(this.__b-this.__a),_=i*i;return(i*_*this.__MR[0]+_*this.__MR[1]+i*this.__MR[2]+this.__MR[3])*(this.__b-this.__a)}throw new Error("You shoud first set the position!")},t}();export{t as default};
|
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* MapCoordinate of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=Object.prototype.toString;function n(n){if(null===n||"object"!=typeof n||"[object Object]"!=function(n){return null==n?void 0===n?"[object Undefined]":"[object Null]":t.call(n)}(n))return!1;if(null===Object.getPrototypeOf(n))return!0;for(var e=n;null!==Object.getPrototypeOf(e);)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(n)===e}function e(t){for(var n=null,e=null,o=null,r=null,i=function(t){for(var i=0;i<t.length;i++)for(var a=0;a<t[i].length;a++){var u=t[i][a][0],h=t[i][a][1];(null==n||n>u)&&(n=u),(null==e||e<u)&&(e=u),(null==o||o>h)&&(o=h),(null==r||r<h)&&(r=h)}},a=t.features,u=0;u<a.length;u++)if("Polygon"==a[u].geometry.type)i(a[u].geometry.coordinates);else if("MultiPolygon"==a[u].geometry.type)for(var h=0;h<a[u].geometry.coordinates.length;h++)i(a[u].geometry.coordinates[h]);return[n,e,o,r]}function o(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var o=null,r=null,i=null,a=null,u=0,h=t;u<h.length;u++){var l=e(h[u]),f=l[0],c=l[1],s=l[2],_=l[3];(null==o||f<o)&&(o=f),(null==r||c>r)&&(r=c),(null==i||s<i)&&(i=s),(null==a||_>a)&&(a=_)}return[o,r,i,a]}var r=function(t,n){void 0===t&&(t=7),void 0===n&&(n=[107,36]),this.name="Mercator";var e=100*t*Math.PI/180,o=e*n[0],r=-1*e*n[1];this.use=function(t,n){return[.8*(e*t-o),-1*e*n-r,0]}},i=function(t,n,e,o){var r=Math.cos(t),i=Math.sin(t);return[n*r-e*i,n*i+e*r,o]},a=function(){function t(t,n){void 0===t&&(t=7),void 0===n&&(n=[107,36]),this.name="Eoap",this.__scale=t,this.__center=n}return t.prototype.use=function(t,n){var e,o,r,a,u,h,l=(e=(360-n)/180*Math.PI,o=100*this.__scale,r=0,a=0,u=Math.cos(e),h=Math.sin(e),[a*h+o*u,r,a*u-o*h]);return l=i(t/180*Math.PI,l[0],l[1],l[2]),l=i((90-this.__center[0])/180*Math.PI,l[0],l[1],l[2]),l=function(t,n,e,o){var r=Math.cos(t),i=Math.sin(t);return[n,e*r-o*i,e*i+o*r]}((90-this.__center[1])/180*Math.PI,l[0],l[1],l[2]),[-l[0],l[1],l[2]]},t}(),u=function(){function t(t){void 0===t&&(t={}),this.name="MapCoordinate",this.__config=function(t,n){for(var e in t)n[e]=t[e];return n}(t,{api:"Mercator",width:400,height:300,left:0,top:0})}return t.prototype.$$updateMap=function(){var t=this.__boundary,n=t[0],e=t[1],o=t[2],i=t[3];if("Eoap"==this.__config.api){var u=.836*this.__config.width/(e-n),h=.557*this.__config.height/(i-o);this.__map=new a(u<h?u:h,[.5*(n+e)*.9778,.5*(o+i)*1.025])}else{if("Mercator"!=this.__config.api)throw new Error("Unexpected API types:"+this.__config.api);u=.72*this.__config.width/(e-n),h=.575*this.__config.height/(i-o);this.__map=new r(u<h?u:h,[.5*(n+e),.5*(o+i)])}},t.prototype.setConfig=function(t){return function t(e,o){for(var r in o){var i=o[r];n(i)?(e[r]||(e[r]={}),t(e[r],o[r])):e[r]=i}}(this.__config,t),this.$$updateMap(),this},t.prototype.setGeos=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this.__boundary=o.apply(void 0,t),this.$$updateMap(),this},t.prototype.use=function(t,n){if(this.__map){var e=this.__map.use(t,n);return[this.__config.left+.5*this.__config.width+e[0],this.__config.top+.5*this.__config.height+e[1]]}throw new Error("Geographic data not set")},t}();export{u as default};
|
package/lib/Matrix4/index.es.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Matrix4 of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=function(t,r){for(var i=[],o=0;o<4;o++)for(var n=0;n<r.length/4;n++)i[4*n+o]=t[o]*r[4*n]+t[o+4]*r[4*n+1]+t[o+8]*r[4*n+2]+t[o+12]*r[4*n+3];return i},r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],i=function(){function i(t){void 0===t&&(t=r),this.name="Matrix4",this.__matrix4=t}return i.prototype.setValue=function(t){return void 0===t&&(t=r),this.__matrix4=t,this},i.prototype.move=function(r,i,o,n){return void 0===n&&(n=0),this.__matrix4=t(function(t,r,i,o){void 0===o&&(o=0);var n=Math.sqrt(r*r+i*i+o*o);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/n,i*t/n,o*t/n,1]}(r,i,o,n),this.__matrix4),this},i.prototype.rotate=function(r,i,o,n,e,u,a){var s=function(t,r,i,o,n,e){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof i?(i=0,o=t,n=r,e=1):"number"==typeof o&&"number"==typeof n&&"number"==typeof e||(o=t,n=r,e=i,t=0,r=0,i=0),t==o&&r==n&&i==e)throw new Error("It's not a legitimate ray!");var u=Math.sqrt((o-t)*(o-t)+(n-r)*(n-r)),a=0!=u?(n-r)/u:1,s=0!=u?(o-t)/u:0,h=(o-t)*s+(n-r)*a,_=e-i,f=Math.sqrt(h*h+_*_),m=0!=f?_/f:1,p=0!=f?h/f:0;return[[a,m*s,s*p,0,-s,a*m,a*p,0,0,-p,m,0,r*s-t*a,i*p-t*s*m-r*a*m,-t*s*p-r*a*p-i*m,1],[a,-s,0,0,m*s,m*a,-p,0,s*p,a*p,m,0,t,r,i,1]]}throw new Error("a1 and b1 is required!")}(i,o,n,e,u,a);return this.__matrix4=t(t(t(s[1],function(t){var r=Math.sin(t),i=Math.cos(t);return[i,r,0,0,-r,i,0,0,0,0,1,0,0,0,0,1]}(r)),s[0]),this.__matrix4),this},i.prototype.scale=function(r,i,o,n,e,u){return void 0===n&&(n=0),void 0===e&&(e=0),void 0===u&&(u=0),this.__matrix4=t(function(t,r,i,o,n,e){return void 0===o&&(o=0),void 0===n&&(n=0),void 0===e&&(e=0),[t,0,0,0,0,r,0,0,0,0,i,0,o-o*t,n-n*r,e-e*i,1]}(r,i,o,n,e,u),this.__matrix4),this},i.prototype.multiply=function(r,i){return void 0===i&&(i=!1),this.__matrix4=i?t(this.__matrix4,r):t(r,this.__matrix4),this},i.prototype.use=function(r,i,o,n){return void 0===o&&(o=0),void 0===n&&(n=1),t(this.__matrix4,[r,i,o,n])},i.prototype.value=function(){return this.__matrix4},i}();export{i as default};
|
package/lib/Mercator/index.es.js
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Mercator of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
var t=function(t,a){void 0===t&&(t=7),void 0===a&&(a=[107,36]),this.name="Mercator";var r=100*t*Math.PI/180,e=r*a[0],i=-1*r*a[1];this.use=function(t,a){return[.8*(r*t-e),-1*r*a-i,0]}};export{t as default};
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* PieLayout of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
1
|
function initOption(setOption, defaultOption) {
|
|
6
2
|
for (var key in setOption) {
|
|
7
3
|
defaultOption[key] = setOption[key];
|
|
@@ -17,17 +13,12 @@ function rotate (cx, cy, deg, x, y) {
|
|
|
17
13
|
];
|
|
18
14
|
}
|
|
19
15
|
|
|
20
|
-
/*!
|
|
21
|
-
* animation of OIPage v1.8.0
|
|
22
|
-
* git+https://github.com/oi-contrib/OIPage.git
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
16
|
//当前正在运动的动画的tick函数堆栈
|
|
26
|
-
|
|
17
|
+
let $timers = [];
|
|
27
18
|
//唯一定时器的定时间隔
|
|
28
|
-
|
|
19
|
+
let $interval = 13;
|
|
29
20
|
//定时器ID
|
|
30
|
-
|
|
21
|
+
let $timerId;
|
|
31
22
|
|
|
32
23
|
/**
|
|
33
24
|
* 动画轮播
|
|
@@ -41,13 +32,13 @@ function animation(doback, duration, callback) {
|
|
|
41
32
|
if (arguments.length < 2) duration = 400;
|
|
42
33
|
if (arguments.length < 3) callback = function () { };
|
|
43
34
|
|
|
44
|
-
|
|
35
|
+
let clock = {
|
|
45
36
|
//把tick函数推入堆栈
|
|
46
37
|
"timer": function (tick, duration, callback) {
|
|
47
38
|
if (!tick) {
|
|
48
39
|
throw new Error('Tick is required!');
|
|
49
40
|
}
|
|
50
|
-
|
|
41
|
+
let id = new Date().valueOf() + "_" + (Math.random() * 1000).toFixed(0);
|
|
51
42
|
$timers.push({
|
|
52
43
|
"id": id,
|
|
53
44
|
"createTime": new Date(),
|
|
@@ -79,7 +70,7 @@ function animation(doback, duration, callback) {
|
|
|
79
70
|
|
|
80
71
|
//被定时器调用,遍历timers堆栈
|
|
81
72
|
"tick": function () {
|
|
82
|
-
|
|
73
|
+
let createTime, flag, tick, callback, timer, duration, passTime, timers = $timers;
|
|
83
74
|
|
|
84
75
|
$timers = [];
|
|
85
76
|
$timers.length = 0;
|
|
@@ -122,7 +113,7 @@ function animation(doback, duration, callback) {
|
|
|
122
113
|
}
|
|
123
114
|
};
|
|
124
115
|
|
|
125
|
-
|
|
116
|
+
let id = clock.timer(function (deep) {
|
|
126
117
|
//其中deep为0-1,表示改变的程度
|
|
127
118
|
doback(deep);
|
|
128
119
|
}, duration, callback);
|
|
@@ -131,7 +122,7 @@ function animation(doback, duration, callback) {
|
|
|
131
122
|
// 一个函数
|
|
132
123
|
// 用于在动画结束前结束动画
|
|
133
124
|
stop: function () {
|
|
134
|
-
|
|
125
|
+
let i;
|
|
135
126
|
for (i in $timers) {
|
|
136
127
|
if ($timers[i].id == id) {
|
|
137
128
|
$timers[i].id = void 0;
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* PieLayout of VISLite JavaScript Library v1.9.0
|
|
3
|
-
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
|
-
*/
|
|
5
|
-
function t(t,i){for(var e in t)i[e]=t[e];return i}function i(t,i,e,n,r){var o=Math.cos(e),a=Math.sin(e);return[(n-t)*o-(r-i)*a+t,(n-t)*a+(r-i)*o+i]}
|
|
6
|
-
/*!
|
|
7
|
-
* animation of OIPage v1.8.0
|
|
8
|
-
* git+https://github.com/oi-contrib/OIPage.git
|
|
9
|
-
*/var e,n=[];var r=function(){function r(i){void 0===i&&(i={}),this.name="PieLayout",this.__option={cx:200,cy:200,radius:[50,100],duration:200},this.__hoverIndex=-1,this.__config=t(i,{name:function(t,i){return t.name},value:function(t,i){return t.value}})}return r.prototype.setOption=function(i){return t(i,this.__option),this},r.prototype.use=function(t,e){void 0===e&&(e=-1);for(var n={count:t.length,cx:this.__option.cx,cy:this.__option.cy,radius:this.__option.radius,hoverIndex:e,node:[]},r=0,o=[],a=[],s=0;s<t.length;s++)o[s]=this.__config.name(t[s],t),a[s]=this.__config.value(t[s],t),r+=a[s];var u,_=-.5*Math.PI;for(s=0;s<t.length;s++){u=a[s]/r*Math.PI*2;var h=[this.__option.radius[0]*(1+(this.__option.radius[0]>0&&e===s?-.1:0)),this.__option.radius[1]*(1+(e===s?.05:0))],c=_+.5*u,l=Math.max(this.__option.radius[0],this.__option.radius[1]),d=i(n.cx,n.cy,c,n.cx+l,n.cy),p=i(n.cx,n.cy,c,n.cx+l+15,n.cy),f=d[0]>n.cx?1:-1,v=[p[0]+20*f,p[1]],g=[p[0]+25*f,p[1]];n.node[s]={value:a[s],name:o[s],beginDeg:_,deg:u,isHover:e===s,radius:h,label:{line:[d,p,v],position:g,align:-1===f?"right":"left"}},_+=u}return n},r.prototype.bind=function(t,i){return this.__rback=i,this.__oralPie=t,this.__prePie=this.use(this.__oralPie,this.__hoverIndex),this.__rback(this.__prePie),this},r.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralPie=null,this.__prePie=null,this.__hoverIndex=-1,this},r.prototype.setHover=function(t){return this.__prePie&&this.__hoverIndex!==t?(this.__hoverIndex=t,this.doUpdate(),this):this},r.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralPie,this.__hoverIndex),r=JSON.parse(JSON.stringify(i));return function(t,i,r){arguments.length<2&&(i=400),arguments.length<3&&(r=function(){});var o={timer:function(t,i,e){if(!t)throw new Error("Tick is required!");var r=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return n.push({id:r,createTime:new Date,tick:t,duration:i,callback:e}),o.start(),r},start:function(){if(!e)try{e=globalThis&&globalThis.requestAnimationFrame?globalThis.requestAnimationFrame((function t(){o.tick(),e&&(e=globalThis.requestAnimationFrame(t))})):setInterval(o.tick,13)}catch(t){e=setInterval(o.tick,13)}},tick:function(){var t,i,e,r,a,s,u,_=n;for((n=[]).length=0,i=0;i<_.length;i++)t=(a=_[i]).createTime,e=a.tick,s=a.duration,r=a.callback,e(u=(u=(+(new Date).valueOf()-t.valueOf())/s)>1?1:u),u<1&&a.id?n.push(a):r(u);n.length<=0&&o.stop()},stop:function(){if(e){try{globalThis&&globalThis.requestAnimationFrame?globalThis.cancelAnimationFrame(e):clearInterval(e)}catch(t){clearInterval(e)}e=null}}},a=o.timer((function(i){t(i)}),i,r)}((function(e){if(t.__prePie)for(var n=0;n<r.count;n++)r.node[n].radius[0]=t.__prePie.node[n].radius[0]+(i.node[n].radius[0]-t.__prePie.node[n].radius[0])*e,r.node[n].radius[1]=t.__prePie.node[n].radius[1]+(i.node[n].radius[1]-t.__prePie.node[n].radius[1])*e;t.__rback(r)}),this.__option.duration,(function(){t.__prePie=i,t.__rback(t.__prePie)})),this},r}();export{r as default};
|
|
1
|
+
function t(t,i){for(var e in t)i[e]=t[e];return i}function i(t,i,e,n,r){var o=Math.cos(e),a=Math.sin(e);return[(n-t)*o-(r-i)*a+t,(n-t)*a+(r-i)*o+i]}let e,n=[];var r=function(){function r(i){void 0===i&&(i={}),this.name="PieLayout",this.__option={cx:200,cy:200,radius:[50,100],duration:200},this.__hoverIndex=-1,this.__config=t(i,{name:function(t,i){return t.name},value:function(t,i){return t.value}})}return r.prototype.setOption=function(i){return t(i,this.__option),this},r.prototype.use=function(t,e){void 0===e&&(e=-1);for(var n={count:t.length,cx:this.__option.cx,cy:this.__option.cy,radius:this.__option.radius,hoverIndex:e,node:[]},r=0,o=[],a=[],s=0;s<t.length;s++)o[s]=this.__config.name(t[s],t),a[s]=this.__config.value(t[s],t),r+=a[s];var u,_=-.5*Math.PI;for(s=0;s<t.length;s++){u=a[s]/r*Math.PI*2;var h=[this.__option.radius[0]*(1+(this.__option.radius[0]>0&&e===s?-.1:0)),this.__option.radius[1]*(1+(e===s?.05:0))],c=_+.5*u,l=Math.max(this.__option.radius[0],this.__option.radius[1]),d=i(n.cx,n.cy,c,n.cx+l,n.cy),p=i(n.cx,n.cy,c,n.cx+l+15,n.cy),f=d[0]>n.cx?1:-1,v=[p[0]+20*f,p[1]],g=[p[0]+25*f,p[1]];n.node[s]={value:a[s],name:o[s],beginDeg:_,deg:u,isHover:e===s,radius:h,label:{line:[d,p,v],position:g,align:-1===f?"right":"left"}},_+=u}return n},r.prototype.bind=function(t,i){return this.__rback=i,this.__oralPie=t,this.__prePie=this.use(this.__oralPie,this.__hoverIndex),this.__rback(this.__prePie),this},r.prototype.unbind=function(){return this.__rback=function(){return null},this.__oralPie=null,this.__prePie=null,this.__hoverIndex=-1,this},r.prototype.setHover=function(t){return this.__prePie&&this.__hoverIndex!==t?(this.__hoverIndex=t,this.doUpdate(),this):this},r.prototype.doUpdate=function(){var t=this,i=this.use(this.__oralPie,this.__hoverIndex),r=JSON.parse(JSON.stringify(i));return function(t,i,r){arguments.length<2&&(i=400),arguments.length<3&&(r=function(){});let o={timer:function(t,i,e){if(!t)throw new Error("Tick is required!");let r=(new Date).valueOf()+"_"+(1e3*Math.random()).toFixed(0);return n.push({id:r,createTime:new Date,tick:t,duration:i,callback:e}),o.start(),r},start:function(){if(!e)try{e=globalThis&&globalThis.requestAnimationFrame?globalThis.requestAnimationFrame((function t(){o.tick(),e&&(e=globalThis.requestAnimationFrame(t))})):setInterval(o.tick,13)}catch(t){e=setInterval(o.tick,13)}},tick:function(){let t,i,e,r,a,s,u,_=n;for(n=[],n.length=0,i=0;i<_.length;i++)a=_[i],t=a.createTime,e=a.tick,s=a.duration,r=a.callback,u=(+(new Date).valueOf()-t.valueOf())/s,u=u>1?1:u,e(u),u<1&&a.id?n.push(a):r(u);n.length<=0&&o.stop()},stop:function(){if(e){try{globalThis&&globalThis.requestAnimationFrame?globalThis.cancelAnimationFrame(e):clearInterval(e)}catch(t){clearInterval(e)}e=null}}},a=o.timer((function(i){t(i)}),i,r)}((function(e){if(t.__prePie)for(var n=0;n<r.count;n++)r.node[n].radius[0]=t.__prePie.node[n].radius[0]+(i.node[n].radius[0]-t.__prePie.node[n].radius[0])*e,r.node[n].radius[1]=t.__prePie.node[n].radius[1]+(i.node[n].radius[1]-t.__prePie.node[n].radius[1])*e;t.__rback(r)}),this.__option.duration,(function(){t.__prePie=i,t.__rback(t.__prePie)})),this},r}();export{r as default};
|