Fix escaping in ANSI and dynamic button removal (#31731)

This commit is contained in:
Ivana Huckova 2021-03-08 12:24:44 +01:00 committed by GitHub
parent c2a6f9623e
commit 445132a904
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 4 deletions

View File

@ -152,7 +152,9 @@ class UnThemedLogRow extends PureComponent<Props, State> {
}); });
const processedRow = const processedRow =
row.hasUnescapedContent && forceEscape ? { ...row, entry: escapeUnescapedString(row.entry) } : row; row.hasUnescapedContent && forceEscape
? { ...row, entry: escapeUnescapedString(row.entry), raw: escapeUnescapedString(row.raw) }
: row;
return ( return (
<> <>

View File

@ -1,6 +1,7 @@
import React, { PureComponent } from 'react'; import React, { PureComponent } from 'react';
import { css } from 'emotion'; import { css } from 'emotion';
import { capitalize } from 'lodash'; import { capitalize } from 'lodash';
import memoizeOne from 'memoize-one';
import { import {
rangeUtil, rangeUtil,
@ -91,7 +92,6 @@ interface State {
logsSortOrder: LogsSortOrder | null; logsSortOrder: LogsSortOrder | null;
isFlipping: boolean; isFlipping: boolean;
showDetectedFields: string[]; showDetectedFields: string[];
hasUnescapedContent: boolean;
forceEscape: boolean; forceEscape: boolean;
} }
@ -106,7 +106,6 @@ export class UnthemedLogs extends PureComponent<Props, State> {
logsSortOrder: null, logsSortOrder: null,
isFlipping: false, isFlipping: false,
showDetectedFields: [], showDetectedFields: [],
hasUnescapedContent: this.props.logRows.some((r) => r.hasUnescapedContent),
forceEscape: false, forceEscape: false,
}; };
@ -226,6 +225,10 @@ export class UnthemedLogs extends PureComponent<Props, State> {
}); });
}; };
checkUnescapedContent = memoizeOne((logRows: LogRowModel[]) => {
return !!logRows.some((r) => r.hasUnescapedContent);
});
render() { render() {
const { const {
logRows, logRows,
@ -256,7 +259,6 @@ export class UnthemedLogs extends PureComponent<Props, State> {
logsSortOrder, logsSortOrder,
isFlipping, isFlipping,
showDetectedFields, showDetectedFields,
hasUnescapedContent,
forceEscape, forceEscape,
} = this.state; } = this.state;
@ -285,6 +287,7 @@ export class UnthemedLogs extends PureComponent<Props, State> {
const scanText = scanRange ? `Scanning ${rangeUtil.describeTimeRange(scanRange)}` : 'Scanning...'; const scanText = scanRange ? `Scanning ${rangeUtil.describeTimeRange(scanRange)}` : 'Scanning...';
const series = logsSeries ? logsSeries : []; const series = logsSeries ? logsSeries : [];
const styles = getStyles(theme); const styles = getStyles(theme);
const hasUnescapedContent = this.checkUnescapedContent(logRows);
return ( return (
<> <>