mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 01:47:35 -02:30
Add ansi parsing libs
This commit is contained in:
committed by
Jake McDermott
parent
0de5301c23
commit
946f3b5c92
@@ -1,2 +1,3 @@
|
|||||||
@import 'credentials/_index';
|
@import 'credentials/_index';
|
||||||
|
@import 'jobs/_index';
|
||||||
@import 'users/tokens/_index';
|
@import 'users/tokens/_index';
|
||||||
|
|||||||
12
awx/ui/client/features/jobs/_index.less
Normal file
12
awx/ui/client/features/jobs/_index.less
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
.at-Stdout {
|
||||||
|
tr {
|
||||||
|
& > td:first-child {
|
||||||
|
padding-right: 5px;
|
||||||
|
border-right: 1px solid gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > td:last-child {
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,40 @@
|
|||||||
function JobsIndexController (resolved) {
|
import Ansi from 'ansi-to-html';
|
||||||
console.log('test', resolved);
|
import hasAnsi from 'has-ansi';
|
||||||
|
|
||||||
|
function JobsIndexController (job, $sce) {
|
||||||
|
const vm = this || {};
|
||||||
|
const results = job.get('related.job_events.results');
|
||||||
|
const ansi = new Ansi({});
|
||||||
|
|
||||||
|
/*
|
||||||
|
* const colors = [];
|
||||||
|
*
|
||||||
|
* for (let i = 0; i < 255; i++) {
|
||||||
|
* colors.push('#ababab');
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
let html = '';
|
||||||
|
results.forEach((line, i) => {
|
||||||
|
if (!line.stdout) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let output;
|
||||||
|
|
||||||
|
if (hasAnsi(line.stdout)) {
|
||||||
|
output = ansi.toHtml(line.stdout);
|
||||||
|
} else {
|
||||||
|
output = line.stdout; // .replace(/(\n|\r)/g, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
html += `<tr><td>${i}</td><td>${output}</td></tr>`;
|
||||||
|
});
|
||||||
|
|
||||||
|
vm.html = $sce.trustAsHtml(html);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JobsIndexController.$inject = ['job', '$sce'];
|
||||||
|
|
||||||
module.exports = JobsIndexController;
|
module.exports = JobsIndexController;
|
||||||
|
|||||||
@@ -24,13 +24,9 @@ function JobsRun ($stateExtender, strings) {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
resolve: {
|
resolve: {
|
||||||
resolved: ['JobsModel', Jobs => {
|
job: ['JobsModel', Jobs => new Jobs('get', 1002)
|
||||||
const jobs = new Jobs();
|
.then(job => job.extend('job_events'))
|
||||||
|
]
|
||||||
return {
|
|
||||||
models: { jobs }
|
|
||||||
};
|
|
||||||
}]
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
<at-panel>
|
<at-panel>
|
||||||
<p>right</p>
|
<pre class="at-Stdout">
|
||||||
|
<table>
|
||||||
|
<tbody ng-bind-html="vm.html">
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</pre>
|
||||||
</at-panel>
|
</at-panel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user