Almost implement scrolling to explanation texts

see #26
This commit is contained in:
Arne Keller 2021-08-29 15:27:07 +02:00
parent 5d4d8cd828
commit 9b1070651c

View File

@ -33,13 +33,27 @@ class MathjaxExplanation extends MathjaxAdapter {
} }
protected showStep(n: number): void { protected showStep(n: number): void {
let el = this.getElementForStep(this.lastStepShown); let lastEl = this.getElementForStep(this.lastStepShown);
if (el) { if (lastEl) {
el.style.opacity = "0.5"; lastEl.style.opacity = "0.5";
} }
el = this.getElementForStep(n); let el = this.getElementForStep(n);
if (el) { if (el) {
this.lastStepShown = n; this.lastStepShown = n;
// scroll to element if needed
/* TODO: this works, but Vaadin still resets the scroll position when updating the unification text...
const hostEl = this.shadowRoot!.host as HTMLElement;
const dy = el.offsetTop - hostEl.offsetTop - hostEl.scrollTop;
if (dy > hostEl.offsetHeight || dy < 0) {
console.log("doing it!");
console.log(dy);
console.log(hostEl.scrollTop);
console.log(hostEl.offsetTop);
console.log(el.offsetTop);
console.log("scrolling by " + (-hostEl.scrollTop + el.offsetTop - hostEl.offsetTop));
hostEl.scrollBy(0, -hostEl.scrollTop + el.offsetTop - hostEl.offsetTop);
}
*/
el.style.opacity = "1.0"; el.style.opacity = "1.0";
} }
} }