mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-21 17:21:09 +01:00
add ansi-to-html dependence, show task log ansi with colors
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
"@fortawesome/free-solid-svg-icons": "^5.9.0",
|
||||
"@fortawesome/vue-fontawesome": "^0.1.6",
|
||||
"@tinymce/tinymce-vue": "^2.0.0",
|
||||
"ansi-to-html": "^0.6.13",
|
||||
"axios": "0.18.0",
|
||||
"cross-env": "^5.2.0",
|
||||
"dayjs": "^1.8.6",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="log-item">
|
||||
<div class="line-no">{{index}}</div>
|
||||
<div class="line-content">{{data}}</div>
|
||||
<div class="line-content" ><span v-if="isAnsi" v-html="data">{{data}}</span><span v-else="">{{data}}</span></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -16,11 +16,16 @@ export default {
|
||||
data: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
isAnsi: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped>
|
||||
.log-item {
|
||||
display: table;
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
<script>
|
||||
import LogItem from './LogItem'
|
||||
import VirtualList from 'vue-virtual-scroll-list'
|
||||
|
||||
import Convert from 'ansi-to-html'
|
||||
import hasAnsi from 'has-ansi'
|
||||
const convert = new Convert();
|
||||
export default {
|
||||
name: 'LogView',
|
||||
components: {
|
||||
@@ -44,12 +46,14 @@ export default {
|
||||
methods: {
|
||||
getItemProps (index) {
|
||||
const logItem = this.logData[index]
|
||||
const isAnsi = hasAnsi(logItem.data)
|
||||
return {
|
||||
// <item/> will render with itemProps.
|
||||
// https://vuejs.org/v2/guide/render-function.html#createElement-Arguments
|
||||
props: {
|
||||
index: logItem.index,
|
||||
data: logItem.data
|
||||
data: isAnsi ? convert.toHtml(logItem.data) : logItem.data,
|
||||
isAnsi,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1168,6 +1168,13 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
|
||||
dependencies:
|
||||
color-convert "^1.9.0"
|
||||
|
||||
ansi-to-html@^0.6.13:
|
||||
version "0.6.13"
|
||||
resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.13.tgz#c72eae8b63e5ca0643aab11bfc6e6f2217425833"
|
||||
integrity sha512-Ys2/umuaTlQvP9DLkaa7UzRKF2FLrfod/hNHXS9QhXCrw7seObG6ksOGmNz3UoK+adwM8L9vQfG7mvaxfJ3Jvw==
|
||||
dependencies:
|
||||
entities "^1.1.2"
|
||||
|
||||
anymatch@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "http://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
|
||||
@@ -3008,7 +3015,7 @@ enhanced-resolve@^4.1.0:
|
||||
memory-fs "^0.4.0"
|
||||
tapable "^1.0.0"
|
||||
|
||||
entities@^1.1.1:
|
||||
entities@^1.1.1, entities@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "http://registry.npm.taobao.org/entities/download/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user