mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-28 04:51:07 +00:00 
			
		
		
		
	- Switched to plain JavaScript - Tested the form and it works as before --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> (cherry picked from commit a8748eedae3518550bd43fd592d206df2bea6bef) Conflicts: web_src/js/features/admin/users.js prefer Gitea version and discard jQuery specific fixes from Forbid jQuery `.prop` and fix related issues (#29832)
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| export function initAdminUserListSearchForm() {
 | |
|   const searchForm = window.config.pageData.adminUserListSearchForm;
 | |
|   if (!searchForm) return;
 | |
| 
 | |
|   const form = document.querySelector('#user-list-search-form');
 | |
|   if (!form) return;
 | |
| 
 | |
|   for (const button of form.querySelectorAll(`button[name=sort][value="${searchForm.SortType}"]`)) {
 | |
|     button.classList.add('active');
 | |
|   }
 | |
| 
 | |
|   if (searchForm.StatusFilterMap) {
 | |
|     for (const [k, v] of Object.entries(searchForm.StatusFilterMap)) {
 | |
|       if (!v) continue;
 | |
|       for (const input of form.querySelectorAll(`input[name="status_filter[${k}]"][value="${v}"]`)) {
 | |
|         input.checked = true;
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   for (const radio of form.querySelectorAll('input[type=radio]')) {
 | |
|     radio.addEventListener('click', () => {
 | |
|       form.submit();
 | |
|     });
 | |
|   }
 | |
| 
 | |
|   const resetButtons = form.querySelectorAll('.j-reset-status-filter');
 | |
|   for (const button of resetButtons) {
 | |
|     button.addEventListener('click', (e) => {
 | |
|       e.preventDefault();
 | |
|       for (const input of form.querySelectorAll('input[type=radio]')) {
 | |
|         if (input.name.startsWith('status_filter[')) {
 | |
|           input.checked = false;
 | |
|         }
 | |
|       }
 | |
|       form.submit();
 | |
|     });
 | |
|   }
 | |
| }
 |