From d6f27e82c66eb300bd50c5ef7cf7b4c03f248772 Mon Sep 17 00:00:00 2001 From: rr- Date: Wed, 1 Jun 2016 21:43:48 +0200 Subject: [PATCH] client/notes: fix placement after mouse scroll --- client/js/controls/post_notes_overlay_control.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/client/js/controls/post_notes_overlay_control.js b/client/js/controls/post_notes_overlay_control.js index 945dab45..b09bb3dc 100644 --- a/client/js/controls/post_notes_overlay_control.js +++ b/client/js/controls/post_notes_overlay_control.js @@ -17,11 +17,13 @@ class PostNotesOverlayControl { const polygonRect = e.target.getBBox(); this._textNode.querySelector('.wrapper').innerHTML = misc.formatMarkdown(e.target.getAttribute('data-text')); - this._textNode.style.left = ( - svgRect.left + svgRect.width * polygonRect.x) + 'px'; - this._textNode.style.top = ( - svgRect.top + svgRect.height * ( - polygonRect.y + polygonRect.height)) + 'px'; + const x = ( + -bodyRect.left + svgRect.left + svgRect.width * polygonRect.x); + const y = ( + -bodyRect.top + svgRect.top + svgRect.height * ( + polygonRect.y + polygonRect.height)); + this._textNode.style.left = x + 'px'; + this._textNode.style.top = y + 'px'; this._textNode.style.display = 'block'; }