2020-02-29 20:01:09 -05:00
|
|
|
import React from 'react'
|
2020-04-27 23:22:17 -04:00
|
|
|
import {
|
|
|
|
|
Edit,
|
|
|
|
|
required,
|
2020-04-29 11:58:42 -04:00
|
|
|
SelectInput,
|
2020-04-27 23:22:17 -04:00
|
|
|
SimpleForm,
|
2020-04-29 11:58:42 -04:00
|
|
|
TextInput,
|
2020-04-27 23:22:17 -04:00
|
|
|
useTranslate,
|
|
|
|
|
} from 'react-admin'
|
2020-02-29 20:01:09 -05:00
|
|
|
import { Title } from '../common'
|
2020-04-29 11:58:42 -04:00
|
|
|
import { TranscodingNote } from './TranscodingNote'
|
fix(ui): allow setting a transcoding Default Bit Rate of 0
The Default Bit Rate dropdown on the Transcoding create/edit forms was fed
BITRATE_CHOICES, which starts at 32. There was no way to pick 0, and the
SelectInput was not resettable, so an admin could neither create nor restore a
transcoding with no default bit rate, such as the default FLAC one (seeded with
0 in consts.DefaultTranscodings). Editing that row also rendered a blank
dropdown, since its stored value matched no choice.
Adds TRANSCODING_BITRATE_CHOICES, which prepends a 0 entry labelled 'None' to
the shared list. The forms use it as SelectInput choices, and the list and
read-only show view render it through SelectField, so all four screens resolve
the label from the same array and cannot drift. The shared BITRATE_CHOICES is
left untouched, because 0 is not a meaningful option for the player Max. Bit
Rate or the share dialog.
Reported in discussion #6107, where a user had deleted the default
transcodings and could not recreate the FLAC one.
2026-09-09 16:09:58 -04:00
|
|
|
import { TRANSCODING_BITRATE_CHOICES } from '../consts'
|
2020-02-29 20:01:09 -05:00
|
|
|
|
|
|
|
|
const TranscodingTitle = ({ record }) => {
|
2020-04-27 23:22:17 -04:00
|
|
|
const translate = useTranslate()
|
|
|
|
|
const resourceName = translate('resources.transcoding.name', {
|
|
|
|
|
smart_count: 1,
|
|
|
|
|
})
|
|
|
|
|
return <Title subTitle={`${resourceName} ${record ? record.name : ''}`} />
|
2020-02-29 20:01:09 -05:00
|
|
|
}
|
|
|
|
|
|
2020-04-29 11:58:42 -04:00
|
|
|
const TranscodingEdit = (props) => {
|
|
|
|
|
return (
|
|
|
|
|
<>
|
|
|
|
|
<TranscodingNote message={'message.transcodingEnabled'} />
|
|
|
|
|
|
|
|
|
|
<Edit title={<TranscodingTitle />} {...props}>
|
2020-08-17 11:19:39 -04:00
|
|
|
<SimpleForm variant={'outlined'}>
|
2020-04-29 11:58:42 -04:00
|
|
|
<TextInput source="name" validate={[required()]} />
|
|
|
|
|
<TextInput source="targetFormat" validate={[required()]} />
|
fix(ui): allow setting a transcoding Default Bit Rate of 0
The Default Bit Rate dropdown on the Transcoding create/edit forms was fed
BITRATE_CHOICES, which starts at 32. There was no way to pick 0, and the
SelectInput was not resettable, so an admin could neither create nor restore a
transcoding with no default bit rate, such as the default FLAC one (seeded with
0 in consts.DefaultTranscodings). Editing that row also rendered a blank
dropdown, since its stored value matched no choice.
Adds TRANSCODING_BITRATE_CHOICES, which prepends a 0 entry labelled 'None' to
the shared list. The forms use it as SelectInput choices, and the list and
read-only show view render it through SelectField, so all four screens resolve
the label from the same array and cannot drift. The shared BITRATE_CHOICES is
left untouched, because 0 is not a meaningful option for the player Max. Bit
Rate or the share dialog.
Reported in discussion #6107, where a user had deleted the default
transcodings and could not recreate the FLAC one.
2026-09-09 16:09:58 -04:00
|
|
|
<SelectInput
|
|
|
|
|
source="defaultBitRate"
|
|
|
|
|
choices={TRANSCODING_BITRATE_CHOICES}
|
|
|
|
|
/>
|
2020-04-29 11:58:42 -04:00
|
|
|
<TextInput source="command" fullWidth validate={[required()]} />
|
|
|
|
|
</SimpleForm>
|
|
|
|
|
</Edit>
|
|
|
|
|
</>
|
|
|
|
|
)
|
|
|
|
|
}
|
2020-02-29 20:01:09 -05:00
|
|
|
|
|
|
|
|
export default TranscodingEdit
|