From 30c8420e301e912bea3d30048af4595f3dac73ec Mon Sep 17 00:00:00 2001 From: Cheng-Han, Wu Date: Fri, 17 Jun 2016 15:55:27 +0800 Subject: Revert 85e00cb2ef4ee96b8f9a8c8b58e89292c6eb56d2, it's needed for checking if cursor related element reach the viewport edge --- public/js/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'public/js/index.js') diff --git a/public/js/index.js b/public/js/index.js index e2707c05..d6efbef2 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -2279,6 +2279,8 @@ function checkCursorTag(coord, ele) { // get coord position var left = coord.left; var top = coord.top; + // get doc top offset (to workaround with viewport) + var docTopOffset = ui.area.codemirrorSizerInner.position().top; // set offset var offsetLeft = -3; var offsetTop = defaultTextHeight; @@ -2290,7 +2292,7 @@ function checkCursorTag(coord, ele) { } // flip y when element bottom bound larger than doc height // and element top position is larger than element height - if (top + height + offsetTop + tagBottomMargin > Math.max(editor.doc.height, editorHeight) && top > height + tagBottomMargin) { + if (top + docTopOffset + height + offsetTop + tagBottomMargin > Math.max(editor.doc.height, editorHeight) && top + docTopOffset > height + tagBottomMargin) { offsetTop = -(height); } } @@ -2876,6 +2878,8 @@ function checkCursorMenuInner() { }, 'windows'); var left = coord.left; var top = coord.top; + // get doc top offset (to workaround with viewport) + var docTopOffset = ui.area.codemirrorSizerInner.position().top; // set offset var offsetLeft = 0; var offsetTop = defaultTextHeight; @@ -2886,7 +2890,7 @@ function checkCursorMenuInner() { offsetLeft = -(left + width - docWidth + menuRightMargin); // flip y when element bottom bound larger than doc height // and element top position is larger than element height - if (top + height + offsetTop + menuBottomMargin > Math.max(editor.doc.height, editorHeight) && top > height + menuBottomMargin) { + if (top + docTopOffset + height + offsetTop + menuBottomMargin > Math.max(editor.doc.height, editorHeight) && top + docTopOffset > height + menuBottomMargin) { offsetTop = -(height + menuBottomMargin); // reverse sort menu because upSideDown dropdown.html(reverseSortCursorMenu(dropdown)); -- cgit v1.2.3