code.gitea.io/gitea@v1.22.3/web_src/js/features/admin/users.js (about) 1 export 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 }