From a6b0ca2d004437b4d91de2a721cca4504d121295 Mon Sep 17 00:00:00 2001 From: Kyrylo Shmidt Date: Mon, 19 Jun 2023 16:57:15 +0200 Subject: [PATCH 1/3] Add zoom controls to the Trace Search Page --- .../TracePageHeader/TracePageHeader.css | 4 ++ .../TracePageHeader/TracePageHeader.tsx | 2 + .../TracePageHeader/ZoomControls.tsx | 40 +++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx diff --git a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.css b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.css index 338ca8110f..33997ad476 100644 --- a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.css +++ b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.css @@ -108,3 +108,7 @@ limitations under the License. font-size: 1.78em; margin-right: 0.15em; } + +.TracePageHeader--zoomControls { + margin-right: 0.5em; +} diff --git a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.tsx b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.tsx index da58c5b4e7..03a74ce81f 100644 --- a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/TracePageHeader.tsx @@ -38,6 +38,7 @@ import { getTraceLinks } from '../../../model/link-patterns'; import './TracePageHeader.css'; import ExternalLinks from '../../common/ExternalLinks'; +import ZoomControls from './ZoomControls'; type TracePageHeaderEmbedProps = { canCollapse: boolean; @@ -209,6 +210,7 @@ export function TracePageHeaderFn(props: TracePageHeaderEmbedProps & { forwarded )} + {summaryItems && } {!hideMap && !slimView && ( diff --git a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx new file mode 100644 index 0000000000..db72788f39 --- /dev/null +++ b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx @@ -0,0 +1,40 @@ +import { Button } from 'antd'; +import React, { useEffect, useState } from 'react'; +import ButtonGroup from 'antd/lib/button/button-group'; + +const MIN_ZOOM_LEVEL = 0.7; +const MAX_ZOOM_LEVEL = 1.5; +const ZOOM_FACTOR = 0.1; + +type ZoomControlsProps = { + className?: string; +}; + +const ZoomControls = (props: ZoomControlsProps) => { + const [zoom, setZoom] = useState(document.body.style.zoom || 1); + + useEffect(() => { + document.body.style.zoom = zoom; + }, [zoom]); + + return ( + + )} + {showStandaloneLink && ( )} - {summaryItems && } {!hideMap && !slimView && ( diff --git a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx index db72788f39..2765fb139a 100644 --- a/packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx +++ b/packages/jaeger-ui/src/components/TracePage/TracePageHeader/ZoomControls.tsx @@ -1,37 +1,30 @@ import { Button } from 'antd'; -import React, { useEffect, useState } from 'react'; +import React, { useContext } from 'react'; import ButtonGroup from 'antd/lib/button/button-group'; - -const MIN_ZOOM_LEVEL = 0.7; -const MAX_ZOOM_LEVEL = 1.5; -const ZOOM_FACTOR = 0.1; +import { ZoomContext } from '../../../Contexts'; type ZoomControlsProps = { className?: string; }; const ZoomControls = (props: ZoomControlsProps) => { - const [zoom, setZoom] = useState(document.body.style.zoom || 1); - - useEffect(() => { - document.body.style.zoom = zoom; - }, [zoom]); + const zoomManager = useContext(ZoomContext); return ( )} - + {window.enableZoomControls && } {showStandaloneLink && (