aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+videos/+video-edit/video-update.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/+videos/+video-edit/video-update.component.ts')
-rw-r--r--client/src/app/+videos/+video-edit/video-update.component.ts30
1 files changed, 25 insertions, 5 deletions
diff --git a/client/src/app/+videos/+video-edit/video-update.component.ts b/client/src/app/+videos/+video-edit/video-update.component.ts
index ec1305a33..7126ad05b 100644
--- a/client/src/app/+videos/+video-edit/video-update.component.ts
+++ b/client/src/app/+videos/+video-edit/video-update.component.ts
@@ -3,10 +3,11 @@ import { Component, HostListener, OnInit } from '@angular/core'
3import { ActivatedRoute, Router } from '@angular/router' 3import { ActivatedRoute, Router } from '@angular/router'
4import { Notifier } from '@app/core' 4import { Notifier } from '@app/core'
5import { FormReactive, FormValidatorService, SelectChannelItem } from '@app/shared/shared-forms' 5import { FormReactive, FormValidatorService, SelectChannelItem } from '@app/shared/shared-forms'
6import { VideoCaptionEdit, VideoCaptionService, VideoDetails, VideoEdit, VideoService } from '@app/shared/shared-main' 6import { LiveVideoService, VideoCaptionEdit, VideoCaptionService, VideoDetails, VideoEdit, VideoService } from '@app/shared/shared-main'
7import { LoadingBarService } from '@ngx-loading-bar/core' 7import { LoadingBarService } from '@ngx-loading-bar/core'
8import { LiveVideo, VideoPrivacy } from '@shared/models' 8import { LiveVideo, LiveVideoUpdate, VideoPrivacy } from '@shared/models'
9import { hydrateFormFromVideo } from './shared/video-edit-utils' 9import { hydrateFormFromVideo } from './shared/video-edit-utils'
10import { of } from 'rxjs'
10 11
11@Component({ 12@Component({
12 selector: 'my-videos-update', 13 selector: 'my-videos-update',
@@ -32,7 +33,8 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
32 private notifier: Notifier, 33 private notifier: Notifier,
33 private videoService: VideoService, 34 private videoService: VideoService,
34 private loadingBar: LoadingBarService, 35 private loadingBar: LoadingBarService,
35 private videoCaptionService: VideoCaptionService 36 private videoCaptionService: VideoCaptionService,
37 private liveVideoService: LiveVideoService
36 ) { 38 ) {
37 super() 39 super()
38 } 40 }
@@ -56,7 +58,15 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
56 } 58 }
57 59
58 // FIXME: Angular does not detect the change inside this subscription, so use the patched setTimeout 60 // FIXME: Angular does not detect the change inside this subscription, so use the patched setTimeout
59 setTimeout(() => hydrateFormFromVideo(this.form, this.video, true)) 61 setTimeout(() => {
62 hydrateFormFromVideo(this.form, this.video, true)
63
64 if (this.liveVideo) {
65 this.form.patchValue({
66 saveReplay: this.liveVideo.saveReplay
67 })
68 }
69 })
60 }, 70 },
61 71
62 err => { 72 err => {
@@ -102,6 +112,10 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
102 112
103 this.video.patch(this.form.value) 113 this.video.patch(this.form.value)
104 114
115 const liveVideoUpdate: LiveVideoUpdate = {
116 saveReplay: this.form.value.saveReplay
117 }
118
105 this.loadingBar.useRef().start() 119 this.loadingBar.useRef().start()
106 this.isUpdatingVideo = true 120 this.isUpdatingVideo = true
107 121
@@ -109,7 +123,13 @@ export class VideoUpdateComponent extends FormReactive implements OnInit {
109 this.videoService.updateVideo(this.video) 123 this.videoService.updateVideo(this.video)
110 .pipe( 124 .pipe(
111 // Then update captions 125 // Then update captions
112 switchMap(() => this.videoCaptionService.updateCaptions(this.video.id, this.videoCaptions)) 126 switchMap(() => this.videoCaptionService.updateCaptions(this.video.id, this.videoCaptions)),
127
128 switchMap(() => {
129 if (!this.liveVideo) return of(undefined)
130
131 return this.liveVideoService.updateLive(this.video.id, liveVideoUpdate)
132 })
113 ) 133 )
114 .subscribe( 134 .subscribe(
115 () => { 135 () => {