mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	To keep blame info accurate and to avoid [changes like this](https://github.com/go-gitea/gitea/pull/29977/files#diff-c3422631a14edbe1e508c4b22f0c718db318be08a6e889427802f9b6165d88d6R359), it's good to always have a trailing comma, so let's enforce it in JS. This rule is completely automatically fixable with `make lint-js-fix` and that's what I did here.
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import $ from 'jquery';
 | 
						|
import {htmlEscape} from 'escape-goat';
 | 
						|
import {hideElem, showElem} from '../utils/dom.js';
 | 
						|
 | 
						|
const {appSubUrl} = window.config;
 | 
						|
 | 
						|
export function initRepoTemplateSearch() {
 | 
						|
  const $repoTemplate = $('#repo_template');
 | 
						|
  const checkTemplate = function () {
 | 
						|
    const $templateUnits = $('#template_units');
 | 
						|
    const $nonTemplate = $('#non_template');
 | 
						|
    if ($repoTemplate.val() !== '' && $repoTemplate.val() !== '0') {
 | 
						|
      showElem($templateUnits);
 | 
						|
      hideElem($nonTemplate);
 | 
						|
    } else {
 | 
						|
      hideElem($templateUnits);
 | 
						|
      showElem($nonTemplate);
 | 
						|
    }
 | 
						|
  };
 | 
						|
  $repoTemplate.on('change', checkTemplate);
 | 
						|
  checkTemplate();
 | 
						|
 | 
						|
  const changeOwner = function () {
 | 
						|
    $('#repo_template_search')
 | 
						|
      .dropdown({
 | 
						|
        apiSettings: {
 | 
						|
          url: `${appSubUrl}/repo/search?q={query}&template=true&priority_owner_id=${$('#uid').val()}`,
 | 
						|
          onResponse(response) {
 | 
						|
            const filteredResponse = {success: true, results: []};
 | 
						|
            filteredResponse.results.push({
 | 
						|
              name: '',
 | 
						|
              value: '',
 | 
						|
            });
 | 
						|
            // Parse the response from the api to work with our dropdown
 | 
						|
            $.each(response.data, (_r, repo) => {
 | 
						|
              filteredResponse.results.push({
 | 
						|
                name: htmlEscape(repo.repository.full_name),
 | 
						|
                value: repo.repository.id,
 | 
						|
              });
 | 
						|
            });
 | 
						|
            return filteredResponse;
 | 
						|
          },
 | 
						|
          cache: false,
 | 
						|
        },
 | 
						|
 | 
						|
        fullTextSearch: true,
 | 
						|
      });
 | 
						|
  };
 | 
						|
  $('#uid').on('change', changeOwner);
 | 
						|
  changeOwner();
 | 
						|
}
 |