From ef127686cdfb517e63cef2cc7570306f7385e576 Mon Sep 17 00:00:00 2001 From: Karl Viiburg Date: Mon, 3 Jul 2017 08:12:28 +0300 Subject: [PATCH] Add support for inline plugins --- src/BaseCharts/Bar.js | 9 +++++++-- src/BaseCharts/Bubble.js | 9 +++++++-- src/BaseCharts/Doughnut.js | 9 +++++++-- src/BaseCharts/HorizontalBar.js | 9 +++++++-- src/BaseCharts/Line.js | 9 +++++++-- src/BaseCharts/Pie.js | 9 +++++++-- src/BaseCharts/PolarArea.js | 9 +++++++-- src/BaseCharts/Radar.js | 9 +++++++-- 8 files changed, 56 insertions(+), 16 deletions(-) diff --git a/src/BaseCharts/Bar.js b/src/BaseCharts/Bar.js index 07e7106..7ccab31 100644 --- a/src/BaseCharts/Bar.js +++ b/src/BaseCharts/Bar.js @@ -56,18 +56,23 @@ export default Vue.extend({ barPercentage: 0.2 }] } - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) this._chart = new Chart( this.$refs.canvas.getContext('2d'), { type: 'bar', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend() diff --git a/src/BaseCharts/Bubble.js b/src/BaseCharts/Bubble.js index 83e998b..d7f096d 100644 --- a/src/BaseCharts/Bubble.js +++ b/src/BaseCharts/Bubble.js @@ -56,11 +56,15 @@ export default Vue.extend({ barPercentage: 0.2 }] } - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) @@ -68,7 +72,8 @@ export default Vue.extend({ this.$refs.canvas.getContext('2d'), { type: 'bubble', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend() diff --git a/src/BaseCharts/Doughnut.js b/src/BaseCharts/Doughnut.js index 4254893..0dd3fd0 100644 --- a/src/BaseCharts/Doughnut.js +++ b/src/BaseCharts/Doughnut.js @@ -39,11 +39,15 @@ export default Vue.extend({ data () { return { defaultOptions: { - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) @@ -51,7 +55,8 @@ export default Vue.extend({ this.$refs.canvas.getContext('2d'), { type: 'doughnut', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend() diff --git a/src/BaseCharts/HorizontalBar.js b/src/BaseCharts/HorizontalBar.js index aec801f..9a860e5 100644 --- a/src/BaseCharts/HorizontalBar.js +++ b/src/BaseCharts/HorizontalBar.js @@ -56,18 +56,23 @@ export default Vue.extend({ barPercentage: 0.2 }] } - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options, type) { let chartOptions = mergeOptions(this.defaultOptions, options) this._chart = new Chart( this.$refs.canvas.getContext('2d'), { type: 'horizontalBar', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend() diff --git a/src/BaseCharts/Line.js b/src/BaseCharts/Line.js index 84a51ae..fd922b3 100644 --- a/src/BaseCharts/Line.js +++ b/src/BaseCharts/Line.js @@ -54,11 +54,15 @@ export default Vue.extend({ } }] } - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) @@ -66,7 +70,8 @@ export default Vue.extend({ this.$refs.canvas.getContext('2d'), { type: 'line', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend() diff --git a/src/BaseCharts/Pie.js b/src/BaseCharts/Pie.js index abfab4e..ad07eed 100644 --- a/src/BaseCharts/Pie.js +++ b/src/BaseCharts/Pie.js @@ -39,11 +39,15 @@ export default Vue.extend({ data () { return { defaultOptions: { - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) @@ -51,7 +55,8 @@ export default Vue.extend({ this.$refs.canvas.getContext('2d'), { type: 'pie', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend() diff --git a/src/BaseCharts/PolarArea.js b/src/BaseCharts/PolarArea.js index 9bbd688..11b580a 100644 --- a/src/BaseCharts/PolarArea.js +++ b/src/BaseCharts/PolarArea.js @@ -39,11 +39,15 @@ export default Vue.extend({ data () { return { defaultOptions: { - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) @@ -51,7 +55,8 @@ export default Vue.extend({ this.$refs.canvas.getContext('2d'), { type: 'polarArea', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend() diff --git a/src/BaseCharts/Radar.js b/src/BaseCharts/Radar.js index 1b23ec4..2e6fa39 100644 --- a/src/BaseCharts/Radar.js +++ b/src/BaseCharts/Radar.js @@ -39,11 +39,15 @@ export default Vue.extend({ data () { return { defaultOptions: { - } + }, + plugins: [] } }, methods: { + addPlugin (plugin) { + this.plugins.push(plugin) + }, renderChart (data, options) { let chartOptions = mergeOptions(this.defaultOptions, options) @@ -51,7 +55,8 @@ export default Vue.extend({ this.$refs.canvas.getContext('2d'), { type: 'radar', data: data, - options: chartOptions + options: chartOptions, + plugins: this.plugins } ) this._chart.generateLegend()