Compare commits

..

7 Commits
1.3.0 ... 1.4.0

Author SHA1 Message Date
Rowan Manning
d6bc045d52 Version 1.4.0 2015-07-02 16:52:40 +01:00
Rowan Manning
780b66128f Add the ability to set a per-task timeout 2015-07-02 16:03:12 +01:00
Rowan Manning
0b1daf1482 Version 1.3.2 2015-01-17 18:37:03 +00:00
Rowan Manning
57933c074b Update pa11y-webservice dependency 2015-01-17 18:35:35 +00:00
Rowan Manning
977dfa9dd0 Version 1.3.1 2014-03-05 10:00:51 +00:00
Rowan Manning
a94b1a45ae Merge branch 'filter-urls' of github.com:nature/pa11y-dashboard into develop
Conflicts:
	view/partial/tasks.html
2014-03-05 09:57:18 +00:00
perryharlock
e830d48074 Fix for url filter position when in demo mode with a message 2014-03-05 09:39:07 +00:00
8 changed files with 109 additions and 87 deletions

View File

@@ -3,7 +3,7 @@ pa11y-dashboard
pa11y-dashboard is a web interface to the [pa11y][pa11y] accessibility reporter; allowing you to focus on *fixing* issues rather than hunting them down. pa11y-dashboard is a web interface to the [pa11y][pa11y] accessibility reporter; allowing you to focus on *fixing* issues rather than hunting them down.
**Current Version:** *1.3.0* **Current Version:** *1.4.0*
**Build Status:** [![Build Status][travis-img]][travis] **Build Status:** [![Build Status][travis-img]][travis]
**Node Version Support:** *0.10* **Node Version Support:** *0.10*

View File

@@ -1,6 +1,6 @@
{ {
"name": "pa11y-dashboard", "name": "pa11y-dashboard",
"version": "1.3.0", "version": "1.4.0",
"private": true, "private": true,
"description": "pa11y-dashboard is a visual web interface to the pa11y accessibility reporter", "description": "pa11y-dashboard is a visual web interface to the pa11y accessibility reporter",
@@ -25,7 +25,7 @@
"express": "~3.4", "express": "~3.4",
"express-hbs": "~0.2", "express-hbs": "~0.2",
"moment": "~2.2", "moment": "~2.2",
"pa11y-webservice": "~1.3", "pa11y-webservice": "~1.5",
"pa11y-webservice-client-node": "~1.1", "pa11y-webservice-client-node": "~1.1",
"underscore": "~1.5" "underscore": "~1.5"
}, },

View File

