From 7ec1d137b4beb513846f5eb23bfab9d17090d287 Mon Sep 17 00:00:00 2001 From: Seyaji <67058118+Seyaji@users.noreply.github.com> Date: Thu, 15 Sep 2022 16:13:58 +0100 Subject: [PATCH] Logs: Relocate "show context" button, add copy line log button (#50977) * add context button to right side of log row * add context button to right side of log row * add context button to right side of log row * add context button to right side of log row * add show-context icon Co-authored-by: Sven Grossmann --- packages/grafana-data/src/types/icon.ts | 1 + .../src/components/Logs/LogRowMessage.tsx | 39 ++++++++++++++++--- public/img/icons/custom/gf-show-context.svg | 6 +++ 3 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 public/img/icons/custom/gf-show-context.svg diff --git a/packages/grafana-data/src/types/icon.ts b/packages/grafana-data/src/types/icon.ts index bbc1d0a0c8f..d53de9d1a3b 100644 --- a/packages/grafana-data/src/types/icon.ts +++ b/packages/grafana-data/src/types/icon.ts @@ -101,6 +101,7 @@ export const availableIconsIndex = { 'gf-logs': true, 'gf-portrait': true, 'gf-service-account': true, + 'gf-show-context': true, grafana: true, 'graph-bar': true, heart: true, diff --git a/packages/grafana-ui/src/components/Logs/LogRowMessage.tsx b/packages/grafana-ui/src/components/Logs/LogRowMessage.tsx index 6b7d753f1bd..090fcbd3976 100644 --- a/packages/grafana-ui/src/components/Logs/LogRowMessage.tsx +++ b/packages/grafana-ui/src/components/Logs/LogRowMessage.tsx @@ -6,10 +6,10 @@ import tinycolor from 'tinycolor2'; import { LogRowModel, findHighlightChunksInText, GrafanaTheme2 } from '@grafana/data'; -// @ts-ignore - import { withTheme2 } from '../../themes/index'; import { Themeable2 } from '../../types/theme'; +import { IconButton } from '../IconButton/IconButton'; +import { Tooltip } from '../Tooltip/Tooltip'; import { LogMessageAnsi } from './LogMessageAnsi'; import { LogRowContext } from './LogRowContext'; @@ -55,6 +55,24 @@ const getStyles = (theme: GrafanaTheme2) => { display: block; margin-left: 0px; `, + contextButton: css` + display: flex; + flex-wrap: nowrap; + flex-direction: row; + align-content: flex-end; + justify-content: space-evenly; + align-items: center; + position: absolute; + right: -8px; + top: 0; + bottom: auto; + width: 80px; + height: 36px; + background: ${theme.colors.background.primary}; + box-shadow: ${theme.shadows.z3}; + padding: ${theme.spacing(0, 0, 0, 0.5)}; + z-index: 100; + `, }; }; @@ -146,12 +164,21 @@ class UnThemedLogRowMessage extends PureComponent { {renderLogMessage(hasAnsi, restructuredEntry, row.searchWords, style.logsRowMatchHighLight)} - {showContextToggle?.(row) && ( + {!contextIsOpen && showContextToggle?.(row) && ( e.stopPropagation()} > - {contextIsOpen ? 'Hide' : 'Show'} context + + + + + navigator.clipboard.writeText(JSON.stringify(restructuredEntry))} + /> + )} diff --git a/public/img/icons/custom/gf-show-context.svg b/public/img/icons/custom/gf-show-context.svg new file mode 100644 index 00000000000..ad16b4d9635 --- /dev/null +++ b/public/img/icons/custom/gf-show-context.svg @@ -0,0 +1,6 @@ + + + + +