From d259869e033819136bb6b0b95df3a078a330b761 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Tue, 29 Mar 2016 17:15:14 +0200 Subject: [PATCH] SONAR-7402 simplify home page --- .../apps/component-measures/config/domains.js | 46 ++++------------- .../home/AllMeasuresDomain.js | 14 ++---- .../component-measures/home/DomainMeasures.js | 25 +++------- .../component-measures/home/MainMeasures.js | 50 ------------------- .../component-measures/home/MeasuresList.js | 14 ++++-- 5 files changed, 33 insertions(+), 116 deletions(-) delete mode 100644 server/sonar-web/src/main/js/apps/component-measures/home/MainMeasures.js diff --git a/server/sonar-web/src/main/js/apps/component-measures/config/domains.js b/server/sonar-web/src/main/js/apps/component-measures/config/domains.js index 931dbcdba57..08d97febd27 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/config/domains.js +++ b/server/sonar-web/src/main/js/apps/component-measures/config/domains.js @@ -19,11 +19,6 @@ */ export const domains = { 'Reliability': { - main: [ - 'bugs', - 'new_bugs', - 'reliability_rating' - ], order: [ 'bugs', 'new_bugs', @@ -35,14 +30,10 @@ export const domains = { }, 'Security': { - main: [ - 'vulnerabilities', - 'new_vulnerabilities', - 'security_rating' - ], order: [ 'vulnerabilities', 'new_vulnerabilities', + 'security_rating', 'security_remediation_effort', 'new_security_remediation_effort', 'effort_to_reach_security_rating_a' @@ -50,18 +41,12 @@ export const domains = { }, 'Maintainability': { - main: [ - 'code_smells', - 'new_code_smells', - 'sqale_index', - 'new_technical_debt', - 'sqale_rating' - ], order: [ 'code_smells', 'new_code_smells', 'sqale_index', 'new_technical_debt', + 'sqale_rating', 'sqale_debt_ratio', 'new_sqale_debt_ratio', 'effort_to_reach_maintainability_rating_a' @@ -69,15 +54,6 @@ export const domains = { }, 'Tests': { - main: [ - 'overall_coverage', - 'new_overall_coverage', - 'coverage', - 'new_coverage', - 'it_coverage', - 'new_it_coverage', - 'tests' - ], order: [ 'overall_coverage', 'new_overall_coverage', @@ -124,14 +100,15 @@ export const domains = { 'skipped_tests', 'test_success_density', 'test_execution_time' + ], + spaces: [ + 'coverage', + 'it_coverage', + 'tests' ] }, 'Duplication': { - main: [ - 'duplicated_lines_density', - 'duplicated_blocks' - ], order: [ 'duplicated_lines_density', 'duplicated_blocks', @@ -141,15 +118,12 @@ export const domains = { }, 'Size': { - main: [ - 'ncloc', - 'files' - ], - order: [] + order: [ + 'ncloc' + ] }, 'Issues': { - main: [], order: [ 'violations', 'new_violations', diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresDomain.js b/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresDomain.js index 5bf2d5585b1..42253dc2b78 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresDomain.js +++ b/server/sonar-web/src/main/js/apps/component-measures/home/AllMeasuresDomain.js @@ -38,14 +38,9 @@ export default class AllMeasuresDomain extends React.Component { const hasLeak = !!leakPeriodLabel; const { measures } = domain; - const domainConfig = domains[domain.name] || { main: [], order: [] }; - const mainMetrics = domainConfig.main; + const domainConfig = domains[domain.name] || { order: [] }; const orderedMeasures = domainConfig.order; - const [mainMeasures, otherMeasures] = partition(measures, - measure => mainMetrics.indexOf(measure.metric.key) !== -1); - const sortedMainMeasures = sortMeasures(mainMeasures, orderedMeasures); - const sortedOtherMeasures = sortMeasures(otherMeasures, orderedMeasures); - const finalMeasures = [...sortedMainMeasures, ...sortedOtherMeasures]; + const sortedMeasures = sortMeasures(measures, orderedMeasures); return (
  • @@ -56,9 +51,10 @@ export default class AllMeasuresDomain extends React.Component { )} + component={component} + spaces={domainConfig.spaces || []}/>
  • ); } diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js b/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js index 8dcd15583ee..2fe75c0fd5a 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js +++ b/server/sonar-web/src/main/js/apps/component-measures/home/DomainMeasures.js @@ -21,7 +21,6 @@ import sortBy from '../../../../../../node_modules/lodash/sortBy'; import partition from '../../../../../../node_modules/lodash/partition'; import React from 'react'; -import MainMeasures from './MainMeasures'; import MeasuresList from './MeasuresList'; import MeasureBubbleChartContainer from '../components/bubbleChart/MeasureBubbleChartContainer'; import { getLeakPeriodLabel } from '../../../helpers/periods'; @@ -53,27 +52,17 @@ export default class DomainMeasures extends React.Component { const leakPeriodLabel = getLeakPeriodLabel(periods); const conf = domainsConf[domainName]; - const mainMetrics = conf ? conf.main : []; const order = conf ? conf.order : []; - const [mainMeasures, otherMeasures] = partition(measures, m => mainMetrics.includes(m.metric.key)); - const sortedMainMeasures = sortMeasures(mainMeasures, order); - const sortedOtherMeasures = sortMeasures(otherMeasures, order); + const spaces = conf && conf.spaces ? conf.spaces : []; + const sortedMeasures = sortMeasures(measures, order); return (
    - {mainMeasures.length > 0 && ( - - )} - - {otherMeasures.length > 0 && ( - - )} + {hasBubbleChart(domainName) && ( diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/MainMeasures.js b/server/sonar-web/src/main/js/apps/component-measures/home/MainMeasures.js deleted file mode 100644 index 172fb67896b..00000000000 --- a/server/sonar-web/src/main/js/apps/component-measures/home/MainMeasures.js +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SonarQube - * Copyright (C) 2009-2016 SonarSource SA - * mailto:contact 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 React from 'react'; -import { Link } from 'react-router'; -import classNames from 'classnames'; - -import Measure from '../components/Measure'; -import { isDiffMetric } from '../utils'; - -const MainMeasures = ({ measures, component }) => { - return ( -
      - {measures.map(measure => ( -
    • -
      - - - -
      - -
      - {measure.metric.name} -
      -
    • - ))} -
    - ); -}; - -export default MainMeasures; diff --git a/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js b/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js index 04f1415927e..672503056a5 100644 --- a/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js +++ b/server/sonar-web/src/main/js/apps/component-measures/home/MeasuresList.js @@ -19,15 +19,23 @@ */ import React from 'react'; import { Link } from 'react-router'; +import classNames from 'classnames'; import Measure from '../components/Measure'; import { formatLeak } from '../utils'; -const MeasuresList = ({ measures, hasLeak, component }) => { +const shouldPutSpace = (spaces, measure, index) => { + return index !== 0 && spaces.includes(measure.metric.key); +}; + +const MeasuresList = ({ measures, hasLeak, component, spaces }) => { return (
      - {measures.map(measure => ( -
    • + {measures.map((measure, index) => ( +
    • -- 2.39.5