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  }