Format fixes/disable warnings

My v-html use is OK as the  HTML is sanitized.
This commit is contained in:
Richard Bowman 2024-01-08 16:14:15 +00:00
parent 4445990966
commit c0d25b194c

View file

@ -60,8 +60,13 @@
> >
More info... More info...
</a> </a>
<div v-if="item.expanded" v-html="item.message" class="logging-message"> <!-- eslint-disable vue/no-v-html -->
</div> <div
v-if="item.expanded"
class="logging-message"
v-html="item.message"
></div>
<!-- eslint-enable -->
</div> </div>
</div> </div>
@ -165,18 +170,17 @@ export default {
// If a line does not look like a log entry, append it to the last // If a line does not look like a log entry, append it to the last
// log entry (i.e. allow multi-line messages) // log entry (i.e. allow multi-line messages)
let entry = logs[logs.length - 1]; let entry = logs[logs.length - 1];
m = line.match(/^( *)(\^+)/); // detect python stack trace "underlines" m = line.match(/^( *)(\^+)/); // detect python stack trace "underlines"
if (m) { if (m) {
let linestart = entry.message.lastIndexOf('\n') + 1; let linestart = entry.message.lastIndexOf("\n") + 1;
let ustart = linestart + m[1].length; let ustart = linestart + m[1].length;
let uend = ustart + m[2].length; let uend = ustart + m[2].length;
entry.message = ( entry.message =
entry.message.substring(0, ustart) entry.message.substring(0, ustart) +
+ "<u>" "<u>" +
+ entry.message.substring(ustart, uend) entry.message.substring(ustart, uend) +
+ "</u>" "</u>" +
+ entry.message.substring(uend) entry.message.substring(uend);
);
} else { } else {
entry.message += "\n" + this.escapeText(line); entry.message += "\n" + this.escapeText(line);
if (entry.message.startsWith("Traceback")) { if (entry.message.startsWith("Traceback")) {
@ -201,7 +205,7 @@ export default {
return date.toLocaleDateString() + " " + date.toLocaleTimeString(); return date.toLocaleDateString() + " " + date.toLocaleTimeString();
}, },
escapeText: function(unsafeText) { escapeText: function(unsafeText) {
let div = document.createElement('div'); let div = document.createElement("div");
div.innerText = unsafeText; div.innerText = unsafeText;
return div.innerHTML; return div.innerHTML;
} }