]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+videos/+video-edit/video-update.component.ts
store uploaded video filename (#4885)
[github/Chocobozzz/PeerTube.git] / client / src / app / +videos / +video-edit / video-update.component.ts
index e44aea10ad978136c697c6d6170d8fedb582852e..43e8ba3e566c41b38b4cb5ed674d95ae400746ad 100644 (file)
@@ -10,6 +10,7 @@ import { LiveVideoService } from '@app/shared/shared-video-live'
 import { LoadingBarService } from '@ngx-loading-bar/core'
 import { LiveVideo, LiveVideoUpdate, VideoPrivacy } from '@shared/models'
 import { hydrateFormFromVideo } from './shared/video-edit-utils'
+import { VideoSource } from '@shared/models/videos/video-source'
 
 @Component({
   selector: 'my-videos-update',
@@ -19,12 +20,13 @@ import { hydrateFormFromVideo } from './shared/video-edit-utils'
 export class VideoUpdateComponent extends FormReactive implements OnInit {
   video: VideoEdit
   videoDetails: VideoDetails
+  videoSource: VideoSource
   userVideoChannels: SelectChannelItem[] = []
   videoCaptions: VideoCaptionEdit[] = []
   liveVideo: LiveVideo
 
   isUpdatingVideo = false
-  schedulePublicationPossible = false
+  forbidScheduledPublication = false
   waitTranscodingEnabled = true
 
   private updateDone = false
@@ -46,16 +48,17 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
     this.buildForm({})
 
     const { videoData } = this.route.snapshot.data
-    const { video, videoChannels, videoCaptions, liveVideo } = videoData
+    const { video, videoChannels, videoCaptions, videoSource, liveVideo } = videoData
 
     this.video = new VideoEdit(video)
     this.videoDetails = video
 
     this.userVideoChannels = videoChannels
     this.videoCaptions = videoCaptions
+    this.videoSource = videoSource
     this.liveVideo = liveVideo
 
-    this.schedulePublicationPossible = this.video.privacy === VideoPrivacy.PRIVATE
+    this.forbidScheduledPublication = this.video.privacy !== VideoPrivacy.PRIVATE
   }
 
   onFormBuilt () {
@@ -64,6 +67,7 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
     if (this.liveVideo) {
       this.form.patchValue({
         saveReplay: this.liveVideo.saveReplay,
+        latencyMode: this.liveVideo.latencyMode,
         permanentLive: this.liveVideo.permanentLive
       })
     }
@@ -91,12 +95,6 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
     return { canDeactivate: this.formChanged === false, text }
   }
 
-  checkForm () {
-    this.forceCheck()
-
-    return this.form.valid
-  }
-
   isWaitTranscodingEnabled () {
     if (this.videoDetails.getFiles().length > 1) { // Already transcoded
       return false
@@ -109,8 +107,11 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
     return true
   }
 
-  update () {
-    if (this.checkForm() === false || this.isUpdatingVideo === true) {
+  async update () {
+    await this.waitPendingCheck()
+    this.forceCheck()
+
+    if (!this.form.valid || this.isUpdatingVideo === true) {
       return
     }
 
@@ -130,7 +131,8 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
 
             const liveVideoUpdate: LiveVideoUpdate = {
               saveReplay: !!this.form.value.saveReplay,
-              permanentLive: !!this.form.value.permanentLive
+              permanentLive: !!this.form.value.permanentLive,
+              latencyMode: this.form.value.latencyMode
             }
 
             // Don't update live attributes if they did not change