grafana/public/app/features/explore/SecondaryActions.tsx
Ivana Huckova 664b13d83e
Explore: Support full inspect drawer (#32005)
* Move InspectSubtitle to grafana/ui

* Move inspect elements to features/inspector

* Move InspectJSON and use it also in Explore

* Move and use QueryInspector

* Move all to features/inspector

* WIP Data tab implementation

* Process dataframes for explores inspector

* Clean up

* Update test

* Clean up

* Fix Explore Inspector button name
2021-03-18 17:38:09 +01:00

63 lines
1.8 KiB
TypeScript

import React from 'react';
import { css, cx } from 'emotion';
import { GrafanaTheme } from '@grafana/data';
import { stylesFactory, Button, HorizontalGroup, useTheme } from '@grafana/ui';
type Props = {
addQueryRowButtonDisabled?: boolean;
addQueryRowButtonHidden?: boolean;
richHistoryButtonActive?: boolean;
queryInspectorButtonActive?: boolean;
onClickAddQueryRowButton: () => void;
onClickRichHistoryButton: () => void;
onClickQueryInspectorButton: () => void;
};
const getStyles = stylesFactory((theme: GrafanaTheme) => {
return {
containerMargin: css`
margin-top: ${theme.spacing.md};
`,
};
});
export function SecondaryActions(props: Props) {
const theme = useTheme();
const styles = getStyles(theme);
return (
<div className={styles.containerMargin}>
<HorizontalGroup>
{!props.addQueryRowButtonHidden && (
<Button
variant="secondary"
aria-label="Add row button"
onClick={props.onClickAddQueryRowButton}
disabled={props.addQueryRowButtonDisabled}
icon="plus"
>
Add query
</Button>
)}
<Button
variant="secondary"
aria-label="Rich history button"
className={cx({ ['explore-active-button']: props.richHistoryButtonActive })}
onClick={props.onClickRichHistoryButton}
icon="history"
>
Query history
</Button>
<Button
variant="secondary"
aria-label="Query inspector button"
className={cx({ ['explore-active-button']: props.queryInspectorButtonActive })}
onClick={props.onClickQueryInspectorButton}
icon="info-circle"
>
Inspector
</Button>
</HorizontalGroup>
</div>
);
}