vue-echarts 6.0.0 → 6.0.1
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 +23 -15
- package/README.zh-Hans.md +22 -14
- package/dist/index.cjs.js +1 -1
- 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 +25 -20
- package/dist/index.esm.js +1 -1
- 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 +1 -1
- 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/package.json +5 -5
- 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.26"></script>
|
|
316
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2"></script>
|
|
317
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.1"></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_BKqYAAEAZhwAJheANhz_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVheL0-AX-v183wBMzmCwISxWaw2W12-0Ox1O50u11uBRRJXKGLeOCcOAAjHjiYSZMKCAoAGq3HATFS0ACCxgAFGZUBZ0MoCMolQBKUzmCzCeoEKqlNWqw2GvpdVD2C2Ww20LAEADK2lgdoNDsNYGoBAAYsoiNAtPYAOQASRoMFKABphBkABIwhKnCDkZTCAByMFuGXj8smyig8bgylQcAKcBjEDAYa9Dq8sYbls6BA9-rV3sd2AI9gy3FKyjAkHIwhdlFN5Hg-ZbDtgYD7CZA0-jpQyc4sTc3wlqlCgnUMnq73d3k2s1hj_ZAEFoRFnJ-7vtKRE1tFK1-Ayi8wkYEVKQzABEP52uQP4qugXgAKQ6huj6Wtu8GGrAl4YMep4WHUEB0EuGSpuU6bFg-GHCAuuEgGRxEYRqWr2AA2juloZKwED1OQBBUSRGSCK-0CcRhGTyug2anAA7nUADWcD8aeGQSikMCUMIQnSSAzZId6GQuiocx4MIgioNYaAziAjHCAAujuiGntWkzwPRZn2iRqBBjA16DsOo7jpOcwmepJEWNohhucuhjYTJ3ZDvEVQrMumKYlBEXequ74OSAmJOIlanLm8mUZOZ_kBTRygORp3bAMICTFrc9gPA8mLxi5RAhcxrEohxIDCNZAUWBVVVQDVwgPPyTiNa5148cofGdd1PV9dVIXPA8Dhjc115CSJBDiaUUkZF1hVzZVC32Py9WrS1IDyZgSkqXts0BfNA0hfymIOAAHOd17aWUxT6YZxmqV1ZkWAVwPCDARCGCUcAQLFTkBbeENukE6E9YacAlOglCiQAQgNH7CCNB1oxjqjY-wI7VgQAAa9ijWDlqk1jomcPudTXqU1gRNqo3CLz_M4JisGmWV3o-KLhriyRUvdpZSEy1unhduLXiwV2MqUJD1A4UqeFFJyHXxlKMCCJwBtwGrFg4EQk40LrIAGMYGQ6krXwEuKvh-FEMQhHI4ggF4gdAA)
|
|
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.4.3"></script>
|
|
343
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2"></script>
|
|
344
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.1"></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_3HJjrGJqYVWbzDKLZardabHZ7GAHBJHE5nC5XO43GDrShEQyUOAQfqoApGCB3N44Bw4ADMXwCAL-vh-gJmcwWBCWKzWGy2u32h2Op3Olz8MGKZQIcDuAFYcE8HtSGXSZPKgczQazwRyodzYbzEQKrmiCsKSuVxa8nO85bSCP9ftbpAA1W44KhY6h0AgACgyhRF5QyABphI6YIJOMaxQBKTyoaQnADuQduHrMqAssPsGQMxgD5mE6GUBGUHojplzFnqBCqpVTKYsdeEfS6qHstfrddoWAIAGVtLAW2W2xYwNQCAAxZREaBaewAcgAkjQYKVAxkABKwhKnCDkZTCAByMFuAeEAEFJsooIG4MpUHACnAlxAwDOB_WvP7X-28X3S6nB-3sAIDMQG4UplDASByGELtKCrch4BzP9_2EWAwCA4QMngxdSgyT8LHfPDhFqSgoE6Qx-yQ_8CEmaxrCXYC8RgIhEOQoc6iIAtaFKYDgGULxhEYCJSiGYAIn4ltyH45N0C8ABSCNcMot8PyUutYDojAKNYhtJndYDN3KbcLxY1jUPQjIzJM5D80LewAG1CPrDJWAgepyAIKzWIyQQOOgTzkIyE90H3U44zqABrOB_P_DJ7RSGBKFPdAopAFTtIsDIuxUOY8GEQRUGsNAEJARzhAAXUIgjVIsB9dJWYQHOqutW201AJxgYDQPAyDoNguZirS9LtEMDqMJAQwIBgaLBzA-IqnqjIJQlWTprbLCuPsxanBW1KxuebaMjKwbtJs5RNqawdgGEBIL1uewKQpCVAzaohRuc1zhQ8kBhCq9Lmuu27RopN4nGe9rgJ85Q_O-36_tMAGoDu4QHgpBwwde4CgpCggwtKSKMh-470qum7EdGt5HvRt6QDizBEqClLCdK-sScB-w3glBwAA4qeArKymKPKCqKxmfAuusjuZ4QmMMEpcXqlr0sYogeyCLS4Zqkp0EoOMACFEe44QQaJv64C1nX2Agh8CAADXsUGpfrM3VB1zgSLqYDSmsCIi1B4Q_YDnAJQUkrxbfKWxe0yP_wq1To_w6N8O8KNfBpW0QiiGIQjkcQQC8fOgA)
|
|
348
356
|
|
|
349
357
|
<!-- vue2Demo:end -->
|
|
350
358
|
|
|
@@ -402,7 +410,7 @@ See more examples [here](https://github.com/ecomfe/vue-echarts/tree/main/src/dem
|
|
|
402
410
|
|
|
403
411
|
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
412
|
|
|
405
|
-
<details
|
|
413
|
+
<details>
|
|
406
414
|
<summary>Vue 3</summary>
|
|
407
415
|
|
|
408
416
|
```js
|
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.26"></script>
|
|
310
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2"></script>
|
|
311
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.1"></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_BKqYAAEAZhwAJheANhz_ccmOsYmpiqzeYZRbLVbrTY7PYwA4JI4nM4XK4wYplAhwO4AVheL0-AX-v183wBMzmCwISxWaw2W12-0Ox1O50u11uBRRJXKGLeOCcOAAjHjiYSZMKCAoAGq3HATFS0ACCxgAFGZUBZ0MoCMolQBKUzmCzCeoEKqlNWqw2GvpdVD2C2Ww20LAEADK2lgdoNDsNYGoBAAYsoiNAtPYAOQASRoMFKABphBkABIwhKnCDkZTCAByMFuGXj8smyig8bgylQcAKcBjEDAYa9Dq8sYbls6BA9-rV3sd2AI9gy3FKyjAkHIwhdlFN5Hg-ZbDtgYD7CZA0-jpQyc4sTc3wlqlCgnUMnq73d3k2s1hj_ZAEFoRFnJ-7vtKRE1tFK1-Ayi8wkYEVKQzABEP52uQP4qugXgAKQ6huj6Wtu8GGrAl4YMep4WHUEB0EuGSpuU6bFg-GHCAuuEgGRxEYRqWr2AA2juloZKwED1OQBBUSRGSCK-0CcRhGTyug2anAA7nUADWcD8aeGQSikMCUMIQnSSAzZId6GQuiocx4MIgioNYaAziAjHCAAujuiGntWkzwPRZn2iRqBBjA16DsOo7jpOcwmepJEWNohhucuhjYTJ3ZDvEVQrMumKYlBEXequ74OSAmJOIlanLm8mUZOZ_kBTRygORp3bAMICTFrc9gPA8mLxi5RAhcxrEohxIDCNZAUWBVVVQDVwgPPyTiNa5148cofGdd1PV9dVIXPA8Dhjc115CSJBDiaUUkZF1hVzZVC32Py9WrS1IDyZgSkqXts0BfNA0hfymIOAAHOd17aWUxT6YZxmqV1ZkWAVwPCDARCGCUcAQLFTkBbeENukE6E9YacAlOglCiQAQgNH7CCNB1oxjqjY-wI7VgQAAa9ijWDlqk1jomcPudTXqU1gRNqo3CLz_M4JisGmWV3o-KLhriyRUvdpZSEy1unhduLXiwV2MqUJD1A4UqeFFJyHXxlKMCCJwBtwGrFg4EQk40LrIAGMYGQ6krXwEuKvh-FEMQhHI4ggF4gdAA)
|
|
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.4.3"></script>
|
|
337
|
+
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2"></script>
|
|
338
|
+
<script src="https://cdn.jsdelivr.net/npm/vue-echarts@6.0.1"></script>
|
|
331
339
|
```
|
|
332
340
|
<!-- vue2Scripts:end -->
|
|
333
341
|
|
|
@@ -392,7 +400,7 @@ Vue.component("v-chart", VueECharts);
|
|
|
392
400
|
|
|
393
401
|
Vue-ECharts 为 `theme`、`init-options`、`update-options` 和 `loading-options` 提供了 provide/inject API,以通过上下文配置选项。例如:可以通过如下方式来使用 provide API 为 `init-options` 提供上下文配置:
|
|
394
402
|
|
|
395
|
-
<details
|
|
403
|
+
<details>
|
|
396
404
|
<summary>Vue 3</summary>
|
|
397
405
|
|
|
398
406
|
```js
|
package/dist/index.cjs.js
CHANGED
|
@@ -160,7 +160,7 @@ var ECharts = vueDemi.defineComponent({
|
|
|
160
160
|
var realOption = vueDemi.computed(function () { return manualOption.value || props.option || Object.create(null); });
|
|
161
161
|
var realTheme = vueDemi.computed(function () { return props.theme || vueDemi.unref(defaultTheme) || {}; });
|
|
162
162
|
var realInitOptions = vueDemi.computed(function () { return props.initOptions || vueDemi.unref(defaultInitOptions) || {}; });
|
|
163
|
-
var realUpdateOptions = vueDemi.computed(function () { return props.updateOptions || vueDemi.unref(defaultUpdateOptions) || {}; });
|
|
163
|
+
var realUpdateOptions = vueDemi.computed(function () { return (__assign(__assign({}, (props.updateOptions || vueDemi.unref(defaultUpdateOptions) || {})), { notMerge: true })); });
|
|
164
164
|
var nonEventAttrs = vueDemi.computed(function () { return omitOn(attrs); });
|
|
165
165
|
function init(option) {
|
|
166
166
|
if (chart.value || !root.value) {
|
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, 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 notMerge: true\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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"}
|
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,t){return n=Object.create(null),r.forEach((function(o){n[o]=function(n){return function(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];if(e.value||t(),!e.value)throw new Error("ECharts is not initialized yet.");return e.value[n].apply(e.value,o)}}(o)})),n;var n}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||Object.create(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(!l.value&&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(){!function(){if(o&&!o.isDisposed())try{o.resize()}catch(e){if("Cannot read property 'get' of undefined"===e.message)return;throw e}}(),a()})):a()}function a(){o.setOption(n||E.value,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){e&&(l.value?l.value.setOption(e,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 C=i(l,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(){r.option&&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},C)},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;
|
|
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,t){return n=Object.create(null),r.forEach((function(o){n[o]=function(n){return function(){for(var o=[],r=0;r<arguments.length;r++)o[r]=arguments[r];if(e.value||t(),!e.value)throw new Error("ECharts is not initialized yet.");return e.value[n].apply(e.value,o)}}(o)})),n;var n}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||Object.create(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 o(o({},r.updateOptions||e.unref(h)||{}),{notMerge:!0})})),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(!l.value&&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(){!function(){if(o&&!o.isDisposed())try{o.resize()}catch(e){if("Cannot read property 'get' of undefined"===e.message)return;throw e}}(),a()})):a()}function a(){o.setOption(n||E.value,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){e&&(l.value?l.value.setOption(e,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 C=i(l,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(){r.option&&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},C)},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, 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 notMerge: true\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","notMerge","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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,13 +7,6 @@ declare type InitType = typeof init;
|
|
|
7
7
|
declare type EChartsType = ReturnType<InitType>;
|
|
8
8
|
declare type SetOptionType = EChartsType["setOption"];
|
|
9
9
|
declare type Option = Parameters<SetOptionType>[0];
|
|
10
|
-
interface UpdateOptions {
|
|
11
|
-
notMerge?: boolean;
|
|
12
|
-
lazyUpdate?: boolean;
|
|
13
|
-
silent?: boolean;
|
|
14
|
-
replaceMerge?: any;
|
|
15
|
-
transition?: any;
|
|
16
|
-
}
|
|
17
10
|
|
|
18
11
|
declare const LOADING_OPTIONS_KEY = "ecLoadingOptions";
|
|
19
12
|
|
|
@@ -30,10 +23,6 @@ declare const _default: vue_demi.DefineComponent<{
|
|
|
30
23
|
type: PropType<string | object>;
|
|
31
24
|
};
|
|
32
25
|
initOptions: PropType<{
|
|
33
|
-
renderer?: "canvas" | "svg" | undefined;
|
|
34
|
-
devicePixelRatio?: number | undefined;
|
|
35
|
-
width?: number | undefined;
|
|
36
|
-
height?: number | undefined;
|
|
37
26
|
locale?: string | {
|
|
38
27
|
time: {
|
|
39
28
|
month: string[];
|
|
@@ -143,8 +132,13 @@ declare const _default: vue_demi.DefineComponent<{
|
|
|
143
132
|
};
|
|
144
133
|
};
|
|
145
134
|
} | undefined;
|
|
135
|
+
renderer?: "canvas" | "svg" | undefined;
|
|
136
|
+
devicePixelRatio?: number | undefined;
|
|
137
|
+
useDirtyRect?: boolean | undefined;
|
|
138
|
+
width?: number | undefined;
|
|
139
|
+
height?: number | undefined;
|
|
146
140
|
}>;
|
|
147
|
-
updateOptions: PropType<
|
|
141
|
+
updateOptions: PropType<Pick<echarts_types_dist_shared.SetOptionOpts, "lazyUpdate" | "silent" | "replaceMerge" | "transition">>;
|
|
148
142
|
group: StringConstructor;
|
|
149
143
|
manualUpdate: BooleanConstructor;
|
|
150
144
|
}, {
|
|
@@ -291,13 +285,23 @@ declare const _default: vue_demi.DefineComponent<{
|
|
|
291
285
|
clear: () => void;
|
|
292
286
|
isDisposed: () => boolean;
|
|
293
287
|
dispose: () => void;
|
|
294
|
-
chart: vue_demi.
|
|
295
|
-
root: vue_demi.
|
|
296
|
-
setOption: (option: Option, updateOptions?:
|
|
288
|
+
chart: vue_demi.ShallowRef<echarts_types_dist_shared.EChartsType | undefined>;
|
|
289
|
+
root: vue_demi.ShallowRef<HTMLElement | undefined>;
|
|
290
|
+
setOption: (option: Option, updateOptions?: Pick<echarts_types_dist_shared.SetOptionOpts, "lazyUpdate" | "silent" | "replaceMerge" | "transition"> | undefined) => void;
|
|
297
291
|
nonEventAttrs: vue_demi.ComputedRef<{
|
|
298
292
|
[key: string]: any;
|
|
299
293
|
}>;
|
|
300
294
|
}, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, Record<string, any>, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
295
|
+
loading?: unknown;
|
|
296
|
+
loadingOptions?: unknown;
|
|
297
|
+
autoresize?: unknown;
|
|
298
|
+
option?: unknown;
|
|
299
|
+
theme?: unknown;
|
|
300
|
+
initOptions?: unknown;
|
|
301
|
+
updateOptions?: unknown;
|
|
302
|
+
group?: unknown;
|
|
303
|
+
manualUpdate?: unknown;
|
|
304
|
+
} & {
|
|
301
305
|
loading: boolean;
|
|
302
306
|
autoresize: boolean;
|
|
303
307
|
manualUpdate: boolean;
|
|
@@ -306,10 +310,6 @@ declare const _default: vue_demi.DefineComponent<{
|
|
|
306
310
|
option?: echarts_types_dist_shared.ECBasicOption | undefined;
|
|
307
311
|
theme?: string | object | undefined;
|
|
308
312
|
initOptions?: {
|
|
309
|
-
renderer?: "canvas" | "svg" | undefined;
|
|
310
|
-
devicePixelRatio?: number | undefined;
|
|
311
|
-
width?: number | undefined;
|
|
312
|
-
height?: number | undefined;
|
|
313
313
|
locale?: string | {
|
|
314
314
|
time: {
|
|
315
315
|
month: string[];
|
|
@@ -419,8 +419,13 @@ declare const _default: vue_demi.DefineComponent<{
|
|
|
419
419
|
};
|
|
420
420
|
};
|
|
421
421
|
} | undefined;
|
|
422
|
+
renderer?: "canvas" | "svg" | undefined;
|
|
423
|
+
devicePixelRatio?: number | undefined;
|
|
424
|
+
useDirtyRect?: boolean | undefined;
|
|
425
|
+
width?: number | undefined;
|
|
426
|
+
height?: number | undefined;
|
|
422
427
|
} | undefined;
|
|
423
|
-
updateOptions?:
|
|
428
|
+
updateOptions?: Pick<echarts_types_dist_shared.SetOptionOpts, "lazyUpdate" | "silent" | "replaceMerge" | "transition"> | undefined;
|
|
424
429
|
group?: string | undefined;
|
|
425
430
|
}>, {
|
|
426
431
|
loading: boolean;
|
package/dist/index.esm.js
CHANGED
|
@@ -156,7 +156,7 @@ var ECharts = defineComponent({
|
|
|
156
156
|
var realOption = computed(function () { return manualOption.value || props.option || Object.create(null); });
|
|
157
157
|
var realTheme = computed(function () { return props.theme || unref(defaultTheme) || {}; });
|
|
158
158
|
var realInitOptions = computed(function () { return props.initOptions || unref(defaultInitOptions) || {}; });
|
|
159
|
-
var realUpdateOptions = computed(function () { return props.updateOptions || unref(defaultUpdateOptions) || {}; });
|
|
159
|
+
var realUpdateOptions = computed(function () { return (__assign(__assign({}, (props.updateOptions || unref(defaultUpdateOptions) || {})), { notMerge: true })); });
|
|
160
160
|
var nonEventAttrs = computed(function () { return omitOn(attrs); });
|
|
161
161
|
function init$1(option) {
|
|
162
162
|
if (chart.value || !root.value) {
|