save and restore scroll position of song list

This commit is contained in:
2020-06-09 20:28:35 +02:00
parent 634edec169
commit 268c683ad3
6 changed files with 81 additions and 10 deletions

View File

@@ -1,5 +1,7 @@
import {Component, OnInit} from '@angular/core';
import {Component, OnInit, ViewChild} from '@angular/core';
import {fader} from './animations';
import {ScrollService} from './services/scroll.service';
import {PerfectScrollbarComponent} from 'ngx-perfect-scrollbar';
@Component({
selector: 'app-root',
@@ -9,9 +11,24 @@ import {fader} from './animations';
})
export class AppComponent implements OnInit {
public static hideLoader = () => document.querySelector('#load-bg').classList.add('hidden');
@ViewChild('scrollbar', {static: false}) scrollbar: PerfectScrollbarComponent;
constructor(private scrollService: ScrollService) {
scrollService.restoreScrollPosition$.subscribe(pos => {
if (this.scrollbar && pos) {
//this.scrollbar.scrollTo(pos, 0);
this.scrollbar.directiveRef.scrollTo(0, pos, 300)
// debugger;
}
})
}
public ngOnInit(): void {
setTimeout(() => AppComponent.hideLoader(), 800);
}
onScoll($event: { srcElement: { scrollTop: number } }) {
this.scrollService.saveScrollPosition($event.srcElement.scrollTop);
}
}