diff options
author | Dillon <dillonzq@outlook.com> | 2022-05-10 08:24:16 +0300 |
---|---|---|
committer | Dillon <dillonzq@outlook.com> | 2022-05-10 08:24:16 +0300 |
commit | 9cac6b4ffed5d6badf4c6539915a1a5a968247fa (patch) | |
tree | a841bc6d7604db28b6a5a569310a3a5489be8a0f /src | |
parent | a19e0ed1ac41f070a7b96592a5bd459955f78615 (diff) |
feat: update echarts theme config
Diffstat (limited to 'src')
-rw-r--r-- | src/js/theme.js | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/src/js/theme.js b/src/js/theme.js index b7e92d03..416b7092 100644 --- a/src/js/theme.js +++ b/src/js/theme.js @@ -493,26 +493,30 @@ class Theme { } initEcharts() { - this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => { - this._echartsArr = this._echartsArr || []; - for (let i = 0; i < this._echartsArr.length; i++) { - this._echartsArr[i].dispose(); - } - this._echartsArr = []; - this.util.forEach(document.getElementsByClassName('echarts'), $echarts => { - const chart = echarts.init($echarts, this.isDark ? 'chalk' : 'macarons', {renderer: 'svg'}); - chart.setOption(JSON.parse(this.data[$echarts.id])); - this._echartsArr.push(chart); + if (this.config.echarts) { + echarts.registerTheme('light', this.config.echarts.lightTheme); + echarts.registerTheme('dark', this.config.echarts.darkTheme); + this._echartsOnSwitchTheme = this._echartsOnSwitchTheme || (() => { + this._echartsArr = this._echartsArr || []; + for (let i = 0; i < this._echartsArr.length; i++) { + this._echartsArr[i].dispose(); + } + this._echartsArr = []; + this.util.forEach(document.getElementsByClassName('echarts'), $echarts => { + const chart = echarts.init($echarts, this.isDark ? 'dark' : 'light', {renderer: 'svg'}); + chart.setOption(JSON.parse(this.data[$echarts.id])); + this._echartsArr.push(chart); + }); }); - }); - this.switchThemeEventSet.add(this._echartsOnSwitchTheme); - this._echartsOnSwitchTheme(); - this._echartsOnResize = this._echartsOnResize || (() => { - for (let i = 0; i < this._echartsArr.length; i++) { - this._echartsArr[i].resize(); - } - }); - this.resizeEventSet.add(this._echartsOnResize); + this.switchThemeEventSet.add(this._echartsOnSwitchTheme); + this._echartsOnSwitchTheme(); + this._echartsOnResize = this._echartsOnResize || (() => { + for (let i = 0; i < this._echartsArr.length; i++) { + this._echartsArr[i].resize(); + } + }); + this.resizeEventSet.add(this._echartsOnResize); + } } initMapbox() { |