mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-15 07:18:58 -04:00
Add search bar to team member list
Another thing we did for templates, when they started to get unmanageable, was add a find-as-you type search. We’ve observed real users interacting with this to great effect, so I think it makes sense for users too. Like for templates, it only shows up when there are more than 7, so that it’s not clutter for teams who don’t have a lot of members.
This commit is contained in:
@@ -735,6 +735,11 @@ class SearchTemplatesForm(StripWhitespaceForm):
|
|||||||
search = SearchField('Search by name')
|
search = SearchField('Search by name')
|
||||||
|
|
||||||
|
|
||||||
|
class SearchUsersForm(StripWhitespaceForm):
|
||||||
|
|
||||||
|
search = SearchField('Search by name or email address')
|
||||||
|
|
||||||
|
|
||||||
class SearchNotificationsForm(StripWhitespaceForm):
|
class SearchNotificationsForm(StripWhitespaceForm):
|
||||||
|
|
||||||
to = SearchField('Search by phone number or email address')
|
to = SearchField('Search by phone number or email address')
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ from notifications_python_client.errors import HTTPError
|
|||||||
from app.main import main
|
from app.main import main
|
||||||
from app.main.forms import (
|
from app.main.forms import (
|
||||||
InviteUserForm,
|
InviteUserForm,
|
||||||
PermissionsForm
|
PermissionsForm,
|
||||||
|
SearchUsersForm,
|
||||||
)
|
)
|
||||||
from app import (user_api_client, current_service, service_api_client, invite_api_client)
|
from app import (user_api_client, current_service, service_api_client, invite_api_client)
|
||||||
from app.notify_client.models import roles
|
from app.notify_client.models import roles
|
||||||
@@ -40,6 +41,8 @@ def manage_users(service_id):
|
|||||||
'views/manage-users.html',
|
'views/manage-users.html',
|
||||||
users=users,
|
users=users,
|
||||||
current_user=current_user,
|
current_user=current_user,
|
||||||
|
show_search_box=(len(users) > 7),
|
||||||
|
form=SearchUsersForm(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
{% from "components/table.html" import list_table, row, field, hidden_field_heading %}
|
{% from "components/table.html" import list_table, row, field, hidden_field_heading %}
|
||||||
{% from "components/page-footer.html" import page_footer %}
|
{% from "components/page-footer.html" import page_footer %}
|
||||||
{% from "components/tick-cross.html" import tick_cross %}
|
{% from "components/tick-cross.html" import tick_cross %}
|
||||||
|
{% from "components/textbox.html" import textbox %}
|
||||||
|
|
||||||
{% set table_options = {
|
{% set table_options = {
|
||||||
'field_headings': [
|
'field_headings': [
|
||||||
@@ -30,6 +31,17 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% if show_search_box %}
|
||||||
|
<div data-module="autofocus">
|
||||||
|
<div class="live-search" data-module="live-search" data-targets=".user-list-item">
|
||||||
|
{{ textbox(
|
||||||
|
form.search,
|
||||||
|
width='1-1'
|
||||||
|
) }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="user-list">
|
<div class="user-list">
|
||||||
{% for user in users %}
|
{% for user in users %}
|
||||||
<div class="user-list-item">
|
<div class="user-list-item">
|
||||||
|
|||||||
Reference in New Issue
Block a user