1export function initAdminUserListSearchForm() {
2 const searchForm = window.config.pageData.adminUserListSearchForm;
3 if (!searchForm) return;
4
5 const form = document.querySelector('#user-list-search-form');
6 if (!form) return;
7
8 for (const button of form.querySelectorAll(`button[name=sort][value="${searchForm.SortType}"]`)) {
9 button.classList.add('active');
10 }
11
12 if (searchForm.StatusFilterMap) {
13 for (const [k, v] of Object.entries(searchForm.StatusFilterMap)) {
14 if (!v) continue;
15 for (const input of form.querySelectorAll(`input[name="status_filter[${k}]"][value="${v}"]`)) {
16 input.checked = true;
17 }
18 }
19 }
20
21 for (const radio of form.querySelectorAll('input[type=radio]')) {
22 radio.addEventListener('click', () => {
23 form.submit();
24 });
25 }
26
27 const resetButtons = form.querySelectorAll('.j-reset-status-filter');
28 for (const button of resetButtons) {
29 button.addEventListener('click', (e) => {
30 e.preventDefault();
31 for (const input of form.querySelectorAll('input[type=radio]')) {
32 if (input.name.startsWith('status_filter[')) {
33 input.checked = false;
34 }
35 }
36 form.submit();
37 });
38 }
39}