grafana/public/app/features/explore/SecondaryActions.tsx
Laura 85ecf997be
Explore: Convert SASS styles of explore-active-button to emotion (#50061)
* Chore: replace sass styling by emotion incl. new theme

* Chore: remove sass styling

* Chore: change colour

* Chore: change colour

* Chore: clean up

Co-authored-by: Giordano Ricci <me@giordanoricci.com>

Co-authored-by: Giordano Ricci <me@giordanoricci.com>
2022-06-10 16:01:28 +02:00

72 lines
2.0 KiB
TypeScript

import { css, cx } from '@emotion/css';
import React from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { Button, HorizontalGroup, useTheme2 } from '@grafana/ui';
type Props = {
addQueryRowButtonDisabled?: boolean;
addQueryRowButtonHidden?: boolean;
richHistoryRowButtonHidden?: boolean;
richHistoryButtonActive?: boolean;
queryInspectorButtonActive?: boolean;
onClickAddQueryRowButton: () => void;
onClickRichHistoryButton: () => void;
onClickQueryInspectorButton: () => void;
};
const getStyles = (theme: GrafanaTheme2) => {
return {
containerMargin: css`
margin-top: ${theme.spacing(2)};
`,
exploreActiveButton: css`
box-shadow: ${theme.shadows.z1};
border: 1px solid ${theme.colors.warning.border};
color: ${theme.colors.warning.text};
`,
};
};
export function SecondaryActions(props: Props) {
const theme = useTheme2();
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>
)}
{!props.richHistoryRowButtonHidden && (
<Button
variant="secondary"
aria-label="Rich history button"
className={cx({ [styles.exploreActiveButton]: props.richHistoryButtonActive })}
onClick={props.onClickRichHistoryButton}
icon="history"
>
Query history
</Button>
)}
<Button
variant="secondary"
aria-label="Query inspector button"
className={cx({ [styles.exploreActiveButton]: props.queryInspectorButtonActive })}
onClick={props.onClickQueryInspectorButton}
icon="info-circle"
>
Inspector
</Button>
</HorizontalGroup>
</div>
);
}