summaryrefslogtreecommitdiffstats
path: root/web_src/js/features/repo-template.js
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2021-10-17 01:28:04 +0800
committerGitHub <noreply@github.com>2021-10-17 01:28:04 +0800
commit1a7473ff459479a7fd3ba62a0b7b04b237565bed (patch)
tree518aab9c14f36ed012831b389c0370adef2ab738 /web_src/js/features/repo-template.js
parent3728f1daa08e4c228db212844612555e9e2904df (diff)
downloadgitea-1a7473ff459479a7fd3ba62a0b7b04b237565bed.tar.gz
gitea-1a7473ff459479a7fd3ba62a0b7b04b237565bed.zip
Split `index.js` to separate files (#17315)
* split `index.js` to separate files * tune clipboard * fix promise * fix document * remove intermediate empty file * fix async event listener * use `export function` instead of `export {}`, add more comments Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: 6543 <6543@obermui.de>
Diffstat (limited to 'web_src/js/features/repo-template.js')
-rw-r--r--web_src/js/features/repo-template.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/web_src/js/features/repo-template.js b/web_src/js/features/repo-template.js
new file mode 100644
index 0000000000..9385e2acb8
--- /dev/null
+++ b/web_src/js/features/repo-template.js
@@ -0,0 +1,49 @@
+import {htmlEscape} from 'escape-goat';
+
+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') {
+ $templateUnits.show();
+ $nonTemplate.hide();
+ } else {
+ $templateUnits.hide();
+ $nonTemplate.show();
+ }
+ };
+ $repoTemplate.on('change', checkTemplate);
+ checkTemplate();
+
+ const changeOwner = function () {
+ $('#repo_template_search')
+ .dropdown({
+ apiSettings: {
+ url: `${AppSubUrl}/api/v1/repos/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();
+}