From 36f17a57171bce23840f67c89ef25361cd2b49f6 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Mon, 11 Jul 2016 12:04:42 +0200 Subject: UI: Fix overlapping click event handler (#614) The click event handler for links in the card display are overlapping: The general event for opening the link in a new window matches on user mentions, too. But user mentions cannot be opened in a new window. --- client/components/main/editor.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'client') diff --git a/client/components/main/editor.js b/client/components/main/editor.js index da66bb74..17429067 100755 --- a/client/components/main/editor.js +++ b/client/components/main/editor.js @@ -90,15 +90,10 @@ Blaze.Template.registerHelper('mentions', new Template('mentions', function() { })); Template.viewer.events({ - 'click .js-open-member'(evt, tpl) { - const userId = evt.currentTarget.dataset.userid; - Popup.open('member').call({ userId }, evt, tpl); - }, - // Viewer sometimes have click-able wrapper around them (for instance to edit // the corresponding text). Clicking a link shouldn't fire these actions, stop // we stop these event at the viewer component level. - 'click a'(evt) { + 'click a'(evt, tpl) { evt.stopPropagation(); // XXX We hijack the build-in browser action because we currently don't have @@ -106,9 +101,16 @@ Template.viewer.events({ // handled by a third party package that we can't configure easily. Fix that // by using directly `_blank` attribute in the rendered HTML. evt.preventDefault(); - const href = evt.currentTarget.href; - if (href) { - window.open(href, '_blank'); + + const userId = evt.currentTarget.dataset.userid; + if (userId) { + Popup.open('member').call({ userId }, evt, tpl); + } + else { + const href = evt.currentTarget.href; + if (href) { + window.open(href, '_blank'); + } } }, }); -- cgit v1.2.3-1-g7c22