mirror of https://github.com/grafana/grafana
Explore: Add opt-in config for Node Graph in Jaeger, Zipkin, and Tempo (#39958)
parent
4a91ceeb1e
commit
3a8d04603f
@ -0,0 +1,57 @@ |
||||
import React from 'react'; |
||||
import { css } from '@emotion/css'; |
||||
import { |
||||
DataSourceJsonData, |
||||
DataSourcePluginOptionsEditorProps, |
||||
GrafanaTheme, |
||||
updateDatasourcePluginJsonDataOption, |
||||
} from '@grafana/data'; |
||||
import { InlineField, InlineFieldRow, InlineSwitch, useStyles } from '@grafana/ui'; |
||||
|
||||
export interface NodeGraphOptions { |
||||
enabled?: boolean; |
||||
} |
||||
|
||||
export interface NodeGraphData extends DataSourceJsonData { |
||||
nodeGraph?: NodeGraphOptions; |
||||
} |
||||
|
||||
interface Props extends DataSourcePluginOptionsEditorProps<NodeGraphData> {} |
||||
|
||||
export function NodeGraphSettings({ options, onOptionsChange }: Props) { |
||||
const styles = useStyles(getStyles); |
||||
|
||||
return ( |
||||
<div className={styles.container}> |
||||
<h3 className="page-heading">Node Graph</h3> |
||||
<InlineFieldRow className={styles.row}> |
||||
<InlineField |
||||
tooltip="Enables the Node Graph visualization in the trace viewer." |
||||
label="Enable Node Graph" |
||||
labelWidth={26} |
||||
> |
||||
<InlineSwitch |
||||
value={options.jsonData.nodeGraph?.enabled} |
||||
onChange={(event: React.SyntheticEvent<HTMLInputElement>) => |
||||
updateDatasourcePluginJsonDataOption({ onOptionsChange, options }, 'nodeGraph', { |
||||
...options.jsonData.nodeGraph, |
||||
enabled: event.currentTarget.checked, |
||||
}) |
||||
} |
||||
/> |
||||
</InlineField> |
||||
</InlineFieldRow> |
||||
</div> |
||||
); |
||||
} |
||||
|
||||
const getStyles = (theme: GrafanaTheme) => ({ |
||||
container: css` |
||||
label: container; |
||||
width: 100%; |
||||
`,
|
||||
row: css` |
||||
label: row; |
||||
align-items: baseline; |
||||
`,
|
||||
}); |
||||
Loading…
Reference in new issue