From d1bab347aabf1a37d6669a112eb7670ca6af1aa7 Mon Sep 17 00:00:00 2001 From: jiaming743 <743192023@qq.com> Date: Wed, 26 Jun 2019 15:25:53 +0800 Subject: [PATCH] update for v2.0.0-alpha --- README.md | 2 +- components/activeRingChart/index.vue | 4 +- components/flylineChart/index.vue | 5 +- components/index.js | 2 +- components/scrollBoard/index.vue | 596 ++++++++++++++------------- mixins/autoResize.js | 6 +- package.json | 9 +- util/index.js | 32 ++ 8 files changed, 357 insertions(+), 299 deletions(-) diff --git a/README.md b/README.md index f989193..455db96 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

LICENSE - x + LICENSE diff --git a/components/activeRingChart/index.vue b/components/activeRingChart/index.vue index ec126d8..4a91bfe 100644 --- a/components/activeRingChart/index.vue +++ b/components/activeRingChart/index.vue @@ -48,9 +48,9 @@ export default { /** * @description Ring data * @type {Array} - * @default data = [] + * @default data = [{ name: '', value: 0 }] */ - data: [], + data: [{ name: '', value: 0 }], /** * @description Ring line width * @type {Number} diff --git a/components/flylineChart/index.vue b/components/flylineChart/index.vue index be7284b..085bbca 100644 --- a/components/flylineChart/index.vue +++ b/components/flylineChart/index.vue @@ -153,7 +153,7 @@ import { deepMerge } from '@jiaminghi/charts/lib/util/index' import { deepClone } from '@jiaminghi/c-render/lib/plugin/util' -import { randomExtend } from '../../util/index' +import { randomExtend, getPointDistance } from '../../util/index' import autoResize from '../../mixins/autoResize.js' @@ -375,6 +375,7 @@ export default { const { calcData } = this calcData() + }, onResize () { const { calcData } = this @@ -435,7 +436,7 @@ export default { return [point, controlPoint, center] }, getControlPoint ([sx, sy], [ex, ey]) { - const { getPointDistance, getKLinePointByx, mergedConfig } = this + const { getKLinePointByx, mergedConfig } = this const { curvature, k } = mergedConfig diff --git a/components/index.js b/components/index.js index 4f68ee7..6cc1992 100644 --- a/components/index.js +++ b/components/index.js @@ -65,5 +65,5 @@ export default function (Vue) { Vue.component('dvFlylineChart', flylineChart) Vue.component('dvDigitalFlop', digitalFlop) - // Vue.component('dvScrollBoard', scrollBoard) + Vue.component('dvScrollBoard', scrollBoard) } diff --git a/components/scrollBoard/index.vue b/components/scrollBoard/index.vue index 1262c87..6efd953 100644 --- a/components/scrollBoard/index.vue +++ b/components/scrollBoard/index.vue @@ -1,277 +1,346 @@ diff --git a/mixins/autoResize.js b/mixins/autoResize.js index 4f8a10f..0bd2ace 100644 --- a/mixins/autoResize.js +++ b/mixins/autoResize.js @@ -1,3 +1,5 @@ +import { debounce, observerDomResize } from '../util/index' + export default { data () { return { @@ -40,12 +42,12 @@ export default { }) }, getDebounceInitWHFun () { - const { debounce, initWH } = this + const { initWH } = this this.debounceInitWHFun = debounce(100, initWH) }, bindDomResizeCallback () { - const { dom, debounceInitWHFun, observerDomResize } = this + const { dom, debounceInitWHFun } = this this.domObserver = observerDomResize(dom, debounceInitWHFun) diff --git a/package.json b/package.json index f371db5..db5225b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@jiaminghi/data-view", - "version": "1.1.1", + "version": "2.0.0", "author": "JiaMing <743192023@qq.com>", "description": "Vue Large screen data display component library", "main": "index.js", @@ -20,5 +20,12 @@ "chart", "dataview" ], + "devDependencies": { + "less": "^3.9.0", + "less-loader": "^4.1.0" + }, + "dependencies": { + "@jiaminghi/charts": "*" + }, "homepage": "https://github.com/jiaming743/DataV#readme" } diff --git a/util/index.js b/util/index.js index 0f4d67d..0c6502d 100644 --- a/util/index.js +++ b/util/index.js @@ -5,3 +5,35 @@ export function randomExtend (minNum, maxNum) { return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10) } } + +export function debounce (delay, callback) { + let lastTime + + return function () { + clearTimeout(lastTime) + + const [that, args] = [this, arguments] + + lastTime = setTimeout(() => { + callback.apply(that, args) + }, delay) + } +} + +export function observerDomResize (dom, callback) { + const MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver + + const observer = new MutationObserver(callback) + + observer.observe(dom, { attributes: true, attributeFilter: ['style'], attributeOldValue: true }) + + return observer +} + +export function getPointDistance (pointOne, pointTwo) { + const minusX = Math.abs(pointOne[0] - pointTwo[0]) + + const minusY = Math.abs(pointOne[1] - pointTwo[1]) + + return Math.sqrt(minusX * minusX + minusY * minusY) +} \ No newline at end of file