From: Jukka Kurkela Date: Sat, 4 Sep 2021 17:41:47 +0000 (+0300) Subject: Fix plugin event filtering of renamed events (#9613) X-Git-Tag: v3.6.0~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=50ad1637b0100bf4e4a527cbcde95004a8032756;p=thirdparty%2FChart.js.git Fix plugin event filtering of renamed events (#9613) --- diff --git a/package-lock.json b/package-lock.json index 43a27e58f..a5f3c6fec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@vuepress/plugin-html-redirect": "^0.1.2", "chartjs-adapter-luxon": "^1.0.0", "chartjs-adapter-moment": "^1.0.0", - "chartjs-test-utils": "^0.3.0", + "chartjs-test-utils": "^0.3.1", "concurrently": "^6.0.1", "coveralls": "^3.1.0", "cross-env": "^7.0.3", @@ -5419,9 +5419,9 @@ } }, "node_modules/chartjs-test-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/chartjs-test-utils/-/chartjs-test-utils-0.3.0.tgz", - "integrity": "sha512-YN3K8hZgiCZaVDvfysQ91ERd3q1knvydN0NmKS8N5S9MUyW1lvVaelrDL1f8Zh3jq2Qo+IjpUyO4VeOR5XvmsQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chartjs-test-utils/-/chartjs-test-utils-0.3.1.tgz", + "integrity": "sha512-QsRYLWOedYGsloDvJsByPNUK44TOiqnxQEO5FOrOm9SguEl5WmJDCOIdd/1ePLOX4gGRClXBDVxD7o1SJY+nWA==", "dev": true, "dependencies": { "jasmine": "^3.6.4", @@ -23368,9 +23368,9 @@ "requires": {} }, "chartjs-test-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/chartjs-test-utils/-/chartjs-test-utils-0.3.0.tgz", - "integrity": "sha512-YN3K8hZgiCZaVDvfysQ91ERd3q1knvydN0NmKS8N5S9MUyW1lvVaelrDL1f8Zh3jq2Qo+IjpUyO4VeOR5XvmsQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/chartjs-test-utils/-/chartjs-test-utils-0.3.1.tgz", + "integrity": "sha512-QsRYLWOedYGsloDvJsByPNUK44TOiqnxQEO5FOrOm9SguEl5WmJDCOIdd/1ePLOX4gGRClXBDVxD7o1SJY+nWA==", "dev": true, "requires": { "jasmine": "^3.6.4", diff --git a/package.json b/package.json index 2ce25fbc5..48e08a4d7 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@vuepress/plugin-html-redirect": "^0.1.2", "chartjs-adapter-luxon": "^1.0.0", "chartjs-adapter-moment": "^1.0.0", - "chartjs-test-utils": "^0.3.0", + "chartjs-test-utils": "^0.3.1", "concurrently": "^6.0.1", "coveralls": "^3.1.0", "cross-env": "^7.0.3", diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 4162ac8f1..e019bb7f6 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -1067,7 +1067,7 @@ class Chart { _eventHandler(e, replay) { const me = this; const args = {event: e, replay, cancelable: true}; - const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.type); + const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type); if (me.notifyPlugins('beforeEvent', args, eventFilter) === false) { return; diff --git a/test/specs/core.plugin.tests.js b/test/specs/core.plugin.tests.js index 5c1c9cccb..285dbab5b 100644 --- a/test/specs/core.plugin.tests.js +++ b/test/specs/core.plugin.tests.js @@ -398,10 +398,10 @@ describe('Chart.plugins', function() { const results = []; const chart = window.acquireChart({ options: { - events: ['mousemove', 'test', 'test2'], + events: ['mousemove', 'test', 'test2', 'pointerleave'], plugins: { testPlugin: { - events: ['test'] + events: ['test', 'pointerleave'] } } }, @@ -418,7 +418,8 @@ describe('Chart.plugins', function() { await jasmine.triggerMouseEvent(chart, 'mousemove', {x: 0, y: 0}); await jasmine.triggerMouseEvent(chart, 'test', {x: 0, y: 0}); await jasmine.triggerMouseEvent(chart, 'test2', {x: 0, y: 0}); - expect(results).toEqual(['beforetest', 'aftertest']); + await jasmine.triggerMouseEvent(chart, 'pointerleave', {x: 0, y: 0}); + expect(results).toEqual(['beforetest', 'aftertest', 'beforemouseout', 'aftermouseout']); }); }); });