├── .eslintrc.js
├── .gitignore
├── LICENSE
├── README.md
├── babel.config.js
├── build
├── vue-md-loader.js
├── webpack.conf.common.js
├── webpack.conf.dev.js
├── webpack.conf.prod.chart.js
└── webpack.conf.prod.docs.js
├── dist
├── index.js
└── index.js.map
├── docs
├── 0.js
├── 0.js.map
├── 1.js
├── 1.js.map
├── 10.js
├── 10.js.map
├── 11.js
├── 11.js.map
├── 12.js
├── 12.js.map
├── 13.js
├── 13.js.map
├── 14.js
├── 14.js.map
├── 15.js
├── 15.js.map
├── 16.js
├── 16.js.map
├── 17.js
├── 17.js.map
├── 18.js
├── 18.js.map
├── 19.js
├── 19.js.map
├── 2.js
├── 2.js.map
├── 20.js
├── 20.js.map
├── 21.js
├── 21.js.map
├── 22.js
├── 22.js.map
├── 23.js
├── 23.js.map
├── 24.js
├── 24.js.map
├── 25.js
├── 25.js.map
├── 26.js
├── 26.js.map
├── 27.js
├── 27.js.map
├── 28.js
├── 28.js.map
├── 29.js
├── 29.js.map
├── 30.js
├── 30.js.map
├── 31.js
├── 31.js.map
├── 32.js
├── 32.js.map
├── 33.js
├── 33.js.map
├── 34.js
├── 34.js.map
├── 35.js
├── 35.js.map
├── 36.js
├── 36.js.map
├── 37.js
├── 37.js.map
├── 38.js
├── 38.js.map
├── 39.js
├── 39.js.map
├── 40.js
├── 40.js.map
├── 41.js
├── 41.js.map
├── 42.js
├── 42.js.map
├── 43.js
├── 43.js.map
├── 44.js
├── 44.js.map
├── 45.js
├── 45.js.map
├── 46.js
├── 46.js.map
├── 47.js
├── 47.js.map
├── 48.js
├── 48.js.map
├── 49.js
├── 49.js.map
├── 5.js
├── 5.js.map
├── 50.js
├── 50.js.map
├── 51.js
├── 51.js.map
├── 52.js
├── 52.js.map
├── 53.js
├── 53.js.map
├── 54.js
├── 54.js.map
├── 55.js
├── 55.js.map
├── 56.js
├── 56.js.map
├── 57.js
├── 57.js.map
├── 58.js
├── 58.js.map
├── 59.js
├── 59.js.map
├── 6.js
├── 6.js.map
├── 60.js
├── 60.js.map
├── 61.js
├── 61.js.map
├── 62.js
├── 62.js.map
├── 63.js
├── 63.js.map
├── 64.js
├── 64.js.map
├── 65.js
├── 65.js.map
├── 66.js
├── 66.js.map
├── 67.js
├── 67.js.map
├── 68.js
├── 68.js.map
├── 69.js
├── 69.js.map
├── 7.js
├── 7.js.map
├── 70.js
├── 70.js.map
├── 71.js
├── 71.js.map
├── 72.js
├── 72.js.map
├── 73.js
├── 73.js.map
├── 74.js
├── 74.js.map
├── 8.js
├── 8.js.map
├── 9.js
├── 9.js.map
├── index.html
├── main.js
├── main.js.map
├── qcharts.js
└── qcharts.js.map
├── lib
├── Chart.js
├── base
│ ├── Base.js
│ ├── BasePlugin.js
│ ├── BaseVisual.js
│ ├── mixin.js
│ └── platform.js
├── index.js
├── plugins
│ ├── Axis
│ │ ├── index.js
│ │ └── layout.js
│ ├── Legend
│ │ └── index.js
│ └── Tooltip
│ │ └── index.js
├── theme
│ └── default.js
├── utils
│ ├── Point.js
│ ├── axis.js
│ ├── color.js
│ ├── ellipse2path.js
│ ├── getLinePoint.js
│ ├── getStyle.js
│ └── scaleLinear.js
└── visuals
│ ├── Area
│ └── index.js
│ ├── Bar
│ ├── index.js
│ └── layout.js
│ ├── Funnel
│ ├── index.js
│ └── layout.js
│ ├── Gauge
│ └── index.js
│ ├── Line
│ ├── index.js
│ └── layout.js
│ ├── Pie
│ ├── index.js
│ └── layout.js
│ ├── PolarBar
│ ├── index.js
│ └── layout.js
│ ├── Radar
│ ├── index.js
│ └── layout.js
│ ├── RadialBar
│ └── index.js
│ ├── Scatter
│ ├── index.js
│ └── layout.js
│ └── Wave
│ └── index.js
├── package-lock.json
├── package.json
├── src
├── Chart.js
├── base
│ ├── Base.js
│ ├── BasePlugin.js
│ ├── BaseVisual.js
│ ├── mixin.js
│ └── platform.js
├── index.js
├── plugins
│ ├── Axis
│ │ ├── index.js
│ │ └── layout.js
│ ├── Legend
│ │ └── index.js
│ └── Tooltip
│ │ └── index.js
├── theme
│ └── default.js
├── utils
│ ├── Point.js
│ ├── axis.js
│ ├── color.js
│ ├── ellipse2path.js
│ ├── getLinePoint.js
│ ├── getStyle.js
│ └── scaleLinear.js
└── visuals
│ ├── Area
│ └── index.js
│ ├── Bar
│ ├── index.js
│ └── layout.js
│ ├── Funnel
│ ├── index.js
│ └── layout.js
│ ├── Gauge
│ └── index.js
│ ├── Line
│ ├── index.js
│ └── layout.js
│ ├── Pie
│ ├── index.js
│ └── layout.js
│ ├── PolarBar
│ ├── index.js
│ └── layout.js
│ ├── Radar
│ ├── index.js
│ └── layout.js
│ ├── RadialBar
│ └── index.js
│ ├── Scatter
│ ├── index.js
│ └── layout.js
│ └── Wave
│ └── index.js
├── website
├── App.vue
├── components
│ ├── Article.vue
│ ├── BlockDemo.vue
│ ├── Header.vue
│ ├── HelloWorld.vue
│ ├── Search.vue
│ ├── Top.vue
│ ├── code-copy.svg
│ ├── down.svg
│ ├── full-screen.svg
│ ├── play.svg
│ ├── recovery.svg
│ └── search.svg
├── iframe.html
├── index.html
├── index.js
├── router
│ └── index.js
├── styles
│ ├── index.scss
│ ├── markdown.scss
│ └── normalize.scss
├── utils
│ ├── generateCommonPage.js
│ └── index.js
└── views
│ ├── demo
│ ├── Area
│ │ ├── area-default.md
│ │ ├── area-nostack.md
│ │ ├── area-others.md
│ │ ├── area-range.md
│ │ ├── area-stack.md
│ │ └── routes.js
│ ├── Bar
│ │ ├── column-line.md
│ │ ├── default-bar.md
│ │ ├── group-bar.md
│ │ ├── routes.js
│ │ ├── stack-bar.md
│ │ ├── style-bar.md
│ │ └── update-bar.md
│ ├── Column
│ │ ├── default-column.md
│ │ ├── group-column.md
│ │ ├── others-column.md
│ │ ├── routes.js
│ │ ├── stack-column.md
│ │ └── style-column.md
│ ├── Funnel
│ │ ├── funnel-default.md
│ │ ├── funnel-others.md
│ │ └── routes.js
│ ├── Gauge
│ │ ├── default.md
│ │ ├── label.md
│ │ ├── pointer.md
│ │ ├── routes.js
│ │ ├── style.md
│ │ └── tick.md
│ ├── Map
│ │ ├── component-flyline.md
│ │ ├── component-label.md
│ │ ├── component-scatter.md
│ │ ├── map.md
│ │ ├── projection.md
│ │ └── routes.js
│ ├── PolarBar
│ │ ├── default-polarBar.md
│ │ ├── group-polarBar.md
│ │ ├── others-polarBar.md
│ │ ├── routes.js
│ │ └── stack-polarBar.md
│ ├── VisualLink
│ │ ├── basic.md
│ │ └── routes.js
│ ├── Wave
│ │ ├── basic.md
│ │ ├── label.md
│ │ ├── routes.js
│ │ ├── shape.md
│ │ └── wave.md
│ ├── WordCloud
│ │ ├── basic.md
│ │ ├── imageMask.md
│ │ └── routes.js
│ ├── line
│ │ ├── line-default.md
│ │ ├── line-double.md
│ │ ├── line-multi.md
│ │ ├── line-others.md
│ │ ├── line-smooth.md
│ │ └── routes.js
│ ├── pie
│ │ ├── arcPie.md
│ │ ├── calendar.md
│ │ ├── compose.md
│ │ ├── dounght.md
│ │ ├── link.md
│ │ ├── nest.md
│ │ ├── personalise.md
│ │ ├── pie.md
│ │ ├── rose.md
│ │ ├── rose_layoutScale.md
│ │ ├── routes.js
│ │ ├── theme.md
│ │ ├── timeline.md
│ │ └── todo.md
│ ├── radar
│ │ ├── index.js
│ │ ├── radar.md
│ │ ├── radar_area_style.md
│ │ ├── radar_axis_style.md
│ │ ├── radar_border_style.md
│ │ ├── radar_grid_style.md
│ │ ├── radar_label_style.md
│ │ ├── radar_label_y_style.md
│ │ ├── radar_pointSymbol.md
│ │ ├── radar_point_style.md
│ │ └── radar_update.md
│ ├── radialBar
│ │ ├── compose.md
│ │ ├── example.md
│ │ ├── radialBar.md
│ │ ├── routes.js
│ │ └── todo.md
│ ├── routes.js
│ └── scatter
│ │ ├── bubble.md
│ │ ├── bubble2.md
│ │ ├── index.js
│ │ ├── scatter.md
│ │ └── scatter_update.md
│ ├── doc
│ ├── api
│ │ ├── Gauge.md
│ │ ├── Pie.md
│ │ ├── RadialBar.md
│ │ ├── area-api.md
│ │ ├── bar-api.md
│ │ ├── funnel-api.md
│ │ ├── index.js
│ │ ├── line-api.md
│ │ ├── polarBar.md
│ │ ├── radar.md
│ │ ├── scatter.md
│ │ ├── theme.png
│ │ └── wave.md
│ ├── apiinfo.md
│ ├── chart.md
│ ├── dataset.md
│ ├── plot.md
│ ├── plugins
│ │ ├── Axis.md
│ │ ├── Legend.md
│ │ ├── Point.md
│ │ ├── Tooltip.md
│ │ └── index.js
│ ├── routes.js
│ ├── style.md
│ └── theme.md
│ ├── home
│ └── index.vue
│ ├── more
│ ├── area
│ │ └── lineArea.md
│ ├── bar
│ │ ├── cutBar.md
│ │ ├── gapStackBar.md
│ │ ├── gapStackBar2.md
│ │ ├── gradualBar.md
│ │ ├── negativeStackBar.md
│ │ ├── negativeStackBar2.md
│ │ ├── noAxis.md
│ │ └── textureBar.md
│ ├── config.js
│ ├── index.vue
│ ├── line
│ │ ├── axisLine.md
│ │ ├── endPoint.md
│ │ ├── mixLineAndBar.md
│ │ ├── multipleXAxis.md
│ │ └── multipleYAxis.md
│ ├── list.vue
│ ├── pie
│ │ ├── donut.md
│ │ ├── line.md
│ │ └── normal.md
│ ├── polarBar
│ │ └── stackPolarBar.md
│ ├── radar
│ │ ├── easy.md
│ │ └── pointStyle.md
│ ├── routes.js
│ ├── scatter
│ │ ├── common.md
│ │ ├── line.md
│ │ └── safe.md
│ └── test
│ │ ├── axis.md
│ │ ├── dom.md
│ │ ├── index.md
│ │ ├── line.md
│ │ └── style.md
│ └── plugin
│ ├── axis
│ ├── axis-alone.md
│ ├── axis-default.md
│ ├── axis-style.md
│ └── routes.js
│ ├── legend
│ ├── basic.md
│ ├── layout-horizontal.md
│ ├── layout-vertical.md
│ ├── layout.md
│ ├── personalise.md
│ ├── position.md
│ └── routes.js
│ ├── routes.js
│ └── tooltip
│ ├── basic.md
│ ├── position.md
│ ├── routes.js
│ └── title.md
└── yarn.lock
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | parser: 'babel-eslint',
4 | parserOptions: {
5 | //设置"script"(默认)或"module"如果你的代码是在ECMAScript中的模块。
6 | sourceType: 'module'
7 | },
8 | env: {
9 | browser: true
10 | },
11 | globals: {},
12 | // add your custom rules here
13 | rules: {
14 | 'newline-per-chained-call': 'off',
15 | camelcase: 'off'
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | */node_modules
3 |
4 | *.vscode
5 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 QCharts
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | // babel编译配置,导出es module
2 |
3 | module.exports = function(api) {
4 | const env = api.env()
5 |
6 | const getPragma = () => (env === 'wxapp' ? 'getApp().qcharts.h' : 'qcharts.h')
7 |
8 | const setting = {
9 | presets: [
10 | [
11 | '@babel/preset-env',
12 | {
13 | modules: env !== 'compile',// babel编译的时候保留 es module方式
14 | targets: {
15 | browsers: ['> 1%', 'last 2 versions', 'not ie <= 8']
16 | }
17 | }
18 | ]
19 | ],
20 | plugins: [
21 | '@babel/plugin-proposal-class-properties', // jsx 中需要,删除报错
22 | '@babel/plugin-proposal-object-rest-spread',
23 | [
24 | '@babel/plugin-transform-react-jsx',
25 | {
26 | pragma: getPragma()
27 | }
28 | ],
29 | 'inline-package-json',
30 | ['@babel/plugin-transform-runtime']
31 | ]
32 | }
33 |
34 | return setting
35 | }
36 |
--------------------------------------------------------------------------------
/build/vue-md-loader.js:
--------------------------------------------------------------------------------
1 | const { escape } = require('scapegoat')
2 | // const MarkdownIt = require('markdown-it')
3 | // const md = new MarkdownIt()
4 | module.exports = {
5 | loader: 'vue-md-loader',
6 | options: {
7 | plugins: [
8 | [
9 | require('markdown-it-container'),
10 | 'demo',
11 | {
12 | validate(params) {
13 | return new RegExp('demo').test(params.trim())
14 | },
15 | // 将捕获的代码块装进自定义组件block-demo中
16 | render(tokens, idx) {
17 | if (tokens[idx].nesting === 1) {
18 | let tip = tokens[idx].info
19 | tip = tip.replace('demo', '').trim()
20 |
21 | let source = tokens[idx + 1].content
22 | return ``
23 | }
24 | return ''
25 | }
26 | }
27 | ]
28 | ],
29 | afterProcess(vueFile) {
30 | // 移除注释
31 | return (
32 | vueFile
33 | // .replace(/