|
|
|
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();
|
|
|
|
}
|