This commit is contained in:
perryharlock
2013-09-25 13:46:28 +01:00
10 changed files with 80 additions and 53 deletions

View File

@@ -1,13 +0,0 @@
<ul>
{{#results}}
<li>
<b>Full results for {{date-format date format="DD MMM YYYY"}}</b>
<ul>
{{#messages}}
<li>{{type}}: {{code}} {{message}} ({{count}})</li>
{{/messages}}
</ul>
</li>
{{/results}}
</ul>

View File

@@ -1,11 +0,0 @@
<ul>
{{#results}}
<li>
<b>Date:</b> {{date-format date format="DD MMM YYYY"}}<br/>
<b>Errors:</b> {{count.error}}<br/>
<b>Warnings:</b> {{count.warning}}<br/>
<b>Notices:</b> {{count.notice}}
</li>
{{/results}}
</ul>

View File

@@ -8,23 +8,23 @@
</li>
{{#tasks}}
<li class="col-md-4 col-sm-6 task-card">
<a class="well task-card-link crunch-bottom" title="Details for URL {{simplify-url url}}" href="/{{id}}">
<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}}
</a>
<a title="Delete this URL" class="delete-button" href="/{{id}}/delete"><span class="sr-only">Delete </span><span class="glyphicon glyphicon-remove"></span></a>
<a title="Delete this URL" class="delete-button" href="{{hrefDelete}}"><span class="sr-only">Delete </span><span class="glyphicon glyphicon-remove"></span></a>
</li>
{{/tasks}}
</ul>

33
view/presenter/result.js Normal file
View File

@@ -0,0 +1,33 @@
'use strict';
var _ = require('underscore');
module.exports = presentResult;
function presentResult (result) {
// Add additional info
result.href = '/' + result.task + '/' + result.id;
result.hrefCsv = '/' + result.task + '/' + result.id + '.csv';
result.hrefJson = '/' + result.task + '/' + result.id + '.json';
// 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;
}

21
view/presenter/task.js Normal file
View File

@@ -0,0 +1,21 @@
'use strict';
var presentResult = require('./result');
module.exports = presentTask;
function presentTask (task) {
// Add additional info
task.href = '/' + task.id;
task.hrefDelete = '/' + task.id + '/delete';
task.hrefJson = '/' + task.id + '.json';
// Present the last result if present
if (task.last_result) {
task.lastResult = presentResult(task.last_result);
delete task.last_result;
}
return task;
}

View File

@@ -3,7 +3,7 @@
Delete {{task.url}} ({{task.standard}})
{{/content}}
<form class="col-md-12" action="/{{task.id}}/delete" method="post">
<form class="col-md-12" action="{{task.hrefDelete}}" method="post">
<div class="legend">
<legend>Delete URL ({{simplify-url task.url}})</legend>
</div>

View File

@@ -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>