Show save error in UI

quality-size-limits
Mark McDowall 6 months ago
parent 9549038121
commit 974c4a601b

@ -1,3 +1,7 @@
.saveError {
margin-bottom: 20px;
}
.header { .header {
display: flex; display: flex;
font-weight: bold; font-weight: bold;

@ -5,6 +5,7 @@ interface CssExports {
'header': string; 'header': string;
'megabytesPerMinute': string; 'megabytesPerMinute': string;
'quality': string; 'quality': string;
'saveError': string;
'sizeLimit': string; 'sizeLimit': string;
'sizeLimitHelpText': string; 'sizeLimitHelpText': string;
'sizeLimitHelpTextContainer': string; 'sizeLimitHelpTextContainer': string;

@ -1,7 +1,9 @@
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import React, { Component } from 'react'; import React, { Component } from 'react';
import Alert from 'Components/Alert';
import FieldSet from 'Components/FieldSet'; import FieldSet from 'Components/FieldSet';
import PageSectionContent from 'Components/Page/PageSectionContent'; import PageSectionContent from 'Components/Page/PageSectionContent';
import { kinds } from 'Helpers/Props';
import translate from 'Utilities/String/translate'; import translate from 'Utilities/String/translate';
import QualityDefinitionConnector from './QualityDefinitionConnector'; import QualityDefinitionConnector from './QualityDefinitionConnector';
import styles from './QualityDefinitions.css'; import styles from './QualityDefinitions.css';
@ -15,15 +17,44 @@ class QualityDefinitions extends Component {
const { const {
items, items,
advancedSettings, advancedSettings,
saveError,
...otherProps ...otherProps
} = this.props; } = this.props;
console.log(saveError);
return ( return (
<FieldSet legend={translate('QualityDefinitions')}> <FieldSet legend={translate('QualityDefinitions')}>
<PageSectionContent <PageSectionContent
errorMessage={translate('QualityDefinitionsLoadError')} errorMessage={translate('QualityDefinitionsLoadError')}
{...otherProps} {...otherProps}
> >
{
saveError ?
<div className={styles.saveError}>
<Alert kind={kinds.DANGER}>
{translate('QualityDefinitionsSaveError')}
<ul>
{
Array.isArray(saveError.responseJSON) ?
saveError.responseJSON.map((error, index) => {
return (
<li key={index}>
{error.errorMessage}
</li>
);
}) :
<li>
{
JSON.stringify(saveError.responseJSON)
}
</li>
}
</ul>
</Alert>
</div> : null
}
<div className={styles.header}> <div className={styles.header}>
<div className={styles.quality}> <div className={styles.quality}>
{translate('Quality')} {translate('Quality')}
@ -72,6 +103,7 @@ class QualityDefinitions extends Component {
QualityDefinitions.propTypes = { QualityDefinitions.propTypes = {
isFetching: PropTypes.bool.isRequired, isFetching: PropTypes.bool.isRequired,
error: PropTypes.object, error: PropTypes.object,
saveError: PropTypes.object,
defaultProfile: PropTypes.object, defaultProfile: PropTypes.object,
items: PropTypes.arrayOf(PropTypes.object).isRequired, items: PropTypes.arrayOf(PropTypes.object).isRequired,
advancedSettings: PropTypes.bool.isRequired advancedSettings: PropTypes.bool.isRequired

@ -1591,6 +1591,7 @@
"QualityCutoffNotMet": "Quality cutoff has not been met", "QualityCutoffNotMet": "Quality cutoff has not been met",
"QualityDefinitions": "Quality Definitions", "QualityDefinitions": "Quality Definitions",
"QualityDefinitionsLoadError": "Unable to load Quality Definitions", "QualityDefinitionsLoadError": "Unable to load Quality Definitions",
"QualityDefinitionsSaveError": "Unable to save Quality Definitions",
"QualityLimitsSeriesRuntimeHelpText": "Limits are automatically adjusted for the series runtime and number of episodes in the file.", "QualityLimitsSeriesRuntimeHelpText": "Limits are automatically adjusted for the series runtime and number of episodes in the file.",
"QualityProfile": "Quality Profile", "QualityProfile": "Quality Profile",
"QualityProfileInUseSeriesListCollection": "Can't delete a quality profile that is attached to a series, list, or collection", "QualityProfileInUseSeriesListCollection": "Can't delete a quality profile that is attached to a series, list, or collection",

Loading…
Cancel
Save