Fix repositioning mistakes after scrolling

This commit is contained in:
2024-03-29 07:17:41 +01:00
parent eb1ec95749
commit c6424e801d
2 changed files with 828 additions and 18 deletions

View File

@@ -524,10 +524,13 @@ class BesService {
if (!service) return
service.scrollPanel.style.top = -hostElement.scrollTop + 'px'
service.offsetTop = hostElement.scrollTop
setTimeout(() => {
if (service.scrollTimeout) clearTimeout(service.scrollTimeout)
service.scrollTimeout = setTimeout(() => {
console.log('Scrolling stop')
service.repositionMistakes()
}, 100)
// TODO: Move popup (if open) too.
service.scrollTimeout = null
}, 200)
}
/**
@@ -679,6 +682,7 @@ class BesCKService extends BesService {
/**
* Updates grammar mistake markup positions.
*/
// TODO: Implement a more efficient solution for repositioning mistakes after scrolling etc.
repositionMistakes() {
this.children.forEach(child => {
this.clearMistakeMarkup(child.element)
@@ -1187,9 +1191,9 @@ window.onscroll = () => {
besServices.forEach(service => {
service.scrollPanel.style.top = -service.hostElement.scrollTop + 'px'
service.offsetTop = service.hostElement.scrollTop
setTimeout(() => {
service.repositionMistakes()
}, 100)
// setTimeout(() => {
// service.repositionMistakes()
// }, 100)
})
}