From b8d9ca7991a5968fe80063e16f25d90a97271cfa Mon Sep 17 00:00:00 2001 From: Justineo Date: Mon, 22 Feb 2021 11:50:43 +0800 Subject: [PATCH] feat: add default style, injectable update-options & loading-options --- rollup.config.js | 15 +++--- src/ECharts.ts | 95 +++++++++++++++++++++-------------- src/composables/api.ts | 4 +- src/composables/autoresize.ts | 4 +- src/composables/loading.ts | 12 ++++- src/style.css | 1 + src/types.ts | 19 ++++++- 7 files changed, 98 insertions(+), 52 deletions(-) create mode 100644 src/style.css diff --git a/rollup.config.js b/rollup.config.js index 2030d96..e42f6b8 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,13 +1,14 @@ import typescript from "rollup-plugin-typescript2"; import { terser } from "rollup-plugin-terser"; import resolve from "@rollup/plugin-node-resolve"; +import postcss from "rollup-plugin-postcss"; import dts from "rollup-plugin-dts"; /** @type {import('rollup').RollupOptions} */ const options = [ { input: "src/index.ts", - plugins: [typescript()], + plugins: [typescript(), postcss()], external: ["vue-demi", "echarts/core", "resize-detector"], output: [ { @@ -50,8 +51,8 @@ const options = [ }, { input: "src/all.ts", - plugins: [resolve(), typescript()], - external: ["vue-demi", "echarts/core"], + plugins: [resolve(), typescript(), postcss()], + external: ["vue", "echarts", "echarts/core"], output: [ { file: "dist/index.umd.js", @@ -59,7 +60,8 @@ const options = [ name: "VueECharts", sourcemap: true, globals: { - "vue-demi": "VueDemi", + vue: "Vue", + echarts: "echarts", "echarts/core": "echarts" } }, @@ -69,7 +71,8 @@ const options = [ name: "VueECharts", sourcemap: true, globals: { - "vue-demi": "VueDemi", + vue: "Vue", + echarts: "echarts", "echarts/core": "echarts" }, plugins: [ @@ -84,7 +87,7 @@ const options = [ }, { input: "src/index.ts", - plugins: [dts()], + plugins: [postcss(), dts()], output: { file: "dist/index.d.ts", format: "es" diff --git a/src/ECharts.ts b/src/ECharts.ts index e29a24c..a286571 100644 --- a/src/ECharts.ts +++ b/src/ECharts.ts @@ -2,6 +2,7 @@ import { defineComponent, ref, + unref, shallowRef, toRefs, watch, @@ -10,10 +11,17 @@ import { onMounted, onUnmounted, h, - PropType + PropType, + watchEffect } from "vue-demi"; import { init as initChart } from "echarts/core"; -import { EChartsType, OptionType } from "./types"; +import { + EChartsType, + InitOptions, + Option, + UpdateOptions, + Theme +} from "./types"; import { usePublicAPI, useAutoresize, @@ -21,37 +29,49 @@ import { useLoading, loadingProps } from "./composables"; +import "./style.css"; -type InitParameters = Parameters; -type ThemeParameter = InitParameters[1]; -type InitOptsParameter = InitParameters[2]; +export const INIT_OPTIONS_KEY = "ecInitOptions"; +export const UPDATE_OPTIONS_KEY = "ecUpdateOptions"; +export { LOADING_OPTIONS_KEY } from "./composables"; export default defineComponent({ name: "echarts", props: { - option: Object as PropType, + option: Object as PropType