Show display all users in MultiSelect

pull/985/head
Andrew Watkins 2017-03-09 09:15:53 -08:00
parent 8c4a7b34a7
commit 476ea2a983
4 changed files with 10 additions and 9 deletions

View File

@ -39,7 +39,7 @@ const AdminTabs = ({
},
{
type: 'Roles',
component: (<RolesTable roles={roles} onDelete={onDeleteRole} onFilter={onFilterRoles} />),
component: (<RolesTable roles={roles} allUsers={users} onDelete={onDeleteRole} onFilter={onFilterRoles} />),
},
{
type: 'Queries',

View File

@ -26,7 +26,7 @@ const PERMISSIONS = [
"KapacitorConfigAPI",
]
const RoleRow = ({role: {name, permissions, users}, role, onDelete}) => (
const RoleRow = ({role: {name, permissions, users}, role, allUsers, onDelete}) => (
<tr>
<td>{name}</td>
<td>
@ -43,11 +43,10 @@ const RoleRow = ({role: {name, permissions, users}, role, onDelete}) => (
</td>
<td>
{
users && users.length ?
allUsers && allUsers.length ?
<MultiSelectDropdown
items={users.map((r) => r.name)}
selectedItems={[]}
label={'Select Users'}
items={allUsers.map((u) => u.name)}
selectedItems={users.map((u) => u.name)}
onApply={() => '//TODO'}
/> :
'\u2014'
@ -77,6 +76,7 @@ RoleRow.propTypes = {
})),
}).isRequired,
onDelete: func.isRequired,
allUsers: arrayOf(shape()),
}
export default RoleRow

View File

@ -3,7 +3,7 @@ import RoleRow from 'src/admin/components/RoleRow'
import EmptyRow from 'src/admin/components/EmptyRow'
import FilterBar from 'src/admin/components/FilterBar'
const RolesTable = ({roles, onDelete, onFilter}) => (
const RolesTable = ({roles, allUsers, onDelete, onFilter}) => (
<div className="panel panel-info">
<FilterBar type="roles" onFilter={onFilter} />
<div className="panel-body">
@ -20,7 +20,7 @@ const RolesTable = ({roles, onDelete, onFilter}) => (
{
roles.length ?
roles.filter(r => !r.hidden).map((role) =>
<RoleRow key={role.name} role={role} onDelete={onDelete} />
<RoleRow key={role.name} allUsers={allUsers} role={role} onDelete={onDelete} />
) : <EmptyRow tableName={'Roles'} />
}
</tbody>
@ -49,6 +49,7 @@ RolesTable.propTypes = {
})),
onDelete: func.isRequired,
onFilter: func,
allUsers: arrayOf(shape()),
}
export default RolesTable

View File

@ -13,7 +13,7 @@ const labelText = ({localSelectedItems, isOpen, label}) => {
if (isOpen) {
return '0 Selected'
}
return 'Apply Function'
return 'None'
}
class MultiSelectDropdown extends Component {