mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* 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
31 lines
815 B
TypeScript
31 lines
815 B
TypeScript
import { OrgRole } from '@grafana/data';
|
|
import { Select } from '@grafana/ui';
|
|
|
|
interface Props {
|
|
value: OrgRole;
|
|
disabled?: boolean;
|
|
'aria-label'?: string;
|
|
inputId?: string;
|
|
onChange: (role: OrgRole) => void;
|
|
autoFocus?: boolean;
|
|
width?: number | 'auto';
|
|
}
|
|
|
|
const basicRoles = Object.values(OrgRole).filter((r) => r !== OrgRole.None);
|
|
const options = basicRoles.map((r) => ({ label: r, value: r }));
|
|
|
|
export function OrgRolePicker({ value, onChange, 'aria-label': ariaLabel, inputId, autoFocus, ...restProps }: Props) {
|
|
return (
|
|
<Select
|
|
inputId={inputId}
|
|
value={value}
|
|
options={options}
|
|
onChange={(val) => onChange(val.value ?? OrgRole.None)}
|
|
placeholder="Choose role..."
|
|
aria-label={ariaLabel}
|
|
autoFocus={autoFocus}
|
|
{...restProps}
|
|
/>
|
|
);
|
|
}
|