123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- 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.full_name),
- value: repo.id
- });
- });
- return filteredResponse;
- },
- cache: false,
- },
-
- fullTextSearch: true
- });
- };
- $('#uid').on('change', changeOwner);
- changeOwner();
- }
|