mirror of
https://github.com/pa11y/pa11y-dashboard.git
synced 2025-09-25 14:51:28 +00:00
Compare commits
36 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0b1daf1482 | ||
![]() |
57933c074b | ||
![]() |
977dfa9dd0 | ||
![]() |
a94b1a45ae | ||
![]() |
e830d48074 | ||
![]() |
ff239edf5a | ||
![]() |
c2013e42d4 | ||
![]() |
a79a5a2fe6 | ||
![]() |
85fe2c4a37 | ||
![]() |
c04396e80e | ||
![]() |
7b10f2de91 | ||
![]() |
890ec38216 | ||
![]() |
d8cb1b6c71 | ||
![]() |
a605835cc9 | ||
![]() |
01897d8a17 | ||
![]() |
02e22eb094 | ||
![]() |
dfac541294 | ||
![]() |
f3b295982f | ||
![]() |
ddf2c705c9 | ||
![]() |
20de93bf2d | ||
![]() |
ccc7ddfc18 | ||
![]() |
4347acf654 | ||
![]() |
da9b383909 | ||
![]() |
d0feee8dd5 | ||
![]() |
f97e224679 | ||
![]() |
ddbb0db33d | ||
![]() |
e0290b4fc5 | ||
![]() |
1f6ea332ac | ||
![]() |
5b109fb23d | ||
![]() |
3b03af7e8f | ||
![]() |
1c96369bb0 | ||
![]() |
e421444487 | ||
![]() |
5c7d9bfc43 | ||
![]() |
75497ff95f | ||
![]() |
c481f8dbb5 | ||
![]() |
716151e696 |
@@ -31,8 +31,23 @@ Coding Guidelines
|
|||||||
* Don't commit code without passing tests (run `grunt test`).
|
* Don't commit code without passing tests (run `grunt test`).
|
||||||
|
|
||||||
|
|
||||||
|
Versioning
|
||||||
|
----------
|
||||||
|
|
||||||
|
We use [Semantic Versioning][semver] in this project. The process for releasing a new version is as follows; this should only be done by core contributors – you don't need to include a tagged version in your pull-requests.
|
||||||
|
|
||||||
|
* Switch to `master` and merge the `develop` branch into it
|
||||||
|
* Update the version number in `package.json` and `README.md`
|
||||||
|
* Commit the changes with the message: "Version x.x.x" (x.x.x being the new version number)
|
||||||
|
* Tag the commit with the version number (just the numbers, no "version" or "v"): `git tag x.x.x`
|
||||||
|
* Push with tags: `git push && git push --tags`
|
||||||
|
* Check out the `develop` branch, merge `master` into it, and push
|
||||||
|
* On GitHub, add [release notes][release-notes] for the new version. The title should be "Version x.x.x", and the description should be a list of new features/fixes
|
||||||
|
|
||||||
|
|
||||||
[bugs]: https://github.com/nature/pa11y-dashboard/issues?labels=bug&state=open
|
[bugs]: https://github.com/nature/pa11y-dashboard/issues?labels=bug&state=open
|
||||||
[ready]: https://github.com/nature/pa11y-dashboard/issues?labels=ready&state=open
|
[ready]: https://github.com/nature/pa11y-dashboard/issues?labels=ready&state=open
|
||||||
[issues]: https://github.com/nature/pa11y-dashboard/issues
|
[issues]: https://github.com/nature/pa11y-dashboard/issues
|
||||||
[milestones]: https://github.com/nature/pa11y-dashboard/issues/milestones
|
[milestones]: https://github.com/nature/pa11y-dashboard/issues/milestones
|
||||||
|
[release-notes]: https://github.com/nature/pa11y-dashboard/releases
|
||||||
|
[semver]: http://semver.org/
|
||||||
|
20
Gruntfile.js
20
Gruntfile.js
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
module.exports = function (grunt) {
|
module.exports = function (grunt) {
|
||||||
|
|
||||||
grunt.initConfig({
|
grunt.initConfig({
|
||||||
@@ -38,7 +53,8 @@ module.exports = function (grunt) {
|
|||||||
functional: {
|
functional: {
|
||||||
src: ['test/functional/**/*.js'],
|
src: ['test/functional/**/*.js'],
|
||||||
options: {
|
options: {
|
||||||
reporter: 'spec'
|
reporter: 'spec',
|
||||||
|
timeout: 4000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -75,6 +91,8 @@ module.exports = function (grunt) {
|
|||||||
'public/js/vendor/bootstrap/js/alert.js',
|
'public/js/vendor/bootstrap/js/alert.js',
|
||||||
'public/js/vendor/bootstrap/js/dropdown.js',
|
'public/js/vendor/bootstrap/js/dropdown.js',
|
||||||
'public/js/vendor/bootstrap/js/tooltip.js',
|
'public/js/vendor/bootstrap/js/tooltip.js',
|
||||||
|
'public/js/vendor/bootstrap/js/transition.js',
|
||||||
|
'public/js/vendor/bootstrap/js/collapse.js',
|
||||||
'public/js/vendor/flot/jquery.flot.js',
|
'public/js/vendor/flot/jquery.flot.js',
|
||||||
'public/js/vendor/flot/jquery.flot.time.js',
|
'public/js/vendor/flot/jquery.flot.time.js',
|
||||||
'public/js/vendor/flot/jquery.flot.selection.js',
|
'public/js/vendor/flot/jquery.flot.selection.js',
|
||||||
|
@@ -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.2.0*
|
**Current Version:** *1.3.2*
|
||||||
**Build Status:** [![Build Status][travis-img]][travis]
|
**Build Status:** [![Build Status][travis-img]][travis]
|
||||||
**Node Version Support:** *0.10*
|
**Node Version Support:** *0.10*
|
||||||
|
|
||||||
|
18
app.js
18
app.js
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var createClient = require('pa11y-webservice-client-node');
|
var createClient = require('pa11y-webservice-client-node');
|
||||||
@@ -49,6 +64,7 @@ function initApp (config, callback) {
|
|||||||
|
|
||||||
// View helpers
|
// View helpers
|
||||||
require('./view/helper/date')(hbs.registerHelper);
|
require('./view/helper/date')(hbs.registerHelper);
|
||||||
|
require('./view/helper/string')(hbs.registerHelper);
|
||||||
require('./view/helper/url')(hbs.registerHelper);
|
require('./view/helper/url')(hbs.registerHelper);
|
||||||
|
|
||||||
// Populate view locals
|
// Populate view locals
|
||||||
@@ -79,6 +95,8 @@ function initApp (config, callback) {
|
|||||||
require('./route/task/delete')(app);
|
require('./route/task/delete')(app);
|
||||||
require('./route/task/run')(app);
|
require('./route/task/run')(app);
|
||||||
require('./route/task/edit')(app);
|
require('./route/task/edit')(app);
|
||||||
|
require('./route/task/ignore')(app);
|
||||||
|
require('./route/task/unignore')(app);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Error handling
|
// Error handling
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* jshint maxlen: false */
|
/* jshint maxlen: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
15
index.js
15
index.js
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var chalk = require('chalk');
|
var chalk = require('chalk');
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "pa11y-dashboard",
|
"name": "pa11y-dashboard",
|
||||||
"version": "1.2.0",
|
"version": "1.3.2",
|
||||||
"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.4",
|
||||||
"pa11y-webservice-client-node": "~1.1",
|
"pa11y-webservice-client-node": "~1.1",
|
||||||
"underscore": "~1.5"
|
"underscore": "~1.5"
|
||||||
},
|
},
|
||||||
|
2
public/css/site.min.css
vendored
2
public/css/site.min.css
vendored
File diff suppressed because one or more lines are too long
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
|
|
||||||
var data = {};
|
var data = {};
|
||||||
@@ -230,4 +245,45 @@ $(document).ready(function(){
|
|||||||
previousPoint = null;
|
previousPoint = null;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Task filter
|
||||||
|
|
||||||
|
function initTaskFilter (container) {
|
||||||
|
var tasks = initTaskFilterTasks(container);
|
||||||
|
var input = initTaskFilterInput(container, tasks);
|
||||||
|
}
|
||||||
|
|
||||||
|
function initTaskFilterTasks (container) {
|
||||||
|
var tasks = container.find('[data-role=task]');
|
||||||
|
return tasks;
|
||||||
|
}
|
||||||
|
|
||||||
|
function initTaskFilterInput (container, tasks) {
|
||||||
|
var input = container.find('[data-role=input]');
|
||||||
|
input.on('keyup', function () {
|
||||||
|
filterTasks(tasks, input.val());
|
||||||
|
});
|
||||||
|
return input;
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterTasks (tasks, query) {
|
||||||
|
query = $.trim(query.replace(/[^a-z0-9\s]+/gi, ''));
|
||||||
|
tasks.removeClass('hidden');
|
||||||
|
if (/^\s*$/.test(query)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var queryRegExp = new RegExp('(' + query.replace(/\s+/gi, '|') + ')', 'i');
|
||||||
|
tasks.filter(function () {
|
||||||
|
return !queryRegExp.test($(this).data('keywords'));
|
||||||
|
}).addClass('hidden');
|
||||||
|
}
|
||||||
|
|
||||||
|
var taskLists = $('[data-control=task-list]');
|
||||||
|
if (taskLists.length > 0) {
|
||||||
|
$('[data-control=task-list]').each(function () {
|
||||||
|
initTaskFilter($(this));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
6
public/js/site.min.js
vendored
6
public/js/site.min.js
vendored
File diff suppressed because one or more lines are too long
93
public/less/ie8and.less
Normal file
93
public/less/ie8and.less
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
// Making up for the non support of IE8 and IE7 in Bootstrap 3
|
||||||
|
|
||||||
|
// Amend the width of container if you want to here
|
||||||
|
@container-md-ie8: @container-md;
|
||||||
|
|
||||||
|
@grid-adjustment: percentage(@grid-gutter-width / @container-md-ie8);
|
||||||
|
|
||||||
|
.ie7, .ie8 {
|
||||||
|
* {
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
.clearfix {
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
ul, ol {
|
||||||
|
margin-left:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: @container-md-ie8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col-md-1,
|
||||||
|
.col-md-2,
|
||||||
|
.col-md-3,
|
||||||
|
.col-md-4,
|
||||||
|
.col-md-5,
|
||||||
|
.col-md-6,
|
||||||
|
.col-md-7,
|
||||||
|
.col-md-8,
|
||||||
|
.col-md-9,
|
||||||
|
.col-md-10,
|
||||||
|
.col-md-11 {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.col-md-1 { width: percentage((1 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-2 { width: percentage((2 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-3 { width: percentage((3 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-4 { width: percentage((4 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-5 { width: percentage((5 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-6 { width: percentage((6 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-7 { width: percentage((7 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-8 { width: percentage((8 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-9 { width: percentage((9 / @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-10 { width: percentage((10/ @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-11 { width: percentage((11/ @grid-columns)) - @grid-adjustment; }
|
||||||
|
.col-md-12 { width: 100% - @grid-adjustment; }
|
||||||
|
|
||||||
|
// Push and pull columns for source order changes
|
||||||
|
.col-md-push-0 { left: auto; }
|
||||||
|
.col-md-push-1 { left: percentage((1 / @grid-columns)); }
|
||||||
|
.col-md-push-2 { left: percentage((2 / @grid-columns)); }
|
||||||
|
.col-md-push-3 { left: percentage((3 / @grid-columns)); }
|
||||||
|
.col-md-push-4 { left: percentage((4 / @grid-columns)); }
|
||||||
|
.col-md-push-5 { left: percentage((5 / @grid-columns)); }
|
||||||
|
.col-md-push-6 { left: percentage((6 / @grid-columns)); }
|
||||||
|
.col-md-push-7 { left: percentage((7 / @grid-columns)); }
|
||||||
|
.col-md-push-8 { left: percentage((8 / @grid-columns)); }
|
||||||
|
.col-md-push-9 { left: percentage((9 / @grid-columns)); }
|
||||||
|
.col-md-push-10 { left: percentage((10/ @grid-columns)); }
|
||||||
|
.col-md-push-11 { left: percentage((11/ @grid-columns)); }
|
||||||
|
|
||||||
|
.col-md-pull-0 { right: auto; }
|
||||||
|
.col-md-pull-1 { right: percentage((1 / @grid-columns)); }
|
||||||
|
.col-md-pull-2 { right: percentage((2 / @grid-columns)); }
|
||||||
|
.col-md-pull-3 { right: percentage((3 / @grid-columns)); }
|
||||||
|
.col-md-pull-4 { right: percentage((4 / @grid-columns)); }
|
||||||
|
.col-md-pull-5 { right: percentage((5 / @grid-columns)); }
|
||||||
|
.col-md-pull-6 { right: percentage((6 / @grid-columns)); }
|
||||||
|
.col-md-pull-7 { right: percentage((7 / @grid-columns)); }
|
||||||
|
.col-md-pull-8 { right: percentage((8 / @grid-columns)); }
|
||||||
|
.col-md-pull-9 { right: percentage((9 / @grid-columns)); }
|
||||||
|
.col-md-pull-10 { right: percentage((10/ @grid-columns)); }
|
||||||
|
.col-md-pull-11 { right: percentage((11/ @grid-columns)); }
|
||||||
|
|
||||||
|
// Offsets
|
||||||
|
.col-md-offset-0 { margin-left: 0; }
|
||||||
|
.col-md-offset-1 { margin-left: percentage((1 / @grid-columns)); }
|
||||||
|
.col-md-offset-2 { margin-left: percentage((2 / @grid-columns)); }
|
||||||
|
.col-md-offset-3 { margin-left: percentage((3 / @grid-columns)); }
|
||||||
|
.col-md-offset-4 { margin-left: percentage((4 / @grid-columns)); }
|
||||||
|
.col-md-offset-5 { margin-left: percentage((5 / @grid-columns)); }
|
||||||
|
.col-md-offset-6 { margin-left: percentage((6 / @grid-columns)); }
|
||||||
|
.col-md-offset-7 { margin-left: percentage((7 / @grid-columns)); }
|
||||||
|
.col-md-offset-8 { margin-left: percentage((8 / @grid-columns)); }
|
||||||
|
.col-md-offset-9 { margin-left: percentage((9 / @grid-columns)); }
|
||||||
|
.col-md-offset-10 { margin-left: percentage((10/ @grid-columns)); }
|
||||||
|
.col-md-offset-11 { margin-left: percentage((11/ @grid-columns)); }
|
||||||
|
|
||||||
|
.clearfix {
|
||||||
|
*zoom: 1;
|
||||||
|
}
|
||||||
|
}
|
@@ -58,4 +58,5 @@
|
|||||||
@import "site-responsive.less";
|
@import "site-responsive.less";
|
||||||
|
|
||||||
// Stupid ie
|
// Stupid ie
|
||||||
|
@import "ie8and.less";
|
||||||
@import "site-ie8and.less";
|
@import "site-ie8and.less";
|
@@ -1,75 +1,20 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
// Making up for the non support of IE8 and IE7 in Bootstrap 3
|
// Making up for the non support of IE8 and IE7 in Bootstrap 3
|
||||||
.ie7, .ie8 {
|
.ie7, .ie8 {
|
||||||
.container {
|
|
||||||
width: @container-md;
|
|
||||||
}
|
|
||||||
.col-md-1,
|
|
||||||
.col-md-2,
|
|
||||||
.col-md-3,
|
|
||||||
.col-md-4,
|
|
||||||
.col-md-5,
|
|
||||||
.col-md-6,
|
|
||||||
.col-md-7,
|
|
||||||
.col-md-8,
|
|
||||||
.col-md-9,
|
|
||||||
.col-md-10,
|
|
||||||
.col-md-11 {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.col-md-1 { width: percentage((1 / @grid-columns)); }
|
|
||||||
.col-md-2 { width: percentage((2 / @grid-columns)); }
|
|
||||||
.col-md-3 { width: percentage((3 / @grid-columns)); }
|
|
||||||
.col-md-4 { width: percentage((4 / @grid-columns)); }
|
|
||||||
.col-md-5 { width: percentage((5 / @grid-columns)); }
|
|
||||||
.col-md-6 { width: percentage((6 / @grid-columns)); }
|
|
||||||
.col-md-7 { width: percentage((7 / @grid-columns)); }
|
|
||||||
.col-md-8 { width: percentage((8 / @grid-columns)); }
|
|
||||||
.col-md-9 { width: percentage((9 / @grid-columns)); }
|
|
||||||
.col-md-10 { width: percentage((10/ @grid-columns)); }
|
|
||||||
.col-md-11 { width: percentage((11/ @grid-columns)); }
|
|
||||||
.col-md-12 { width: 100%; }
|
|
||||||
|
|
||||||
// Push and pull columns for source order changes
|
|
||||||
.col-md-push-0 { left: auto; }
|
|
||||||
.col-md-push-1 { left: percentage((1 / @grid-columns)); }
|
|
||||||
.col-md-push-2 { left: percentage((2 / @grid-columns)); }
|
|
||||||
.col-md-push-3 { left: percentage((3 / @grid-columns)); }
|
|
||||||
.col-md-push-4 { left: percentage((4 / @grid-columns)); }
|
|
||||||
.col-md-push-5 { left: percentage((5 / @grid-columns)); }
|
|
||||||
.col-md-push-6 { left: percentage((6 / @grid-columns)); }
|
|
||||||
.col-md-push-7 { left: percentage((7 / @grid-columns)); }
|
|
||||||
.col-md-push-8 { left: percentage((8 / @grid-columns)); }
|
|
||||||
.col-md-push-9 { left: percentage((9 / @grid-columns)); }
|
|
||||||
.col-md-push-10 { left: percentage((10/ @grid-columns)); }
|
|
||||||
.col-md-push-11 { left: percentage((11/ @grid-columns)); }
|
|
||||||
|
|
||||||
.col-md-pull-0 { right: auto; }
|
|
||||||
.col-md-pull-1 { right: percentage((1 / @grid-columns)); }
|
|
||||||
.col-md-pull-2 { right: percentage((2 / @grid-columns)); }
|
|
||||||
.col-md-pull-3 { right: percentage((3 / @grid-columns)); }
|
|
||||||
.col-md-pull-4 { right: percentage((4 / @grid-columns)); }
|
|
||||||
.col-md-pull-5 { right: percentage((5 / @grid-columns)); }
|
|
||||||
.col-md-pull-6 { right: percentage((6 / @grid-columns)); }
|
|
||||||
.col-md-pull-7 { right: percentage((7 / @grid-columns)); }
|
|
||||||
.col-md-pull-8 { right: percentage((8 / @grid-columns)); }
|
|
||||||
.col-md-pull-9 { right: percentage((9 / @grid-columns)); }
|
|
||||||
.col-md-pull-10 { right: percentage((10/ @grid-columns)); }
|
|
||||||
.col-md-pull-11 { right: percentage((11/ @grid-columns)); }
|
|
||||||
|
|
||||||
// Offsets
|
|
||||||
.col-md-offset-0 { margin-left: 0; }
|
|
||||||
.col-md-offset-1 { margin-left: percentage((1 / @grid-columns)); }
|
|
||||||
.col-md-offset-2 { margin-left: percentage((2 / @grid-columns)); }
|
|
||||||
.col-md-offset-3 { margin-left: percentage((3 / @grid-columns)); }
|
|
||||||
.col-md-offset-4 { margin-left: percentage((4 / @grid-columns)); }
|
|
||||||
.col-md-offset-5 { margin-left: percentage((5 / @grid-columns)); }
|
|
||||||
.col-md-offset-6 { margin-left: percentage((6 / @grid-columns)); }
|
|
||||||
.col-md-offset-7 { margin-left: percentage((7 / @grid-columns)); }
|
|
||||||
.col-md-offset-8 { margin-left: percentage((8 / @grid-columns)); }
|
|
||||||
.col-md-offset-9 { margin-left: percentage((9 / @grid-columns)); }
|
|
||||||
.col-md-offset-10 { margin-left: percentage((10/ @grid-columns)); }
|
|
||||||
.col-md-offset-11 { margin-left: percentage((11/ @grid-columns)); }
|
|
||||||
|
|
||||||
.legend {
|
.legend {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -83,14 +28,11 @@
|
|||||||
.tooltip-inner {
|
.tooltip-inner {
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
}
|
}
|
||||||
.clearfix {
|
|
||||||
*zoom: 1;
|
|
||||||
}
|
|
||||||
.date {
|
.date {
|
||||||
font-size:85%;
|
font-size:85%;
|
||||||
}
|
}
|
||||||
.task-card-link {
|
.task-card-link {
|
||||||
min-height:190px;
|
min-height:160px;
|
||||||
}
|
}
|
||||||
.series-checkboxes li {
|
.series-checkboxes li {
|
||||||
margin-right:1%;
|
margin-right:1%;
|
||||||
@@ -98,34 +40,41 @@
|
|||||||
.stat-type {
|
.stat-type {
|
||||||
font-size:floor(@font-size-base * 0.65); // ~10px;
|
font-size:floor(@font-size-base * 0.65); // ~10px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.ie7 {
|
|
||||||
ul {
|
|
||||||
margin-left:0;
|
|
||||||
}
|
|
||||||
.col-md-2 { width:14%; }
|
|
||||||
.col-md-3 { width:22%; }
|
|
||||||
.col-md-4 {
|
|
||||||
width: 32%;
|
|
||||||
padding:0 5px;
|
|
||||||
}
|
|
||||||
.col-md-9 { width:72%; }
|
|
||||||
.col-md-10 { width:80%; }
|
|
||||||
.col-md-12 { width: 97%; }
|
|
||||||
|
|
||||||
.aside .task-stats li {
|
|
||||||
width:31.5%;
|
|
||||||
}
|
|
||||||
.aside .action-buttons .btn {
|
.aside .action-buttons .btn {
|
||||||
width:79%;
|
width:79%;
|
||||||
}
|
}
|
||||||
.date-selector {
|
.pull-right.dropdown-menu {
|
||||||
zoom:1;
|
right:134px;
|
||||||
|
}
|
||||||
|
.run-details .pull-right.dropdown-menu {
|
||||||
|
right:64px;
|
||||||
|
}
|
||||||
|
.date-selector .btn-full-width {
|
||||||
|
width:90%;
|
||||||
|
}
|
||||||
|
.filter-toggle {
|
||||||
|
&:before {
|
||||||
|
height:110%;
|
||||||
|
width:100%;
|
||||||
|
left:0;
|
||||||
|
top:0;
|
||||||
|
}
|
||||||
|
input {
|
||||||
|
width:92%;
|
||||||
|
}
|
||||||
|
.filter-trigger {
|
||||||
|
padding-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ie7 {
|
||||||
|
.aside .task-stats li {
|
||||||
|
width:31.5%;
|
||||||
}
|
}
|
||||||
.zfix {
|
.zfix {
|
||||||
position:relative;
|
position:relative;
|
||||||
z-index:100;
|
z-index:1001;
|
||||||
}
|
}
|
||||||
.list-group li .list-group-item {
|
.list-group li .list-group-item {
|
||||||
margin:0;
|
margin:0;
|
||||||
@@ -136,6 +85,44 @@
|
|||||||
padding-bottom:90px;
|
padding-bottom:90px;
|
||||||
}
|
}
|
||||||
.date-selector {
|
.date-selector {
|
||||||
margin-top:-155px;
|
zoom:1;
|
||||||
|
|
||||||
|
.btn-full-width {
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sr-only {
|
||||||
|
position:relative;
|
||||||
|
}
|
||||||
|
.breadcrumb li {
|
||||||
|
vertical-align: top;
|
||||||
|
zoom: 1;
|
||||||
|
display: inline;
|
||||||
|
margin-right:10px;
|
||||||
|
}
|
||||||
|
.pull-right.dropdown-menu {
|
||||||
|
right:0px;
|
||||||
|
}
|
||||||
|
.run-details .pull-right.dropdown-menu {
|
||||||
|
right:82px;
|
||||||
|
}
|
||||||
|
.tasks-list li {
|
||||||
|
padding-right:105px;
|
||||||
|
}
|
||||||
|
.filter-toggle {
|
||||||
|
width:30%;
|
||||||
|
margin:0 35%;
|
||||||
|
margin-top:-10px;
|
||||||
|
background-color:lighten(@gray-lighter, 4%);
|
||||||
|
padding-bottom:10px;
|
||||||
|
|
||||||
|
.glyphicon {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
width:80%;
|
||||||
|
margin-left:-25%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* No javascript */
|
/* No javascript */
|
||||||
.no-javascript {
|
.no-javascript {
|
||||||
.graph-container, .expander {
|
.graph-container, .expander {
|
||||||
@@ -26,4 +41,7 @@
|
|||||||
.show-class {
|
.show-class {
|
||||||
display:block;
|
display:block;
|
||||||
}
|
}
|
||||||
|
.no-js-hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
@@ -1,9 +1,19 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* Media queries */
|
/* Media queries */
|
||||||
@media (max-width:1199px) {
|
|
||||||
.task-card .task-card-link {
|
|
||||||
min-height:215px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media (max-width:991px) {
|
@media (max-width:991px) {
|
||||||
.h1, h1 {
|
.h1, h1 {
|
||||||
font-size:floor(@font-size-base * 2.15); // ~32px;
|
font-size:floor(@font-size-base * 2.15); // ~32px;
|
||||||
@@ -11,9 +21,6 @@
|
|||||||
.h2, h2 {
|
.h2, h2 {
|
||||||
font-size:floor(@font-size-base * 1.9); // ~28px;
|
font-size:floor(@font-size-base * 1.9); // ~28px;
|
||||||
}
|
}
|
||||||
.task-card .task-card-link {
|
|
||||||
min-height:200px;
|
|
||||||
}
|
|
||||||
.task-header .h4 {
|
.task-header .h4 {
|
||||||
font-size:floor(@font-size-base * 1.15); // ~17px;
|
font-size:floor(@font-size-base * 1.15); // ~17px;
|
||||||
}
|
}
|
||||||
@@ -40,6 +47,9 @@
|
|||||||
.btn-full-width {
|
.btn-full-width {
|
||||||
margin-bottom:0;
|
margin-bottom:0;
|
||||||
}
|
}
|
||||||
|
.task-card .task-stats {
|
||||||
|
margin-bottom:10px;
|
||||||
|
}
|
||||||
.action-buttons {
|
.action-buttons {
|
||||||
margin-bottom:20px;
|
margin-bottom:20px;
|
||||||
}
|
}
|
||||||
@@ -88,6 +98,9 @@
|
|||||||
text-align:left;
|
text-align:left;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.task-card .task-card-link {
|
||||||
|
min-height:0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@media (max-width:640px) {
|
@media (max-width:640px) {
|
||||||
body {
|
body {
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* Site specific styling */
|
/* Site specific styling */
|
||||||
|
|
||||||
/* Helper Classes */
|
/* Helper Classes */
|
||||||
@@ -70,7 +85,7 @@
|
|||||||
}
|
}
|
||||||
.dropdown-toggle {
|
.dropdown-toggle {
|
||||||
margin-top:0;
|
margin-top:0;
|
||||||
margin-bottom:10px;
|
margin-bottom:5px;
|
||||||
}
|
}
|
||||||
.list-group {
|
.list-group {
|
||||||
li .list-group-item {
|
li .list-group-item {
|
||||||
@@ -179,7 +194,7 @@
|
|||||||
}
|
}
|
||||||
.task-card-link {
|
.task-card-link {
|
||||||
color:@gray-dark;
|
color:@gray-dark;
|
||||||
min-height:200px;
|
min-height:190px;
|
||||||
display:block;
|
display:block;
|
||||||
transition: background 0.5s;
|
transition: background 0.5s;
|
||||||
-webkit-transition: background 0.5s;
|
-webkit-transition: background 0.5s;
|
||||||
@@ -216,8 +231,6 @@
|
|||||||
/* Badges */
|
/* Badges */
|
||||||
.badge {
|
.badge {
|
||||||
border-radius:0.25em;
|
border-radius:0.25em;
|
||||||
}
|
|
||||||
.badge {
|
|
||||||
display:inline-block;
|
display:inline-block;
|
||||||
padding:10px;
|
padding:10px;
|
||||||
font-size:ceil(@font-size-base * 0.85); // ~13px;
|
font-size:ceil(@font-size-base * 0.85); // ~13px;
|
||||||
@@ -238,6 +251,9 @@
|
|||||||
h2 {
|
h2 {
|
||||||
word-wrap:break-word;
|
word-wrap:break-word;
|
||||||
}
|
}
|
||||||
|
.h4 {
|
||||||
|
margin-bottom:22px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.date {
|
.date {
|
||||||
margin-top:5px;
|
margin-top:5px;
|
||||||
@@ -253,10 +269,27 @@
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
margin-bottom:20px;
|
margin-bottom:20px;
|
||||||
|
padding-right:90px;
|
||||||
|
position:relative;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
margin-bottom:0;
|
margin-bottom:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
form {
|
||||||
|
display:none;
|
||||||
|
position:absolute;
|
||||||
|
right:0;
|
||||||
|
top:0;
|
||||||
|
|
||||||
|
&:hover .btn {
|
||||||
|
color:@brand-primary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover form {
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.rule-name {
|
.rule-name {
|
||||||
@@ -264,6 +297,7 @@
|
|||||||
font-style:italic;
|
font-style:italic;
|
||||||
word-wrap:break-word;
|
word-wrap:break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.task-danger {
|
.task-danger {
|
||||||
border-color:@brand-danger;
|
border-color:@brand-danger;
|
||||||
@@ -320,7 +354,7 @@ ul.date-links {
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.single-result {
|
&.single-result {
|
||||||
margin-top:-55px;
|
margin-top:-52px;
|
||||||
|
|
||||||
.show-stats {
|
.show-stats {
|
||||||
display:none;
|
display:none;
|
||||||
@@ -413,3 +447,34 @@ ul.date-links {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.filter-toggle {
|
||||||
|
top:-20px;
|
||||||
|
margin-top:-10px;
|
||||||
|
font-size:18px;
|
||||||
|
font-weight:bold;
|
||||||
|
|
||||||
|
.filter-trigger {
|
||||||
|
padding-bottom:20px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.glyphicon {
|
||||||
|
display:block;
|
||||||
|
margin:0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
position:absolute;
|
||||||
|
content:"";
|
||||||
|
height:90px;
|
||||||
|
width:90px;
|
||||||
|
left:50%;
|
||||||
|
top:-45px;
|
||||||
|
background-color:lighten(@gray-lighter, 4%);
|
||||||
|
transform: translateX(-50%) rotate(45deg);
|
||||||
|
-ms-transform: translateX(-50%) rotate(45deg);
|
||||||
|
-webkit-transform: translateX(-50%) rotate(45deg);
|
||||||
|
z-index:-1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var presentTask = require('../view/presenter/task');
|
var presentTask = require('../view/presenter/task');
|
||||||
|
15
route/new.js
15
route/new.js
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var getStandards = require('../data/standards');
|
var getStandards = require('../data/standards');
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var moment = require('moment');
|
var moment = require('moment');
|
||||||
@@ -46,13 +61,13 @@ function route (app) {
|
|||||||
app.express.get('/:id/:rid.csv', getTaskAndResult, function (req, res) {
|
app.express.get('/:id/:rid.csv', getTaskAndResult, function (req, res) {
|
||||||
var task = res.locals.task;
|
var task = res.locals.task;
|
||||||
var result = res.locals.result;
|
var result = res.locals.result;
|
||||||
var rows = ['"code", "message", "type"'];
|
var rows = ['"code","message","type"'];
|
||||||
result.results.forEach(function (msg) {
|
result.results.forEach(function (msg) {
|
||||||
rows.push([
|
rows.push([
|
||||||
JSON.stringify(msg.code),
|
JSON.stringify(msg.code),
|
||||||
JSON.stringify(msg.message),
|
JSON.stringify(msg.message),
|
||||||
JSON.stringify(msg.type)
|
JSON.stringify(msg.type)
|
||||||
].join(', '));
|
].join(','));
|
||||||
});
|
});
|
||||||
res.attachment(getDownloadFileName(task, result, 'csv'));
|
res.attachment(getDownloadFileName(task, result, 'csv'));
|
||||||
res.send(rows.join('\n'));
|
res.send(rows.join('\n'));
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var presentTask = require('../../view/presenter/task');
|
var presentTask = require('../../view/presenter/task');
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
30
route/task/ignore.js
Normal file
30
route/task/ignore.js
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _ = require('underscore');
|
||||||
|
var presentTask = require('../../view/presenter/task');
|
||||||
|
var getStandards = require('../../data/standards');
|
||||||
|
|
||||||
|
module.exports = route;
|
||||||
|
|
||||||
|
// Route definition
|
||||||
|
function route (app) {
|
||||||
|
|
||||||
|
app.express.post('/:id/ignore', function (req, res, next) {
|
||||||
|
app.webservice.task(req.params.id).get({}, function (err, task) {
|
||||||
|
if (err) {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
var edit = {
|
||||||
|
name: task.name,
|
||||||
|
ignore: task.ignore
|
||||||
|
};
|
||||||
|
if (typeof req.body.rule === 'string') {
|
||||||
|
edit.ignore.push(req.body.rule);
|
||||||
|
}
|
||||||
|
app.webservice.task(req.params.id).edit(edit, function () {
|
||||||
|
res.redirect('/' + req.params.id + '?rule-ignored');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var presentTask = require('../../view/presenter/task');
|
var presentTask = require('../../view/presenter/task');
|
||||||
@@ -25,6 +40,8 @@ function route (app) {
|
|||||||
mainResult: task.lastResult || null,
|
mainResult: task.lastResult || null,
|
||||||
added: (typeof req.query.added !== 'undefined'),
|
added: (typeof req.query.added !== 'undefined'),
|
||||||
running: (typeof req.query.running !== 'undefined'),
|
running: (typeof req.query.running !== 'undefined'),
|
||||||
|
ruleIgnored: (typeof req.query['rule-ignored'] !== 'undefined'),
|
||||||
|
ruleUnignored: (typeof req.query['rule-unignored'] !== 'undefined'),
|
||||||
hasOneResult: (presentedResults.length < 2),
|
hasOneResult: (presentedResults.length < 2),
|
||||||
isTaskPage: true
|
isTaskPage: true
|
||||||
});
|
});
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
module.exports = route;
|
module.exports = route;
|
||||||
|
31
route/task/unignore.js
Normal file
31
route/task/unignore.js
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
var _ = require('underscore');
|
||||||
|
var presentTask = require('../../view/presenter/task');
|
||||||
|
var getStandards = require('../../data/standards');
|
||||||
|
|
||||||
|
module.exports = route;
|
||||||
|
|
||||||
|
// Route definition
|
||||||
|
function route (app) {
|
||||||
|
|
||||||
|
app.express.post('/:id/unignore', function (req, res, next) {
|
||||||
|
app.webservice.task(req.params.id).get({}, function (err, task) {
|
||||||
|
if (err) {
|
||||||
|
return next();
|
||||||
|
}
|
||||||
|
var edit = {
|
||||||
|
name: task.name,
|
||||||
|
ignore: task.ignore
|
||||||
|
};
|
||||||
|
var indexOfRule = edit.ignore.indexOf(req.body.rule);
|
||||||
|
if (typeof req.body.rule === 'string' && indexOfRule !== -1) {
|
||||||
|
edit.ignore.splice(indexOfRule, 1);
|
||||||
|
}
|
||||||
|
app.webservice.task(req.params.id).edit(edit, function () {
|
||||||
|
res.redirect('/' + req.params.id + '?rule-unignored');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var jsdom = require('jsdom');
|
var jsdom = require('jsdom');
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var createClient = require('pa11y-webservice-client-node');
|
var createClient = require('pa11y-webservice-client-node');
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
@@ -20,7 +35,7 @@ describe('GET /<task-id>/<result-id>.csv', function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should output CSV results', function () {
|
it('should output CSV results', function () {
|
||||||
assert.match(this.last.body, /^"code", "message", "type"/);
|
assert.match(this.last.body, /^"code","message","type"/);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global beforeEach, describe, it */
|
/* global beforeEach, describe, it */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* global afterEach, before */
|
/* global afterEach, before */
|
||||||
/* jshint maxlen: false, maxstatements: false */
|
/* jshint maxlen: false, maxstatements: false */
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h1>Hmmm, this page indicates a 404 error.</h1>
|
<h1>Hmmm, this page indicates a 404 error.</h1>
|
||||||
<p class="h2">That is techy babble for "We couldn't find the page you were looking for".</h2>
|
<p class="h2">That is techy babble for "We couldn't find the page you were looking for".</h2>
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<h1>Eeek! 500 error. This is serious.</h1>
|
<h1>Eeek! 500 error. This is serious.</h1>
|
||||||
<p class="h2">There isn't much you can do about this.</h2>
|
<p class="h2">There isn't much you can do about this.</h2>
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var moment = require('moment');
|
var moment = require('moment');
|
||||||
|
12
view/helper/string.js
Normal file
12
view/helper/string.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = helper;
|
||||||
|
|
||||||
|
function helper (register) {
|
||||||
|
|
||||||
|
// Convert a string to lower-case
|
||||||
|
register('lowercase', function (context) {
|
||||||
|
return context.toLowerCase();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
module.exports = helper;
|
module.exports = helper;
|
||||||
@@ -6,7 +21,7 @@ function helper (register) {
|
|||||||
|
|
||||||
// Simplify url by removing (eg http://, https://, trailing slashes) from url
|
// Simplify url by removing (eg http://, https://, trailing slashes) from url
|
||||||
register('simplify-url', function (context) {
|
register('simplify-url', function (context) {
|
||||||
return context.replace(/^https?:\/\//i, '').replace(/\/$/, '');
|
return context.replace(/^https?:\/\//i, '').replace(/\/$/, '').toLowerCase();
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,15 +1,43 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
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="clearfix">
|
||||||
|
<div class="col-md-6 col-md-offset-3 filter-toggle no-js-hide text-center">
|
||||||
|
<label for="filter-input" class="filter-trigger" data-toggle="collapse" data-target="#filter-input">Filter<span class="glyphicon glyphicon-filter"></span>
|
||||||
|
</label>
|
||||||
|
<div id="filter-input" class="collapse">
|
||||||
|
<input class="form-control" id="task-filter" type="text" data-role="input" placeholder="Type filter term (name or standard)"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{#if siteMessage}}
|
||||||
<div class="col-md-12 clearfix" data-test="alert">
|
<div class="col-md-12 clearfix" data-test="alert">
|
||||||
<div class="alert alert-info site-message">
|
<div class="alert alert-info site-message">
|
||||||
<h3 class="crunch-top"><span class="pull-left glyphicon glyphicon-exclamation-sign"></span> Important</h3>
|
<h3 class="crunch-top"><span class="pull-left glyphicon glyphicon-exclamation-sign"></span> Important</h3>
|
||||||
<p class="h5">{{siteMessage}}</p>
|
<p class="h5">{{siteMessage}}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#deleted}}
|
{{#deleted}}
|
||||||
<div class="col-md-12 clearfix" data-test="alert">
|
<div class="col-md-12 clearfix" data-test="alert">
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
|
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
|
||||||
@@ -17,6 +45,8 @@
|
|||||||
<p>The URL you selected and its associated results have been deleted.</p>
|
<p>The URL you selected and its associated results have been deleted.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/deleted}}
|
{{/deleted}}
|
||||||
|
|
||||||
{{> tasks}}
|
{{> tasks}}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="{{lang}}" class="no-javascript">
|
<html lang="{{lang}}" class="no-javascript">
|
||||||
<head>
|
<head>
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
|
|
||||||
{{#content "title"}}
|
{{#content "title"}}
|
||||||
Add a new URL
|
Add a new URL
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
{{#unless isHomePage}}
|
{{#unless isHomePage}}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<div class="col-md-12 clearfix">
|
<div class="col-md-12 clearfix">
|
||||||
<div class="graph-container graph-spacer ruled">
|
<div class="graph-container graph-spacer ruled">
|
||||||
<div data-role="graph" class="graph"></div>
|
<div data-role="graph" class="graph"></div>
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<footer>
|
<footer>
|
||||||
<div class="footer" role="contentinfo">
|
<div class="footer" role="contentinfo">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<header>
|
<header>
|
||||||
<div role="banner" class="header">
|
<div role="banner" class="header">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="ruled task-header">
|
<div class="ruled task-header">
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<div class="col-md-12 zfix">
|
<div class="col-md-12 zfix">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3">
|
<div class="col-md-4 col-md-offset-4 col-sm-6 col-sm-offset-3">
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
<div class="col-md-3 aside">
|
<div class="col-md-3 aside">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div id="top" class="col-md-12 col-sm-6 col-xs-12">
|
<div id="top" class="col-md-12 col-sm-6 col-xs-12">
|
||||||
@@ -47,6 +63,14 @@
|
|||||||
<li>
|
<li>
|
||||||
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
|
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
|
||||||
<p>{{message}}</p>
|
<p>{{message}}</p>
|
||||||
|
{{#unless readonly}}
|
||||||
|
{{#if ../../isTaskPage}}
|
||||||
|
<form action="{{../../../task.hrefIgnore}}" method="post">
|
||||||
|
<input type="hidden" name="rule" value="{{code}}"/>
|
||||||
|
<input type="submit" class="btn btn-sm" value="Ignore rule"/>
|
||||||
|
</form>
|
||||||
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
</li>
|
</li>
|
||||||
{{/mainResult.errors}}
|
{{/mainResult.errors}}
|
||||||
</ul>
|
</ul>
|
||||||
@@ -67,6 +91,14 @@
|
|||||||
<li>
|
<li>
|
||||||
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
|
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
|
||||||
<p>{{message}}</p>
|
<p>{{message}}</p>
|
||||||
|
{{#unless readonly}}
|
||||||
|
{{#if ../../isTaskPage}}
|
||||||
|
<form action="{{../../../task.hrefIgnore}}" method="post">
|
||||||
|
<input type="hidden" name="rule" value="{{code}}"/>
|
||||||
|
<input type="submit" class="btn btn-sm" value="Ignore rule"/>
|
||||||
|
</form>
|
||||||
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
</li>
|
</li>
|
||||||
{{/mainResult.warnings}}
|
{{/mainResult.warnings}}
|
||||||
</ul>
|
</ul>
|
||||||
@@ -88,6 +120,14 @@
|
|||||||
<li>
|
<li>
|
||||||
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
|
<p class="crunch rule-name">{{code}} <span class="badge">{{count}}</span></p>
|
||||||
<p>{{message}}</p>
|
<p>{{message}}</p>
|
||||||
|
{{#unless readonly}}
|
||||||
|
{{#if ../../isTaskPage}}
|
||||||
|
<form action="{{../../../task.hrefIgnore}}" method="post">
|
||||||
|
<input type="hidden" name="rule" value="{{code}}"/>
|
||||||
|
<input type="submit" class="btn btn-sm" value="Ignore rule"/>
|
||||||
|
</form>
|
||||||
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
</li>
|
</li>
|
||||||
{{/mainResult.notices}}
|
{{/mainResult.notices}}
|
||||||
</ul>
|
</ul>
|
||||||
@@ -97,21 +137,29 @@
|
|||||||
<p class="heading label-info" id="notices">Well done! You have 0 notices. <span class="glyphicon glyphicon-ok pull-right"></span></p>
|
<p class="heading label-info" id="notices">Well done! You have 0 notices. <span class="glyphicon glyphicon-ok pull-right"></span></p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if task.ignore.length}}
|
{{#if mainResult.ignore.length}}
|
||||||
<div class="heading label-default">
|
<div class="heading label-default">
|
||||||
<span data-role="expander" class="pull-right expander"> + </span>
|
<span data-role="expander" class="pull-right expander"> + </span>
|
||||||
Ignored Rules ( {{task.ignore.length}} )
|
Ignored Rules ( {{mainResult.ignore.length}} )
|
||||||
</div>
|
</div>
|
||||||
<div class="task-default tasks-list collapse clearfix">
|
<div class="task-default tasks-list collapse clearfix">
|
||||||
<ul class="list-unstyled">
|
<ul class="list-unstyled">
|
||||||
{{#task.ignore}}
|
{{#mainResult.ignore}}
|
||||||
<li>
|
<li>
|
||||||
<p class="crunch rule-name">{{name}}</p>
|
<p class="crunch rule-name">{{name}}</p>
|
||||||
{{#if description}}
|
{{#if description}}
|
||||||
<p>{{description}}</p>
|
<p>{{description}}</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{#unless readonly}}
|
||||||
|
{{#if ../../isTaskPage}}
|
||||||
|
<form action="{{../../../task.hrefUnignore}}" method="post">
|
||||||
|
<input type="hidden" name="rule" value="{{name}}"/>
|
||||||
|
<input type="submit" class="btn btn-sm" value="Unignore rule"/>
|
||||||
|
</form>
|
||||||
|
{{/if}}
|
||||||
|
{{/unless}}
|
||||||
</li>
|
</li>
|
||||||
{{/task.ignore}}
|
{{/mainResult.ignore}}
|
||||||
</ul>
|
</ul>
|
||||||
<a class="pull-right" href="#top" data-role="top">Back to top</a>
|
<a class="pull-right" href="#top" data-role="top">Back to top</a>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,4 +1,20 @@
|
|||||||
<div class="col-md-12">
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
|
<div class="col-md-12 zfix">
|
||||||
<div class="ruled task-header">
|
<div class="ruled task-header">
|
||||||
<div class="row clearfix">
|
<div class="row clearfix">
|
||||||
<div class="col-md-9 col-sm-9">
|
<div class="col-md-9 col-sm-9">
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
|
|
||||||
<ul class="list-unstyled clearfix crunch-bottom">
|
<ul class="list-unstyled clearfix crunch-bottom">
|
||||||
<li class="col-md-4 col-sm-6 task-card add-task">
|
<li class="col-md-4 col-sm-6 task-card add-task">
|
||||||
@@ -14,7 +30,7 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
</li>
|
</li>
|
||||||
{{#each tasks}}
|
{{#each tasks}}
|
||||||
<li class="col-md-4 col-sm-6 task-card" data-test="task">
|
<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}}">
|
||||||
<a class="well task-card-link crunch-bottom" title="Details for URL {{simplify-url url}}" href="{{href}}">
|
<a class="well task-card-link crunch-bottom" title="Details for URL {{simplify-url url}}" href="{{href}}">
|
||||||
<p class="h3">{{name}}</p>
|
<p class="h3">{{name}}</p>
|
||||||
<p class="h5">({{standard}})</p>
|
<p class="h5">({{standard}})</p>
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var standardsArray = require('../../data/standards')();
|
var standardsArray = require('../../data/standards')();
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
|
@@ -1,3 +1,18 @@
|
|||||||
|
// This file is part of pa11y-dashboard.
|
||||||
|
//
|
||||||
|
// 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
|
||||||
|
// the Free Software Foundation, either version 3 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
@@ -14,6 +29,8 @@ function presentTask (task) {
|
|||||||
task.hrefRun = '/' + task.id + '/run';
|
task.hrefRun = '/' + task.id + '/run';
|
||||||
task.hrefJson = '/' + task.id + '.json';
|
task.hrefJson = '/' + task.id + '.json';
|
||||||
task.hrefEdit = '/' + task.id + '/edit';
|
task.hrefEdit = '/' + task.id + '/edit';
|
||||||
|
task.hrefIgnore = '/' + task.id + '/ignore';
|
||||||
|
task.hrefUnignore = '/' + task.id + '/unignore';
|
||||||
|
|
||||||
// Enhance the ignored rules
|
// Enhance the ignored rules
|
||||||
task.ignore = presentIgnoreRules(task.ignore);
|
task.ignore = presentIgnoreRules(task.ignore);
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
|
|
||||||
{{#content "title"}}
|
{{#content "title"}}
|
||||||
{{task.name}} - {{simplify-url task.url}} ({{task.standard}}) - {{date-format mainResult.date format="DD MMM YYYY"}}
|
{{task.name}} - {{simplify-url task.url}} ({{task.standard}}) - {{date-format mainResult.date format="DD MMM YYYY"}}
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
|
|
||||||
{{#content "title"}}
|
{{#content "title"}}
|
||||||
Delete {{task.url}} ({{task.standard}})
|
Delete {{task.url}} ({{task.standard}})
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
|
|
||||||
{{#content "title"}}
|
{{#content "title"}}
|
||||||
Edit URL
|
Edit URL
|
||||||
|
@@ -1,3 +1,19 @@
|
|||||||
|
{{!
|
||||||
|
This file is part of pa11y-dashboard.
|
||||||
|
|
||||||
|
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
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
pa11y-dashboard is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with pa11y-dashboard. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
}}
|
||||||
|
|
||||||
{{#content "title"}}
|
{{#content "title"}}
|
||||||
{{task.name}} - {{simplify-url task.url}} ({{task.standard}})
|
{{task.name}} - {{simplify-url task.url}} ({{task.standard}})
|
||||||
@@ -26,6 +42,32 @@
|
|||||||
</div>
|
</div>
|
||||||
{{/running}}
|
{{/running}}
|
||||||
|
|
||||||
|
{{#ruleIgnored}}
|
||||||
|
<div class="col-md-12 clearfix" data-test="alert">
|
||||||
|
<div class="alert alert-success">
|
||||||
|
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
|
||||||
|
<strong>Rule ignored!</strong>
|
||||||
|
<p>
|
||||||
|
You've ignored an accessibility rule for this URL.
|
||||||
|
<a href="{{task.hrefRun}}">Click here to generate results with the ignored rule excluded</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/ruleIgnored}}
|
||||||
|
|
||||||
|
{{#ruleUnignored}}
|
||||||
|
<div class="col-md-12 clearfix" data-test="alert">
|
||||||
|
<div class="alert alert-success">
|
||||||
|
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
|
||||||
|
<strong>Rule unignored!</strong>
|
||||||
|
<p>
|
||||||
|
You've removed an ignored accessibility rule for this URL.
|
||||||
|
<a href="{{task.hrefRun}}">Click here to generate results with the ignored rule included again</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/ruleUnignored}}
|
||||||
|
|
||||||
{{> task-header}}
|
{{> task-header}}
|
||||||
|
|
||||||
{{#if results}}
|
{{#if results}}
|
||||||
|
Reference in New Issue
Block a user