]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts
Better label for default transcoding profile
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / config / edit-custom-config / edit-custom-config.component.ts
index f2eaa30339f08bb903792cf2825f6e47e7033232..2c3b7560d616606c9b72c6252d17409c1a49148b 100644 (file)
@@ -18,15 +18,15 @@ import {
   MAX_INSTANCE_LIVES_VALIDATOR,
   MAX_LIVE_DURATION_VALIDATOR,
   MAX_USER_LIVES_VALIDATOR,
+  MAX_VIDEO_CHANNELS_PER_USER_VALIDATOR,
   SEARCH_INDEX_URL_VALIDATOR,
   SERVICES_TWITTER_USERNAME_VALIDATOR,
   SIGNUP_LIMIT_VALIDATOR,
   SIGNUP_MINIMUM_AGE_VALIDATOR,
-  TRANSCODING_THREADS_VALIDATOR,
-  MAX_VIDEO_CHANNELS_PER_USER_VALIDATOR
+  TRANSCODING_THREADS_VALIDATOR
 } from '@app/shared/form-validators/custom-config-validators'
 import { USER_VIDEO_QUOTA_DAILY_VALIDATOR, USER_VIDEO_QUOTA_VALIDATOR } from '@app/shared/form-validators/user-validators'
-import { FormReactive, FormValidatorService } from '@app/shared/shared-forms'
+import { FormReactive, FormReactiveService } from '@app/shared/shared-forms'
 import { CustomPageService } from '@app/shared/shared-main/custom-page'
 import { CustomConfig, CustomPage, HTMLServerConfig } from '@shared/models'
 import { EditConfigurationService } from './edit-configuration.service'
@@ -52,9 +52,9 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
   categoryItems: SelectOptionsItem[] = []
 
   constructor (
+    protected formReactiveService: FormReactiveService,
     private router: Router,
     private route: ActivatedRoute,
-    protected formValidatorService: FormValidatorService,
     private notifier: Notifier,
     private configService: ConfigService,
     private customPage: CustomPageService,
@@ -132,6 +132,7 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
       signup: {
         enabled: null,
         limit: SIGNUP_LIMIT_VALIDATOR,
+        requiresApproval: null,
         requiresEmailVerification: null,
         minimumAge: SIGNUP_MINIMUM_AGE_VALIDATOR
       },
@@ -144,6 +145,9 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
           torrent: {
             enabled: null
           }
+        },
+        videoChannelSynchronization: {
+          enabled: null
         }
       },
       trending: {
@@ -161,6 +165,11 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
         enabled: null
       },
       user: {
+        history: {
+          videos: {
+            enabled: null
+          }
+        },
         videoQuota: USER_VIDEO_QUOTA_VALIDATOR,
         videoQuotaDaily: USER_VIDEO_QUOTA_DAILY_VALIDATOR
       },
@@ -175,11 +184,15 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
         profile: null,
         concurrency: CONCURRENCY_VALIDATOR,
         resolutions: {},
+        alwaysTranscodeOriginalResolution: null,
         hls: {
           enabled: null
         },
         webtorrent: {
           enabled: null
+        },
+        remoteRunners: {
+          enabled: null
         }
       },
       live: {
@@ -189,12 +202,25 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
         maxInstanceLives: MAX_INSTANCE_LIVES_VALIDATOR,
         maxUserLives: MAX_USER_LIVES_VALIDATOR,
         allowReplay: null,
+        latencySetting: {
+          enabled: null
+        },
 
         transcoding: {
           enabled: null,
           threads: TRANSCODING_THREADS_VALIDATOR,
           profile: null,
-          resolutions: {}
+          resolutions: {},
+          alwaysTranscodeOriginalResolution: null,
+          remoteRunners: {
+            enabled: null
+          }
+        }
+      },
+      videoStudio: {
+        enabled: null,
+        remoteRunners: {
+          enabled: null
         }
       },
       autoBlacklist: {
@@ -247,11 +273,11 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
 
     const defaultValues = {
       transcoding: {
-        resolutions: {}
+        resolutions: {} as { [id: string]: string }
       },
       live: {
         transcoding: {
-          resolutions: {}
+          resolutions: {} as { [id: string]: string }
         }
       }
     }
@@ -281,6 +307,9 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
   }
 
   formValidated () {
+    this.forceCheck()
+    if (!this.form.valid) return
+
     const value: ComponentCustomConfig = this.form.getRawValue()
 
     forkJoin([
@@ -370,8 +399,7 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit {
         this.customConfig = { ...config, instanceCustomHomepage: homepage }
 
         this.updateForm()
-        // Force form validation
-        this.forceCheck()
+        this.markAllAsDirty()
       },
 
       error: err => this.notifier.error(err.message)