]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-16301 Replace React legacy lifecycle methods in settings
authorMathieu Suen <mathieu.suen@sonarsource.com>
Mon, 25 Apr 2022 09:18:53 +0000 (11:18 +0200)
committersonartech <sonartech@sonarsource.com>
Mon, 25 Apr 2022 20:02:45 +0000 (20:02 +0000)
server/sonar-web/src/main/js/apps/settings/components/inputs/InputForSecured.tsx
server/sonar-web/src/main/js/apps/system/components/ChangeLogLevelForm.tsx
server/sonar-web/src/main/js/apps/system/components/PageActions.tsx

index fb6f21e509cf6b4b76c1ec8751a6332b494fe3a2..23bdb1d0edd92e22e002d2f71a72c75a49faf67e 100644 (file)
@@ -42,7 +42,7 @@ export default class InputForSecured extends React.PureComponent<Props, State> {
     changing: !this.props.setting.hasValue
   };
 
-  componentWillReceiveProps(nextProps: Props) {
+  componentDidUpdate(prevProps: Props) {
     /*
      * Reset `changing` if:
      *  - the value is reset (valueChanged -> !valueChanged)
@@ -50,10 +50,10 @@ export default class InputForSecured extends React.PureComponent<Props, State> {
      *  - 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 });
     }
   }
 
index b1f219464afdf37f2d3eae5bc8fadd2c7eac9683..0e2a643b97ee03a6e9db221a2127ec1007a1a35c 100644 (file)
@@ -28,7 +28,7 @@ import { LOGS_LEVELS } from '../utils';
 interface Props {
   infoMsg: string;
   logLevel: string;
-  onChange: (level: string) => void;
+  onChange: () => void;
   onClose: () => void;
 }
 
@@ -49,7 +49,7 @@ export default class ChangeLogLevelForm extends React.PureComponent<Props, State
     if (!this.state.updating) {
       this.setState({ updating: true });
       setLogLevel(newLevel).then(
-        () => this.props.onChange(newLevel),
+        () => this.props.onChange(),
         () => this.setState({ updating: false })
       );
     }
index b7f1c1bd909df5eb0d0f37a2a382d8e446a19f34..527ec1b1ee72e47e7584696f5c28a2b0b58f8f06 100644 (file)
@@ -38,7 +38,6 @@ interface Props {
 }
 
 interface State {
-  logLevel: string;
   openLogsLevelForm: boolean;
 }
 
@@ -46,23 +45,15 @@ export default class PageActions extends React.PureComponent<Props, State> {
   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();
   };
@@ -84,7 +75,7 @@ export default class PageActions extends React.PureComponent<Props, State> {
           <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"
@@ -181,7 +172,7 @@ export default class PageActions extends React.PureComponent<Props, State> {
             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}
           />