Remove doc top offset workaround for checkCursorTag and checkCursorMenu which cause cursors floating around

This commit is contained in:
Cheng-Han, Wu 2016-06-04 10:49:53 +08:00
parent 43ad625b82
commit 85e00cb2ef

View file

@ -2279,8 +2279,6 @@ function checkCursorTag(coord, ele) {
// get coord position // get coord position
var left = coord.left; var left = coord.left;
var top = coord.top; var top = coord.top;
// get doc top offset (to workaround with viewport)
var docTopOffset = ui.area.codemirrorSizerInner.position().top;
// set offset // set offset
var offsetLeft = -3; var offsetLeft = -3;
var offsetTop = defaultTextHeight; var offsetTop = defaultTextHeight;
@ -2292,7 +2290,7 @@ function checkCursorTag(coord, ele) {
} }
// flip y when element bottom bound larger than doc height // flip y when element bottom bound larger than doc height
// and element top position is larger than element height // and element top position is larger than element height
if (top + docTopOffset + height + offsetTop + tagBottomMargin > Math.max(editor.doc.height, editorHeight) && top + docTopOffset > height + tagBottomMargin) { if (top + height + offsetTop + tagBottomMargin > Math.max(editor.doc.height, editorHeight) && top > height + tagBottomMargin) {
offsetTop = -(height); offsetTop = -(height);
} }
} }
@ -2877,8 +2875,6 @@ function checkCursorMenuInner() {
}, 'windows'); }, 'windows');
var left = coord.left; var left = coord.left;
var top = coord.top; var top = coord.top;
// get doc top offset (to workaround with viewport)
var docTopOffset = ui.area.codemirrorSizerInner.position().top;
// set offset // set offset
var offsetLeft = 0; var offsetLeft = 0;
var offsetTop = defaultTextHeight; var offsetTop = defaultTextHeight;
@ -2889,7 +2885,7 @@ function checkCursorMenuInner() {
offsetLeft = -(left + width - docWidth + menuRightMargin); offsetLeft = -(left + width - docWidth + menuRightMargin);
// flip y when element bottom bound larger than doc height // flip y when element bottom bound larger than doc height
// and element top position is larger than element height // and element top position is larger than element height
if (top + docTopOffset + height + offsetTop + menuBottomMargin > Math.max(editor.doc.height, editorHeight) && top + docTopOffset > height + menuBottomMargin) { if (top + height + offsetTop + menuBottomMargin > Math.max(editor.doc.height, editorHeight) && top > height + menuBottomMargin) {
offsetTop = -(height + menuBottomMargin); offsetTop = -(height + menuBottomMargin);
// reverse sort menu because upSideDown // reverse sort menu because upSideDown
dropdown.html(reverseSortCursorMenu(dropdown)); dropdown.html(reverseSortCursorMenu(dropdown));