mirror of
https://github.com/KevinMidboe/vue-chartjs.git
synced 2026-02-13 04:49:33 +00:00
wip: Refactor mixin in seperate functions
This commit is contained in:
@@ -1,7 +1,14 @@
|
|||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
function dataHandler (newData, oldData) {
|
function dataHandler (newData, oldData) {
|
||||||
if (oldData) {
|
if (oldData) {
|
||||||
let chart = this.$data._chart
|
const chart = this.$data._chart
|
||||||
|
_checkChanges(newData, oldData, chart)
|
||||||
|
} else {
|
||||||
|
_destroyAndRenderChart(chart)
|
||||||
|
}
|
||||||
|
|
||||||
|
function _checkChanges (newData, oldData, chart) {
|
||||||
// Get new and old DataSet Labels
|
// Get new and old DataSet Labels
|
||||||
let newDatasetLabels = newData.datasets.map((dataset) => {
|
let newDatasetLabels = newData.datasets.map((dataset) => {
|
||||||
return dataset.label
|
return dataset.label
|
||||||
@@ -51,15 +58,15 @@ function dataHandler (newData, oldData) {
|
|||||||
}
|
}
|
||||||
chart.update()
|
chart.update()
|
||||||
} else {
|
} else {
|
||||||
|
_destroyAndRenderChart(chart)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _destroyAndRenderChart (chart) {
|
||||||
|
if (chart) {
|
||||||
chart.destroy()
|
chart.destroy()
|
||||||
this.renderChart(this.chartData, this.options)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (this.$data._chart) {
|
|
||||||
this.$data._chart.destroy()
|
|
||||||
}
|
}
|
||||||
this.renderChart(this.chartData, this.options)
|
this.renderChart(this.chartData, this.options)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const reactiveData = {
|
export const reactiveData = {
|
||||||
@@ -77,7 +84,6 @@ export const reactiveData = {
|
|||||||
export const reactiveProp = {
|
export const reactiveProp = {
|
||||||
props: {
|
props: {
|
||||||
chartData: {
|
chartData: {
|
||||||
type: Object,
|
|
||||||
required: true,
|
required: true,
|
||||||
default: () => {}
|
default: () => {}
|
||||||
}
|
}
|
||||||
@@ -91,3 +97,4 @@ export default {
|
|||||||
reactiveData,
|
reactiveData,
|
||||||
reactiveProp
|
reactiveProp
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user