From cff70b6648355e8ebfb7106e3a934647694f70ba Mon Sep 17 00:00:00 2001 From: Tobias Skarhed <1438972+tskarhed@users.noreply.github.com> Date: Wed, 15 Apr 2020 16:49:20 +0200 Subject: [PATCH] Forms migration: Org users page (#23372) * Migrate UsersActionBar * Invites table * Migrate Users page * Select version of OrgPicker * OrgRolePicker to use Select only * Fix modal issue * Move legacy Switch * Move from Forms folder * Fix failing test * Merge and fix issues * Update OrgRole issues * OrgUser type * Remove unused import * Update Snapshot --- .../ConfirmButton/ConfirmButton.story.tsx | 7 +- .../ConfirmButton/ConfirmButton.tsx | 12 +- packages/grafana-ui/src/components/index.ts | 1 + public/app/features/admin/OrgRolePicker.tsx | 13 +- public/app/features/users/InviteeRow.tsx | 29 +- public/app/features/users/UsersActionBar.tsx | 35 +- .../app/features/users/UsersListPage.test.tsx | 14 +- public/app/features/users/UsersListPage.tsx | 19 +- public/app/features/users/UsersTable.test.tsx | 10 + public/app/features/users/UsersTable.tsx | 44 +-- .../app/features/users/__mocks__/userMocks.ts | 8 +- .../UsersActionBar.test.tsx.snap | 44 +-- .../__snapshots__/UsersTable.test.tsx.snap | 366 ++++++------------ public/app/types/user.ts | 2 +- 14 files changed, 222 insertions(+), 382 deletions(-) diff --git a/packages/grafana-ui/src/components/ConfirmButton/ConfirmButton.story.tsx b/packages/grafana-ui/src/components/ConfirmButton/ConfirmButton.story.tsx index 920f6103486..74fb8ca5a64 100644 --- a/packages/grafana-ui/src/components/ConfirmButton/ConfirmButton.story.tsx +++ b/packages/grafana-ui/src/components/ConfirmButton/ConfirmButton.story.tsx @@ -23,18 +23,20 @@ const getKnobs = () => { 'primary' ), disabled: boolean('Disabled', false), + closeOnConfirm: boolean('Close on confirm', true), }; }; storiesOf('General/ConfirmButton', module) .addDecorator(withCenteredStory) .add('default', () => { - const { size, buttonText, confirmText, confirmVariant, disabled } = getKnobs(); + const { size, buttonText, confirmText, confirmVariant, disabled, closeOnConfirm } = getKnobs(); return ( <>
{ - const { buttonText, confirmText, confirmVariant, disabled, size } = getKnobs(); + const { buttonText, confirmText, confirmVariant, disabled, size, closeOnConfirm } = getKnobs(); return ( <>
{ this.props.onCancel(); } }; + onConfirm = (event: SyntheticEvent) => { + this.props.onConfirm(); + if (this.props.closeOnConfirm) { + this.setState({ + showConfirm: false, + }); + } + }; render() { const { @@ -114,7 +123,6 @@ class UnThemedConfirmButton extends PureComponent { disabled, confirmText, confirmVariant: confirmButtonVariant, - onConfirm, children, } = this.props; const styles = getStyles(theme); @@ -147,7 +155,7 @@ class UnThemedConfirmButton extends PureComponent { - diff --git a/packages/grafana-ui/src/components/index.ts b/packages/grafana-ui/src/components/index.ts index ba1579a9d75..41373e0b284 100644 --- a/packages/grafana-ui/src/components/index.ts +++ b/packages/grafana-ui/src/components/index.ts @@ -143,6 +143,7 @@ export { HorizontalGroup, VerticalGroup, Container } from './Layout/Layout'; export { RadioButtonGroup } from './Forms/RadioButtonGroup/RadioButtonGroup'; export { Input } from './Input/Input'; +export { FormInputSize } from './Forms/types'; export { Switch } from './Switch/Switch'; export { Checkbox } from './Forms/Checkbox'; diff --git a/public/app/features/admin/OrgRolePicker.tsx b/public/app/features/admin/OrgRolePicker.tsx index e13c624233b..db4b2e87bdb 100644 --- a/public/app/features/admin/OrgRolePicker.tsx +++ b/public/app/features/admin/OrgRolePicker.tsx @@ -1,14 +1,21 @@ import React, { FC } from 'react'; import { OrgRole } from '@grafana/data'; -import { RadioButtonGroup } from '@grafana/ui'; +import { Select, FormInputSize } from '@grafana/ui'; interface Props { value: OrgRole; + size?: FormInputSize; onChange: (role: OrgRole) => void; } const options = Object.keys(OrgRole).map(key => ({ label: key, value: key })); -export const OrgRolePicker: FC = ({ value, onChange }) => ( - +export const OrgRolePicker: FC = ({ value, onChange, size }) => ( +