Commit 0e210dc2 by Marcus Efraimsson Committed by GitHub

Explore: Fix selection/copy of log lines (#17121)

This adds some logic to identify if the user is selecting 
text and if so disables parsing of log messages on hover. 
This should resolve the issue of selecting log lines to be 
copied and the selection is truncated.

Fixes #17072
parent 2b32e768
......@@ -130,7 +130,7 @@ export class LogRow extends PureComponent<Props, State> {
};
onMouseOverMessage = () => {
if (this.state.showContext) {
if (this.state.showContext || this.isTextSelected()) {
// When showing context we don't want to the LogRow rerender as it will mess up state of context block
// making the "after" context to be scrolled to the top, what is desired only on open
// The log row message needs to be refactored to separate component that encapsulates parsing and parsed message state
......@@ -161,6 +161,20 @@ export class LogRow extends PureComponent<Props, State> {
}
};
isTextSelected() {
if (!window.getSelection) {
return false;
}
const selection = window.getSelection();
if (!selection) {
return false;
}
return selection.anchorNode !== null && selection.isCollapsed === false;
}
toggleContext = () => {
this.setState(state => {
return {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment