## What is DataV?
* DataV is a data **visualization** components library based on **Vue**(Of course there are also [React versions](https://github.com/DataV-Team/DataV-React)).
* Provide cool **SVG** borders and decorations.
* Provide common **charts** such as line chart, etc..
* flying line chart, carousel table and etc.
### Install with npm
```shell
$ npm install @jiaminghi/data-view
```
### use
```js
import Vue from 'vue'
import DataV from '@jiaminghi/data-view'
Vue.use(DataV)
// Introduced on demand
import { borderBox1 } from '@jiaminghi/data-view'
Vue.use(borderBox1)
```
Detailed documents and examples can be viewed on the [HomePage](http://datav.jiaminghi.com).
### UMD version
The `UMD` version can be directly imported using the `script` tag. The `UMD` version file is located in the project `dist` directory. After import, all components will be automatically registered as **Vue global components**. Be sure to introduce `Vue` before introducing `DataV`.
[UMD version usage example](./umdExample.html)
### React version
The reaction version is already under development, so stay tuned
### Questionnaire
React version of the component library and feedback[Questionnaire](https://www.wjx.cn/jq/45326197.aspx)

### TODO
* **Map Component**
* Refactor underlying dependencies using **TS**.
### Acknowledgement
The development of the component library is based on personal learning and interest. Due to technical level and experience limitations, there are still many imperfections in the components. If there are errors, you can submit [issue](https://github.com/DataV-team/DataV/issues/new?template=bug_report.md) in time or add feedback groups for feedback. Welcome to provide corrections and suggestions. Thank you for your support.
### Feedback

### Demo
The Demo page uses the full-screen component, please view it after F11 full screen.
* [Construction Data](http://datav.jiaminghi.com/demo/construction-data/index.html)

* [Manage-Desk](http://datav.jiaminghi.com/demo/manage-desk/index.html)

* [Electronic-File](http://datav.jiaminghi.com/demo/electronic-file/index.html)

================================================
FILE: build/entry.js
================================================
import Vue from 'vue'
import datav from '../src/index'
Vue.use(datav)
================================================
FILE: build/index.js
================================================
const { copyDir, fileForEach, readFile, writeFile, unlinkDirFileByExtname, dirForEach } = require('@jiaminghi/fs')
const print = require('./plugin/print')
const path = require('path')
const exec = require('./plugin/exec')
const PACKAGE_SRC = './src'
const COMPILE_SRC = './lib'
const COMPONENTS_DIR = '/components'
const ENTRANCE = '/index.js'
const libName = 'datav'
async function start () {
// Compile for NPM
const copyPackage = await copyDir(PACKAGE_SRC, COMPILE_SRC)
if (!copyPackage) {
print.error('Exception in file copy!')
return false
}
print.success('Complete file copy!')
const abstract = await abstractLessFromVue()
if (!abstract) {
print.error('Exception in less file extraction!')
return false
}
print.success('Complete less file extraction!')
await compileLessToCss()
print.success('Complete less compilation to css!')
const unlink = await unlinkDirFileByExtname(COMPILE_SRC, ['.less'])
if (!unlink) {
print.error('Exception in less file deletion!')
return false
}
print.success('Complete less file deletion!')
const addImport = await addCssImport()
if (!addImport) {
print.error('Exception in adding css import statement!')
return false
}
print.success('Finish adding css import statement!')
const componentsExport = await addComponentsExport()
if (!componentsExport) {
print.error('Exception in adding components export statement!')
return false
}
print.success('Finish adding components export statement!')
// Compile for UMD version
const rollupCompile = await exec(`rollup -c build/rollup.config.js`)
if (!rollupCompile) {
print.error('Exception in rollupCompile')
return
}
print.tip('After rollupCompile')
const terser = await exec(`rollup -c build/rollup.terser.config.js`)
if (!terser) {
print.error('Exception in terser')
return
}
print.tip('After terser')
print.yellow('-------------------------------------')
print.success(' DataV Lib Compile Success! ')
print.yellow('-------------------------------------')
return true
}
async function abstractLessFromVue () {
let abstractSuccess = true
await fileForEach(COMPILE_SRC, async src => {
if (path.extname(src) !== '.vue') return
let template = await readFile(src)
let style = template.match(/
================================================
FILE: src/components/borderBox1/index.js
================================================
import BorderBox1 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox1.name, BorderBox1)
}
================================================
FILE: src/components/borderBox1/src/main.vue
================================================
================================================
FILE: src/components/borderBox10/index.js
================================================
import BorderBox10 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox10.name, BorderBox10)
}
================================================
FILE: src/components/borderBox10/src/main.vue
================================================
================================================
FILE: src/components/borderBox11/index.js
================================================
import BorderBox11 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox11.name, BorderBox11)
}
================================================
FILE: src/components/borderBox11/src/main.vue
================================================
================================================
FILE: src/components/borderBox12/index.js
================================================
import BorderBox12 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox12.name, BorderBox12)
}
================================================
FILE: src/components/borderBox12/src/main.vue
================================================
================================================
FILE: src/components/borderBox13/index.js
================================================
import BorderBox13 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox13.name, BorderBox13)
}
================================================
FILE: src/components/borderBox13/src/main.vue
================================================
================================================
FILE: src/components/borderBox2/index.js
================================================
import BorderBox2 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox2.name, BorderBox2)
}
================================================
FILE: src/components/borderBox2/src/main.vue
================================================
================================================
FILE: src/components/borderBox3/index.js
================================================
import BorderBox3 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox3.name, BorderBox3)
}
================================================
FILE: src/components/borderBox3/src/main.vue
================================================
================================================
FILE: src/components/borderBox4/index.js
================================================
import BorderBox4 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox4.name, BorderBox4)
}
================================================
FILE: src/components/borderBox4/src/main.vue
================================================
================================================
FILE: src/components/borderBox5/index.js
================================================
import BorderBox5 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox5.name, BorderBox5)
}
================================================
FILE: src/components/borderBox5/src/main.vue
================================================
================================================
FILE: src/components/borderBox6/index.js
================================================
import BorderBox6 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox6.name, BorderBox6)
}
================================================
FILE: src/components/borderBox6/src/main.vue
================================================
================================================
FILE: src/components/borderBox7/index.js
================================================
import BorderBox7 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox7.name, BorderBox7)
}
================================================
FILE: src/components/borderBox7/src/main.vue
================================================
================================================
FILE: src/components/borderBox8/index.js
================================================
import BorderBox8 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox8.name, BorderBox8)
}
================================================
FILE: src/components/borderBox8/src/main.vue
================================================
================================================
FILE: src/components/borderBox9/index.js
================================================
import BorderBox9 from './src/main.vue'
export default function (Vue) {
Vue.component(BorderBox9.name, BorderBox9)
}
================================================
FILE: src/components/borderBox9/src/main.vue
================================================
================================================
FILE: src/components/capsuleChart/index.js
================================================
import CapsuleChart from './src/main.vue'
export default function (Vue) {
Vue.component(CapsuleChart.name, CapsuleChart)
}
================================================
FILE: src/components/capsuleChart/src/main.vue
================================================
{{ item.name }}
{{ capsuleValue[index] }}
{{ label }}
{{ mergedConfig.unit }}
================================================
FILE: src/components/charts/index.js
================================================
import Charts from './src/main.vue'
export default function (Vue) {
Vue.component(Charts.name, Charts)
}
================================================
FILE: src/components/charts/src/main.vue
================================================
================================================
FILE: src/components/conicalColumnChart/index.js
================================================
import ConicalColumnChart from './src/main.vue'
export default function (Vue) {
Vue.component(ConicalColumnChart.name, ConicalColumnChart)
}
================================================
FILE: src/components/conicalColumnChart/src/main.vue
================================================
================================================
FILE: src/components/decoration1/index.js
================================================
import Decoration1 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration1.name, Decoration1)
}
================================================
FILE: src/components/decoration1/src/main.vue
================================================
================================================
FILE: src/components/decoration10/index.js
================================================
import Decoration10 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration10.name, Decoration10)
}
================================================
FILE: src/components/decoration10/src/main.vue
================================================
================================================
FILE: src/components/decoration11/index.js
================================================
import Decoration11 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration11.name, Decoration11)
}
================================================
FILE: src/components/decoration11/src/main.vue
================================================
================================================
FILE: src/components/decoration12/index.js
================================================
import Decoration12 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration12.name, Decoration12)
}
================================================
FILE: src/components/decoration12/src/main.vue
================================================
================================================
FILE: src/components/decoration2/index.js
================================================
import Decoration2 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration2.name, Decoration2)
}
================================================
FILE: src/components/decoration2/src/main.vue
================================================
================================================
FILE: src/components/decoration3/index.js
================================================
import Decoration3 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration3.name, Decoration3)
}
================================================
FILE: src/components/decoration3/src/main.vue
================================================
================================================
FILE: src/components/decoration4/index.js
================================================
import Decoration4 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration4.name, Decoration4)
}
================================================
FILE: src/components/decoration4/src/main.vue
================================================
================================================
FILE: src/components/decoration5/index.js
================================================
import Decoration5 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration5.name, Decoration5)
}
================================================
FILE: src/components/decoration5/src/main.vue
================================================
================================================
FILE: src/components/decoration6/index.js
================================================
import Decoration6 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration6.name, Decoration6)
}
================================================
FILE: src/components/decoration6/src/main.vue
================================================
================================================
FILE: src/components/decoration7/index.js
================================================
import Decoration7 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration7.name, Decoration7)
}
================================================
FILE: src/components/decoration7/src/main.vue
================================================
================================================
FILE: src/components/decoration8/index.js
================================================
import Decoration8 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration8.name, Decoration8)
}
================================================
FILE: src/components/decoration8/src/main.vue
================================================
================================================
FILE: src/components/decoration9/index.js
================================================
import Decoration9 from './src/main.vue'
export default function (Vue) {
Vue.component(Decoration9.name, Decoration9)
}
================================================
FILE: src/components/decoration9/src/main.vue
================================================
================================================
FILE: src/components/digitalFlop/index.js
================================================
import DigitalFlop from './src/main.vue'
export default function (Vue) {
Vue.component(DigitalFlop.name, DigitalFlop)
}
================================================
FILE: src/components/digitalFlop/src/main.vue
================================================
================================================
FILE: src/components/flylineChart/index.js
================================================
import FlylineChart from './src/main.vue'
export default function (Vue) {
Vue.component(FlylineChart.name, FlylineChart)
}
================================================
FILE: src/components/flylineChart/src/main.vue
================================================
================================================
FILE: src/components/flylineChartEnhanced/index.js
================================================
import FlylineChartEnhanced from './src/main.vue'
export default function (Vue) {
Vue.component(FlylineChartEnhanced.name, FlylineChartEnhanced)
}
================================================
FILE: src/components/flylineChartEnhanced/src/main.vue
================================================
================================================
FILE: src/components/fullScreenContainer/index.js
================================================
import FullScreenContainer from './src/main.vue'
export default function (Vue) {
Vue.component(FullScreenContainer.name, FullScreenContainer)
}
================================================
FILE: src/components/fullScreenContainer/src/main.vue
================================================
================================================
FILE: src/components/loading/index.js
================================================
import Loading from './src/main.vue'
export default function (Vue) {
Vue.component(Loading.name, Loading)
}
================================================
FILE: src/components/loading/src/main.vue
================================================
================================================
FILE: src/components/percentPond/index.js
================================================
import PercentPond from './src/main.vue'
export default function (Vue) {
Vue.component(PercentPond.name, PercentPond)
}
================================================
FILE: src/components/percentPond/src/main.vue
================================================
================================================
FILE: src/components/scrollBoard/index.js
================================================
import ScrollBoard from './src/main.vue'
export default function (Vue) {
Vue.component(ScrollBoard.name, ScrollBoard)
}
================================================
FILE: src/components/scrollBoard/src/main.vue
================================================
================================================
FILE: src/components/scrollRankingBoard/index.js
================================================
import ScrollRankingBoard from './src/main.vue'
export default function (Vue) {
Vue.component(ScrollRankingBoard.name, ScrollRankingBoard)
}
================================================
FILE: src/components/scrollRankingBoard/src/main.vue
================================================