From 44a6c93642dca2c4fe56a7e8e0fe8acbc38e1c09 Mon Sep 17 00:00:00 2001 From: woothu Date: Fri, 12 Oct 2018 17:33:30 +0200 Subject: [PATCH] feat: new widget charts --- src/mixins/charts/chartMixins.js | 54 +++++++++++++++++++++ src/views/Dashboard.vue | 1 + src/views/Widgets.vue | 51 ++++++++++++-------- src/views/charts/BarExample.vue | 1 + src/views/charts/DoughnutExample.vue | 1 + src/views/dashboard/BarChart1.vue | 52 +++++++++++--------- src/views/dashboard/LineChart1.vue | 72 +++++++++++++--------------- src/views/dashboard/LineChart2.vue | 70 +++++++++++++-------------- src/views/widgets/Widget08.vue | 2 +- tests/unit/theme/ColorTheme.spec.js | 2 +- tests/unit/theme/ColorView.spec.js | 2 +- 11 files changed, 185 insertions(+), 123 deletions(-) create mode 100644 src/mixins/charts/chartMixins.js diff --git a/src/mixins/charts/chartMixins.js b/src/mixins/charts/chartMixins.js new file mode 100644 index 00000000..f0b697fd --- /dev/null +++ b/src/mixins/charts/chartMixins.js @@ -0,0 +1,54 @@ +import { deepObjectsMerge } from '@coreui/coreui/dist/js/coreui-utilities' +import getColor from '@coreui/coreui/js/src/utilities/get-color' + +const generatedLabels = { + computed:{ + generatedLabels() { + if(this.labels !== undefined) + return this.labels + let labels = []; + for(let i=1; i<=this.data.length; i++) + labels.push('') + return labels + }, + }, +} +const generatedBackgroundColor = { + computed:{ + generatedBackgroundColor(){ + return getColor(this.backgroundColor) + }, + }, +} +const generatedBorderColor = { + computed:{ + generatedBorderColor(){ + return getColor(this.borderColor) + }, + }, +} +const generatedPointHoverBackgroundColor = { + computed:{ + generatedPointHoverBackgroundColor () { + if(this.$options.propsData.pointHoverBackgroundColor === undefined) + return this.generatedBorderColor + return getColor(this.pointHoverBackgroundColor) + }, + }, +} +const generatedOptions = { + computed:{ + generatedOptions () { + if(this.$options.propsData.options !== undefined) + deepObjectsMerge(this.finalOptions, this.options) + return this.finalOptions + }, + }, +} +export{ + generatedLabels, + generatedBackgroundColor, + generatedBorderColor, + generatedPointHoverBackgroundColor, + generatedOptions +} diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue index e4447492..9adbd584 100644 --- a/src/views/Dashboard.vue +++ b/src/views/Dashboard.vue @@ -155,6 +155,7 @@ + diff --git a/src/views/Widgets.vue b/src/views/Widgets.vue index f7298ee8..5649582f 100644 --- a/src/views/Widgets.vue +++ b/src/views/Widgets.vue @@ -107,25 +107,29 @@ - - - - @@ -194,7 +198,7 @@ @@ -212,9 +216,10 @@ @@ -234,7 +239,8 @@ @@ -253,7 +259,7 @@ @@ -262,58 +268,63 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/src/views/charts/BarExample.vue b/src/views/charts/BarExample.vue index 8e99818f..5845d175 100644 --- a/src/views/charts/BarExample.vue +++ b/src/views/charts/BarExample.vue @@ -3,6 +3,7 @@ import { Bar } from 'vue-chartjs' import { CustomTooltips } from '@coreui/coreui-plugin-chartjs-custom-tooltips' export default { + // name: 'BarExample', extends: Bar, mounted () { // Overwriting base render method with actual data. diff --git a/src/views/charts/DoughnutExample.vue b/src/views/charts/DoughnutExample.vue index 65f9bcba..d45434a7 100644 --- a/src/views/charts/DoughnutExample.vue +++ b/src/views/charts/DoughnutExample.vue @@ -2,6 +2,7 @@ import { Doughnut } from 'vue-chartjs' export default { + name: 'DoughnutExample', extends: Doughnut, mounted () { this.renderChart({ diff --git a/src/views/dashboard/BarChart1.vue b/src/views/dashboard/BarChart1.vue index ce506d04..f1fe86b6 100644 --- a/src/views/dashboard/BarChart1.vue +++ b/src/views/dashboard/BarChart1.vue @@ -1,9 +1,12 @@ diff --git a/src/views/dashboard/LineChart2.vue b/src/views/dashboard/LineChart2.vue index cfb0eb2b..0e783a2d 100644 --- a/src/views/dashboard/LineChart2.vue +++ b/src/views/dashboard/LineChart2.vue @@ -1,11 +1,12 @@