Skip to content

Commit

Permalink
Merge pull request apertureless#303 from west-soft-development/refact…
Browse files Browse the repository at this point in the history
…or-identical-code

Refactor identical code
  • Loading branch information
apertureless authored Feb 2, 2018
2 parents b80b07e + 4297872 commit 71b50df
Show file tree
Hide file tree
Showing 24 changed files with 236 additions and 1,377 deletions.
746 changes: 109 additions & 637 deletions dist/vue-chartjs.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/vue-chartjs.min.js

Large diffs are not rendered by default.

104 changes: 104 additions & 0 deletions src/BaseCharts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
import Chart from 'chart.js'

function generateChart (chartId, chartType) {
return {
render: function (createElement) {
return createElement(
'div', {
style: this.styles,
class: this.cssClasses
},
[
createElement(
'canvas', {
attrs: {
id: this.chartId,
width: this.width,
height: this.height
},
ref: 'canvas'
}
)
]
)
},

props: {
chartId: {
default: chartId,
type: String
},
width: {
default: 400,
type: Number
},
height: {
default: 400,
type: Number
},
cssClasses: {
type: String,
default: ''
},
styles: {
type: Object
},
plugins: {
type: Array,
default () {
return []
}
}
},

data () {
return {
_chart: null,
_plugins: this.plugins
}
},

methods: {
addPlugin (plugin) {
this.$data._plugins.push(plugin)
},
renderChart (data, options) {
this.$data._chart = new Chart(
this.$refs.canvas.getContext('2d'), {
type: chartType,
data: data,
options: options,
plugins: this.$data._plugins
}
)
}
},
beforeDestroy () {
if (this.$data._chart) {
this.$data._chart.destroy()
}
}
}
}

export const Bar = generateChart('bar-chart', 'bar')
export const HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar')
export const Doughnut = generateChart('doughnut-chart', 'doughnut')
export const Line = generateChart('line-chart', 'line')
export const Pie = generateChart('pie-chart', 'pie')
export const PolarArea = generateChart('polar-chart', 'polarArea')
export const Radar = generateChart('radar-chart', 'radar')
export const Bubble = generateChart('bubble-chart', 'bubble')
export const Scatter = generateChart('scatter-chart', 'scatter')

export default {
Bar,
HorizontalBar,
Doughnut,
Line,
Pie,
PolarArea,
Radar,
Bubble,
Scatter
}
78 changes: 0 additions & 78 deletions src/BaseCharts/Bar.js

This file was deleted.

80 changes: 0 additions & 80 deletions src/BaseCharts/Bubble.js

This file was deleted.

81 changes: 0 additions & 81 deletions src/BaseCharts/Doughnut.js

This file was deleted.

Loading

0 comments on commit 71b50df

Please sign in to comment.