aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js/features/repo-search.ts
blob: 9cc2dd42239f4a35a805c9540085dbc5eca86f85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
export function initRepositorySearch() {
  const repositorySearchForm = document.querySelector<HTMLFormElement>('#repo-search-form');
  if (!repositorySearchForm) return;

  repositorySearchForm.addEventListener('change', (e: Event & {target: HTMLFormElement}) => {
    e.preventDefault();

    const formData = new FormData(repositorySearchForm);
    const params = new URLSearchParams(formData);

    if (e.target.name === 'clear-filter') {
      params.delete('archived');
      params.delete('fork');
      params.delete('mirror');
      params.delete('template');
      params.delete('private');
    }

    params.delete('clear-filter');
    window.location.search = params.toString();
  });
}