aboutsummaryrefslogtreecommitdiffstats
path: root/public
diff options
context:
space:
mode:
authorJohn Olheiser <42128690+jolheiser@users.noreply.github.com>2019-11-11 09:15:29 -0600
committerLunny Xiao <xiaolunwen@gmail.com>2019-11-11 23:15:29 +0800
commit74a6add4d90beb8133bcbf8ca6b43de35e0aa983 (patch)
tree868e452d41d71094c5b2cccce67f4211fd14e77b /public
parent74bb292fe3f4c02fc1dc5f32622c74d820cadd78 (diff)
downloadgitea-74a6add4d90beb8133bcbf8ca6b43de35e0aa983.tar.gz
gitea-74a6add4d90beb8133bcbf8ca6b43de35e0aa983.zip
Template Repositories (#8768)
* Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
Diffstat (limited to 'public')
-rw-r--r--public/js/index.js51
1 files changed, 49 insertions, 2 deletions
diff --git a/public/js/index.js b/public/js/index.js
index 93ac6a2178..af31418371 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -2135,6 +2135,52 @@ function initWipTitle() {
});
}
+function initTemplateSearch() {
+ const $repoTemplate = $("#repo_template");
+ const checkTemplate = function() {
+ const $templateUnits = $("#template_units");
+ const $nonTemplate = $("#non_template");
+ if ($repoTemplate.val() !== "") {
+ $templateUnits.show();
+ $nonTemplate.hide();
+ } else {
+ $templateUnits.hide();
+ $nonTemplate.show();
+ }
+ };
+ $repoTemplate.change(checkTemplate);
+ checkTemplate();
+
+ const changeOwner = function() {
+ $("#repo_template_search")
+ .dropdown({
+ apiSettings: {
+ url: suburl + '/api/v1/repos/search?q={query}&template=true&priority_owner_id=' + $("#uid").val(),
+ onResponse: function(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, function(_r, repo) {
+ filteredResponse.results.push({
+ 'name' : htmlEncode(repo.full_name) ,
+ 'value' : repo.id
+ });
+ });
+ return filteredResponse;
+ },
+ cache: false,
+ },
+
+ fullTextSearch: true
+ });
+ };
+ $("#uid").change(changeOwner);
+ changeOwner();
+}
+
$(document).ready(function () {
csrf = $('meta[name=_csrf]').attr("content");
suburl = $('meta[name=_suburl]').attr("content");
@@ -2377,6 +2423,7 @@ $(document).ready(function () {
initWipTitle();
initPullRequestReview();
initRepoStatusChecker();
+ initTemplateSearch();
// Repo clone url.
if ($('#repo-clone-url').length > 0) {
@@ -3294,7 +3341,7 @@ function initIssueList() {
$('#new-dependency-drop-list')
.dropdown({
apiSettings: {
- url: issueSearchUrl,
+ url: issueSearchUrl,
onResponse: function(response) {
const filteredResponse = {'success': true, 'results': []};
const currIssueId = $('#new-dependency-drop-list').data('issue-id');
@@ -3305,7 +3352,7 @@ function initIssueList() {
return;
}
filteredResponse.results.push({
- 'name' : '#' + issue.number + ' ' + htmlEncode(issue.title) +
+ 'name' : '#' + issue.number + ' ' + htmlEncode(issue.title) +
'<div class="text small dont-break-out">' + htmlEncode(issue.repository.full_name) + '</div>',
'value' : issue.id
});