import Vue from 'vue' import Chart from 'chart.js' import { mergeOptions } from '../helpers/options' export default Vue.extend({ template: `
`, props: { width: { default: 400, type: Number }, height: { default: 400, type: Number } }, data () { return { defaultOptions: { scales: { yAxes: [{ ticks: { beginAtZero: true }, gridLines: { display: false } }], xAxes: [ { gridLines: { display: false } }] } } } }, methods: { render (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) this._chart = new Chart( this.$els.canvas.getContext('2d'), { type: 'line', data: data, options: chartOptions } ) this._chart.generateLegend() } }, beforeDestroy () { this._chart.destroy() } })