Files
grafana/public/app/core/components/PageActionBar/PageActionBar.tsx
Gabriel MABILLE 9f29241a0c AccessControl: add one-dimensional permissions to datasources (#38070)
* AccessControl: add one-dimensional permissions to datasources in the backend

* AccessControl: add one-dimensional permissions to datasources in the frontend (#38080)

Co-authored-by: Hugo Häggmark <hugo.haggmark@grafana.com>
2021-09-01 15:18:17 +02:00

32 lines
1020 B
TypeScript

import React, { PureComponent } from 'react';
import { FilterInput } from '../FilterInput/FilterInput';
import { LinkButton } from '@grafana/ui';
export interface Props {
searchQuery: string;
setSearchQuery: (value: string) => void;
linkButton?: { href: string; title: string; disabled?: boolean };
target?: string;
placeholder?: string;
}
export default class PageActionBar extends PureComponent<Props> {
render() {
const { searchQuery, linkButton, setSearchQuery, target, placeholder = 'Search by name or type' } = this.props;
const linkProps = { href: linkButton?.href, disabled: linkButton?.disabled };
if (target) {
(linkProps as any).target = target;
}
return (
<div className="page-action-bar">
<div className="gf-form gf-form--grow">
<FilterInput value={searchQuery} onChange={setSearchQuery} placeholder={placeholder} />
</div>
{linkButton && <LinkButton {...linkProps}>{linkButton.title}</LinkButton>}
</div>
);
}
}