Submit
Path:
~
/
/
usr
/
share
/
grafana
/
public
/
app
/
plugins
/
panel
/
geomap
/
components
/
File Content:
DebugOverlay.tsx
import { css } from '@emotion/css'; import { Map } from 'ol'; import { Coordinate } from 'ol/coordinate'; import { transform } from 'ol/proj'; import React, { PureComponent } from 'react'; import tinycolor from 'tinycolor2'; import { GrafanaTheme2 } from '@grafana/data'; import { selectors } from '@grafana/e2e-selectors/src'; import { config } from 'app/core/config'; interface Props { map: Map; } interface State { zoom?: number; center: Coordinate; } export class DebugOverlay extends PureComponent<Props, State> { style = getStyles(config.theme2); constructor(props: Props) { super(props); this.state = { zoom: 0, center: [0, 0] }; } updateViewState = () => { const view = this.props.map.getView(); this.setState({ zoom: view.getZoom(), center: transform(view.getCenter()!, view.getProjection(), 'EPSG:4326'), }); }; componentDidMount() { this.props.map.on('moveend', this.updateViewState); this.updateViewState(); } render() { const { zoom, center } = this.state; return ( <div className={this.style.infoWrap} aria-label={selectors.components.DebugOverlay.wrapper}> <table> <tbody> <tr> <th>Zoom:</th> <td>{zoom?.toFixed(1)}</td> </tr> <tr> <th>Center: </th> <td> {center[0].toFixed(5)}, {center[1].toFixed(5)} </td> </tr> </tbody> </table> </div> ); } } const getStyles = (theme: GrafanaTheme2) => ({ infoWrap: css({ color: theme.colors.text.primary, background: tinycolor(theme.components.panel.background).setAlpha(0.7).toString(), borderRadius: theme.shape.radius.default, padding: theme.spacing(1), }), });
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
DebugOverlay.tsx
1811 bytes
0644
MarkersLegend.tsx
5364 bytes
0644
MeasureOverlay.tsx
4541 bytes
0644
MeasureVectorLayer.ts
7111 bytes
0644
ObservablePropsWrapper.tsx
873 bytes
0644
N4ST4R_ID | Naxtarrr