{"version":3,"file":"SelectorActions.cjs","sources":["../../../../src/components/metrics-browser/SelectorActions.tsx"],"sourcesContent":["import { cx } from '@emotion/css';\nimport { useMemo } from 'react';\n\nimport { selectors } from '@grafana/e2e-selectors';\nimport { Trans, t } from '@grafana/i18n';\nimport { Button, Label, Stack, useStyles2 } from '@grafana/ui';\n\nimport { EMPTY_SELECTOR } from '../../constants';\n\nimport { useMetricsBrowser } from './MetricsBrowserContext';\nimport { getStylesSelectorActions } from './styles';\n\nexport function SelectorActions() {\n  const styles = useStyles2(getStylesSelectorActions);\n  const { validationStatus, onValidationClick, getSelector, onChange, status, err, onClearClick } = useMetricsBrowser();\n\n  const selector = getSelector();\n\n  const onClickRunQuery = () => {\n    onChange(selector);\n  };\n\n  const onClickRunRateQuery = () => {\n    const query = `rate(${selector}[$__rate_interval])`;\n    onChange(query);\n  };\n\n  const empty = useMemo(() => selector === EMPTY_SELECTOR, [selector]);\n\n  return (\n    <div className={styles.section}>\n      <Label>\n        <Trans i18nKey=\"grafana-prometheus.components.selector-actions.resulting-selector\">4. Resulting selector</Trans>\n      </Label>\n      <div\n        aria-label={t('grafana-prometheus.components.selector-actions.aria-label-selector', 'selector')}\n        className={styles.selector}\n      >\n        {selector}\n      </div>\n      {validationStatus && <div className={styles.validationStatus}>{validationStatus}</div>}\n      <Stack>\n        <Button\n          data-testid={selectors.components.DataSource.Prometheus.queryEditor.code.metricsBrowser.useQuery}\n          aria-label={t(\n            'grafana-prometheus.components.selector-actions.aria-label-use-selector-for-query-button',\n            'Use selector for query button'\n          )}\n          disabled={empty}\n          onClick={onClickRunQuery}\n        >\n          <Trans i18nKey=\"grafana-prometheus.components.selector-actions.use-query\">Use query</Trans>\n        </Button>\n        <Button\n          data-testid={selectors.components.DataSource.Prometheus.queryEditor.code.metricsBrowser.useAsRateQuery}\n          aria-label={t(\n            'grafana-prometheus.components.selector-actions.aria-label-use-selector-as-metrics-button',\n            'Use selector as metrics button'\n          )}\n          variant=\"secondary\"\n          disabled={empty}\n          onClick={onClickRunRateQuery}\n        >\n          <Trans i18nKey=\"grafana-prometheus.components.selector-actions.use-as-rate-query\">Use as rate query</Trans>\n        </Button>\n        <Button\n          data-testid={selectors.components.DataSource.Prometheus.queryEditor.code.metricsBrowser.validateSelector}\n          aria-label={t(\n            'grafana-prometheus.components.selector-actions.aria-label-validate-submit-button',\n            'Validate submit button'\n          )}\n          variant=\"secondary\"\n          disabled={empty}\n          onClick={onValidationClick}\n        >\n          <Trans i18nKey=\"grafana-prometheus.components.selector-actions.validate-selector\">Validate selector</Trans>\n        </Button>\n        <Button\n          data-testid={selectors.components.DataSource.Prometheus.queryEditor.code.metricsBrowser.clear}\n          aria-label={t(\n            'grafana-prometheus.components.selector-actions.aria-label-selector-clear-button',\n            'Selector clear button'\n          )}\n          variant=\"secondary\"\n          onClick={onClearClick}\n        >\n          <Trans i18nKey=\"grafana-prometheus.components.selector-actions.clear\">Clear</Trans>\n        </Button>\n        <div className={cx(styles.status, (status || err) && styles.statusShowing)}>\n          <span className={err ? styles.error : ''}>{err || status}</span>\n        </div>\n      </Stack>\n    </div>\n  );\n}\n"],"names":["styles","useStyles2","getStylesSelectorActions","useMetricsBrowser","useMemo","EMPTY_SELECTOR","jsxs","jsx","Label","Trans","t","Stack","Button","selectors","cx"],"mappings":"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"}