Files
grafana/public/app/features/datasources/components/EditDataSourceActions.tsx
Ashley Harrison 47f8717149 React: Use new JSX transform (#88802)
* update eslint, tsconfig + esbuild to handle new jsx transform

* remove thing that breaks the new jsx transform

* remove react imports

* adjust grafana-icons build

* is this the correct syntax?

* try this

* well this was much easier than expected...

* change grafana-plugin-configs webpack config

* fixes

* fix lockfile

* fix 2 more violations

* use path.resolve instead of require.resolve

* remove react import

* fix react imports

* more fixes

* remove React import

* remove import React from docs

* remove another react import
2024-06-25 12:43:47 +01:00

56 lines
1.6 KiB
TypeScript

import { config } from '@grafana/runtime';
import { LinkButton } from '@grafana/ui';
import { contextSrv } from 'app/core/core';
import { useDataSource } from '../state';
import { trackCreateDashboardClicked, trackDsConfigClicked, trackExploreClicked } from '../tracking';
import { constructDataSourceExploreUrl } from '../utils';
interface Props {
uid: string;
}
export function EditDataSourceActions({ uid }: Props) {
const dataSource = useDataSource(uid);
const hasExploreRights = contextSrv.hasAccessToExplore();
return (
<>
{hasExploreRights && (
<LinkButton
variant="secondary"
size="sm"
href={constructDataSourceExploreUrl(dataSource)}
onClick={() => {
trackDsConfigClicked('explore');
trackExploreClicked({
grafana_version: config.buildInfo.version,
datasource_uid: dataSource.uid,
plugin_name: dataSource.typeName,
path: location.pathname,
});
}}
>
Explore data
</LinkButton>
)}
<LinkButton
size="sm"
variant="secondary"
href={`dashboard/new-with-ds/${dataSource.uid}`}
onClick={() => {
trackDsConfigClicked('build_a_dashboard');
trackCreateDashboardClicked({
grafana_version: config.buildInfo.version,
datasource_uid: dataSource.uid,
plugin_name: dataSource.typeName,
path: location.pathname,
});
}}
>
Build a dashboard
</LinkButton>
</>
);
}