From 835cb2f90fd251479dd67253a006c1122240dc5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20M=C3=A9tais?= Date: Wed, 28 Oct 2015 12:04:00 +0100 Subject: [PATCH] Improve Old prefixes offenders readability --- front/src/css/rule.css | 5 ++++ front/src/less/rule.less | 5 ++++ front/src/views/rule.html | 16 +++++++--- lib/metadata/policies.js | 63 +++++++++++++++++++++++++-------------- 4 files changed, 62 insertions(+), 27 deletions(-) diff --git a/front/src/css/rule.css b/front/src/css/rule.css index b9b3014..bef4497 100644 --- a/front/src/css/rule.css +++ b/front/src/css/rule.css @@ -101,6 +101,7 @@ margin: 0.2em 0; border-radius: 0.4em; z-index: 1; + cursor: pointer; } .offendersTable .offenderButton.opens, .value .offenderButton.opens { @@ -157,6 +158,10 @@ display: block; background: #ffe0cc; } +.offendersTable .smallerOffenders, +.value .smallerOffenders { + font-size: 0.9em; +} .offendersHtml { display: inline-block; } diff --git a/front/src/less/rule.less b/front/src/less/rule.less index c3da1e9..a4310ed 100644 --- a/front/src/less/rule.less +++ b/front/src/less/rule.less @@ -112,6 +112,7 @@ margin: 0.2em 0; border-radius: 0.4em; z-index: 1; + cursor: pointer; &.opens { padding-right: 0.75em; @@ -166,6 +167,10 @@ } } } + + .smallerOffenders { + font-size: 0.9em; + } } .offendersHtml { diff --git a/front/src/views/rule.html b/front/src/views/rule.html index 001b0f7..19dc91e 100644 --- a/front/src/views/rule.html +++ b/front/src/views/rule.html @@ -143,10 +143,18 @@
- {{offender.rule}} {{{offender.property}}: {{offender.value + '}' }} -
- {{offender.message}} - + {{offender.property}} {{offender.message}} +
+ show + hide + +
+
+
+ {{cssRule.rule}} {{'{' + offender.property}}: {{cssRule.value + '}' }} + +
+
diff --git a/lib/metadata/policies.js b/lib/metadata/policies.js index ae59880..17d3000 100644 --- a/lib/metadata/policies.js +++ b/lib/metadata/policies.js @@ -752,36 +752,53 @@ var policies = { "cssOldPropertyPrefixes": { "tool": "phantomas", "label": "Old prefixes", - "message": "

Many property prefixes such as -moz- or -webkit- are not needed anymore, or by very few people. You can remove them or replace them with the non-prefixed version. This will help reducing your stylesheets weight.

", + "message": "

Many property prefixes such as -moz- or -webkit- are not needed anymore, or by very few people. Sometimes, they have never even existed. You can remove them or replace them with the non-prefixed version. This will help reducing your stylesheets weight.

The prefixes database comes from Can I Use.

", "isOkThreshold": 0, "isBadThreshold": 75, "isAbnormalThreshold": 300, "hasOffenders": true, "offendersTransformFn": function(offenders) { + var properties = {}; + offenders.forEach(function(offender) { + var splittedOffender = offendersHelpers.cssOffenderPattern(offender); + + var parts = /^([^{]*)(?: ?{ ?([^ ]+): (.*) ?}) \/\/ (.*)$/.exec(splittedOffender.css); + + if (!parts) { + debug('cssOldPropertyPrefixes offenders transform function error with "%s"', offender); + return { + parseError: offender + }; + } + + var propertyName = parts[2]; + + if (!properties[propertyName]) { + properties[propertyName] = { + property: propertyName, + message: parts[4], + rules: [] + }; + } + + properties[propertyName].rules.push({ + rule: parts[1], + value: parts[3], + file: splittedOffender.file, + line: splittedOffender.line, + column: splittedOffender.column + }); + }); + + // Object to array + var list = []; + for (var propertyName in properties) { + list.push(properties[propertyName]); + } + return { count: offenders.length, - list: offenders.map(function(offender) { - var splittedOffender = offendersHelpers.cssOffenderPattern(offender); - - var parts = /^([^{]*)(?: ?{ ?([^ ]+): (.*) ?}) \/\/ (.*)$/.exec(splittedOffender.css); - - if (!parts) { - debug('cssOldPropertyPrefixes offenders transform function error with "%s"', offender); - return { - parseError: offender - }; - } - - return { - rule: parts[1], - property: parts[2], - value: parts[3], - message: parts[4], - file: splittedOffender.file, - line: splittedOffender.line, - column: splittedOffender.column - }; - }) + list: list }; } },