From 1043257f875e95ae031066388907fe694ce8c539 Mon Sep 17 00:00:00 2001 From: alschmiedt Date: Fri, 11 Dec 2020 09:47:35 -0800 Subject: [PATCH] Fix ios12 bug (#4517) * Changes mousedown to click event --- core/toolbox/toolbox.js | 6 +++--- tests/mocha/toolbox_test.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/toolbox/toolbox.js b/core/toolbox/toolbox.js index bb7a2243b..5b0fa2982 100644 --- a/core/toolbox/toolbox.js +++ b/core/toolbox/toolbox.js @@ -236,7 +236,7 @@ Blockly.Toolbox.prototype.createContentsContainer_ = function() { Blockly.Toolbox.prototype.attachEvents_ = function(container, contentsContainer) { // Clicking on toolbox closes popups. - var clickEvent = Blockly.bindEventWithChecks_(container, 'mousedown', this, + var clickEvent = Blockly.bindEventWithChecks_(container, 'click', this, this.onClick_, /* opt_noCaptureIdentifier */ false, /* opt_noPreventDefault */ true); this.boundEvents_.push(clickEvent); @@ -257,8 +257,8 @@ Blockly.Toolbox.prototype.onClick_ = function(e) { // Close flyout. Blockly.hideChaff(false); } else { - var srcElement = e.srcElement; - var itemId = srcElement.getAttribute('id'); + var targetElement = e.target; + var itemId = targetElement.getAttribute('id'); if (itemId) { var item = this.getToolboxItemById(itemId); if (item.isSelectable()) { diff --git a/tests/mocha/toolbox_test.js b/tests/mocha/toolbox_test.js index ead0ffcbd..0570f287a 100644 --- a/tests/mocha/toolbox_test.js +++ b/tests/mocha/toolbox_test.js @@ -130,14 +130,14 @@ suite('Toolbox', function() { test('Toolbox clicked -> Should close flyout', function() { var hideChaffStub = sinon.stub(Blockly, "hideChaff"); - var evt = new MouseEvent('pointerdown', {}); + var evt = new MouseEvent('click', {}); this.toolbox.HtmlDiv.dispatchEvent(evt); sinon.assert.calledOnce(hideChaffStub); }); test('Category clicked -> Should select category', function() { var categoryXml = document.getElementsByClassName('blocklyTreeRow')[0]; var evt = { - 'srcElement': categoryXml + 'target': categoryXml }; var item = this.toolbox.contentMap_[categoryXml.getAttribute('id')]; var setSelectedSpy = sinon.spy(this.toolbox, 'setSelectedItem');