mirror of
https://github.com/pa11y/pa11y-dashboard.git
synced 2025-09-24 22:31:15 +00:00
Split results into errors, warnings, notices
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
var _ = require('underscore');
|
||||
var presentTask = require('../../view/presenter/task');
|
||||
var presentResult = require('../../view/presenter/result');
|
||||
|
||||
@@ -18,13 +17,6 @@ function route (app) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
results.forEach(function (result) {
|
||||
var grouped = _.groupBy(result.results, 'code');
|
||||
result.messages = _.keys(grouped).map(function (group) {
|
||||
grouped[group][0].count = grouped[group].length;
|
||||
return grouped[group][0];
|
||||
});
|
||||
});
|
||||
res.render('task', {
|
||||
task: presentTask(task),
|
||||
results: results.map(presentResult),
|
||||
|
@@ -11,15 +11,15 @@
|
||||
<a class="well task-card-link crunch-bottom" title="Details for URL {{simplify-url url}}" href="{{href}}">
|
||||
<p class="h3">{{simplify-url url}}</p>
|
||||
<p class="h5">({{standard}})</p>
|
||||
{{#if last_result}}
|
||||
{{#if lastResult}}
|
||||
<ul class="clearfix list-unstyled floated-list task-stats">
|
||||
{{#last_result}}
|
||||
{{#lastResult}}
|
||||
<li class="danger" title="Number of errors ({{count.error}})">{{count.error}}</li>
|
||||
<li class="warning" title="Number of warnings ({{count.warning}})">{{count.warning}}</li>
|
||||
<li class="info last" title="Number of notifications ({{count.notice}})">{{count.notice}}</li>
|
||||
{{/last_result}}
|
||||
{{/lastResult}}
|
||||
</ul>
|
||||
Last run {{date-format last_result.date format="DD MMM YYYY"}}
|
||||
Last run {{date-format lastResult.date format="DD MMM YYYY"}}
|
||||
{{else}}
|
||||
<p class="no-results">No results</p>
|
||||
{{/if}}
|
||||
|
@@ -1,5 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
var _ = require('underscore');
|
||||
|
||||
module.exports = presentResult;
|
||||
|
||||
function presentResult (result) {
|
||||
@@ -12,5 +14,20 @@ function presentResult (result) {
|
||||
// Parse date
|
||||
result.date = new Date(result.date);
|
||||
|
||||
// Split out message types
|
||||
if (result.results) {
|
||||
var groupedByType = _.groupBy(result.results, 'type');
|
||||
['error', 'warning', 'notice'].forEach(function (type) {
|
||||
var pluralType = type + 's';
|
||||
var results = groupedByType[type] || [];
|
||||
var groupedByCode = _.groupBy(results, 'code');
|
||||
result[pluralType] = _.keys(groupedByCode).map(function (group) {
|
||||
var firstMessage = groupedByCode[group][0];
|
||||
firstMessage.count = groupedByCode[group].length;
|
||||
return firstMessage;
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@@ -13,7 +13,8 @@ function presentTask (task) {
|
||||
|
||||
// Present the last result if present
|
||||
if (task.last_result) {
|
||||
task.last_result = presentResult(task.last_result);
|
||||
task.lastResult = presentResult(task.last_result);
|
||||
delete task.last_result;
|
||||
}
|
||||
|
||||
return task;
|
||||
|
@@ -106,48 +106,48 @@
|
||||
{{#if results}}
|
||||
<div class="heading label-danger showing first" id="errors">
|
||||
<span data-role="expander" class="pull-right expander"> - </span>
|
||||
Errors ( 13 )
|
||||
Errors ( {{lastResult.count.error}} )
|
||||
</div>
|
||||
<div class="task-danger tasks-list collapse clearfix in">
|
||||
<ul class="list-unstyled">
|
||||
{{#lastResult.messages}}
|
||||
{{#lastResult.errors}}
|
||||
<li>
|
||||
<p class="crunch rule-name">{{type}} : {{code}} <span class="badge">{{count}}</span></p>
|
||||
<p>{{message}}</p>
|
||||
</li>
|
||||
{{/lastResult.messages}}
|
||||
{{/lastResult.errors}}
|
||||
</ul>
|
||||
<a class="pull-right" href="#top" data-role="top">Back to top</a>
|
||||
</div>
|
||||
|
||||
<div class="heading label-warning" id="warnings">
|
||||
<span data-role="expander" class="pull-right expander"> + </span>
|
||||
Warnings ( 142 )
|
||||
Warnings ( {{lastResult.count.warning}} )
|
||||
</div>
|
||||
<div class="task-warning tasks-list collapse clearfix">
|
||||
<ul class="list-unstyled">
|
||||
{{#lastResult.messages}}
|
||||
{{#lastResult.warnings}}
|
||||
<li>
|
||||
<p class="crunch rule-name">{{type}} : {{code}} <span class="badge">{{count}}</span></p>
|
||||
<p>{{message}}</p>
|
||||
</li>
|
||||
{{/lastResult.messages}}
|
||||
{{/lastResult.warnings}}
|
||||
</ul>
|
||||
<a class="pull-right" href="#top" data-role="top">Back to top</a>
|
||||
</div>
|
||||
|
||||
<div class="heading label-info" id="notifications">
|
||||
<span data-role="expander" class="pull-right expander"> + </span>
|
||||
Notifications ( 166 )
|
||||
Notifications ( {{lastResult.count.notice}} )
|
||||
</div>
|
||||
<div class="task-info tasks-list collapse clearfix">
|
||||
<ul class="list-unstyled">
|
||||
{{#lastResult.messages}}
|
||||
{{#lastResult.notices}}
|
||||
<li>
|
||||
<p class="crunch rule-name">{{type}} : {{code}} <span class="badge">{{count}}</span></p>
|
||||
<p>{{message}}</p>
|
||||
</li>
|
||||
{{/lastResult.messages}}
|
||||
{{/lastResult.notices}}
|
||||
</ul>
|
||||
<a class="pull-right" href="#top" data-role="top">Back to top</a>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user