Files
pa11y-dashboard/view/presenter/task.js
Rowan Manning b24076abf1 Tooling update (#184)
* Use a common Makefile/build process

* Use ESLint with the pa11y lint config
2017-03-21 13:41:46 +00:00

51 lines
1.6 KiB
JavaScript

// 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';
const presentIgnoreRules = require('./ignore');
const presentResult = require('./result');
module.exports = presentTask;
function presentTask(task) {
// Add additional info
task.href = `/${task.id}`;
task.hrefDelete = `/${task.id}/delete`;
task.hrefRun = `/${task.id}/run`;
task.hrefJson = `/${task.id}.json`;
task.hrefEdit = `/${task.id}/edit`;
task.hrefIgnore = `/${task.id}/ignore`;
task.hrefUnignore = `/${task.id}/unignore`;
// Enhance the ignored rules
task.ignore = presentIgnoreRules(task.ignore);
// Change headers to a string format
if (task.headers && typeof task.headers === 'object') {
task.headers = Object.keys(task.headers).map(header => {
return `${header}: ${task.headers[header]}`;
}).join('\n');
}
// Present the last result if present
if (task.last_result) {
task.lastResult = presentResult(task.last_result);
delete task.last_result;
}
return task;
}