]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Fix updating transcoding profiles
authorChocobozzz <me@florianbigard.com>
Thu, 8 Apr 2021 12:41:15 +0000 (14:41 +0200)
committerChocobozzz <me@florianbigard.com>
Thu, 8 Apr 2021 12:41:15 +0000 (14:41 +0200)
client/src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html
client/src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts
client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html
client/src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts
client/src/app/shared/shared-main/date/date-toggle.component.ts

index 5d826fbe901ffd6196d575d5d86efe0b3ecc30a2..10d5278c16573fdfbc4d670293a5f922504eac99 100644 (file)
             <my-select-options
               id="liveTranscodingProfile"
               formControlName="profile"
-              [items]="getAvailableTranscodingProfile()"
+              [items]="transcodingProfiles"
               [clearable]="false"
             >
             </my-select-options>
index 3328d28a9502f51372eed3ae1aeeb93fb2d4ff36..72372ffacde8299123b968d5b85973633dda592e 100644 (file)
@@ -1,6 +1,6 @@
 
 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 { ConfigService } from '../shared/config.service'
@@ -11,12 +11,14 @@ import { EditConfigurationService, ResolutionOption } from './edit-configuration
   templateUrl: './edit-live-configuration.component.html',
   styleUrls: [ './edit-custom-config.component.scss' ]
 })
-export class EditLiveConfigurationComponent implements OnInit {
+export class EditLiveConfigurationComponent implements OnInit, OnChanges {
   @Input() form: FormGroup
   @Input() formErrors: any
   @Input() serverConfig: ServerConfig
 
   transcodingThreadOptions: SelectOptionsItem[] = []
+  transcodingProfiles: SelectOptionsItem[] = []
+
   liveMaxDurationOptions: SelectOptionsItem[] = []
   liveResolutions: ResolutionOption[] = []
 
@@ -39,7 +41,13 @@ export class EditLiveConfigurationComponent implements OnInit {
     this.liveResolutions = this.editConfigurationService.getLiveResolutions()
   }
 
-  getAvailableTranscodingProfile () {
+  ngOnChanges (changes: SimpleChanges) {
+    if (changes['serverConfig']) {
+      this.transcodingProfiles = this.buildAvailableTranscodingProfile()
+    }
+  }
+
+  buildAvailableTranscodingProfile () {
     const profiles = this.serverConfig.live.transcoding.availableProfiles
 
     return profiles.map(p => {
index cf13b27bbf9b43b70a6b29bd56d658059a39cf38..1c5d6a9b4a9161fd233418e77a93576053273c6b 100644 (file)
           <my-select-options
             id="transcodingProfile"
             formControlName="profile"
-            [items]="getAvailableTranscodingProfile()"
+            [items]="transcodingProfiles"
             [clearable]="false"
           ></my-select-options>
 
index b864f1bc43c63a55fa2767f82becea6c211e4e8f..a2dc3e52a18275e92534f513ce93bf355e01841d 100644 (file)
@@ -1,6 +1,6 @@
 
 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 { ConfigService } from '../shared/config.service'
@@ -11,12 +11,13 @@ 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
 
   transcodingThreadOptions: SelectOptionsItem[] = []
+  transcodingProfiles: SelectOptionsItem[] = []
   resolutions: ResolutionOption[] = []
 
   constructor (
@@ -31,7 +32,13 @@ export class EditVODTranscodingComponent implements OnInit {
     this.checkTranscodingFields()
   }
 
-  getAvailableTranscodingProfile () {
+  ngOnChanges (changes: SimpleChanges) {
+    if (changes['serverConfig']) {
+      this.transcodingProfiles = this.buildAvailableTranscodingProfile()
+    }
+  }
+
+  buildAvailableTranscodingProfile () {
     const profiles = this.serverConfig.transcoding.availableProfiles
 
     return profiles.map(p => {
index 53f25f0ad3b48bd8e8b199b0872a395236c4de36..0c3949f115e6bc6f88b2cdeac5235a8fcfbf88ea 100644 (file)
@@ -1,5 +1,4 @@
-import { DatePipe } from '@angular/common'
-import { Component, Input, OnChanges, OnInit } from '@angular/core'
+import { Component, Input, OnChanges } from '@angular/core'
 import { FromNowPipe } from '../angular/from-now.pipe'
 
 @Component({
@@ -14,10 +13,7 @@ export class DateToggleComponent implements OnChanges {
   dateRelative: string
   dateAbsolute: string
 
-  constructor (
-    private datePipe: DatePipe,
-    private fromNowPipe: FromNowPipe
-  ) { }
+  constructor (private fromNowPipe: FromNowPipe) { }
 
   ngOnChanges () {
     this.updateDates()