]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Fix plugin event filtering of renamed events (#9613)
authorJukka Kurkela <jukka.kurkela@gmail.com>
Sat, 4 Sep 2021 17:41:47 +0000 (20:41 +0300)
committerGitHub <noreply@github.com>
Sat, 4 Sep 2021 17:41:47 +0000 (13:41 -0400)
package-lock.json
package.json
src/core/core.controller.js
test/specs/core.plugin.tests.js

index 43a27e58f092170acdb4eb2d03f8b8a7ecfba0e1..a5f3c6fec636f85d89266b8326ce6924152a9a16 100644 (file)
@@ -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",
       }
     },
     "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",
       "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",
index 2ce25fbc54b02f8da8074fa172a35e95c1a8e0de..48e08a4d7868541f13c100675f46ab670e05f52e 100644 (file)
@@ -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",
index 4162ac8f198af40c3b519e44dac573948364b112..e019bb7f67f7c383ac04a5dd42246db1e9a72f72 100644 (file)
@@ -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;
index 5c1c9cccb8d6a1516b4bf232d6300b280903133e..285dbab5b54d2c9c5e02234d5a8a7b1ae98720e0 100644 (file)
@@ -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']);
     });
   });
 });