From f94b320dfa48587a10cec4b685ab2e58cb20c343 Mon Sep 17 00:00:00 2001 From: Jakub Juszczak Date: Sat, 15 Oct 2016 12:58:51 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Change=20reactiveDataMixin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codecov.yml | 1 + package.json | 2 ++ src/mixins/reactiveData.js | 22 ++++++++++++++++------ test/unit/.eslintrc | 1 + test/unit/karma.conf.js | 2 +- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/codecov.yml b/codecov.yml index 729b0ae..22b54b6 100644 --- a/codecov.yml +++ b/codecov.yml @@ -25,6 +25,7 @@ coverage: ignore: - "tests/*" - "src/examples/*" + - "src/mixins/*" comment: diff --git a/package.json b/package.json index b2f3d97..0cdc2f5 100644 --- a/package.json +++ b/package.json @@ -56,9 +56,11 @@ "http-proxy-middleware": "^0.17.2", "inject-loader": "^2.0.1", "isparta-loader": "^2.0.0", + "jasmine-core": "^2.5.2", "json-loader": "^0.5.4", "karma": "^1.3.0", "karma-coverage": "^1.1.1", + "karma-jasmine": "^1.0.2", "karma-mocha": "^1.2.0", "karma-phantomjs-launcher": "^1.0.0", "karma-sinon-chai": "^1.2.0", diff --git a/src/mixins/reactiveData.js b/src/mixins/reactiveData.js index 50d9ec6..70148d1 100644 --- a/src/mixins/reactiveData.js +++ b/src/mixins/reactiveData.js @@ -19,16 +19,26 @@ module.exports = { }) if (JSON.stringify(newDataLabels) === JSON.stringify(oldDataLabels)) { - newData.datasets.forEach((dataset, i) => { - chart.data.datasets[i].data = dataset.data - }) - chart.data.labels = newData.labels - chart.update() + this.forceUpdate(newData, chart) } else { - this.renderChart(this.chartData, this.options) + this.forceRender() } } } } + }, + methods: { + forceUpdate (newData, chart) { + newData.datasets.forEach((dataset, i) => { + chart.data.datasets[i].data = dataset.data + }) + + chart.data.labels = newData.labels + chart.update() + }, + + forceRender () { + this.renderChart(this.chartData, this.options) + } } } diff --git a/test/unit/.eslintrc b/test/unit/.eslintrc index 959a4f4..8889946 100644 --- a/test/unit/.eslintrc +++ b/test/unit/.eslintrc @@ -4,6 +4,7 @@ }, "globals": { "expect": true, + "jasmine": true, "sinon": true } } diff --git a/test/unit/karma.conf.js b/test/unit/karma.conf.js index 048b729..a31f254 100644 --- a/test/unit/karma.conf.js +++ b/test/unit/karma.conf.js @@ -54,7 +54,7 @@ module.exports = function (config) { // http://karma-runner.github.io/0.13/config/browsers.html // 2. add it to the `browsers` array below. browsers: ['PhantomJS'], - frameworks: ['mocha', 'sinon-chai'], + frameworks: ['mocha', 'sinon-chai', 'jasmine'], reporters: ['spec', 'coverage'], files: ['./index.js'], preprocessors: {