]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-18344 Remove quality profile action dropdown from accessibility tree when hidden
author7PH <benjamin.raymond@sonarsource.com>
Mon, 6 Feb 2023 16:50:16 +0000 (17:50 +0100)
committersonartech <sonartech@sonarsource.com>
Wed, 8 Feb 2023 20:03:37 +0000 (20:03 +0000)
server/sonar-web/src/main/js/apps/quality-profiles/components/ProfileActions.tsx
server/sonar-web/src/main/js/apps/quality-profiles/components/__tests__/__snapshots__/ProfileActions-test.tsx.snap
server/sonar-web/src/main/js/components/controls/ActionsDropdown.tsx

index 5925b1beaa594ab48ccc936cd1a85a4676061417..19b4d9e71ab5ba09237e92b70596ac2cf491e97e 100644 (file)
@@ -202,6 +202,7 @@ export class ProfileActions extends React.PureComponent<Props, State> {
             profile.name,
             profile.languageName
           )}
+          disabled={!hasAnyAction}
         >
           {actions.edit && (
             <ActionsDropdownItem
index 3dfb0960ba508c01ef30db007441a669e6cf9157..2b7d547e5b0eea043ff8a56945e126840fa8ee16 100644 (file)
@@ -3,6 +3,7 @@
 exports[`renders correctly: all permissions 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
@@ -77,6 +78,7 @@ exports[`renders correctly: all permissions 1`] = `
 exports[`renders correctly: copy modal 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
@@ -127,6 +129,7 @@ exports[`renders correctly: copy modal 1`] = `
 exports[`renders correctly: delete modal 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
@@ -176,6 +179,7 @@ exports[`renders correctly: delete modal 1`] = `
 exports[`renders correctly: edit only 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
@@ -220,6 +224,7 @@ exports[`renders correctly: edit only 1`] = `
 exports[`renders correctly: extend modal 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
@@ -270,6 +275,7 @@ exports[`renders correctly: extend modal 1`] = `
 exports[`renders correctly: no permissions 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
@@ -297,6 +303,7 @@ exports[`renders correctly: no permissions 1`] = `
 exports[`renders correctly: rename modal 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
@@ -347,6 +354,7 @@ exports[`renders correctly: rename modal 1`] = `
 exports[`should not allow to set a profile as the default if the profile has no active rules 1`] = `
 <Fragment>
   <ActionsDropdown
+    disabled={false}
     label="quality_profiles.actions.name.JavaScript"
   >
     <ActionsDropdownItem
index 639e95e79bf2dff2ec9ed695e6a47247741cbf3d..b01909c75acc0ae4cb495e7d91eec7d1904de1a6 100644 (file)
@@ -36,6 +36,7 @@ export interface ActionsDropdownProps {
   overlayPlacement?: PopupPlacement;
   small?: boolean;
   toggleClassName?: string;
+  disabled?: boolean;
 }
 
 export default function ActionsDropdown(props: ActionsDropdownProps) {
@@ -52,6 +53,7 @@ export default function ActionsDropdown(props: ActionsDropdownProps) {
         className={classNames('dropdown-toggle', toggleClassName, {
           'button-small': small,
         })}
+        disabled={props.disabled}
       >
         <SettingsIcon size={small ? 12 : 14} />
         <DropdownIcon className="little-spacer-left" />