From aa95f394ee7504227351b12f20a405302146aaf8 Mon Sep 17 00:00:00 2001 From: Pavel Zavora Date: Tue, 24 May 2022 08:23:32 +0200 Subject: [PATCH] chore(ui): simplify UserRole component --- ui/src/admin/components/UserRow.tsx | 137 +++++++++++++--------------- 1 file changed, 63 insertions(+), 74 deletions(-) diff --git a/ui/src/admin/components/UserRow.tsx b/ui/src/admin/components/UserRow.tsx index 19de5a7b9..463399bf8 100644 --- a/ui/src/admin/components/UserRow.tsx +++ b/ui/src/admin/components/UserRow.tsx @@ -1,4 +1,4 @@ -import React, {PureComponent} from 'react' +import React from 'react' import UserPermissionsDropdown from 'src/admin/components/UserPermissionsDropdown' import UserRoleDropdown from 'src/admin/components/UserRoleDropdown' @@ -6,7 +6,6 @@ import {USERS_TABLE} from 'src/admin/constants/tableSizing' import UserRowEdit from 'src/admin/components/UserRowEdit' import {User, UserPermission} from 'src/types/influxAdmin' -import {ErrorHandling} from 'src/shared/decorators/errors' import {Link} from 'react-router' const ADMIN_STYLES = [ @@ -51,7 +50,7 @@ const OssUserDBPermissions = ({user}: {user: User}) => ( ) -interface UserRowProps { +interface Props { user: User allRoles: any[] allPermissions: string[] @@ -66,81 +65,71 @@ interface UserRowProps { onUpdateRoles: (user: User, roles: any[]) => void } -@ErrorHandling -class UserRow extends PureComponent { - public render() { - const { - user, - allRoles, - allPermissions, - hasRoles, - isNew, - isEditing, - page, - onEdit, - onSave, - onCancel, - onUpdatePermissions, - onUpdateRoles, - } = this.props - - if (isEditing) { - return ( - - ) - } - - const adminStyle = - ADMIN_STYLES[ - +!!user.permissions.find( - x => x.scope === 'all' && (x.allowed || []).includes('ALL') - ) - ] - +const UserRow = ({ + user, + allRoles, + allPermissions, + hasRoles, + isNew, + isEditing, + page, + onEdit, + onSave, + onCancel, + onUpdatePermissions, + onUpdateRoles, +}: Props) => { + if (isEditing) { return ( - - - {user.name} - - {hasRoles ? ( - - - - ) : ( - - {adminStyle.text} - - )} - - {this.hasPermissions ? ( - - ) : ( - - )} - - + ) } - private get hasPermissions() { - const {allPermissions, hasRoles} = this.props - return hasRoles && allPermissions && !!allPermissions.length - } + const adminStyle = + ADMIN_STYLES[ + +!!user.permissions.find( + x => x.scope === 'all' && (x.allowed || []).includes('ALL') + ) + ] + + return ( + + + {user.name} + + {hasRoles ? ( + + + + ) : ( + + {adminStyle.text} + + )} + + {hasRoles ? ( + + ) : ( + + )} + + + ) } export default UserRow