Files
grafana/public/app/features/datasources/components/DataSourceAddButton.tsx
Syerikjan Kh 2f965a07ab Ref: datasource picker rudderstack events (#95074)
* ref: ds picker events added

* ref: track opendropdown only on click

* ref: update/update all payload added to the event

* ref: configure more ds button event path to from path

* ref: result count fix, enable/disable track

* ref: debounce search tracks

* ref: track connections_plugin_card_clicked

* ref: call tracking from the child comp with result count

* ref: change event names, add creator_team and schema version
2024-10-24 12:03:17 -04:00

24 lines
905 B
TypeScript

import { useCallback } from 'react';
import { config } from '@grafana/runtime';
import { LinkButton } from '@grafana/ui';
import { contextSrv } from 'app/core/core';
import { Trans } from 'app/core/internationalization';
import { ROUTES } from 'app/features/connections/constants';
import { AccessControlAction } from 'app/types';
import { trackAddNewDsClicked } from '../tracking';
export function DataSourceAddButton(): JSX.Element | null {
const canCreateDataSource = contextSrv.hasPermission(AccessControlAction.DataSourcesCreate);
const handleClick = useCallback(() => {
trackAddNewDsClicked({ path: location.pathname });
}, []);
return canCreateDataSource ? (
<LinkButton icon="plus" href={config.appSubUrl + ROUTES.DataSourcesNew} onClick={handleClick}>
<Trans i18nKey="data-sources.datasource-add-button.label">Add new data source</Trans>
</LinkButton>
) : null;
}