Files
grafana/public/app/features/datasources/components/picker/AddNewDataSourceButton.tsx
Ivan Ortega Alba cb293ecf1c Improve DS Advance Picker to give user context about the built in DS and CTA (#68203)
* Add description to DS built-in list of items

* Open the new DS view in a new tab
2023-05-10 15:56:00 -03:00

34 lines
1.1 KiB
TypeScript

import React from 'react';
import { LinkButton, ButtonVariant } from '@grafana/ui';
import { config } from 'app/core/config';
import { contextSrv } from 'app/core/core';
import { ROUTES as CONNECTIONS_ROUTES } from 'app/features/connections/constants';
import { DATASOURCES_ROUTES } from 'app/features/datasources/constants';
import { AccessControlAction } from 'app/types';
interface AddNewDataSourceButtonProps {
onClick?: () => void;
variant?: ButtonVariant;
}
export function AddNewDataSourceButton({ variant, onClick }: AddNewDataSourceButtonProps) {
const hasCreateRights = contextSrv.hasPermission(AccessControlAction.DataSourcesCreate);
const newDataSourceURL = config.featureToggles.dataConnectionsConsole
? CONNECTIONS_ROUTES.DataSourcesNew
: DATASOURCES_ROUTES.New;
return (
<LinkButton
variant={variant || 'primary'}
href={newDataSourceURL}
disabled={!hasCreateRights}
tooltip={!hasCreateRights ? 'You do not have permission to configure new data sources' : undefined}
onClick={onClick}
target="_blank"
>
Configure a new data source
</LinkButton>
);
}