fix: Close modal after clicking on download
authorLeo Mouyna <mouynaleo@gmail.com>
Tue, 14 May 2019 21:38:59 +0000 (23:38 +0200)
committerChocobozzz <chocobozzz@cpy.re>
Thu, 16 May 2019 07:12:58 +0000 (09:12 +0200)
Use the NgActiveModal method to close it on a click by adding a specific
modalActive object and use it on download function.

See issue: Chocobozzz#1436

client/src/app/shared/video/modals/video-download.component.ts

index d6d10d29ed86b7d5f7303957fdc6e9894fd7d628..a07560f8761756552d172689f5844d21160d7abd 100644 (file)
@@ -1,6 +1,6 @@
 import { Component, ElementRef, ViewChild } from '@angular/core'
 import { VideoDetails } from '../../../shared/video/video-details.model'
-import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
+import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap'
 import { I18n } from '@ngx-translate/i18n-polyfill'
 import { Notifier } from '@app/core'
 
@@ -16,6 +16,7 @@ export class VideoDownloadComponent {
   resolutionId: number | string = -1
 
   video: VideoDetails
+  activeModal: NgbActiveModal
 
   constructor (
     private notifier: Notifier,
@@ -26,9 +27,7 @@ export class VideoDownloadComponent {
   show (video: VideoDetails) {
     this.video = video
 
-    const m = this.modalService.open(this.modal)
-    m.result.then(() => this.onClose())
-     .catch(() => this.onClose())
+    this.activeModal = this.modalService.open(this.modal)
 
     this.resolutionId = this.video.files[0].resolution.id
   }
@@ -39,6 +38,7 @@ export class VideoDownloadComponent {
 
   download () {
     window.location.assign(this.getLink())
+    this.activeModal.close()
   }
 
   getLink () {