diff options
author | stanislavh <stanislav.honcharov@sonarsource.com> | 2023-06-01 13:31:17 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-06-05 20:02:47 +0000 |
commit | 76b6ef07b14ca6769d65cba7ee12c178427a60a9 (patch) | |
tree | 9bce14f396d11e1b6d296c9feae7694d68438178 /server/sonar-web/src/main/js/components | |
parent | c1f0c20f8115161814cea10814ba97826ab3bc1a (diff) | |
download | sonarqube-76b6ef07b14ca6769d65cba7ee12c178427a60a9.tar.gz sonarqube-76b6ef07b14ca6769d65cba7ee12c178427a60a9.zip |
SONAR-19391 Adopt bubble chart to new design
Diffstat (limited to 'server/sonar-web/src/main/js/components')
-rw-r--r-- | server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx | 69 | ||||
-rw-r--r-- | server/sonar-web/src/main/js/components/charts/__tests__/ColorRatingsLegend-test.tsx | 46 |
2 files changed, 0 insertions, 115 deletions
diff --git a/server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx b/server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx deleted file mode 100644 index c3706bde87a..00000000000 --- a/server/sonar-web/src/main/js/components/charts/ColorRatingsLegend.tsx +++ /dev/null @@ -1,69 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2023 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import classNames from 'classnames'; -import * as React from 'react'; -import Tooltip from '../../components/controls/Tooltip'; -import { RATING_COLORS } from '../../helpers/constants'; -import { translateWithParameters } from '../../helpers/l10n'; -import { formatMeasure } from '../../helpers/measures'; -import Checkbox from '../controls/Checkbox'; -import './ColorBoxLegend.css'; - -export interface ColorRatingsLegendProps { - className?: string; - filters: { [rating: number]: boolean }; - onRatingClick: (selection: number) => void; -} - -const RATINGS = [1, 2, 3, 4, 5]; - -export default function ColorRatingsLegend(props: ColorRatingsLegendProps) { - const { className, filters } = props; - return ( - <ul className={classNames('color-box-legend', className)}> - {RATINGS.map((rating) => ( - <li key={rating}> - <Tooltip - overlay={translateWithParameters( - 'component_measures.legend.help_x', - formatMeasure(rating, 'RATING') - )} - > - <Checkbox - className="display-flex-center" - checked={!filters[rating]} - onCheck={() => props.onRatingClick(rating)} - > - <span - className="color-box-legend-rating little-spacer-left" - style={{ - borderColor: RATING_COLORS[rating - 1].stroke, - backgroundColor: RATING_COLORS[rating - 1].fillTransparent, - }} - > - {formatMeasure(rating, 'RATING')} - </span> - </Checkbox> - </Tooltip> - </li> - ))} - </ul> - ); -} diff --git a/server/sonar-web/src/main/js/components/charts/__tests__/ColorRatingsLegend-test.tsx b/server/sonar-web/src/main/js/components/charts/__tests__/ColorRatingsLegend-test.tsx deleted file mode 100644 index 6073e4d2eee..00000000000 --- a/server/sonar-web/src/main/js/components/charts/__tests__/ColorRatingsLegend-test.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2023 SonarSource SA - * mailto:info AT sonarsource DOT com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -import { screen } from '@testing-library/react'; -import * as React from 'react'; -import { renderComponent } from '../../../helpers/testReactTestingUtils'; -import ColorRatingsLegend, { ColorRatingsLegendProps } from '../ColorRatingsLegend'; - -it('should render correctly', () => { - renderColorRatingsLegend(); - expect(screen.getByRole('checkbox', { name: 'A' })).toBeInTheDocument(); - expect(screen.getByRole('checkbox', { name: 'B' })).toBeInTheDocument(); - expect(screen.getByRole('checkbox', { name: 'C' })).toBeInTheDocument(); - expect(screen.getByRole('checkbox', { name: 'D' })).toBeInTheDocument(); - expect(screen.getByRole('checkbox', { name: 'E' })).toBeInTheDocument(); -}); - -it('should react when a rating is clicked', () => { - const onRatingClick = jest.fn(); - renderColorRatingsLegend({ onRatingClick }); - - screen.getByRole('checkbox', { name: 'D' }).click(); - expect(onRatingClick).toHaveBeenCalledWith(4); -}); - -function renderColorRatingsLegend(props: Partial<ColorRatingsLegendProps> = {}) { - return renderComponent( - <ColorRatingsLegend filters={{ 2: true }} onRatingClick={jest.fn()} {...props} /> - ); -} |