fix: Close modal after clicking on download

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
pull/1830/head
Leo Mouyna 2019-05-14 23:38:59 +02:00 committed by Chocobozzz
parent 2fbd5e25dd
commit 11b3f14c75
1 changed files with 4 additions and 4 deletions

View File

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