vue-echarts 6.0.0 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -16
- package/README.zh-Hans.md +24 -15
- package/dist/index.cjs.js +12 -22
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.cjs.min.js.map +1 -1
- package/dist/index.d.ts +32 -34
- package/dist/index.esm.js +12 -22
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.esm.min.js.map +1 -1
- package/dist/index.umd.js +12 -22
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/dist/index.vue2.d.ts +58 -3
- package/package.json +11 -11
- package/CHANGELOG.md +0 -300
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
> [🇨🇳 中文版](./README.zh-Hans.md)
|
|
6
6
|
|
|
7
|
-
Uses [Apache ECharts](
|
|
7
|
+
Uses [Apache ECharts](https://echarts.apache.org/en/index.html) 5 and works for both [Vue.js](https://vuejs.org/) 2/3.
|
|
8
8
|
|
|
9
9
|
## 💡 Heads up 💡
|
|
10
10
|
|
|
@@ -20,13 +20,21 @@ Not ready yet? Read documentation for older versions [here →](https://github.c
|
|
|
20
20
|
$ npm install echarts vue-echarts
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
To make `vue-echarts` work for Vue 2
|
|
23
|
+
To make `vue-echarts` work for *Vue 2*, you need to have `@vue/composition-api` installed:
|
|
24
24
|
|
|
25
25
|
```sh
|
|
26
26
|
npm i -D @vue/composition-api
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
If you are using *NuxtJS* on top of *Vue 2*, you'll also need `@nuxtjs/composition-api`:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
npm i -D @nuxtjs/composition-api
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
And then add `'@nuxtjs/composition-api/module'` in the `buildModules` option in your `nuxt.config.js`.
|
|
36
|
+
|
|
37
|
+
<details>
|
|
30
38
|
<summary>Vue 3</summary>
|
|
31
39
|
|
|
32
40
|
```js
|
|
@@ -108,7 +116,7 @@ import "echarts";
|
|
|
108
116
|
|
|
109
117
|
#### SFC example
|
|
110
118
|
|
|
111
|
-
<details
|
|
119
|
+
<details>
|
|
112
120
|
<summary>Vue 3</summary>
|
|
113
121
|
|
|
114
122
|
```vue
|
|
@@ -299,14 +307,14 @@ export default {
|
|
|
299
307
|
|
|
300
308
|
Drop `<script>` inside your HTML file and access the component via `window.VueECharts`.
|
|
301
309
|
|
|
302
|
-
<details
|
|
310
|
+
<details>
|
|
303
311
|
<summary>Vue 3</summary>
|
|
304
312
|
|
|
305
313
|
<!-- vue3Scripts:start -->
|
|
306
314
|
```html
|
|
307
|
-
<script src="https://cdn.jsdelivr.net/npm/vue@3.
|
|
308
|
-
<script src="https://cdn.jsdelivr.net/npm/echarts@5.
|
|
309
|
-
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.
|
|
315
|
+
<script src="https://cdn.jsdelivr.net/npm/vue@3.2.33"></script>
|
|
316
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
|
|
317
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
|
|
310
318
|
```
|
|
311
319
|
<!-- vue3Scripts:end -->
|
|
312
320
|
|
|
@@ -319,7 +327,7 @@ app.component('v-chart', VueECharts)
|
|
|
319
327
|
|
|
320
328
|
<!-- vue3Demo:start -->
|
|
321
329
|
|
|
322
|
-
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-
|
|
330
|
+
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwAJhwHh5z_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVjeL0-AX-v183wBMzmCwISxWaw2W12-0Ox1O50u11uBRRJXKGIAbDgnG88cTCTIhQQFAA1W44CYqWgAQWMAAozKgLOhlARlIqAJSmcwWYT1AhVUqqlUGg19Lqoezmi0G2hYAgAZW0sFt-vtBrA1AIADFlERoFp7AByACSNBgpQANMIMgAJGEJU4QcjKYQAORgtwycblk2UUDjcGUqDgBTg0YgYFDnvtXhj9YtnQI7r1qq9DuwBHsGW4pWUYEg5GEzsoJvI8DzzftsDAvfjICnUdKGVnFkbG-EtUoUE6hg9na7O8m1ms0b7IAgtCIM-PXZ9pSIGtopSvwGUXmEjAipSGwARN-trkN-yroF4ACk2rrg-FpbnBBqwBeGBHieFh1BAdCLhkKblGmRb3uhwjzjhICkUR6Hqpq9gANrbhaGSsBA9TkAQlHERkggvtAHHoRkcroFmpwAO51AA1nAfEnhk4opDAlDCIJUkgE2iFehkzoqHMeDCIIqDWGg04gAxwgALrbghJ5VpM8B0aZdrEaggYwFeA5DiOY4TnMxlqcRFjaIYrlLoYWHSV2g7xFUKxLpimKQeFXorm-9kgJiTgJapS7chlGRmX5_nUco9nqV2wDCAkRa3PY7yYnGzlEMFTEsSi7EgMIVn-RY5WVVA1XCA8ACMTj1S5V7ccovHtZ1XU9VVwXPA8DijY1V6CcJBBiaUkkZB1BWzRV832INDx1cIDVNSAcmYIpym7TN_lzX1wWDZiDgABwrZdWllMUekGUZKkdaZFj5SDwgwEQhglHAEAxY5_k3pDrpBGhXUGnAJToJQIkAEJ9e-wjDft6OY6oOPsMOVYEAAGvYI3gxaZPYyJnB7nUV6lNYERaiNwh8wLOCYjBJmlV6PhiwaEvEdLXYWYhsubp4nYS14MGdtKlBQ9Q2GKrhRScm1caSjAgicIbcDqxYOBEBONB6yABjGBk2rK18BJir4fhRDEIRyOIIBeEHQA)
|
|
323
331
|
|
|
324
332
|
<!-- vue3Demo:end -->
|
|
325
333
|
|
|
@@ -330,10 +338,10 @@ app.component('v-chart', VueECharts)
|
|
|
330
338
|
|
|
331
339
|
<!-- vue2Scripts:start -->
|
|
332
340
|
```html
|
|
333
|
-
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.
|
|
334
|
-
<script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.
|
|
335
|
-
<script src="https://cdn.jsdelivr.net/npm/echarts@5.
|
|
336
|
-
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.
|
|
341
|
+
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
|
|
342
|
+
<script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.6.1"></script>
|
|
343
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
|
|
344
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
|
|
337
345
|
```
|
|
338
346
|
<!-- vue2Scripts:end -->
|
|
339
347
|
|
|
@@ -344,7 +352,7 @@ Vue.component("v-chart", VueECharts);
|
|
|
344
352
|
|
|
345
353
|
<!-- vue2Demo:start -->
|
|
346
354
|
|
|
347
|
-
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-
|
|
355
|
+
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAJhwANhwARgcc_3HJjrGJqYVWbzDKLZardabHZ7GAHBJHE5nC5XO43GDrShEQyUOAQfqoApGCB3N4vd5fAIAv6-H6AmZzBYEJYrNYbLa7faHY6nc6XPwwYplAhwO4AVhwAGYcA8KbTqTI5UCGaCmeDWVCObCuYjeVc0QUBSVyiLXk5JbKqQR_r8rdIAGq3HBULHUOgEAAUGUKgvKGQANMIHTBBJwjcKAJSeVDSE4Ad0Dt3dZlQFlh9gyBmM_vMwnQygIynd4dMOYs9QIVVKKeTFlrwj6XVQ9hrddrtCwBAAytpYM3S62LGBqAQAGLKIjQLT2ADkAEkaDBSgGMgAJWEJU4QcjKYQAORgt39wgAgpNlFAA3BlKg4AU4IuIGBp_2614_S-23jeyWUwO29gCHTEBuFKZQwEgchhE7ShK3IeBs1_P9hFgMBAOEDI4IXUoMg_Cw31w4RakoKBOkMPtEL_AhJmsaxFyAvEYCIBCkMHOoiHzWhSiA4BlC8YRGAiUohmACI-Obcg-KTdAvAAUnDHCKNfd9FNrWBaIwciWPrSY3SAjdyi3c9mJYlC0IyUzjKQvMC3sABtAi6wyVgIHqcgCEsliMkEdjoA8pCMmPdA91OWM6gAazgPy_wyO0UhgSgT3QSKQGUrSLAyTsVDmPBhEEVBrDQeCQAc4QAF0CPwlSLHvHSVmEeyqtrFstNQccYCAkCwIgqCYLmIrUrS7RDHa9CQEMCAYCigdQPiKo6oyUVRRkqbW0wzi7IWpxlpS0bni2jJSoGrTrOUDbGoHYBhASc9bnsCUJVFANWqIEanJcgV3JAYRKrSpqrpukaJTeJwnraoDvOUXyvp-37TH-qBbuEB4JQcUGXqAwLgoIULSgijJvqOtLLuuhGRreB60dekBYswBLAuSgmSrrYmAfsN5RQcAAOSmgMyspily_LCoZnxztrQ6meERjDBKXE6uatKGKIbsgk02HqpKdBKFjAAhBGuOEYHCd-uBNe19hwPvAgAA17BByW61N1Rtc4Yi6iA0prAiQsQeEX3_ZwUV5OKsXX0l0WtIjv9ypUqO8KjPDvEjXxKRtEIohiEI5HEEAvDzoA)
|
|
348
356
|
|
|
349
357
|
<!-- vue2Demo:end -->
|
|
350
358
|
|
|
@@ -370,6 +378,8 @@ See more examples [here](https://github.com/ecomfe/vue-echarts/tree/main/src/dem
|
|
|
370
378
|
|
|
371
379
|
ECharts' universal interface. Modifying this prop will trigger ECharts' `setOption` method. Read more [here →](https://echarts.apache.org/en/option.html)
|
|
372
380
|
|
|
381
|
+
> 💡 When `update-options` is not specified, `notMerge: false` will be specified by default when the `setOption` method is called if the `option` object is modified directly and the reference remains unchanged; otherwise, if a new reference is bound to `option`, ` notMerge: true` will be specified.
|
|
382
|
+
|
|
373
383
|
- `update-options: object`
|
|
374
384
|
|
|
375
385
|
Options for updating chart option. See `echartsInstance.setOption`'s `opts` parameter [here →](https://echarts.apache.org/en/api.html#echartsInstance.setOption)
|
|
@@ -402,7 +412,7 @@ See more examples [here](https://github.com/ecomfe/vue-echarts/tree/main/src/dem
|
|
|
402
412
|
|
|
403
413
|
Vue-ECharts provides provide/inject API for `theme`, `init-options`, `update-options` and `loading-options` to help configuring contextual options. eg. for `init-options` you can use the provide API like this:
|
|
404
414
|
|
|
405
|
-
<details
|
|
415
|
+
<details>
|
|
406
416
|
<summary>Vue 3</summary>
|
|
407
417
|
|
|
408
418
|
```js
|
|
@@ -452,7 +462,6 @@ import { INIT_OPTIONS_KEY } from 'vue-echarts'
|
|
|
452
462
|
- `containPixel` [→](https://echarts.apache.org/en/api.html#echartsInstance.containPixel)
|
|
453
463
|
- `showLoading` [→](https://echarts.apache.org/en/api.html#echartsInstance.showLoading)
|
|
454
464
|
- `hideLoading` [→](https://echarts.apache.org/en/api.html#echartsInstance.hideLoading)
|
|
455
|
-
- `containPixel` [→](https://echarts.apache.org/en/api.html#echartsInstance.containPixel)
|
|
456
465
|
- `getDataURL` [→](https://echarts.apache.org/en/api.html#echartsInstance.getDataURL)
|
|
457
466
|
- `getConnectedDataURL` [→](https://echarts.apache.org/en/api.html#echartsInstance.getConnectedDataURL)
|
|
458
467
|
- `clear` [→](https://echarts.apache.org/en/api.html#echartsInstance.clear)
|
package/README.zh-Hans.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Apache ECharts 的 Vue.js 组件。
|
|
4
4
|
|
|
5
|
-
使用 [Apache ECharts](
|
|
5
|
+
使用 [Apache ECharts](https://echarts.apache.org/zh/index.html) 5,同时支持 [Vue.js](https://vuejs.org/) 2/3。
|
|
6
6
|
|
|
7
7
|
## 💡 注意 💡
|
|
8
8
|
|
|
@@ -18,13 +18,21 @@
|
|
|
18
18
|
$ npm install echarts vue-echarts
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
要在 Vue 2 下使用 `vue-echarts`,需要确保 `@vue/composition-api` 已经安装:
|
|
21
|
+
要在 *Vue 2* 下使用 `vue-echarts`,需要确保 `@vue/composition-api` 已经安装:
|
|
22
22
|
|
|
23
23
|
```sh
|
|
24
24
|
npm i -D @vue/composition-api
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
如果你在使用基于 *Vue 2* 的 *NuxtJS*,那么还需要安装 `@nuxtjs/composition-api`:
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
npm i -D @nuxtjs/composition-api
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
然后在 `nuxt.config.js` 的 `buildModules` 选项中添加 `'@nuxtjs/composition-api/module'`。
|
|
34
|
+
|
|
35
|
+
<details>
|
|
28
36
|
<summary>Vue 3</summary>
|
|
29
37
|
|
|
30
38
|
```js
|
|
@@ -106,7 +114,7 @@ import "echarts";
|
|
|
106
114
|
|
|
107
115
|
#### 单文件组件示例
|
|
108
116
|
|
|
109
|
-
<details
|
|
117
|
+
<details>
|
|
110
118
|
<summary>Vue 3</summary>
|
|
111
119
|
|
|
112
120
|
```vue
|
|
@@ -293,14 +301,14 @@ export default {
|
|
|
293
301
|
|
|
294
302
|
用如下方式在 HTML 中插入 `<script>` 标签,并且通过 `window.VueECharts` 来访问组件接口:
|
|
295
303
|
|
|
296
|
-
<details
|
|
304
|
+
<details>
|
|
297
305
|
<summary>Vue 3</summary>
|
|
298
306
|
|
|
299
307
|
<!-- vue3Scripts:start -->
|
|
300
308
|
```html
|
|
301
|
-
<script src="https://cdn.jsdelivr.net/npm/vue@3.
|
|
302
|
-
<script src="https://cdn.jsdelivr.net/npm/echarts@5.
|
|
303
|
-
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.
|
|
309
|
+
<script src="https://cdn.jsdelivr.net/npm/vue@3.2.33"></script>
|
|
310
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
|
|
311
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
|
|
304
312
|
```
|
|
305
313
|
<!-- vue3Scripts:end -->
|
|
306
314
|
|
|
@@ -313,7 +321,7 @@ app.component('v-chart', VueECharts)
|
|
|
313
321
|
|
|
314
322
|
<!-- vue3Demo:start -->
|
|
315
323
|
|
|
316
|
-
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-
|
|
324
|
+
[Demo →](https://codesandbox.io/api/v1/sandboxes/define?parameters=N4IgZglgNgpgziAXKCA7AJjAHgOgBYAuAtlEqAMYD2qBMNSIAPAIQAiA8gMIAqAmgAoBRAASESAPgA6qRmKhSZeGAEN0CxnAIBPWAoDEygA6HhwacNEwIAc0KJhAFgAMTw1gDc0gL7TGAek0dGHU_JVV1ACNKdC11dAgAN2EIdABeSRAjQwyFC0YEgFpyPGUAJwJhZQBXAkpS-AgALxhhREpDAghqdJB2zuoMvxD4hPU4clKIDuE4UvIewgJDOEQ_P3J0VBwAKzhMKETSnFQYAj9UQyI_BKqYAAEAZhwAJhwHh5z_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVjeL0-AX-v183wBMzmCwISxWaw2W12-0Ox1O50u11uBRRJXKGIAbDgnG88cTCTIhQQFAA1W44CYqWgAQWMAAozKgLOhlARlIqAJSmcwWYT1AhVUqqlUGg19Lqoezmi0G2hYAgAZW0sFt-vtBrA1AIADFlERoFp7AByACSNBgpQANMIMgAJGEJU4QcjKYQAORgtwycblk2UUDjcGUqDgBTg0YgYFDnvtXhj9YtnQI7r1qq9DuwBHsGW4pWUYEg5GEzsoJvI8DzzftsDAvfjICnUdKGVnFkbG-EtUoUE6hg9na7O8m1ms0b7IAgtCIM-PXZ9pSIGtopSvwGUXmEjAipSGwARN-trkN-yroF4ACk2rrg-FpbnBBqwBeGBHieFh1BAdCLhkKblGmRb3uhwjzjhICkUR6Hqpq9gANrbhaGSsBA9TkAQlHERkggvtAHHoRkcroFmpwAO51AA1nAfEnhk4opDAlDCIJUkgE2iFehkzoqHMeDCIIqDWGg04gAxwgALrbghJ5VpM8B0aZdrEaggYwFeA5DiOY4TnMxlqcRFjaIYrlLoYWHSV2g7xFUKxLpimKQeFXorm-9kgJiTgJapS7chlGRmX5_nUco9nqV2wDCAkRa3PY7yYnGzlEMFTEsSi7EgMIVn-RY5WVVA1XCA8ACMTj1S5V7ccovHtZ1XU9VVwXPA8DijY1V6CcJBBiaUkkZB1BWzRV832INDx1cIDVNSAcmYIpym7TN_lzX1wWDZiDgABwrZdWllMUekGUZKkdaZFj5SDwgwEQhglHAEAxY5_k3pDrpBGhXUGnAJToJQIkAEJ9e-wjDft6OY6oOPsMOVYEAAGvYI3gxaZPYyJnB7nUV6lNYERaiNwh8wLOCYjBJmlV6PhiwaEvEdLXYWYhsubp4nYS14MGdtKlBQ9Q2GKrhRScm1caSjAgicIbcDqxYOBEBONB6yABjGBk2rK18BJir4fhRDEIRyOIIBeEHQA)
|
|
317
325
|
|
|
318
326
|
<!-- vue3Demo:end -->
|
|
319
327
|
|
|
@@ -324,10 +332,10 @@ app.component('v-chart', VueECharts)
|
|
|
324
332
|
|
|
325
333
|
<!-- vue2Scripts:start -->
|
|
326
334
|
```html
|
|
327
|
-
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.
|
|
328
|
-
<script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.
|
|
329
|
-
<script src="https://cdn.jsdelivr.net/npm/echarts@5.
|
|
330
|
-
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.
|
|
335
|
+
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
|
|
336
|
+
<script src="https://cdn.jsdelivr.net/npm/@vue/composition-api@1.6.1"></script>
|
|
337
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2"></script>
|
|
338
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.3"></script>
|
|
331
339
|
```
|
|
332
340
|
<!-- vue2Scripts:end -->
|
|
333
341
|
|
|
@@ -360,6 +368,8 @@ Vue.component("v-chart", VueECharts);
|
|
|
360
368
|
|
|
361
369
|
ECharts 的万能接口。修改这个 prop 会触发 ECharts 实例的 `setOption` 方法。查看[详情 →](https://echarts.apache.org/zh/option.html)
|
|
362
370
|
|
|
371
|
+
> 💡 在没有指定 `update-options` 时,如果直接修改 `option` 对象而引用保持不变,`setOption` 方法调用时将默认指定 `notMerge: false`;否则,如果为 `option` 绑定一个新的引用,将指定 `notMerge: true`。
|
|
372
|
+
|
|
363
373
|
- `update-options: object`
|
|
364
374
|
|
|
365
375
|
图表更新的配置项。请参考 `echartsInstance.setOption` 的 `opts` 参数。[前往 →](https://echarts.apache.org/zh/api.html#echartsInstance.setOption)
|
|
@@ -392,7 +402,7 @@ Vue.component("v-chart", VueECharts);
|
|
|
392
402
|
|
|
393
403
|
Vue-ECharts 为 `theme`、`init-options`、`update-options` 和 `loading-options` 提供了 provide/inject API,以通过上下文配置选项。例如:可以通过如下方式来使用 provide API 为 `init-options` 提供上下文配置:
|
|
394
404
|
|
|
395
|
-
<details
|
|
405
|
+
<details>
|
|
396
406
|
<summary>Vue 3</summary>
|
|
397
407
|
|
|
398
408
|
```js
|
|
@@ -442,7 +452,6 @@ import { INIT_OPTIONS_KEY } from 'vue-echarts'
|
|
|
442
452
|
- `containPixel` [→](https://echarts.apache.org/zh/api.html#echartsInstance.containPixel)
|
|
443
453
|
- `showLoading` [→](https://echarts.apache.org/zh/api.html#echartsInstance.showLoading)
|
|
444
454
|
- `hideLoading` [→](https://echarts.apache.org/zh/api.html#echartsInstance.hideLoading)
|
|
445
|
-
- `containPixel` [→](https://echarts.apache.org/zh/api.html#echartsInstance.containPixel)
|
|
446
455
|
- `getDataURL` [→](https://echarts.apache.org/zh/api.html#echartsInstance.getDataURL)
|
|
447
456
|
- `getConnectedDataURL` [→](https://echarts.apache.org/zh/api.html#echartsInstance.getConnectedDataURL)
|
|
448
457
|
- `clear` [→](https://echarts.apache.org/zh/api.html#echartsInstance.clear)
|
package/dist/index.cjs.js
CHANGED
|
@@ -49,16 +49,13 @@ var METHOD_NAMES = [
|
|
|
49
49
|
"isDisposed",
|
|
50
50
|
"dispose"
|
|
51
51
|
];
|
|
52
|
-
function usePublicAPI(chart
|
|
52
|
+
function usePublicAPI(chart) {
|
|
53
53
|
function makePublicMethod(name) {
|
|
54
54
|
return function () {
|
|
55
55
|
var args = [];
|
|
56
56
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
57
57
|
args[_i] = arguments[_i];
|
|
58
58
|
}
|
|
59
|
-
if (!chart.value) {
|
|
60
|
-
init();
|
|
61
|
-
}
|
|
62
59
|
if (!chart.value) {
|
|
63
60
|
throw new Error("ECharts is not initialized yet.");
|
|
64
61
|
}
|
|
@@ -157,13 +154,13 @@ var ECharts = vueDemi.defineComponent({
|
|
|
157
154
|
var defaultInitOptions = vueDemi.inject(INIT_OPTIONS_KEY, null);
|
|
158
155
|
var defaultUpdateOptions = vueDemi.inject(UPDATE_OPTIONS_KEY, null);
|
|
159
156
|
var _b = vueDemi.toRefs(props), autoresize = _b.autoresize, manualUpdate = _b.manualUpdate, loading = _b.loading, loadingOptions = _b.loadingOptions;
|
|
160
|
-
var realOption = vueDemi.computed(function () { return manualOption.value || props.option ||
|
|
157
|
+
var realOption = vueDemi.computed(function () { return manualOption.value || props.option || null; });
|
|
161
158
|
var realTheme = vueDemi.computed(function () { return props.theme || vueDemi.unref(defaultTheme) || {}; });
|
|
162
159
|
var realInitOptions = vueDemi.computed(function () { return props.initOptions || vueDemi.unref(defaultInitOptions) || {}; });
|
|
163
160
|
var realUpdateOptions = vueDemi.computed(function () { return props.updateOptions || vueDemi.unref(defaultUpdateOptions) || {}; });
|
|
164
161
|
var nonEventAttrs = vueDemi.computed(function () { return omitOn(attrs); });
|
|
165
162
|
function init(option) {
|
|
166
|
-
if (
|
|
163
|
+
if (!root.value) {
|
|
167
164
|
return;
|
|
168
165
|
}
|
|
169
166
|
var instance = (chart.value = core.init(root.value, realTheme.value, realInitOptions.value));
|
|
@@ -194,19 +191,14 @@ var ECharts = vueDemi.defineComponent({
|
|
|
194
191
|
});
|
|
195
192
|
function resize() {
|
|
196
193
|
if (instance && !instance.isDisposed()) {
|
|
197
|
-
|
|
198
|
-
instance.resize();
|
|
199
|
-
}
|
|
200
|
-
catch (e) {
|
|
201
|
-
if (e.message === "Cannot read property 'get' of undefined") {
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
throw e;
|
|
205
|
-
}
|
|
194
|
+
instance.resize();
|
|
206
195
|
}
|
|
207
196
|
}
|
|
208
197
|
function commit() {
|
|
209
|
-
|
|
198
|
+
var opt = option || realOption.value;
|
|
199
|
+
if (opt) {
|
|
200
|
+
instance.setOption(opt, realUpdateOptions.value);
|
|
201
|
+
}
|
|
210
202
|
}
|
|
211
203
|
if (autoresize.value) {
|
|
212
204
|
vueDemi.nextTick(function () {
|
|
@@ -242,7 +234,7 @@ var ECharts = vueDemi.defineComponent({
|
|
|
242
234
|
unwatchOption = null;
|
|
243
235
|
}
|
|
244
236
|
if (!manualUpdate) {
|
|
245
|
-
unwatchOption = vueDemi.watch(function () { return props.option; }, function (option) {
|
|
237
|
+
unwatchOption = vueDemi.watch(function () { return props.option; }, function (option, oldOption) {
|
|
246
238
|
if (!option) {
|
|
247
239
|
return;
|
|
248
240
|
}
|
|
@@ -250,7 +242,7 @@ var ECharts = vueDemi.defineComponent({
|
|
|
250
242
|
init();
|
|
251
243
|
}
|
|
252
244
|
else {
|
|
253
|
-
chart.value.setOption(option, realUpdateOptions.value);
|
|
245
|
+
chart.value.setOption(option, __assign({ notMerge: option.value !== (oldOption === null || oldOption === void 0 ? void 0 : oldOption.value) }, realUpdateOptions.value));
|
|
254
246
|
}
|
|
255
247
|
}, { deep: true });
|
|
256
248
|
}
|
|
@@ -268,13 +260,11 @@ var ECharts = vueDemi.defineComponent({
|
|
|
268
260
|
chart.value.group = props.group;
|
|
269
261
|
}
|
|
270
262
|
});
|
|
271
|
-
var publicApi = usePublicAPI(chart
|
|
263
|
+
var publicApi = usePublicAPI(chart);
|
|
272
264
|
useLoading(chart, loading, loadingOptions);
|
|
273
265
|
useAutoresize(chart, autoresize, root);
|
|
274
266
|
vueDemi.onMounted(function () {
|
|
275
|
-
|
|
276
|
-
init();
|
|
277
|
-
}
|
|
267
|
+
init();
|
|
278
268
|
});
|
|
279
269
|
vueDemi.onUnmounted(cleanup);
|
|
280
270
|
return __assign({ chart: chart,
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { EChartsType, Option } from \"../types\";\n\nconst METHOD_NAMES = [\n \"getWidth\",\n \"getHeight\",\n \"getDom\",\n \"getOption\",\n \"resize\",\n \"dispatchAction\",\n \"convertToPixel\",\n \"convertFromPixel\",\n \"containPixel\",\n \"getDataURL\",\n \"getConnectedDataURL\",\n \"appendData\",\n \"clear\",\n \"isDisposed\",\n \"dispose\"\n] as const;\ntype MethodName = typeof METHOD_NAMES[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>,\n init: (option?: Option) => void\n): PublicMethods {\n function makePublicMethod<T extends MethodName>(\n name: T\n ): (...args: Parameters<EChartsType[T]>) => ReturnType<EChartsType[T]> {\n return (...args) => {\n if (!chart.value) {\n init();\n }\n\n if (!chart.value) {\n throw new Error(\"ECharts is not initialized yet.\");\n }\n return (chart.value[name] as any).apply(chart.value, args);\n };\n }\n\n function makePublicMethods(): PublicMethods {\n const methods = Object.create(null);\n METHOD_NAMES.forEach(name => {\n methods[name] = makePublicMethod(name);\n });\n\n return methods as PublicMethods;\n }\n\n return makePublicMethods();\n}\n","import { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(defaultLoadingOptions),\n ...loadingOptions?.value\n }));\n\n watchEffect(() => {\n const instance = chart.value;\n if (!instance) {\n return;\n }\n\n if (loading.value) {\n instance.showLoading(realLoadingOptions.value);\n } else {\n instance.hideLoading();\n }\n });\n}\n\nexport const loadingProps = {\n loading: Boolean,\n loadingOptions: Object\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type Attrs = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\n// Copied from\n// https://github.com/vuejs/vue-next/blob/5a7a1b8293822219283d6e267496bec02234b0bc/packages/shared/src/index.ts#L40-L41\nconst onRE = /^on[^a-z]/;\nexport const isOn = (key: string): boolean => onRE.test(key);\n\nexport function omitOn(attrs: Attrs): Attrs {\n const result: Attrs = {};\n for (const key in attrs) {\n if (!isOn(key)) {\n result[key] = attrs[key];\n }\n }\n\n return result;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\n\nexport default defineComponent({\n name: \"echarts\",\n props: {\n option: Object as PropType<Option>,\n theme: {\n type: [Object, String] as PropType<Theme>\n },\n initOptions: Object as PropType<InitOptions>,\n updateOptions: Object as PropType<UpdateOptions>,\n group: String,\n manualUpdate: Boolean,\n ...autoresizeProps,\n ...loadingProps\n },\n inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || Object.create(null)\n );\n const realTheme = computed(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n\n function init(option?: Option) {\n if (chart.value || !root.value) {\n return;\n }\n\n const instance = (chart.value = initChart(\n root.value,\n realTheme.value,\n realInitOptions.value\n ));\n\n if (props.group) {\n instance.group = props.group;\n }\n\n let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n // temporarily suppress errors caused by https://github.com/apache/echarts/issues/14846\n try {\n instance.resize();\n } catch (e) {\n if (e.message === \"Cannot read property 'get' of undefined\") {\n return;\n }\n\n throw e;\n }\n }\n }\n\n function commit() {\n instance.setOption(option || realOption.value, realUpdateOptions.value);\n }\n\n if (autoresize.value) {\n // Try to make chart fit to container in case container size\n // is changed synchronously or in already queued microtasks\n nextTick(() => {\n resize();\n commit();\n });\n } else {\n commit();\n }\n }\n\n function setOption(option: Option, updateOptions?: UpdateOptions) {\n if (props.manualUpdate) {\n manualOption.value = option;\n }\n\n if (!chart.value) {\n init(option);\n } else {\n chart.value.setOption(option, updateOptions || {});\n }\n }\n\n function cleanup() {\n if (chart.value) {\n chart.value.dispose();\n chart.value = undefined;\n }\n }\n\n let unwatchOption: (() => void) | null = null;\n watch(\n manualUpdate,\n manualUpdate => {\n if (typeof unwatchOption === \"function\") {\n unwatchOption();\n unwatchOption = null;\n }\n\n if (!manualUpdate) {\n unwatchOption = watch(\n () => props.option,\n option => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, realUpdateOptions.value);\n }\n },\n { deep: true }\n );\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n [realTheme, realInitOptions],\n () => {\n cleanup();\n init();\n },\n {\n deep: true\n }\n );\n\n watchEffect(() => {\n if (props.group && chart.value) {\n chart.value.group = props.group;\n }\n });\n\n const publicApi = usePublicAPI(chart, init);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n if (props.option) {\n init();\n }\n });\n\n onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["watch","throttle","addListener","removeListener","inject","computed","unref","watchEffect","Vue2","defineComponent","shallowRef","toRefs","initChart","nextTick","onMounted","onUnmounted","h"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nconst METHOD_NAMES = [\n \"getWidth\",\n \"getHeight\",\n \"getDom\",\n \"getOption\",\n \"resize\",\n \"dispatchAction\",\n \"convertToPixel\",\n \"convertFromPixel\",\n \"containPixel\",\n \"getDataURL\",\n \"getConnectedDataURL\",\n \"appendData\",\n \"clear\",\n \"isDisposed\",\n \"dispose\"\n] as const;\ntype MethodName = typeof METHOD_NAMES[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>\n): PublicMethods {\n function makePublicMethod<T extends MethodName>(\n name: T\n ): (...args: Parameters<EChartsType[T]>) => ReturnType<EChartsType[T]> {\n return (...args) => {\n if (!chart.value) {\n throw new Error(\"ECharts is not initialized yet.\");\n }\n return (chart.value[name] as any).apply(chart.value, args);\n };\n }\n\n function makePublicMethods(): PublicMethods {\n const methods = Object.create(null);\n METHOD_NAMES.forEach(name => {\n methods[name] = makePublicMethod(name);\n });\n\n return methods as PublicMethods;\n }\n\n return makePublicMethods();\n}\n","import { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(defaultLoadingOptions),\n ...loadingOptions?.value\n }));\n\n watchEffect(() => {\n const instance = chart.value;\n if (!instance) {\n return;\n }\n\n if (loading.value) {\n instance.showLoading(realLoadingOptions.value);\n } else {\n instance.hideLoading();\n }\n });\n}\n\nexport const loadingProps = {\n loading: Boolean,\n loadingOptions: Object\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type Attrs = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\n// Copied from\n// https://github.com/vuejs/vue-next/blob/5a7a1b8293822219283d6e267496bec02234b0bc/packages/shared/src/index.ts#L40-L41\nconst onRE = /^on[^a-z]/;\nexport const isOn = (key: string): boolean => onRE.test(key);\n\nexport function omitOn(attrs: Attrs): Attrs {\n const result: Attrs = {};\n for (const key in attrs) {\n if (!isOn(key)) {\n result[key] = attrs[key];\n }\n }\n\n return result;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\n\nexport default defineComponent({\n name: \"echarts\",\n props: {\n option: Object as PropType<Option>,\n theme: {\n type: [Object, String] as PropType<Theme>\n },\n initOptions: Object as PropType<InitOptions>,\n updateOptions: Object as PropType<UpdateOptions>,\n group: String,\n manualUpdate: Boolean,\n ...autoresizeProps,\n ...loadingProps\n },\n inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || null\n );\n const realTheme = computed(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n\n function init(option?: Option) {\n if (!root.value) {\n return;\n }\n\n const instance = (chart.value = initChart(\n root.value,\n realTheme.value,\n realInitOptions.value\n ));\n\n if (props.group) {\n instance.group = props.group;\n }\n\n let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n instance.resize();\n }\n }\n\n function commit() {\n const opt = option || realOption.value;\n if (opt) {\n instance.setOption(opt, realUpdateOptions.value);\n }\n }\n\n if (autoresize.value) {\n // Try to make chart fit to container in case container size\n // is changed synchronously or in already queued microtasks\n nextTick(() => {\n resize();\n commit();\n });\n } else {\n commit();\n }\n }\n\n function setOption(option: Option, updateOptions?: UpdateOptions) {\n if (props.manualUpdate) {\n manualOption.value = option;\n }\n\n if (!chart.value) {\n init(option);\n } else {\n chart.value.setOption(option, updateOptions || {});\n }\n }\n\n function cleanup() {\n if (chart.value) {\n chart.value.dispose();\n chart.value = undefined;\n }\n }\n\n let unwatchOption: (() => void) | null = null;\n watch(\n manualUpdate,\n manualUpdate => {\n if (typeof unwatchOption === \"function\") {\n unwatchOption();\n unwatchOption = null;\n }\n\n if (!manualUpdate) {\n unwatchOption = watch(\n () => props.option,\n (option, oldOption) => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, {\n notMerge: option.value !== oldOption?.value,\n ...realUpdateOptions.value\n });\n }\n },\n { deep: true }\n );\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n [realTheme, realInitOptions],\n () => {\n cleanup();\n init();\n },\n {\n deep: true\n }\n );\n\n watchEffect(() => {\n if (props.group && chart.value) {\n chart.value.group = props.group;\n }\n });\n\n const publicApi = usePublicAPI(chart);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n init();\n });\n\n onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["watch","throttle","addListener","removeListener","inject","computed","unref","watchEffect","Vue2","defineComponent","shallowRef","toRefs","initChart","nextTick","onMounted","onUnmounted","h"],"mappings":"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"}
|
package/dist/index.cjs.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue-demi"),t=require("echarts/core"),n=require("resize-detector"),o=function(){return(o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},r=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function i(e
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue-demi"),t=require("echarts/core"),n=require("resize-detector"),o=function(){return(o=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},r=["getWidth","getHeight","getDom","getOption","resize","dispatchAction","convertToPixel","convertFromPixel","containPixel","getDataURL","getConnectedDataURL","appendData","clear","isDisposed","dispose"];function i(e){return t=Object.create(null),r.forEach((function(n){t[n]=function(t){return function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];if(!e.value)throw new Error("ECharts is not initialized yet.");return e.value[t].apply(e.value,n)}}(n)})),t;var t}var a={autoresize:Boolean};var u={loading:Boolean,loadingOptions:Object},c=[],s=[];!function(e,t){if(e&&"undefined"!=typeof document){var n,o=!0===t.prepend?"prepend":"append",r=!0===t.singleTag,i="string"==typeof t.container?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(r){var a=c.indexOf(i);-1===a&&(a=c.push(i)-1,s[a]={}),n=s[a]&&s[a][o]?s[a][o]:s[a][o]=u()}else n=u();65279===e.charCodeAt(0)&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function u(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),t.attributes)for(var n=Object.keys(t.attributes),r=0;r<n.length;r++)e.setAttribute(n[r],t.attributes[n[r]]);var a="prepend"===o?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}("x-vue-echarts{display:block;width:100%;height:100%}",{});var l=/^on[^a-z]/,p=function(e){return l.test(e)};e.Vue2&&e.Vue2.config.ignoredElements.push("x-vue-echarts");var f=e.defineComponent({name:"echarts",props:o(o({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},a),u),inheritAttrs:!1,setup:function(r,a){var u=a.attrs,c=a.listeners,s=e.shallowRef(),l=e.shallowRef(),f=e.shallowRef(),d=e.inject("ecTheme",null),v=e.inject("ecInitOptions",null),h=e.inject("ecUpdateOptions",null),g=e.toRefs(r),O=g.autoresize,m=g.manualUpdate,b=g.loading,y=g.loadingOptions,E=e.computed((function(){return f.value||r.option||null})),x=e.computed((function(){return r.theme||e.unref(d)||{}})),j=e.computed((function(){return r.initOptions||e.unref(v)||{}})),w=e.computed((function(){return r.updateOptions||e.unref(h)||{}})),T=e.computed((function(){return function(e){var t={};for(var n in e)p(n)||(t[n]=e[n]);return t}(u)}));function L(n){if(s.value){var o=l.value=t.init(s.value,x.value,j.value);r.group&&(o.group=r.group);var i=c;i||(i={},Object.keys(u).filter((function(e){return 0===e.indexOf("on")&&e.length>2})).forEach((function(e){var t=e.charAt(2).toLowerCase()+e.slice(3);i[t]=u[e]}))),Object.keys(i).forEach((function(e){var t=i[e];t&&(0===e.indexOf("zr:")?o.getZr().on(e.slice(3).toLowerCase(),t):o.on(e.toLowerCase(),t))})),O.value?e.nextTick((function(){o&&!o.isDisposed()&&o.resize(),a()})):a()}function a(){var e=n||E.value;e&&o.setOption(e,w.value)}}function A(){l.value&&(l.value.dispose(),l.value=void 0)}var z=null;e.watch(m,(function(t){"function"==typeof z&&(z(),z=null),t||(z=e.watch((function(){return r.option}),(function(e,t){e&&(l.value?l.value.setOption(e,o({notMerge:e.value!==(null==t?void 0:t.value)},w.value)):L())}),{deep:!0}))}),{immediate:!0}),e.watch([x,j],(function(){A(),L()}),{deep:!0}),e.watchEffect((function(){r.group&&l.value&&(l.value.group=r.group)}));var P=i(l);return function(t,n,r){var i=e.inject("ecLoadingOptions",{}),a=e.computed((function(){return o(o({},e.unref(i)),null==r?void 0:r.value)}));e.watchEffect((function(){var e=t.value;e&&(n.value?e.showLoading(a.value):e.hideLoading())}))}(l,b,y),function(o,r,i){var a=null;e.watch([i,o,r],(function(e,o,r){var i=e[0],u=e[1],c=e[2];i&&u&&c&&(a=t.throttle((function(){u.resize()}),100),n.addListener(i,a)),r((function(){a&&i&&n.removeListener(i,a)}))}))}(l,O,s),e.onMounted((function(){L()})),e.onUnmounted(A),o({chart:l,root:s,setOption:function(e,t){r.manualUpdate&&(f.value=e),l.value?l.value.setOption(e,t||{}):L(e)},nonEventAttrs:T},P)},render:function(){var t=o({},this.nonEventAttrs);return t.ref="root",t.class=t.class?["echarts"].concat(t.class):"echarts",e.h("x-vue-echarts",t)}});exports.INIT_OPTIONS_KEY="ecInitOptions",exports.LOADING_OPTIONS_KEY="ecLoadingOptions",exports.THEME_KEY="ecTheme",exports.UPDATE_OPTIONS_KEY="ecUpdateOptions",exports.default=f;
|
|
2
2
|
//# sourceMappingURL=index.cjs.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.min.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { EChartsType, Option } from \"../types\";\n\nconst METHOD_NAMES = [\n \"getWidth\",\n \"getHeight\",\n \"getDom\",\n \"getOption\",\n \"resize\",\n \"dispatchAction\",\n \"convertToPixel\",\n \"convertFromPixel\",\n \"containPixel\",\n \"getDataURL\",\n \"getConnectedDataURL\",\n \"appendData\",\n \"clear\",\n \"isDisposed\",\n \"dispose\"\n] as const;\ntype MethodName = typeof METHOD_NAMES[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>,\n init: (option?: Option) => void\n): PublicMethods {\n function makePublicMethod<T extends MethodName>(\n name: T\n ): (...args: Parameters<EChartsType[T]>) => ReturnType<EChartsType[T]> {\n return (...args) => {\n if (!chart.value) {\n init();\n }\n\n if (!chart.value) {\n throw new Error(\"ECharts is not initialized yet.\");\n }\n return (chart.value[name] as any).apply(chart.value, args);\n };\n }\n\n function makePublicMethods(): PublicMethods {\n const methods = Object.create(null);\n METHOD_NAMES.forEach(name => {\n methods[name] = makePublicMethod(name);\n });\n\n return methods as PublicMethods;\n }\n\n return makePublicMethods();\n}\n","import { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(defaultLoadingOptions),\n ...loadingOptions?.value\n }));\n\n watchEffect(() => {\n const instance = chart.value;\n if (!instance) {\n return;\n }\n\n if (loading.value) {\n instance.showLoading(realLoadingOptions.value);\n } else {\n instance.hideLoading();\n }\n });\n}\n\nexport const loadingProps = {\n loading: Boolean,\n loadingOptions: Object\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type Attrs = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\n// Copied from\n// https://github.com/vuejs/vue-next/blob/5a7a1b8293822219283d6e267496bec02234b0bc/packages/shared/src/index.ts#L40-L41\nconst onRE = /^on[^a-z]/;\nexport const isOn = (key: string): boolean => onRE.test(key);\n\nexport function omitOn(attrs: Attrs): Attrs {\n const result: Attrs = {};\n for (const key in attrs) {\n if (!isOn(key)) {\n result[key] = attrs[key];\n }\n }\n\n return result;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\n\nexport default defineComponent({\n name: \"echarts\",\n props: {\n option: Object as PropType<Option>,\n theme: {\n type: [Object, String] as PropType<Theme>\n },\n initOptions: Object as PropType<InitOptions>,\n updateOptions: Object as PropType<UpdateOptions>,\n group: String,\n manualUpdate: Boolean,\n ...autoresizeProps,\n ...loadingProps\n },\n inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || Object.create(null)\n );\n const realTheme = computed(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n\n function init(option?: Option) {\n if (chart.value || !root.value) {\n return;\n }\n\n const instance = (chart.value = initChart(\n root.value,\n realTheme.value,\n realInitOptions.value\n ));\n\n if (props.group) {\n instance.group = props.group;\n }\n\n let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n // temporarily suppress errors caused by https://github.com/apache/echarts/issues/14846\n try {\n instance.resize();\n } catch (e) {\n if (e.message === \"Cannot read property 'get' of undefined\") {\n return;\n }\n\n throw e;\n }\n }\n }\n\n function commit() {\n instance.setOption(option || realOption.value, realUpdateOptions.value);\n }\n\n if (autoresize.value) {\n // Try to make chart fit to container in case container size\n // is changed synchronously or in already queued microtasks\n nextTick(() => {\n resize();\n commit();\n });\n } else {\n commit();\n }\n }\n\n function setOption(option: Option, updateOptions?: UpdateOptions) {\n if (props.manualUpdate) {\n manualOption.value = option;\n }\n\n if (!chart.value) {\n init(option);\n } else {\n chart.value.setOption(option, updateOptions || {});\n }\n }\n\n function cleanup() {\n if (chart.value) {\n chart.value.dispose();\n chart.value = undefined;\n }\n }\n\n let unwatchOption: (() => void) | null = null;\n watch(\n manualUpdate,\n manualUpdate => {\n if (typeof unwatchOption === \"function\") {\n unwatchOption();\n unwatchOption = null;\n }\n\n if (!manualUpdate) {\n unwatchOption = watch(\n () => props.option,\n option => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, realUpdateOptions.value);\n }\n },\n { deep: true }\n );\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n [realTheme, realInitOptions],\n () => {\n cleanup();\n init();\n },\n {\n deep: true\n }\n );\n\n watchEffect(() => {\n if (props.group && chart.value) {\n chart.value.group = props.group;\n }\n });\n\n const publicApi = usePublicAPI(chart, init);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n if (props.option) {\n init();\n }\n });\n\n onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["METHOD_NAMES","usePublicAPI","chart","init","methods","Object","create","forEach","name","_i","args","value","Error","apply","makePublicMethod","autoresizeProps","autoresize","Boolean","loadingProps","loading","loadingOptions","e","t","n","r","document","a","s","prepend","d","singleTag","i","container","querySelector","getElementsByTagName","u","indexOf","push","c","charCodeAt","substring","styleSheet","cssText","appendChild","createTextNode","createElement","setAttribute","attributes","keys","length","insertAdjacentElement","onRE","isOn","key","test","Vue2","config","ignoredElements","defineComponent","props","option","theme","type","String","initOptions","updateOptions","group","manualUpdate","inheritAttrs","setup","_a","attrs","listeners","root","shallowRef","manualOption","defaultTheme","inject","defaultInitOptions","defaultUpdateOptions","_b","toRefs","realOption","computed","realTheme","unref","realInitOptions","realUpdateOptions","nonEventAttrs","result","omitOn","instance","initChart","realListeners","filter","event","charAt","toLowerCase","slice","handler","getZr","on","nextTick","isDisposed","resize","message","commit","setOption","cleanup","dispose","undefined","unwatchOption","watch","deep","immediate","watchEffect","publicApi","defaultLoadingOptions","realLoadingOptions","showLoading","hideLoading","useLoading","resizeListener","_","throttle","addListener","removeListener","useAutoresize","onMounted","onUnmounted","render","this","ref","class","concat","h"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.min.js","sources":["../src/composables/api.ts","../src/composables/autoresize.ts","../src/composables/loading.ts","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../src/utils.ts","../src/ECharts.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Ref } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nconst METHOD_NAMES = [\n \"getWidth\",\n \"getHeight\",\n \"getDom\",\n \"getOption\",\n \"resize\",\n \"dispatchAction\",\n \"convertToPixel\",\n \"convertFromPixel\",\n \"containPixel\",\n \"getDataURL\",\n \"getConnectedDataURL\",\n \"appendData\",\n \"clear\",\n \"isDisposed\",\n \"dispose\"\n] as const;\ntype MethodName = typeof METHOD_NAMES[number];\n\ntype PublicMethods = Pick<EChartsType, MethodName>;\n\nexport function usePublicAPI(\n chart: Ref<EChartsType | undefined>\n): PublicMethods {\n function makePublicMethod<T extends MethodName>(\n name: T\n ): (...args: Parameters<EChartsType[T]>) => ReturnType<EChartsType[T]> {\n return (...args) => {\n if (!chart.value) {\n throw new Error(\"ECharts is not initialized yet.\");\n }\n return (chart.value[name] as any).apply(chart.value, args);\n };\n }\n\n function makePublicMethods(): PublicMethods {\n const methods = Object.create(null);\n METHOD_NAMES.forEach(name => {\n methods[name] = makePublicMethod(name);\n });\n\n return methods as PublicMethods;\n }\n\n return makePublicMethods();\n}\n","import { Ref, watch } from \"vue-demi\";\nimport { throttle } from \"echarts/core\";\nimport { addListener, removeListener, ResizeCallback } from \"resize-detector\";\nimport { EChartsType } from \"../types\";\n\nexport function useAutoresize(\n chart: Ref<EChartsType | undefined>,\n autoresize: Ref<boolean>,\n root: Ref<HTMLElement | undefined>\n): void {\n let resizeListener: ResizeCallback | null = null;\n\n watch([root, chart, autoresize], ([root, chart, autoresize], _, cleanup) => {\n if (root && chart && autoresize) {\n resizeListener = throttle(() => {\n chart.resize();\n }, 100);\n\n addListener(root, resizeListener);\n }\n\n cleanup(() => {\n if (resizeListener && root) {\n removeListener(root, resizeListener);\n }\n });\n });\n}\n\nexport const autoresizeProps = {\n autoresize: Boolean\n};\n","import { inject, unref, computed, Ref, watchEffect } from \"vue-demi\";\nimport { EChartsType } from \"../types\";\n\nexport const LOADING_OPTIONS_KEY = \"ecLoadingOptions\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport function useLoading(\n chart: Ref<EChartsType | undefined>,\n loading: Ref<boolean>,\n loadingOptions: Ref<UnknownRecord | undefined>\n): void {\n const defaultLoadingOptions = inject(LOADING_OPTIONS_KEY, {}) as\n | UnknownRecord\n | Ref<UnknownRecord>;\n const realLoadingOptions = computed(() => ({\n ...unref(defaultLoadingOptions),\n ...loadingOptions?.value\n }));\n\n watchEffect(() => {\n const instance = chart.value;\n if (!instance) {\n return;\n }\n\n if (loading.value) {\n instance.showLoading(realLoadingOptions.value);\n } else {\n instance.hideLoading();\n }\n });\n}\n\nexport const loadingProps = {\n loading: Boolean,\n loadingOptions: Object\n};\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export default n;\n","type Attrs = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n};\n\n// Copied from\n// https://github.com/vuejs/vue-next/blob/5a7a1b8293822219283d6e267496bec02234b0bc/packages/shared/src/index.ts#L40-L41\nconst onRE = /^on[^a-z]/;\nexport const isOn = (key: string): boolean => onRE.test(key);\n\nexport function omitOn(attrs: Attrs): Attrs {\n const result: Attrs = {};\n for (const key in attrs) {\n if (!isOn(key)) {\n result[key] = attrs[key];\n }\n }\n\n return result;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n defineComponent,\n unref,\n shallowRef,\n toRefs,\n watch,\n computed,\n inject,\n onMounted,\n onUnmounted,\n h,\n nextTick,\n PropType,\n watchEffect,\n Vue2\n} from \"vue-demi\";\nimport { init as initChart } from \"echarts/core\";\nimport {\n EChartsType,\n Option,\n Theme,\n ThemeInjection,\n InitOptions,\n InitOptionsInjection,\n UpdateOptions,\n UpdateOptionsInjection\n} from \"./types\";\nimport {\n usePublicAPI,\n useAutoresize,\n autoresizeProps,\n useLoading,\n loadingProps\n} from \"./composables\";\nimport \"./style.css\";\nimport { omitOn } from \"./utils\";\n\nconst TAG_NAME = \"x-vue-echarts\";\n\nif (Vue2) {\n Vue2.config.ignoredElements.push(TAG_NAME);\n}\n\nexport const THEME_KEY = \"ecTheme\";\nexport const INIT_OPTIONS_KEY = \"ecInitOptions\";\nexport const UPDATE_OPTIONS_KEY = \"ecUpdateOptions\";\nexport { LOADING_OPTIONS_KEY } from \"./composables\";\n\nexport default defineComponent({\n name: \"echarts\",\n props: {\n option: Object as PropType<Option>,\n theme: {\n type: [Object, String] as PropType<Theme>\n },\n initOptions: Object as PropType<InitOptions>,\n updateOptions: Object as PropType<UpdateOptions>,\n group: String,\n manualUpdate: Boolean,\n ...autoresizeProps,\n ...loadingProps\n },\n inheritAttrs: false,\n // @ts-expect-error listeners for Vue 2 compatibility\n setup(props, { attrs, listeners }) {\n const root = shallowRef<HTMLElement>();\n const chart = shallowRef<EChartsType>();\n const manualOption = shallowRef<Option>();\n const defaultTheme = inject(THEME_KEY, null) as ThemeInjection;\n const defaultInitOptions = inject(\n INIT_OPTIONS_KEY,\n null\n ) as InitOptionsInjection;\n const defaultUpdateOptions = inject(\n UPDATE_OPTIONS_KEY,\n null\n ) as UpdateOptionsInjection;\n\n const { autoresize, manualUpdate, loading, loadingOptions } = toRefs(props);\n\n const realOption = computed(\n () => manualOption.value || props.option || null\n );\n const realTheme = computed(() => props.theme || unref(defaultTheme) || {});\n const realInitOptions = computed(\n () => props.initOptions || unref(defaultInitOptions) || {}\n );\n const realUpdateOptions = computed(\n () => props.updateOptions || unref(defaultUpdateOptions) || {}\n );\n const nonEventAttrs = computed(() => omitOn(attrs));\n\n function init(option?: Option) {\n if (!root.value) {\n return;\n }\n\n const instance = (chart.value = initChart(\n root.value,\n realTheme.value,\n realInitOptions.value\n ));\n\n if (props.group) {\n instance.group = props.group;\n }\n\n let realListeners = listeners;\n if (!realListeners) {\n realListeners = {};\n\n Object.keys(attrs)\n .filter(key => key.indexOf(\"on\") === 0 && key.length > 2)\n .forEach(key => {\n // onClick -> c + lick\n // onZr:click -> z + r:click\n const event = key.charAt(2).toLowerCase() + key.slice(3);\n realListeners[event] = attrs[key];\n });\n }\n\n Object.keys(realListeners).forEach(key => {\n const handler = realListeners[key] as any;\n\n if (!handler) {\n return;\n }\n\n if (key.indexOf(\"zr:\") === 0) {\n instance.getZr().on(key.slice(3).toLowerCase(), handler);\n } else {\n instance.on(key.toLowerCase(), handler);\n }\n });\n\n function resize() {\n if (instance && !instance.isDisposed()) {\n instance.resize();\n }\n }\n\n function commit() {\n const opt = option || realOption.value;\n if (opt) {\n instance.setOption(opt, realUpdateOptions.value);\n }\n }\n\n if (autoresize.value) {\n // Try to make chart fit to container in case container size\n // is changed synchronously or in already queued microtasks\n nextTick(() => {\n resize();\n commit();\n });\n } else {\n commit();\n }\n }\n\n function setOption(option: Option, updateOptions?: UpdateOptions) {\n if (props.manualUpdate) {\n manualOption.value = option;\n }\n\n if (!chart.value) {\n init(option);\n } else {\n chart.value.setOption(option, updateOptions || {});\n }\n }\n\n function cleanup() {\n if (chart.value) {\n chart.value.dispose();\n chart.value = undefined;\n }\n }\n\n let unwatchOption: (() => void) | null = null;\n watch(\n manualUpdate,\n manualUpdate => {\n if (typeof unwatchOption === \"function\") {\n unwatchOption();\n unwatchOption = null;\n }\n\n if (!manualUpdate) {\n unwatchOption = watch(\n () => props.option,\n (option, oldOption) => {\n if (!option) {\n return;\n }\n if (!chart.value) {\n init();\n } else {\n chart.value.setOption(option, {\n notMerge: option.value !== oldOption?.value,\n ...realUpdateOptions.value\n });\n }\n },\n { deep: true }\n );\n }\n },\n {\n immediate: true\n }\n );\n\n watch(\n [realTheme, realInitOptions],\n () => {\n cleanup();\n init();\n },\n {\n deep: true\n }\n );\n\n watchEffect(() => {\n if (props.group && chart.value) {\n chart.value.group = props.group;\n }\n });\n\n const publicApi = usePublicAPI(chart);\n\n useLoading(chart, loading, loadingOptions);\n\n useAutoresize(chart, autoresize, root);\n\n onMounted(() => {\n init();\n });\n\n onUnmounted(cleanup);\n\n return {\n chart,\n root,\n setOption,\n nonEventAttrs,\n ...publicApi\n };\n },\n render() {\n const attrs = { ...this.nonEventAttrs };\n attrs.ref = \"root\";\n attrs.class = attrs.class ? [\"echarts\"].concat(attrs.class) : \"echarts\";\n return h(TAG_NAME, attrs);\n }\n});\n"],"names":["METHOD_NAMES","usePublicAPI","chart","methods","Object","create","forEach","name","_i","args","value","Error","apply","makePublicMethod","autoresizeProps","autoresize","Boolean","loadingProps","loading","loadingOptions","e","t","n","r","document","a","s","prepend","d","singleTag","i","container","querySelector","getElementsByTagName","u","indexOf","push","c","charCodeAt","substring","styleSheet","cssText","appendChild","createTextNode","createElement","setAttribute","attributes","keys","length","insertAdjacentElement","onRE","isOn","key","test","Vue2","config","ignoredElements","defineComponent","props","option","theme","type","String","initOptions","updateOptions","group","manualUpdate","inheritAttrs","setup","_a","attrs","listeners","root","shallowRef","manualOption","defaultTheme","inject","defaultInitOptions","defaultUpdateOptions","_b","toRefs","realOption","computed","realTheme","unref","realInitOptions","realUpdateOptions","nonEventAttrs","result","omitOn","init","instance","initChart","realListeners","filter","event","charAt","toLowerCase","slice","handler","getZr","on","nextTick","isDisposed","resize","commit","opt","setOption","cleanup","dispose","undefined","unwatchOption","watch","oldOption","notMerge","deep","immediate","watchEffect","publicApi","defaultLoadingOptions","realLoadingOptions","showLoading","hideLoading","useLoading","resizeListener","_","throttle","addListener","removeListener","useAutoresize","onMounted","onUnmounted","render","this","ref","class","concat","h"],"mappings":"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"}
|