diff options
Diffstat (limited to 'server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSidebarHeader.tsx')
-rw-r--r-- | server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSidebarHeader.tsx | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSidebarHeader.tsx b/server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSidebarHeader.tsx index 56d26d44309..c1751a3a336 100644 --- a/server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSidebarHeader.tsx +++ b/server/sonar-web/src/main/js/apps/security-hotspots/components/HotspotSidebarHeader.tsx @@ -35,7 +35,7 @@ import withCurrentUserContext from '../../../app/components/current-user/withCur import HelpTooltip from '../../../components/controls/HelpTooltip'; import Tooltip from '../../../components/controls/Tooltip'; import Measure from '../../../components/measure/Measure'; -import DeferredSpinner from '../../../components/ui/DeferredSpinner'; +import Spinner from '../../../components/ui/Spinner'; import { PopupPlacement } from '../../../components/ui/popups'; import { isBranch } from '../../../helpers/branch-like'; import { translate } from '../../../helpers/l10n'; @@ -76,7 +76,7 @@ function HotspotSidebarHeader(props: SecurityHotspotsAppRendererProps) { return ( <div className="sw-flex sw-h-6 sw-items-center sw-px-4 sw-py-4"> - <DeferredSpinner loading={loadingMeasure}> + <Spinner loading={loadingMeasure}> {hotspotsReviewedMeasure !== undefined && ( <CoverageIndicator value={hotspotsReviewedMeasure} /> )} @@ -91,85 +91,85 @@ function HotspotSidebarHeader(props: SecurityHotspotsAppRendererProps) { metricType={MetricType.Percent} value={hotspotsReviewedMeasure} /> - - <span className="sw-body-sm sw-ml-1"> - {translate('metric.security_hotspots_reviewed.name')} - </span> - - <HelpTooltip className="sw-ml-1" overlay={translate('hotspots.reviewed.tooltip')}> - <HelperHintIcon aria-label="help-tooltip" /> - </HelpTooltip> - - {!isStaticListOfHotspots && (isBranch(branchLike) || userLoggedIn || isFiltered) && ( - <div className="sw-flex sw-flex-grow sw-justify-end"> - <Dropdown - allowResizing - closeOnClick={false} - id="filter-hotspots-menu" - isPortal - overlay={ - <> - <ItemHeader>{translate('hotspot.filters.title')}</ItemHeader> - - {isBranch(branchLike) && ( + </Spinner> + + <span className="sw-body-sm sw-ml-1"> + {translate('metric.security_hotspots_reviewed.name')} + </span> + + <HelpTooltip className="sw-ml-1" overlay={translate('hotspots.reviewed.tooltip')}> + <HelperHintIcon aria-label="help-tooltip" /> + </HelpTooltip> + + {!isStaticListOfHotspots && (isBranch(branchLike) || userLoggedIn || isFiltered) && ( + <div className="sw-flex sw-flex-grow sw-justify-end"> + <Dropdown + allowResizing + closeOnClick={false} + id="filter-hotspots-menu" + isPortal + overlay={ + <> + <ItemHeader>{translate('hotspot.filters.title')}</ItemHeader> + + {isBranch(branchLike) && ( + <ItemCheckbox + checked={Boolean(filters.inNewCodePeriod)} + onCheck={(inNewCodePeriod: boolean) => + props.onChangeFilters({ inNewCodePeriod }) + } + > + <span className="sw-mx-2"> + {translate('hotspot.filters.period.since_leak_period')} + </span> + </ItemCheckbox> + )} + + {userLoggedIn && ( + <Tooltip + classNameSpace={component?.needIssueSync ? 'tooltip' : 'sw-hidden'} + overlay={<HotspotDisabledFilterTooltip />} + placement="right" + > <ItemCheckbox - checked={Boolean(filters.inNewCodePeriod)} - onCheck={(inNewCodePeriod: boolean) => - props.onChangeFilters({ inNewCodePeriod }) - } + checked={Boolean(filters.assignedToMe)} + disabled={component?.needIssueSync} + onCheck={(assignedToMe: boolean) => props.onChangeFilters({ assignedToMe })} > <span className="sw-mx-2"> - {translate('hotspot.filters.period.since_leak_period')} + {translate('hotspot.filters.assignee.assigned_to_me')} </span> </ItemCheckbox> - )} - - {userLoggedIn && ( - <Tooltip - classNameSpace={component?.needIssueSync ? 'tooltip' : 'sw-hidden'} - overlay={<HotspotDisabledFilterTooltip />} - placement="right" - > - <ItemCheckbox - checked={Boolean(filters.assignedToMe)} - disabled={component?.needIssueSync} - onCheck={(assignedToMe: boolean) => props.onChangeFilters({ assignedToMe })} - > - <span className="sw-mx-2"> - {translate('hotspot.filters.assignee.assigned_to_me')} - </span> - </ItemCheckbox> - </Tooltip> - )} - - {isFiltered && <ItemDivider />} - - {isFiltered && ( - <ItemDangerButton - onClick={() => - props.onChangeFilters({ - assignedToMe: false, - inNewCodePeriod: false, - }) - } - > - {translate('hotspot.filters.clear')} - </ItemDangerButton> - )} - </> - } - placement={PopupPlacement.BottomRight} + </Tooltip> + )} + + {isFiltered && <ItemDivider />} + + {isFiltered && ( + <ItemDangerButton + onClick={() => + props.onChangeFilters({ + assignedToMe: false, + inNewCodePeriod: false, + }) + } + > + {translate('hotspot.filters.clear')} + </ItemDangerButton> + )} + </> + } + placement={PopupPlacement.BottomRight} + > + <DiscreetInteractiveIcon + Icon={FilterIcon} + aria-label={translate('hotspot.filters.title')} > - <DiscreetInteractiveIcon - Icon={FilterIcon} - aria-label={translate('hotspot.filters.title')} - > - {isFiltered ? filtersCount : null} - </DiscreetInteractiveIcon> - </Dropdown> - </div> - )} - </DeferredSpinner> + {isFiltered ? filtersCount : null} + </DiscreetInteractiveIcon> + </Dropdown> + </div> + )} </div> ); } |