Dismiss modals on pop state
authorChocobozzz <me@florianbigard.com>
Thu, 22 Aug 2019 14:13:26 +0000 (16:13 +0200)
committerChocobozzz <me@florianbigard.com>
Thu, 22 Aug 2019 14:13:26 +0000 (16:13 +0200)
client/src/app/app.component.ts

index 50c5f5b9bb41ba3755be7abaf415bfc8f7bd5d4f..065bdcaa45d88bccbea9064439bc4470d4af8813 100644 (file)
@@ -8,9 +8,10 @@ import { debounceTime, filter, map, pairwise, skip } from 'rxjs/operators'
 import { Hotkey, HotkeysService } from 'angular2-hotkeys'
 import { I18n } from '@ngx-translate/i18n-polyfill'
 import { fromEvent } from 'rxjs'
-import { ViewportScroller } from '@angular/common'
+import { PlatformLocation, ViewportScroller } from '@angular/common'
 import { PluginService } from '@app/core/plugins/plugin.service'
 import { HooksService } from '@app/core/plugins/hooks.service'
+import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
 
 @Component({
   selector: 'my-app',
@@ -35,7 +36,9 @@ export class AppComponent implements OnInit {
     private screenService: ScreenService,
     private hotkeysService: HotkeysService,
     private themeService: ThemeService,
-    private hooks: HooksService
+    private hooks: HooksService,
+    private location: PlatformLocation,
+    private modalService: NgbModal
   ) { }
 
   get serverVersion () {
@@ -90,6 +93,8 @@ export class AppComponent implements OnInit {
     fromEvent(window, 'resize')
       .pipe(debounceTime(200))
       .subscribe(() => this.onResize())
+
+    this.location.onPopState(() => this.modalService.dismissAll())
   }
 
   isUserLoggedIn () {