From 0ce381aa0a64de9a2165843dfe6ee493940f8c26 Mon Sep 17 00:00:00 2001 From: Maxime Quandalle Date: Mon, 31 Aug 2015 23:14:31 +0200 Subject: Fix the horizontal canvas scrolling on card opening --- client/components/cards/cardDetails.js | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'client/components/cards/cardDetails.js') diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index 5a7071e8..aba7254a 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -23,12 +23,32 @@ BlazeComponent.extendComponent({ this.componentParent().mouseHasEnterCardDetails = false; }, + scrollParentContainer: function() { + const cardPanelWidth = 510; + let bodyBoardComponent = this.componentParent(); + + let $cardContainer = bodyBoardComponent.$('.js-lists'); + let $cardView = this.$(this.firstNode()); + let cardContainerScroll = $cardContainer.scrollLeft(); + let cardContainerWidth = $cardContainer.width(); + + let cardViewStart = $cardView.offset().left; + let cardViewEnd = cardViewStart + cardPanelWidth; + + let offset = false; + if (cardViewStart < 0) { + offset = cardViewStart; + } else if(cardViewEnd > cardContainerWidth) { + offset = cardViewEnd - cardContainerWidth; + } + + if (offset) { + bodyBoardComponent.scrollLeft(cardContainerScroll + offset); + } + }, + onRendered: function() { - var bodyBoardComponent = this.componentParent(); - var additionalMargin = 550; - var $cardDetails = this.$(this.firstNode()); - var scollLeft = $cardDetails.offset().left + additionalMargin; - bodyBoardComponent.scrollLeft(scollLeft); + this.scrollParentContainer(); }, onDestroyed: function() { -- cgit v1.2.3-1-g7c22