Explore: Log message line wrapping options for logs (#20360)

This commit is contained in:
Ivana Huckova
2019-12-03 13:02:44 +01:00
committed by GitHub
parent 2027e1aaee
commit 5a4465a382
9 changed files with 95 additions and 40 deletions

View File

@@ -57,11 +57,13 @@ interface Props {
interface State {
showTime: boolean;
wrapLogMessage: boolean;
}
export class Logs extends PureComponent<Props, State> {
state = {
showTime: true,
wrapLogMessage: true,
};
onChangeDedup = (dedup: LogsDedupStrategy) => {
@@ -81,6 +83,15 @@ export class Logs extends PureComponent<Props, State> {
}
};
onChangewrapLogMessage = (event?: React.SyntheticEvent) => {
const target = event && (event.target as HTMLInputElement);
if (target) {
this.setState({
wrapLogMessage: target.checked,
});
}
};
onToggleLogLevel = (hiddenRawLevels: string[]) => {
const hiddenLogLevels: LogLevel[] = hiddenRawLevels.map(level => LogLevel[level as LogLevel]);
this.props.onToggleLogLevel(hiddenLogLevels);
@@ -123,7 +134,7 @@ export class Logs extends PureComponent<Props, State> {
return null;
}
const { showTime } = this.state;
const { showTime, wrapLogMessage } = this.state;
const { dedupStrategy } = this.props;
const hasData = logRows && logRows.length > 0;
const dedupCount = dedupedRows
@@ -164,6 +175,7 @@ export class Logs extends PureComponent<Props, State> {
<div className="logs-panel-options">
<div className="logs-panel-controls">
<Switch label="Time" checked={showTime} onChange={this.onChangeTime} transparent />
<Switch label="Wrap lines" checked={wrapLogMessage} onChange={this.onChangewrapLogMessage} transparent />
<ToggleButtonGroup label="Dedup" transparent={true}>
{Object.keys(LogsDedupStrategy).map((dedupType: string, i) => (
<ToggleButton
@@ -202,6 +214,7 @@ export class Logs extends PureComponent<Props, State> {
onClickFilterLabel={onClickFilterLabel}
onClickFilterOutLabel={onClickFilterOutLabel}
showTime={showTime}
wrapLogMessage={wrapLogMessage}
timeZone={timeZone}
getFieldLinks={getFieldLinks}
/>