Set filteredUsers to users on props update to show all on load

Signed-off-by: Alex Paxton <thealexpaxton@gmail.com>
pull/10616/head
Jared Scheib 2017-11-01 17:03:48 -07:00 committed by Alex Paxton
parent b432a12edd
commit 6187e8dc3a
1 changed files with 13 additions and 7 deletions

View File

@ -27,6 +27,14 @@ class AdminChronografPage extends Component {
} }
} }
// TODO: revisit this, possibly for deep equal comparison on just users
componentWillReceiveProps(nextProps) {
this.handleFilterUsers({
name: this.state.organizationName,
users: nextProps.users,
})
}
componentDidMount() { componentDidMount() {
const {loadUsers} = this.props const {loadUsers} = this.props
@ -43,14 +51,13 @@ class AdminChronografPage extends Component {
) )
} }
handleFilterUsers = filterQuery => { handleFilterUsers = ({name, users}) => {
const {users} = this.props const nextUsers = users || this.props.users
const {name} = filterQuery
const filteredUsers = const filteredUsers =
name === DEFAULT_ORG name === DEFAULT_ORG
? users ? nextUsers
: users.filter( : nextUsers.filter(
user => user =>
name === NO_ORG name === NO_ORG
? user.roles.length === 1 // Filter out if user is only part of Default Org ? user.roles.length === 1 // Filter out if user is only part of Default Org
@ -59,8 +66,7 @@ class AdminChronografPage extends Component {
this.setState({ this.setState({
filteredUsers, filteredUsers,
organizationName: name, organizationName: name,
selectedUsers: selectedUsers: name === DEFAULT_ORG ? this.state.selectedUsers : [],
filterQuery.name === DEFAULT_ORG ? this.state.selectedUsers : [],
}) })
} }