]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts
Merge remote-tracking branch 'weblate/develop' into develop
[github/Chocobozzz/PeerTube.git] / client / src / app / +videos / +video-edit / video-add-components / video-import-torrent.component.ts
index 538a187a83b61c47c1356e65b01ddf68b46072eb..3aae24732e5d33063e0d621f690e735c7d6594eb 100644 (file)
@@ -1,13 +1,13 @@
-import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core'
+import { AfterViewInit, Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core'
 import { Router } from '@angular/router'
-import { AuthService, CanComponentDeactivate, Notifier, ServerService } from '@app/core'
+import { AuthService, CanComponentDeactivate, HooksService, Notifier, ServerService } from '@app/core'
 import { scrollToTop } from '@app/helpers'
 import { FormValidatorService } from '@app/shared/shared-forms'
 import { VideoCaptionService, VideoEdit, VideoImportService, VideoService } from '@app/shared/shared-main'
-import { VideoSend } from './video-send'
 import { LoadingBarService } from '@ngx-loading-bar/core'
-import { I18n } from '@ngx-translate/i18n-polyfill'
 import { VideoPrivacy, VideoUpdate } from '@shared/models'
+import { hydrateFormFromVideo } from '../shared/video-edit-utils'
+import { VideoSend } from './video-send'
 
 @Component({
   selector: 'my-video-import-torrent',
@@ -18,7 +18,7 @@ import { VideoPrivacy, VideoUpdate } from '@shared/models'
     './video-send.scss'
   ]
 })
-export class VideoImportTorrentComponent extends VideoSend implements OnInit, CanComponentDeactivate {
+export class VideoImportTorrentComponent extends VideoSend implements OnInit, AfterViewInit, CanComponentDeactivate {
   @Output() firstStepDone = new EventEmitter<string>()
   @Output() firstStepError = new EventEmitter<void>()
   @ViewChild('torrentfileInput') torrentfileInput: ElementRef<HTMLInputElement>
@@ -44,8 +44,8 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca
     protected videoCaptionService: VideoCaptionService,
     private router: Router,
     private videoImportService: VideoImportService,
-    private i18n: I18n
-  ) {
+    private hooks: HooksService
+    ) {
     super()
   }
 
@@ -53,6 +53,10 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca
     super.ngOnInit()
   }
 
+  ngAfterViewInit () {
+    this.hooks.runAction('action:video-torrent-import.init', 'video-edit')
+  }
+
   canDeactivate () {
     return { canDeactivate: true }
   }
@@ -77,18 +81,18 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca
     this.isImportingVideo = true
 
     const videoUpdate: VideoUpdate = {
-      privacy: this.firstStepPrivacyId,
+      privacy: VideoPrivacy.PRIVATE,
       waitTranscoding: false,
       commentsEnabled: true,
       downloadEnabled: true,
       channelId: this.firstStepChannelId
     }
 
-    this.loadingBar.start()
+    this.loadingBar.useRef().start()
 
     this.videoImportService.importVideoTorrent(torrentfile || this.magnetUri, videoUpdate).subscribe(
       res => {
-        this.loadingBar.complete()
+        this.loadingBar.useRef().complete()
         this.firstStepDone.emit(res.video.name)
         this.isImportingVideo = false
         this.hasImportedVideo = true
@@ -96,16 +100,17 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca
         this.video = new VideoEdit(Object.assign(res.video, {
           commentsEnabled: videoUpdate.commentsEnabled,
           downloadEnabled: videoUpdate.downloadEnabled,
+          privacy: { id: this.firstStepPrivacyId },
           support: null,
           thumbnailUrl: null,
           previewUrl: null
         }))
 
-        this.hydrateFormFromVideo()
+        hydrateFormFromVideo(this.form, this.video, false)
       },
 
       err => {
-        this.loadingBar.complete()
+        this.loadingBar.useRef().complete()
         this.isImportingVideo = false
         this.firstStepError.emit()
         this.notifier.error(err.message)
@@ -127,9 +132,9 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca
         .subscribe(
           () => {
             this.isUpdatingVideo = false
-            this.notifier.success(this.i18n('Video to import updated.'))
+            this.notifier.success($localize`Video to import updated.`)
 
-            this.router.navigate([ '/my-account', 'video-imports' ])
+            this.router.navigate([ '/my-library', 'video-imports' ])
           },
 
           err => {
@@ -138,10 +143,5 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Ca
             console.error(err)
           }
         )
-
-  }
-
-  private hydrateFormFromVideo () {
-    this.form.patchValue(this.video.toFormPatch())
   }
 }