mirror of
https://github.com/grafana/grafana.git
synced 2024-12-02 13:39:19 -06:00
50538d5309
* ServiceAccounts: refactor ServiceAccountRoleRow * Refactor ServiceAccountRoleRow * Refactor ServiceAccountProfile * Refactor components * Change service accounts icon * Refine service accounts page header * Improve service accounts filtering * Change delete button style * Tweak account id * Auto focus name field when create service account * Add disable/enable button * Enable/disable service accounts * Optimize updating service account (do not fetch all) * Remove status column (replace by enable/disable button) * Add banner with service accounts description * Add tokens from main page * Update tokens count when add token from main page * Fix action buttons column * Fix tokens count when change role * Refine table row classes * Fix buttons * Simplify working with state * Show message when service account updated * Able to filter disabled accounts * Mark disabled accounts in a table * Refine disabled account view * Move non-critical components to separate folder * Remove confusing focusing * Fix date picker position when creating new token * DatePicker: able to set minimum date that can be selected * Don't allow to select expiration dates prior today * Set tomorrow as a default token expiration date * Fix displaying expiration period * Rename Add token button * Refine page styles * Show modal when disabling SA from main page * Arrange role picker * Refine SA page styles * Generate default token name * More smooth navigation between SA pages * Stop loading indicator in case of error * Remove legacy styles usage * Tweaks after code review Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com> * Get rid of useDisapatch in favor of mapDispatchToProps * Tests for ServiceAccountsListPage * Tests for service account page * Show new role picker only with license * Get rid of deprecated css classes * Apply suggestion from code review Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com> * Fix service accounts icon * Tests for service account create page * Return service account info when update * Add behaviour tests for ServiceAccountsListPage * Fix disabled cursor on confirm button * More behavior tests for service account page * Temporary disable service account migration banner * Use safe where condition Co-authored-by: Jguer <joao.guerreiro@grafana.com> * Apply review suggestions Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com> * Remove autofocus from search Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com> Co-authored-by: Jguer <joao.guerreiro@grafana.com>
32 lines
777 B
TypeScript
32 lines
777 B
TypeScript
import React from 'react';
|
|
|
|
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 options = Object.keys(OrgRole).map((key) => ({ label: key, value: key }));
|
|
|
|
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 as OrgRole)}
|
|
placeholder="Choose role..."
|
|
aria-label={ariaLabel}
|
|
autoFocus={autoFocus}
|
|
{...restProps}
|
|
/>
|
|
);
|
|
}
|