]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts
Allow configuration to be static/readonly (#4315)
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / config / edit-custom-config / edit-vod-transcoding.component.ts
index b864f1bc43c63a55fa2767f82becea6c211e4e8f..3397c3dbd4fe6fa3db1be66f15f855eaaee8b6ba 100644 (file)
@@ -1,8 +1,8 @@
 
 import { SelectOptionsItem } from 'src/types/select-options-item.model'
-import { Component, Input, OnInit } from '@angular/core'
+import { Component, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core'
 import { FormGroup } from '@angular/forms'
-import { ServerConfig } from '@shared/models'
+import { HTMLServerConfig } from '@shared/models'
 import { ConfigService } from '../shared/config.service'
 import { EditConfigurationService, ResolutionOption } from './edit-configuration.service'
 
@@ -11,14 +11,17 @@ import { EditConfigurationService, ResolutionOption } from './edit-configuration
   templateUrl: './edit-vod-transcoding.component.html',
   styleUrls: [ './edit-custom-config.component.scss' ]
 })
-export class EditVODTranscodingComponent implements OnInit {
+export class EditVODTranscodingComponent implements OnInit, OnChanges {
   @Input() form: FormGroup
   @Input() formErrors: any
-  @Input() serverConfig: ServerConfig
+  @Input() serverConfig: HTMLServerConfig
 
   transcodingThreadOptions: SelectOptionsItem[] = []
+  transcodingProfiles: SelectOptionsItem[] = []
   resolutions: ResolutionOption[] = []
 
+  additionalVideoExtensions = ''
+
   constructor (
     private configService: ConfigService,
     private editConfigurationService: EditConfigurationService
@@ -31,7 +34,15 @@ export class EditVODTranscodingComponent implements OnInit {
     this.checkTranscodingFields()
   }
 
-  getAvailableTranscodingProfile () {
+  ngOnChanges (changes: SimpleChanges) {
+    if (changes['serverConfig']) {
+      this.transcodingProfiles = this.buildAvailableTranscodingProfile()
+
+      this.additionalVideoExtensions = this.serverConfig.video.file.extensions.join(' ')
+    }
+  }
+
+  buildAvailableTranscodingProfile () {
     const profiles = this.serverConfig.transcoding.availableProfiles
 
     return profiles.map(p => {