@@ -20,6 +20,9 @@ import { Bookmark } from './core/model/bookmark';
2020import { Router } from '@angular/router' ;
2121import { AddToHistoryService } from './core/user/add-to-history.service' ;
2222import { environment } from '../environments/environment' ;
23+ import { ScrollStrategyOptions } from '@angular/cdk/overlay' ;
24+ import { ScrollStrategy } from '@angular/cdk/overlay/scroll/scroll-strategy' ;
25+ import { LoginDialogHelperService } from './core/login-dialog-helper.service' ;
2326
2427@Component ( {
2528 selector : 'app-root' ,
@@ -45,17 +48,21 @@ export class AppComponent implements OnInit {
4548 favIcon : HTMLLinkElement = document . querySelector ( '#favicon' ) ;
4649 readonly environment = environment ;
4750
51+ scrollStrategy : ScrollStrategy ;
52+
4853 constructor ( private keycloakService : KeycloakService ,
4954 private userInfoStore : UserInfoStore ,
5055 private userDataStore : UserDataStore ,
5156 private userDataHistoryStore : UserDataHistoryStore ,
5257 private userDataPinnedStore : UserDataPinnedStore ,
5358 private historyDialog : MatDialog ,
5459 private loginDialog : MatDialog ,
60+ private loginDialogHelperService : LoginDialogHelperService ,
5561 private cookieService : CookieService ,
5662 private feedbackService : FeedbackService ,
5763 protected router : Router ,
58- private addToHistoryService : AddToHistoryService ) {
64+ private addToHistoryService : AddToHistoryService ,
65+ private readonly scrollStrategyOptions : ScrollStrategyOptions ) {
5966 this . innerWidth = 100 ;
6067 }
6168
@@ -86,18 +93,13 @@ export class AppComponent implements OnInit {
8693 )
8794 }
8895 } ) ;
96+ this . scrollStrategy = this . scrollStrategyOptions . noop ( ) ;
8997 }
9098
9199 @HostListener ( 'window:keydown.control.p' , [ '$event' ] )
92100 showPinned ( event : KeyboardEvent ) {
93101 if ( ! this . userIsLoggedIn ) {
94- const dialogConfig = new MatDialogConfig ( ) ;
95-
96- dialogConfig . disableClose = true ;
97- dialogConfig . autoFocus = true ;
98- dialogConfig . data = {
99- message : 'You need to be logged in to see the Pinned Bookmarks popup'
100- } ;
102+ const dialogConfig = this . loginDialogHelperService . loginDialogConfig ( 'You need to be logged in to see the Pinned Bookmarks popup' ) ;
101103
102104 this . loginDialog . open ( LoginRequiredDialogComponent , dialogConfig ) ;
103105 } else {
@@ -108,6 +110,7 @@ export class AppComponent implements OnInit {
108110 dialogConfig . autoFocus = true ;
109111 dialogConfig . width = this . getRelativeWidth ( ) ;
110112 dialogConfig . height = this . getRelativeHeight ( ) ;
113+ dialogConfig . scrollStrategy = this . scrollStrategy ;
111114 dialogConfig . data = {
112115 bookmarks$ : this . userDataPinnedStore . getPinnedBookmarks$ ( this . userId , 1 ) ,
113116 title : '<i class="fas fa-thumbtack"></i> Pinned'
@@ -143,13 +146,7 @@ export class AppComponent implements OnInit {
143146 @HostListener ( 'window:keydown.control.h' , [ '$event' ] )
144147 showHistory ( event : KeyboardEvent ) {
145148 if ( ! this . userIsLoggedIn ) {
146- const dialogConfig = new MatDialogConfig ( ) ;
147-
148- dialogConfig . disableClose = true ;
149- dialogConfig . autoFocus = true ;
150- dialogConfig . data = {
151- message : 'You need to be logged in to see the History Bookmarks popup'
152- } ;
149+ const dialogConfig = this . loginDialogHelperService . loginDialogConfig ( 'You need to be logged in to see the History Bookmarks popup' ) ;
153150
154151 this . loginDialog . open ( LoginRequiredDialogComponent , dialogConfig ) ;
155152 } else {
@@ -160,6 +157,7 @@ export class AppComponent implements OnInit {
160157 dialogConfig . autoFocus = true ;
161158 dialogConfig . width = this . getRelativeWidth ( ) ;
162159 dialogConfig . height = this . getRelativeHeight ( ) ;
160+ dialogConfig . scrollStrategy = this . scrollStrategy ;
163161 dialogConfig . data = {
164162 bookmarks$ : this . userDataHistoryStore . getAllHistory$ ( this . userId ) ,
165163 title : '<i class="fas fa-history"></i> History'
0 commit comments