<my-select-options
id="liveTranscodingProfile"
formControlName="profile"
- [items]="getAvailableTranscodingProfile()"
+ [items]="transcodingProfiles"
[clearable]="false"
>
</my-select-options>
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'
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[] = []
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 => {
<my-select-options
id="transcodingProfile"
formControlName="profile"
- [items]="getAvailableTranscodingProfile()"
+ [items]="transcodingProfiles"
[clearable]="false"
></my-select-options>
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'
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 (
this.checkTranscodingFields()
}
- getAvailableTranscodingProfile () {
+ ngOnChanges (changes: SimpleChanges) {
+ if (changes['serverConfig']) {
+ this.transcodingProfiles = this.buildAvailableTranscodingProfile()
+ }
+ }
+
+ buildAvailableTranscodingProfile () {
const profiles = this.serverConfig.transcoding.availableProfiles
return profiles.map(p => {
-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({
dateRelative: string
dateAbsolute: string
- constructor (
- private datePipe: DatePipe,
- private fromNowPipe: FromNowPipe
- ) { }
+ constructor (private fromNowPipe: FromNowPipe) { }
ngOnChanges () {
this.updateDates()