From 749839a8e14ee43dbd50ae74abe5d1a25dfa5e89 Mon Sep 17 00:00:00 2001 From: Kevin Ansfield Date: Wed, 20 Jun 2018 17:34:50 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Koenig=20-=20Fixed=20card=20clic?= =?UTF-8?q?k-to-deselect=20in=20Safari/Firefox?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refs https://github.com/TryGhost/Ghost/issues/9623 - only Chrome exposes `MouseEvent.path` so use `MouseEvent.composedPath()` for Safari/FF support --- .../lib/koenig-editor/addon/components/koenig-card.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ghost/admin/lib/koenig-editor/addon/components/koenig-card.js b/ghost/admin/lib/koenig-editor/addon/components/koenig-card.js index 1a18f35eb3..ef851d8ebd 100644 --- a/ghost/admin/lib/koenig-editor/addon/components/koenig-card.js +++ b/ghost/admin/lib/koenig-editor/addon/components/koenig-card.js @@ -232,7 +232,14 @@ export default Component.extend({ // exit edit mode any time we have a click outside of the card unless it's // a click inside one of our modals or on the plus menu - _handleClick({target, path}) { + _handleClick(event) { + let {target, path} = event; + + // Safari doesn't expose MouseEvent.path + if (!path) { + path = event.composedPath(); + } + let searchPath = function (selector) { return element => element.closest && element.closest(selector); };