grafana/public/app/core/components/OrgActionBar/OrgActionBar.tsx

38 lines
1.1 KiB
TypeScript
Raw Normal View History

2018-10-03 02:43:10 -05:00
import React, { PureComponent } from 'react';
import { FilterInput } from '../FilterInput/FilterInput';
import { LinkButton } from '@grafana/ui';
2018-10-03 02:43:10 -05:00
export interface Props {
searchQuery: string;
setSearchQuery: (value: string) => {};
linkButton: { href: string; title: string };
target?: string;
2018-10-03 02:43:10 -05:00
}
export default class OrgActionBar extends PureComponent<Props> {
render() {
const { searchQuery, linkButton, setSearchQuery, target } = this.props;
const linkProps = { href: linkButton.href };
if (target) {
(linkProps as any).target = target;
}
2018-10-03 02:43:10 -05:00
return (
<div className="page-action-bar">
<div className="gf-form gf-form--grow">
<FilterInput
labelClassName="gf-form--has-input-icon"
inputClassName="gf-form-input width-20"
value={searchQuery}
onChange={setSearchQuery}
placeholder={'Search by name or type'}
/>
2018-10-03 02:43:10 -05:00
</div>
<div className="page-action-bar__spacer" />
<LinkButton {...linkProps}>{linkButton.title}</LinkButton>
2018-10-03 02:43:10 -05:00
</div>
);
}
}