wip: Refactor mixin in seperate functions

This commit is contained in:
Jakub Juszczak
2018-03-20 21:24:11 +01:00
parent 876252173b
commit 8669452651

View File

@@ -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
} }