From 74b5bdf2aa66a2b4ea94d4ecbd7f5f63eaf1f5eb Mon Sep 17 00:00:00 2001 From: Justin Reynolds Date: Fri, 6 Sep 2019 17:18:06 -0500 Subject: Fix #2451 unable to drag select text without closing card details --- client/components/cards/cardDetails.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'client/components') diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index cd8813f5..47941560 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -321,6 +321,19 @@ BlazeComponent.extendComponent({ parentComponent.showOverlay.set(true); parentComponent.mouseHasEnterCardDetails = true; }, + 'mousedown .js-card-details'() { + Session.set('cardDetailsIsDragging', false); + Session.set('cardDetailsIsMouseDown', true); + }, + 'mousemove .js-card-details'() { + if (Session.get('cardDetailsIsMouseDown')) { + Session.set('cardDetailsIsDragging', true); + } + }, + 'mouseup .js-card-details'() { + Session.set('cardDetailsIsDragging', false); + Session.set('cardDetailsIsMouseDown', false); + }, 'click #toggleButton'() { Meteor.call('toggleSystemMessages'); }, @@ -777,7 +790,14 @@ BlazeComponent.extendComponent({ EscapeActions.register( 'detailsPane', () => { - Utils.goBoardId(Session.get('currentBoard')); + if (Session.get('cardDetailsIsDragging')) { + // Reset dragging status as the mouse landed outside the cardDetails template area and this will prevent a mousedown event from firing + Session.set('cardDetailsIsDragging', false); + Session.set('cardDetailsIsMouseDown', false); + } else { + // Prevent close card when the user is selecting text and moves the mouse cursor outside the card detail area + Utils.goBoardId(Session.get('currentBoard')); + } }, () => { return !Session.equals('currentCard', null); -- cgit v1.2.3-1-g7c22