mirror of
https://github.com/discourse/discourse.git
synced 2026-03-04 01:15:08 +08:00
When searching for groups in the admin panel, each keystroke was triggering a full page reload due to `refreshModel: true` on the filter query parameter. This made the search experience jarring and unusable for fast typers. Changes: - Remove `refreshModel: true` from filter query param - Add client-side filtering that manually fetches filtered groups - Maintain server-side filtering and pagination support - Keep URL sync for bookmarking/sharing Demo: https://github.com/user-attachments/assets/431c6632-d459-417d-9e33-a01e7624e260
38 lines
965 B
Ruby
38 lines
965 B
Ruby
# frozen_string_literal: true
|
|
|
|
describe "Admin Users Page", type: :system do
|
|
fab!(:current_user, :admin)
|
|
fab!(:group_1) { Fabricate(:group, name: "group_a") }
|
|
fab!(:group_2) { Fabricate(:group, name: "group_b") }
|
|
fab!(:group_3) { Fabricate(:group, name: "group_c") }
|
|
|
|
let(:admin_groups_page) { PageObjects::Pages::AdminGroups.new }
|
|
|
|
before { sign_in(current_user) }
|
|
|
|
it "shows list of active users and allows to filter" do
|
|
admin_groups_page.visit
|
|
|
|
expect(admin_groups_page).to have_groups(
|
|
%w[
|
|
admins
|
|
group_a
|
|
group_b
|
|
group_c
|
|
moderators
|
|
staff
|
|
trust_level_0
|
|
trust_level_1
|
|
trust_level_2
|
|
trust_level_3
|
|
trust_level_4
|
|
],
|
|
)
|
|
|
|
admin_groups_page.search("group")
|
|
expect(admin_groups_page).to have_groups(%w[group_a group_b group_c])
|
|
|
|
admin_groups_page.search("group_c")
|
|
expect(admin_groups_page).to have_groups(%w[group_c])
|
|
end
|
|
end
|