From: Stas Vilchik Date: Tue, 13 May 2014 08:10:23 +0000 (+0200) Subject: SONAR-5209 Redesign headers X-Git-Tag: 4.4-RC1~1113 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0272deedcf5be7cd4cf3374ea43f1f357b053d78;p=sonarqube.git SONAR-5209 Redesign headers --- diff --git a/sonar-server/src/main/coffee/component-viewer/main.coffee b/sonar-server/src/main/coffee/component-viewer/main.coffee index ea1dac32e4e..19f0aa67dee 100644 --- a/sonar-server/src/main/coffee/component-viewer/main.coffee +++ b/sonar-server/src/main/coffee/component-viewer/main.coffee @@ -23,7 +23,7 @@ define [ COVERAGE_METRIC_LIST = 'coverage,line_coverage,branch_coverage,' + 'coverage_line_hits_data,covered_conditions_by_line,conditions_by_line' - ISSUES_METRIC_LIST = 'blocker_violations,critical_violations,major_violations,minor_violations,info_violations' + ISSUES_METRIC_LIST = 'violations,sqale_index,blocker_violations,critical_violations,major_violations,minor_violations,info_violations' DUPLICATIONS_METRIC_LIST = 'duplicated_lines_density,duplicated_blocks,duplicated_files,duplicated_lines' @@ -71,26 +71,16 @@ define [ @sourceRegion.show @sourceView - requestComponent: (key, metrics) -> - $.get API_RESOURCES, resource: key, metrics: metrics, (data) => + requestComponent: (key) -> + metricList = [SOURCE_METRIC_LIST, COVERAGE_METRIC_LIST, ISSUES_METRIC_LIST, DUPLICATIONS_METRIC_LIST].join ',' + $.get API_RESOURCES, resource: key, metrics: metricList, (data) => @component.set data[0] - - - requestComponentCoverage: (key) -> - $.get API_RESOURCES, resource: key, metrics: COVERAGE_METRIC_LIST - - - requestComponentIssues: (key) -> - $.get API_RESOURCES, resource: key, metrics: ISSUES_METRIC_LIST - - - requestComponentDuplications: (key) -> - $.get API_RESOURCES, resource: key, metrics: DUPLICATIONS_METRIC_LIST + @component.set 'measures', _.indexBy(data[0].msr, 'key') requestSource: (key) -> $.get API_SOURCES, key: key, (data) => - @source.set source: data.source + @source.set source: data.sources extractCoverage: (data) -> @@ -154,7 +144,7 @@ define [ showCoverage: -> @settings.set 'coverage', true unless @source.has 'coverage' - @requestComponentCoverage(@key).done (data) => + @requestComponent(@key).done (data) => @extractCoverage data @sourceView.render() else @@ -180,7 +170,7 @@ define [ @settings.set 'issues', true unless @source.has 'issues' - @requestComponentIssues(@key).done (data) => + @requestComponent(@key).done (data) => @extractIssues data @sourceView.render() @@ -197,7 +187,7 @@ define [ showDuplications: -> @settings.set 'duplications', true unless @source.has 'duplications' - @requestComponentDuplications(@key).done (data) => + @requestComponent(@key).done (data) => @extractDuplications data @sourceView.render() else diff --git a/sonar-server/src/main/coffee/component-viewer/source.coffee b/sonar-server/src/main/coffee/component-viewer/source.coffee index f4716811c79..9cbfcea4818 100644 --- a/sonar-server/src/main/coffee/component-viewer/source.coffee +++ b/sonar-server/src/main/coffee/component-viewer/source.coffee @@ -240,8 +240,9 @@ define [ prepareSource: -> source = @model.get 'source' - _.map source, (code, line) => - base = lineNumber: line, code: code + _.map source, (item) => + line = item[0] + base = lineNumber: line, code: item[1] if @options.main.settings.get('coverage') _.extend base, @getLineCoverage(line), @getLineCoverageConditions(line) if @options.main.settings.get('duplications') diff --git a/sonar-server/src/main/hbs/component-viewer/header/_basic-header.hbs b/sonar-server/src/main/hbs/component-viewer/header/_basic-header.hbs new file mode 100644 index 00000000000..7b9ab70ba2e --- /dev/null +++ b/sonar-server/src/main/hbs/component-viewer/header/_basic-header.hbs @@ -0,0 +1,41 @@ + + {{#if settings.coverage}} + + + {{/if}} + {{#if settings.duplications}} + + {{/if}} + + + + +
+ {{component.measures.ncloc.frmt_val}} + {{t 'metric.ncloc.name'}} +
+
+ {{component.measures.lines.frmt_val}} + {{t 'metric.lines.name'}} +
+
+ {{component.measures.functions.frmt_val}} + {{t 'metric.functions.name'}} +
+
+ {{component.measures.accessors.frmt_val}} + {{t 'metric.accessors.name'}} +
+
+ {{component.measures.classes.frmt_val}} + {{t 'metric.classes.name'}} +
+
+ + Time changes +
+ + \ No newline at end of file diff --git a/sonar-server/src/main/hbs/component-viewer/header/_coverage-header.hbs b/sonar-server/src/main/hbs/component-viewer/header/_coverage-header.hbs new file mode 100644 index 00000000000..fd776cf1789 --- /dev/null +++ b/sonar-server/src/main/hbs/component-viewer/header/_coverage-header.hbs @@ -0,0 +1,34 @@ + + {{#if settings.coverage}} + + + {{/if}} + {{#if settings.duplications}} + + {{/if}} + + + + +
+ {{component.measures.coverage.frmt_val}} + {{t 'metric.coverage.name'}} +
+
+ {{component.measures.line_coverage.frmt_val}} + {{t 'metric.line_coverage.name'}} +
+
+ {{component.measures.branch_coverage.frmt_val}} + {{t 'metric.branch_coverage.name'}} +
+ +
+ + Time changes +
+ + \ No newline at end of file diff --git a/sonar-server/src/main/hbs/component-viewer/header/_issues-header.hbs b/sonar-server/src/main/hbs/component-viewer/header/_issues-header.hbs new file mode 100644 index 00000000000..cb12904430e --- /dev/null +++ b/sonar-server/src/main/hbs/component-viewer/header/_issues-header.hbs @@ -0,0 +1,84 @@ + + {{#if settings.coverage}} + + + {{/if}} + {{#if settings.duplications}} + + {{/if}} + + + + +
+ {{component.measures.violations.frmt_val}} + {{t 'metric.violations.name'}} +
+
+ {{component.measures.sqale_index.frmt_val}} + {{t 'metric.sqale_index.name'}} +
+ {{#if component.measures.blocker_violations.frmt_val}} +
+ + + {{component.measures.blocker_violations.frmt_val}} + + {{t 'severity.BLOCKER'}} +
+ {{/if}} + {{#if component.measures.critical_violations.frmt_val}} +
+ + + {{component.measures.critical_violations.frmt_val}} + + {{t 'severity.CRITICAL'}} +
+ {{/if}} + {{#if component.measures.major_violations.frmt_val}} +
+ + + {{component.measures.major_violations.frmt_val}} + + {{t 'severity.MAJOR'}} +
+ {{/if}} + {{#if component.measures.minor_violations.frmt_val}} +
+ + + {{component.measures.minor_violations.frmt_val}} + + {{t 'severity.MINOR'}} +
+ {{/if}} + {{#if component.measures.info_violations.frmt_val}} +
+ + + {{component.measures.info_violations.frmt_val}} + + {{t 'severity.INFO'}} +
+ {{/if}} + +
+ + Time changes +
+ +
+ + All issues +
+ + + \ No newline at end of file diff --git a/sonar-server/src/main/hbs/component-viewer/source.hbs b/sonar-server/src/main/hbs/component-viewer/source.hbs index 16c6a6a022e..00a3d3c7362 100644 --- a/sonar-server/src/main/hbs/component-viewer/source.hbs +++ b/sonar-server/src/main/hbs/component-viewer/source.hbs @@ -37,90 +37,22 @@ - {{qualifierIcon component.qualifier}} {{component.lname}} {{#if component.projectLongName}} - — {{qualifierIcon 'TRK'}} {{component.projectLongName}} + — {{/if}} + {{qualifierIcon component.qualifier}} {{component.lname}} - - {{#if settings.coverage}} - - - {{/if}} - {{#if settings.duplications}} - - {{/if}} - - - - - - - + + {{! headers }} + {{> '_basic-header'}} + {{#if settings.issues}}{{> '_issues-header'}}{{/if}} + {{#if settings.coverage}}{{> '_coverage-header'}}{{/if}} + diff --git a/sonar-server/src/main/less/component-viewer.less b/sonar-server/src/main/less/component-viewer.less index 01fff2e5821..e847f609f78 100644 --- a/sonar-server/src/main/less/component-viewer.less +++ b/sonar-server/src/main/less/component-viewer.less @@ -82,6 +82,7 @@ .code th { height: 30px; .box-sizing(border-box); + background-color: @barBackgroundColor; &.stat { padding-top: 4px; @@ -232,42 +233,66 @@ } -.component-viewer-measures { +.component-viewer-header { + + & > th { + background-color: @barBackgroundColor; + border-top: 1px solid @barBorderColor; + border-bottom: 1px solid @barBorderColor; + } + + .button-full-size { + .size(100%, 100%); + margin: 0; + } +} + +.component-viewer-header-main { font-size: 0; + padding: 4px 0 4px 5px; } -.component-viewer-measures-section { +.component-viewer-header-measure { display: inline-block; - vertical-align: top; - width: 25%; - max-width: 260px; - padding-right: 40px; - .box-sizing(border-box); + vertical-align: bottom; + margin-right: 20px; font-size: @baseFontSize; +} - &.brief { - dt { display: none; } - dt:first-of-type { display: block; } - dd { display: none; } - dd:first-of-type { display: block; } - } +.component-viewer-header-measure-label { + display: block; + margin-top: 2px; + color: #777; + font-size: @smallFontSize; - &:not(.brief) { - padding-top: 3px; - padding-bottom: 3px; - } + &:after { content: ""; } +} - dt { - float: left; - clear: left; - } +.component-viewer-header-measure-value { + display: block; + color: @baseFontColor; + font-size: 14px; +} - dd { - float: right; - font-weight: bold; +.component-viewer-header-measure-main { + + .component-viewer-header-measure-value { + font-size: 24px; } } +.component-viewer-header-filter { + display: inline-block; + vertical-align: bottom; + margin-right: 20px; + padding-left: 20px; + border-left: 1px solid @barBorderColor; + font-size: @baseFontSize; + color: @darkBlue; + + .button-clean { height: auto; } +} + @popupArrowSize: 8px; diff --git a/sonar-server/src/main/less/icons.less b/sonar-server/src/main/less/icons.less index 23aea4b2974..403dbdcad65 100644 --- a/sonar-server/src/main/less/icons.less +++ b/sonar-server/src/main/less/icons.less @@ -415,6 +415,14 @@ a[class^="icon-"], a[class*=" icon-"] { content: "\e60b"; font-size: @iconFontSize; } +.icon-period:before { + content: "\f018"; + font-size: @iconFontSize; +} +.icon-filter:before { + content: "\f03a"; + font-size: @iconFontSize; +} /* diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb index 758be6eae54..1ed04d23299 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/issues/search.html.erb @@ -242,6 +242,13 @@ 'metric.duplicated_blocks.name': '<%= escape_javascript message('metric.duplicated_blocks.name') -%>', 'metric.duplicated_files.name': '<%= escape_javascript message('metric.duplicated_files.name') -%>', 'metric.duplicated_lines.name': '<%= escape_javascript message('metric.duplicated_lines.name') -%>', - 'metric.duplicated_lines_density.name': '<%= escape_javascript message('metric.duplicated_lines_density.name') -%>' + 'metric.duplicated_lines_density.name': '<%= escape_javascript message('metric.duplicated_lines_density.name') -%>', + 'metric.violations.name': '<%= escape_javascript message('metric.violations.name') -%>', + 'metric.sqale_index.name': '<%= escape_javascript message('metric.sqale_index.name') -%>', + 'metric.blocker_violations.name': '<%= escape_javascript message('metric.blocker_violations.name') -%>', + 'metric.critical_violations.name': '<%= escape_javascript message('metric.critical_violations.name') -%>', + 'metric.major_violations.name': '<%= escape_javascript message('metric.major_violations.name') -%>', + 'metric.minor_violations.name': '<%= escape_javascript message('metric.minor_violations.name') -%>', + 'metric.info_violations.name': '<%= escape_javascript message('metric.info_violations.name') -%>' }; diff --git a/sonar-server/src/main/webapp/fonts/sonar.woff b/sonar-server/src/main/webapp/fonts/sonar.woff index b8a67891a7a..357bfb572da 100755 Binary files a/sonar-server/src/main/webapp/fonts/sonar.woff and b/sonar-server/src/main/webapp/fonts/sonar.woff differ