From 3d1e718119827b7e4be0aade623973109b826593 Mon Sep 17 00:00:00 2001 From: hashi93 Date: Wed, 14 Mar 2018 20:48:36 +0530 Subject: [PATCH] Bug 1441950 add ability to filter through the list of roles (#481) * added search panel * code refactoring * use SearchForm component --- src/views/RoleManager/RoleManager.jsx | 17 ++++++- src/views/RoleManager/SearchForm.jsx | 60 +++++++++++++++++++++++++ src/views/RoleManager/styles.module.css | 5 +++ 3 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 src/views/RoleManager/SearchForm.jsx create mode 100644 src/views/RoleManager/styles.module.css diff --git a/src/views/RoleManager/RoleManager.jsx b/src/views/RoleManager/RoleManager.jsx index 042bd0fa..ded7d5af 100644 --- a/src/views/RoleManager/RoleManager.jsx +++ b/src/views/RoleManager/RoleManager.jsx @@ -12,6 +12,7 @@ import equal from 'deep-equal'; import Spinner from '../../components/Spinner'; import RoleEditor from '../../components/RoleEditor'; import HelmetTitle from '../../components/HelmetTitle'; +import SearchForm from './SearchForm'; export default class RoleManager extends PureComponent { constructor(props) { @@ -19,7 +20,8 @@ export default class RoleManager extends PureComponent { this.state = { roles: null, - error: null + error: null, + roleIdContains: '' }; } @@ -73,6 +75,8 @@ export default class RoleManager extends PureComponent { ); }; + handleSetRoleId = value => this.setState({ roleIdContains: value }); + renderRolesTable() { const { roles } = this.state; @@ -89,6 +93,7 @@ export default class RoleManager extends PureComponent { {this.state.roles + .filter(role => role.roleId.includes(this.state.roleIdContains)) .sort((a, b) => a.roleId.localeCompare(b.roleId)) .map(this.renderRoleRow)} @@ -96,11 +101,21 @@ export default class RoleManager extends PureComponent { ); } + renderTypeInput() { + return ( + + ); + } + render() { return ( + {this.renderTypeInput()} {this.renderRolesTable()}