From be23543432b96b3fdfd8a0cffaaf56dda0f5f158 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Mon, 17 Mar 2014 17:53:58 +0600 Subject: [PATCH] SONAR-5007 Refactor coding rules list & details --- .../_coding_rules_detail_template.hbs.erb | 52 +++++++------ .../_coding_rules_list_item_template.hbs.erb | 6 +- .../javascripts/coding-rules/mockjax.coffee | 14 +++- .../javascripts/coding-rules/mockjax.js | 23 ++++-- .../main/webapp/stylesheets/coding-rules.css | 72 ++++++----------- .../main/webapp/stylesheets/coding-rules.less | 77 +++++++------------ 6 files changed, 106 insertions(+), 138 deletions(-) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/coding_rules/templates/_coding_rules_detail_template.hbs.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/coding_rules/templates/_coding_rules_detail_template.hbs.erb index 621f7a4399d..d0abf0748a1 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/coding_rules/templates/_coding_rules_detail_template.hbs.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/coding_rules/templates/_coding_rules_detail_template.hbs.erb @@ -1,15 +1,16 @@ diff --git a/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.coffee b/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.coffee index 0b79a6bb09a..e3bf41d9fbe 100644 --- a/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.coffee +++ b/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.coffee @@ -61,16 +61,21 @@ define ['jquery.mockjax'], -> 'severity.INFO': 'Info' 'coding_rules.activate_quality_profile': 'Activate Quality Profile' + 'coding_rules.available_since': 'Available Since' 'coding_rules.bulk_change': 'Bulk Change' 'coding_rules.extend_description': 'Extend Description' 'coding_rules.deactivate_quality_profile': 'Deactivate' 'coding_rules.found': 'Found' + 'coding_rules.key': 'Key:' 'coding_rules.new_search': 'New Search' 'coding_rules.no_results': 'No Coding Rules' 'coding_rules.order': 'Order' 'coding_rules.ordered_by': 'Ordered By' 'coding_rules.page': 'Coding Rules' + 'coding_rules.parameters': 'Parameters' + 'coding_rules.parameters.default_value': 'Default Value:' 'coding_rules.quality_profiles': 'Quality Profiles' + 'coding_rules.repository': 'Repository:' 'coding_rules._rules': 'rule(s)' 'coding_rules.select_tag': 'Select Tag' @@ -92,10 +97,6 @@ define ['jquery.mockjax'], -> 'coding_rules.filters.status': 'Status' 'coding_rules.filters.tag': 'Tag' - 'coding_rules.parameters.key': 'Key' - 'coding_rules.parameters.default_value': 'Default Value' - 'coding_rules.parameters.description': 'Description' - 'coding_rules.sort.creation_date': 'Creation Date' 'coding_rules.sort.name': 'Name' @@ -109,26 +110,31 @@ define ['jquery.mockjax'], -> name: 'Array designators "[]" should be located after the type in method signatures' language: 'Java' severity: 'MAJOR' + status: 'DEPRECATED' }, { name: 'Avoid Array Loops' language: 'Java' severity: 'CRITICAL' + status: 'READY' }, { name: 'Bad practice - Abstract class defines covariant compareTo() method' language: 'Java' severity: 'MAJOR' + status: 'READY' }, { name: 'Correctness - Use of class without a hashCode() method in a hashed data structure' language: 'Java' severity: 'MINOR' + status: 'BETA' }, { name: 'Useless Operation On Immutable' language: 'Java' severity: 'MAJOR' + status: 'READY' } ] paging: diff --git a/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.js b/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.js index 623c2a80ca9..44442353b37 100644 --- a/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.js +++ b/sonar-server/src/main/webapp/javascripts/coding-rules/mockjax.js @@ -75,16 +75,21 @@ 'severity.MINOR': 'Minor', 'severity.INFO': 'Info', 'coding_rules.activate_quality_profile': 'Activate Quality Profile', + 'coding_rules.available_since': 'Available Since', 'coding_rules.bulk_change': 'Bulk Change', 'coding_rules.extend_description': 'Extend Description', 'coding_rules.deactivate_quality_profile': 'Deactivate', 'coding_rules.found': 'Found', + 'coding_rules.key': 'Key:', 'coding_rules.new_search': 'New Search', 'coding_rules.no_results': 'No Coding Rules', 'coding_rules.order': 'Order', 'coding_rules.ordered_by': 'Ordered By', 'coding_rules.page': 'Coding Rules', + 'coding_rules.parameters': 'Parameters', + 'coding_rules.parameters.default_value': 'Default Value:', 'coding_rules.quality_profiles': 'Quality Profiles', + 'coding_rules.repository': 'Repository:', 'coding_rules._rules': 'rule(s)', 'coding_rules.select_tag': 'Select Tag', 'coding_rules.filters.availableSince': 'Available Since', @@ -104,9 +109,6 @@ 'coding_rules.filters.severity': 'Severity', 'coding_rules.filters.status': 'Status', 'coding_rules.filters.tag': 'Tag', - 'coding_rules.parameters.key': 'Key', - 'coding_rules.parameters.default_value': 'Default Value', - 'coding_rules.parameters.description': 'Description', 'coding_rules.sort.creation_date': 'Creation Date', 'coding_rules.sort.name': 'Name' } @@ -119,23 +121,28 @@ { name: 'Array designators "[]" should be located after the type in method signatures', language: 'Java', - severity: 'MAJOR' + severity: 'MAJOR', + status: 'DEPRECATED' }, { name: 'Avoid Array Loops', language: 'Java', - severity: 'CRITICAL' + severity: 'CRITICAL', + status: 'READY' }, { name: 'Bad practice - Abstract class defines covariant compareTo() method', language: 'Java', - severity: 'MAJOR' + severity: 'MAJOR', + status: 'READY' }, { name: 'Correctness - Use of class without a hashCode() method in a hashed data structure', language: 'Java', - severity: 'MINOR' + severity: 'MINOR', + status: 'BETA' }, { name: 'Useless Operation On Immutable', language: 'Java', - severity: 'MAJOR' + severity: 'MAJOR', + status: 'READY' } ], paging: { diff --git a/sonar-server/src/main/webapp/stylesheets/coding-rules.css b/sonar-server/src/main/webapp/stylesheets/coding-rules.css index f8dd46015ec..11d7539c91d 100644 --- a/sonar-server/src/main/webapp/stylesheets/coding-rules.css +++ b/sonar-server/src/main/webapp/stylesheets/coding-rules.css @@ -16,10 +16,13 @@ /* * Detail */ -.coding-rules-detail-header { - margin-bottom: 20px; +.coding-rules-detail-header, +.coding-rules-detail-title { + margin-bottom: 10px; line-height: 1.5; font-weight: bold; +} +.coding-rules-detail-title { text-transform: uppercase; } .coding-rules-detail-status { @@ -27,16 +30,15 @@ background-color: #efefef; color: #777; font-size: 11px; - text-transform: uppercase; } .coding-rules-detail-properties { - margin: 20px 0; + margin: 10px 0; font-size: 0; } .coding-rules-detail-property { display: inline-block; vertical-align: middle; - font-size: 13px; + font-size: 11px; height: 22px; line-height: 22px; } @@ -49,60 +51,32 @@ .coding-rules-detail-tag + .coding-rules-detail-tag { margin-left: 10px; } -.coding-rules-detail-tag-delete { - position: relative; - top: -1px; - transition: all 0.3s ease; -} -.coding-rules-detail-tag-delete:hover, -.coding-rules-detail-tag-delete:focus { - color: #d4333f; -} -.coding-rules-detail-tag-add { - transition: all 0.3s ease; -} -.coding-rules-detail-tag-add:hover, -.coding-rules-detail-tag-add:focus { - color: #85bb43; -} -.coding-rules-detail-tag + .coding-rules-detail-tags-change { - margin-left: 15px; -} -.coding-rules-detail-add-tag-box { - position: absolute; - width: 200px; - padding: 10px; - border: 1px solid #e1e1e1; - background-color: #fff; -} -.coding-rules-detail-add-tag-list-item { - padding: 3px 0; -} -.coding-rules-detail-add-tag-list-item input[type=text] { - width: 120px; -} .coding-rules-detail-description { margin: 20px 0; - padding-left: 10px; - border-left: 5px solid #4b9fd5; -} -.coding-rules-detail-description *:first-child { - margin-top: 0; - padding-top: 0; -} -.coding-rules-detail-description *:last-child { - margin-bottom: 0; - padding-bottom: 0; } .coding-rules-detail-description-extra { margin-top: -10px; - border-left-color: #cdcdcd; } .coding-rules-detail-parameters { - margin: 20px 0; + margin: 10px 0 20px; } .coding-rules-detail-parameter { margin: 10px 0; + font-size: 0; +} +.coding-rules-detail-parameter-name { + display: inline-block; + visibility: top; + width: 150px; + font-size: 13px; + font-weight: bold; + text-align: right; +} +.coding-rules-detail-parameter-description { + display: inline-block; + vertical-align: top; + margin-left: 20px; + font-size: 13px; } .coding-rules-detail-quality-profiles-header { margin-top: 30px; diff --git a/sonar-server/src/main/webapp/stylesheets/coding-rules.less b/sonar-server/src/main/webapp/stylesheets/coding-rules.less index a2c5fa9ad5e..bd5cb1cd4a8 100644 --- a/sonar-server/src/main/webapp/stylesheets/coding-rules.less +++ b/sonar-server/src/main/webapp/stylesheets/coding-rules.less @@ -17,10 +17,14 @@ * Detail */ -.coding-rules-detail-header { - margin-bottom: 2 * @navigatorPadding; +.coding-rules-detail-header, +.coding-rules-detail-title { + margin-bottom: @navigatorPadding; line-height: 1.5; font-weight: bold; +} + +.coding-rules-detail-title { text-transform: uppercase; } @@ -29,7 +33,6 @@ background-color: @navigatorBarBackground; color: #777; font-size: @smallFontSize; - text-transform: uppercase; } .coding-rules-detail-key { @@ -37,14 +40,14 @@ } .coding-rules-detail-properties { - margin: 2 * @navigatorPadding 0; + margin: @navigatorPadding 0; font-size: 0; } .coding-rules-detail-property { display: inline-block; vertical-align: middle; - font-size: @baseFontSize; + font-size: @smallFontSize; height: 22px; line-height: 22px; @@ -59,65 +62,37 @@ margin-left: @navigatorPadding; } -.coding-rules-detail-tag-delete { - position: relative; - top: -1px; - .trans; - - &:hover, &:focus { color: @red; } -} - -.coding-rules-detail-tag-add { - .trans; - - &:hover, &:focus { color: @green; } -} - -.coding-rules-detail-tag + .coding-rules-detail-tags-change { - margin-left: 1.5 * @navigatorPadding; -} - -.coding-rules-detail-add-tag-box { - position: absolute; - width: 200px; - padding: @navigatorPadding; - border: 1px solid @navigatorBorderLightColor; - background-color: #fff; -} - -.coding-rules-detail-add-tag-list-item { - padding: 3px 0; - - input[type=text] { width: 120px; } -} - .coding-rules-detail-description { margin: 2 * @navigatorPadding 0; - padding-left: @navigatorPadding; - border-left: 5px solid @blue; - - *:first-child { - margin-top: 0; - padding-top: 0; - } - - *:last-child { - margin-bottom: 0; - padding-bottom: 0; - } } .coding-rules-detail-description-extra { margin-top: -@navigatorPadding; - border-left-color: @darkGrey; } .coding-rules-detail-parameters { - margin: 2 * @navigatorPadding 0; + margin: @navigatorPadding 0 @navigatorPadding * 2; } .coding-rules-detail-parameter { margin: @navigatorPadding 0; + font-size: 0; +} + +.coding-rules-detail-parameter-name { + display: inline-block; + visibility: top; + width: 150px; + font-size: @baseFontSize; + font-weight: bold; + text-align: right; +} + +.coding-rules-detail-parameter-description { + display: inline-block; + vertical-align: top; + margin-left: 2 * @navigatorPadding; + font-size: @baseFontSize; } -- 2.39.5