changing: !this.props.setting.hasValue
};
- componentWillReceiveProps(nextProps: Props) {
+ componentDidUpdate(prevProps: Props) {
/*
* Reset `changing` if:
* - the value is reset (valueChanged -> !valueChanged)
* - the value changes from outside the input (i.e. store update/reset/cancel)
*/
if (
- (this.props.hasValueChanged || this.props.setting !== nextProps.setting) &&
- !nextProps.hasValueChanged
+ (prevProps.hasValueChanged || this.props.setting !== prevProps.setting) &&
+ !this.props.hasValueChanged
) {
- this.setState({ changing: !nextProps.setting.hasValue });
+ this.setState({ changing: !this.props.setting.hasValue });
}
}
interface Props {
infoMsg: string;
logLevel: string;
- onChange: (level: string) => void;
+ onChange: () => void;
onClose: () => void;
}
if (!this.state.updating) {
this.setState({ updating: true });
setLogLevel(newLevel).then(
- () => this.props.onChange(newLevel),
+ () => this.props.onChange(),
() => this.setState({ updating: false })
);
}
}
interface State {
- logLevel: string;
openLogsLevelForm: boolean;
}
constructor(props: Props) {
super(props);
this.state = {
- logLevel: props.logLevel,
openLogsLevelForm: false
};
}
- componentWillReceiveProps(nextProps: Props) {
- if (nextProps.logLevel !== this.state.logLevel) {
- this.setState({ logLevel: nextProps.logLevel });
- }
- }
-
handleLogsLevelOpen = () => {
this.setState({ openLogsLevelForm: true });
};
- handleLogsLevelChange = (logLevel: string) => {
- this.setState({ logLevel });
+ handleLogsLevelChange = () => {
this.props.onLogLevelChange();
this.handleLogsLevelClose();
};
<span className="text-middle">
{translate('system.logs_level')}
{':'}
- <strong className="little-spacer-left">{this.state.logLevel}</strong>
+ <strong className="little-spacer-left">{this.props.logLevel}</strong>
</span>
<EditButton
className="spacer-left button-small"
infoMsg={translate(
this.props.cluster ? 'system.cluster_log_level.info' : 'system.log_level.info'
)}
- logLevel={this.state.logLevel}
+ logLevel={this.props.logLevel}
onChange={this.handleLogsLevelChange}
onClose={this.handleLogsLevelClose}
/>