@@ -1,15 +1,15 @@
// This file is part of pa11y-dashboard. // This file is part of pa11y-dashboard.
// //
// pa11y-dashboard is free software: you can redistribute it and/or modify // pa11y-dashboard is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or // the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// pa11y-dashboard is distributed in the hope that it will be useful, // pa11y-dashboard is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>. // along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
@@ -40,7 +40,8 @@ function route (app) {
name: req.body.name, name: req.body.name,
url: req.body.url, url: req.body.url,
standard: req.body.standard, standard: req.body.standard,
ignore: req.body.ignore || [] ignore: req.body.ignore || [],
timeout: req.body.timeout
}; };
app.webservice.tasks.create(newTask, function (err, task) { app.webservice.tasks.create(newTask, function (err, task) {
if (err) { if (err) {

View File

@@ -1,15 +1,15 @@
// This file is part of pa11y-dashboard. // This file is part of pa11y-dashboard.
// //
// pa11y-dashboard is free software: you can redistribute it and/or modify // pa11y-dashboard is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by // it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or // the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version. // (at your option) any later version.
// //
// pa11y-dashboard is distributed in the hope that it will be useful, // pa11y-dashboard is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. // GNU General Public License for more details.
// //
// You should have received a copy of the GNU General Public License // You should have received a copy of the GNU General Public License
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>. // along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
@@ -60,6 +60,7 @@ function route (app) {
if (err) { if (err) {
task.name = req.body.name; task.name = req.body.name;
task.ignore = req.body.ignore; task.ignore = req.body.ignore;
task.timeout = req.body.timeout;
var standards = getStandards().map(function (standard) { var standards = getStandards().map(function (standard) {
if (standard.title === task.standard) { if (standard.title === task.standard) {
standard.selected = true; standard.selected = true;

View File

@@ -16,23 +16,37 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
}} }}
{{#content "title"}}pa11y-dashboard{{/content}} {{#content "title"}}pa11y-dashboard{{/content}}
{{#if siteMessage}} <div data-control="task-list">
<div class="col-md-12 clearfix" data-test="alert">
<div class="alert alert-info site-message">
<h3 class="crunch-top"><span class="pull-left glyphicon glyphicon-exclamation-sign"></span> Important</h3>
<p class="h5">{{siteMessage}}</p>
</div>
</div>
{{/if}}
{{#deleted}} <div class="clearfix">
<div class="col-md-12 clearfix" data-test="alert"> <div class="col-md-6 col-md-offset-3 filter-toggle no-js-hide text-center">
<div class="alert alert-info"> <label for="filter-input" class="filter-trigger" data-toggle="collapse" data-target="#filter-input">Filter<span class="glyphicon glyphicon-filter"></span>
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button> </label>
<strong>Bye Bye URL</strong> <div id="filter-input" class="collapse">
<p>The URL you selected and its associated results have been deleted.</p> <input class="form-control" id="task-filter" type="text" data-role="input" placeholder="Type filter term (name or standard)"/>
</div> </div>
</div> </div>
{{/deleted}} </div>
{{> tasks}} {{#if siteMessage}}
<div class="col-md-12 clearfix" data-test="alert">
<div class="alert alert-info site-message">
<h3 class="crunch-top"><span class="pull-left glyphicon glyphicon-exclamation-sign"></span> Important</h3>
<p class="h5">{{siteMessage}}</p>
</div>
</div>
{{/if}}
{{#deleted}}
<div class="col-md-12 clearfix" data-test="alert">
<div class="alert alert-info">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<strong>Bye Bye URL</strong>
<p>The URL you selected and its associated results have been deleted.</p>
</div>
</div>
{{/deleted}}
{{> tasks}}
</div>

View File

@@ -1,4 +1,4 @@
{{! {{!
This file is part of pa11y-dashboard. This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -65,6 +65,15 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
</div> </div>
</div> </div>
<div class="form-group clearfix">
<div class="row">
<div class="col-md-4 col-sm-4 col-xs-6">
<label class="control-label" for="new-task-timeout">Timeout (milliseconds)</label>
<input class="form-control" id="new-task-timeout" type="text" placeholder="E.g. 30000" name="timeout" value="{{task.timeout}}"/>
</div>
</div>
</div>
<p class="control-label"><b>Ignore these rules</b> <a target="_blank" href="https://github.com/nature/pa11y/wiki/HTML-CodeSniffer-Rules">(full list of rules here)</a></p> <p class="control-label"><b>Ignore these rules</b> <a target="_blank" href="https://github.com/nature/pa11y/wiki/HTML-CodeSniffer-Rules">(full list of rules here)</a></p>
<div class="standards-lists"> <div class="standards-lists">

View File

@@ -1,4 +1,4 @@
{{! {{!
This file is part of pa11y-dashboard. This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -15,61 +15,49 @@ You should have received a copy of the GNU General Public License
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>. along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
}} }}
<div data-control="task-list"> <ul class="list-unstyled clearfix crunch-bottom">
<li class="col-md-4 col-sm-6 task-card add-task">
<div class="col-md-6 col-md-offset-3 filter-toggle no-js-hide text-center"> {{#if readonly}}
<label for="filter-input" class="filter-trigger" data-toggle="collapse" data-target="#filter-input">Filter<span class="glyphicon glyphicon-filter"></span> <span class="well task-card-link crunch-bottom">
</label> <p class="h3 crunch">Add new URL</p>
<div id="filter-input" class="collapse"> <p class="supersize-me crunch">+</p>
<input class="form-control" id="task-filter" type="text" data-role="input" placeholder="Type filter term (name or standard)"/> </span>
</div> {{else}}
</div> <a class="well task-card-link crunch-bottom" data-role="add-task" href="/new" data-test="add-task">
<p class="h3 crunch">Add new URL</p>
<ul class="list-unstyled clearfix crunch-bottom"> <p class="supersize-me crunch">+</p>
<li class="col-md-4 col-sm-6 task-card add-task"> </a>
{{#if readonly}} {{/if}}
<span class="well task-card-link crunch-bottom"> </li>
<p class="h3 crunch">Add new URL</p> {{#each tasks}}
<p class="supersize-me crunch">+</p> <li class="col-md-4 col-sm-6 task-card" data-test="task" data-role="task" data-keywords="{{lowercase name}} {{lowercase standard}} {{simplify-url url}}">
</span> <a class="well task-card-link crunch-bottom" title="Details for URL {{simplify-url url}}" href="{{href}}">
{{else}} <p class="h3">{{name}}</p>
<a class="well task-card-link crunch-bottom" data-role="add-task" href="/new" data-test="add-task"> <p class="h5">({{standard}})</p>
<p class="h3 crunch">Add new URL</p> {{#if lastResult}}
<p class="supersize-me crunch">+</p> <ul class="clearfix list-unstyled floated-list task-stats">
</a> {{#lastResult}}
{{/if}} <li class="danger" title="Number of errors ({{count.error}})">{{count.error}}<span class="stat-type">Errors</span></li>
<li class="warning" title="Number of warnings ({{count.warning}})">{{count.warning}}<span class="stat-type">Warnings</span></li>
<li class="info last" title="Number of notices ({{count.notice}})">{{count.notice}}<span class="stat-type">Notices</span></li>
{{/lastResult}}
</ul>
Last run {{date-format lastResult.date format="DD MMM YYYY"}}
{{else}}
<p class="no-results">No results</p>
{{/if}}
</a>
{{#unless ../readonly}}
<div class="btn-group options-button text-right">
<button type="button" class="btn btn-info btn-xs dropdown-toggle" data-toggle="dropdown"><span class="sr-only">Options</span><span class="glyphicon glyphicon-cog"></span></button>
<ul class="dropdown-menu pull-right" role="menu">
<li><a href="{{href}}/edit">Edit this task</a></li>
<li><a href="{{href}}/delete">Delete this task</a></li>
<li class="divider"></li>
<li><a href="{{href}}/run" data-test="run-task">Run pa11y</a></li>
</ul>
</div>
{{/unless}}
</li> </li>
{{#each tasks}} {{/each}}
<li class="col-md-4 col-sm-6 task-card" data-test="task" data-role="task" data-keywords="{{lowercase name}} {{lowercase standard}} {{simplify-url url}}"> </ul>
<a class="well task-card-link crunch-bottom" title="Details for URL {{simplify-url url}}" href="{{href}}">
<p class="h3">{{name}}</p>
<p class="h5">({{standard}})</p>
{{#if lastResult}}
<ul class="clearfix list-unstyled floated-list task-stats">
{{#lastResult}}
<li class="danger" title="Number of errors ({{count.error}})">{{count.error}}<span class="stat-type">Errors</span></li>
<li class="warning" title="Number of warnings ({{count.warning}})">{{count.warning}}<span class="stat-type">Warnings</span></li>
<li class="info last" title="Number of notices ({{count.notice}})">{{count.notice}}<span class="stat-type">Notices</span></li>
{{/lastResult}}
</ul>
Last run {{date-format lastResult.date format="DD MMM YYYY"}}
{{else}}
<p class="no-results">No results</p>
{{/if}}
</a>
{{#unless ../readonly}}
<div class="btn-group options-button text-right">
<button type="button" class="btn btn-info btn-xs dropdown-toggle" data-toggle="dropdown"><span class="sr-only">Options</span><span class="glyphicon glyphicon-cog"></span></button>
<ul class="dropdown-menu pull-right" role="menu">
<li><a href="{{href}}/edit">Edit this task</a></li>
<li><a href="{{href}}/delete">Delete this task</a></li>
<li class="divider"></li>
<li><a href="{{href}}/run" data-test="run-task">Run pa11y</a></li>
</ul>
</div>
{{/unless}}
</li>
{{/each}}
</ul>
</div>

View File

@@ -1,4 +1,4 @@
{{! {{!
This file is part of pa11y-dashboard. This file is part of pa11y-dashboard.
pa11y-dashboard is free software: you can redistribute it and/or modify pa11y-dashboard is free software: you can redistribute it and/or modify
@@ -77,6 +77,15 @@ along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
</div> </div>
</div> </div>
<div class="form-group clearfix">
<div class="row">
<div class="col-md-4 col-sm-4 col-xs-6">
<label class="control-label" for="new-task-timeout">Timeout (milliseconds)</label>
<input class="form-control" id="new-task-timeout" type="text" placeholder="E.g. 30000" name="timeout" value="{{task.timeout}}"/>
</div>
</div>
</div>
<p class="control-label"><b>Ignore these rules</b> <a target="_blank" href="https://github.com/nature/pa11y/wiki/HTML-CodeSniffer-Rules">(full list of rules here)</a></p> <p class="control-label"><b>Ignore these rules</b> <a target="_blank" href="https://github.com/nature/pa11y/wiki/HTML-CodeSniffer-Rules">(full list of rules here)</a></p>
<div class="standards-lists"> <div class="standards-lists">