From 2eb2a5464b28d773487e58da77abe4a9c7f823f2 Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Sat, 16 Jan 2021 02:44:10 +0100 Subject: [PATCH 1/9] Implemented "Reference in new issue" --- modules/templates/helper.go | 8 +++++ options/locale/locale_en-US.ini | 2 ++ .../repo/issue/view_content/context_menu.tmpl | 34 +++++++++++++++++++ web_src/js/index.js | 26 ++++++++++++++ 4 files changed, 70 insertions(+) diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 4e767ad44dc07..568a3121230f4 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -6,6 +6,7 @@ package templates import ( + "bufio" "bytes" "container/list" "encoding/json" @@ -377,6 +378,13 @@ func NewFuncMap() []template.FuncMap { html += "" return template.HTML(html) }, + "FirstLine": func(raw string) string { + scanner := bufio.NewScanner(strings.NewReader(raw)) + if scanner.Scan() { + return scanner.Text() + } + return raw + }, }} } diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 4546a06e81803..b4be36e8278ae 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -1065,6 +1065,7 @@ issues.commented_at = `commented %s` issues.delete_comment_confirm = Are you sure you want to delete this comment? issues.context.copy_link = Copy Link issues.context.quote_reply = Quote Reply +issues.context.reference_issue = Reference in new issue issues.context.edit = Edit issues.context.delete = Delete issues.no_content = There is no content yet. @@ -1222,6 +1223,7 @@ issues.review.resolve_conversation = Resolve conversation issues.review.un_resolve_conversation = Unresolve conversation issues.review.resolved_by = marked this conversation as resolved issues.assignee.error = Not all assignees was added due to an unexpected error. +issues.reference_issue.body = Body pulls.desc = Enable pull requests and code reviews. pulls.new = New Pull Request diff --git a/templates/repo/issue/view_content/context_menu.tmpl b/templates/repo/issue/view_content/context_menu.tmpl index 744821cb3c4d6..da9207cc8def2 100644 --- a/templates/repo/issue/view_content/context_menu.tmpl +++ b/templates/repo/issue/view_content/context_menu.tmpl @@ -10,6 +10,7 @@
{{.ctx.i18n.Tr "repo.issues.context.copy_link"}}
{{end}}
{{.ctx.i18n.Tr "repo.issues.context.quote_reply"}}
+
{{.ctx.i18n.Tr "repo.issues.context.reference_issue"}}
{{if or .ctx.Permission.IsAdmin .IsCommentPoster .ctx.HasIssuesOrPullsWritePermission}}
{{.ctx.i18n.Tr "repo.issues.context.edit"}}
@@ -19,4 +20,37 @@ {{end}} + {{end}} diff --git a/web_src/js/index.js b/web_src/js/index.js index f64f9e6ef1118..ef9d9702dd33e 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2337,6 +2337,31 @@ function initTemplateSearch() { changeOwner(); } +function initIssueReferenceRepositorySearch() { + $('.issue_reference_repository_search') + .dropdown({ + apiSettings: { + url: `${AppSubUrl}/api/v1/repos/search?private=true`, + onResponse(response) { + const filteredResponse = {success: true, results: []}; + $.each(response.data, (_r, repo) => { + filteredResponse.results.push({ + name: htmlEscape(repo.full_name), + value: repo.full_name + }); + }); + return filteredResponse; + }, + }, + onChange(_value, _text, $choice) { + let $form = $choice.closest('form'); + $form.attr('action', '/' + _text + '/issues/new'); + $form.find('button').prop('disabled', false); + }, + fullTextSearch: true + }); +} + $(document).ready(async () => { // Show exact time $('.time-since').each(function () { @@ -2553,6 +2578,7 @@ $(document).ready(async () => { initPullRequestReview(); initRepoStatusChecker(); initTemplateSearch(); + initIssueReferenceRepositorySearch(); initContextPopups(); initTableSort(); initNotificationsTable(); From 96e97883b4f05bb1a5d521302af27fd095aec94b Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Sat, 16 Jan 2021 13:53:13 +0100 Subject: [PATCH 2/9] Fixed menu style on "pulls/x/files" because "button" has a style. --- templates/repo/issue/view_content/context_menu.tmpl | 2 +- web_src/js/index.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/repo/issue/view_content/context_menu.tmpl b/templates/repo/issue/view_content/context_menu.tmpl index da9207cc8def2..7fc53a90b6841 100644 --- a/templates/repo/issue/view_content/context_menu.tmpl +++ b/templates/repo/issue/view_content/context_menu.tmpl @@ -10,7 +10,7 @@
{{.ctx.i18n.Tr "repo.issues.context.copy_link"}}
{{end}}
{{.ctx.i18n.Tr "repo.issues.context.quote_reply"}}
-
{{.ctx.i18n.Tr "repo.issues.context.reference_issue"}}
+
{{.ctx.i18n.Tr "repo.issues.context.reference_issue"}}
{{if or .ctx.Permission.IsAdmin .IsCommentPoster .ctx.HasIssuesOrPullsWritePermission}}
{{.ctx.i18n.Tr "repo.issues.context.edit"}}
diff --git a/web_src/js/index.js b/web_src/js/index.js index ef9d9702dd33e..c39c1ca0217ee 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2475,7 +2475,7 @@ $(document).ready(async () => { $('.show-panel.button').on('click', function () { $($(this).data('panel')).show(); }); - $('.show-modal.button').on('click', function () { + $('.show-modal.button,.show-modal-button').on('click', function () { $($(this).data('modal')).modal('show'); }); $('.delete-post.button').on('click', function () { From 304d6ece13fea34586b992835d269c8b9339eebf Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Sun, 17 Jan 2021 19:39:52 +0100 Subject: [PATCH 3/9] Added context menu for PR file comments. --- .../repo/issue/view_content/comments.tmpl | 18 ++++++++++++------ .../repo/issue/view_content/context_menu.tmpl | 2 +- web_src/fomantic/build/semantic.css | 1 - web_src/less/_repository.less | 13 +++++++++++++ 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/templates/repo/issue/view_content/comments.tmpl b/templates/repo/issue/view_content/comments.tmpl index 8f5426b83e86f..c7db9e170767c 100644 --- a/templates/repo/issue/view_content/comments.tmpl +++ b/templates/repo/issue/view_content/comments.tmpl @@ -499,11 +499,16 @@ {{range $comms}} {{ $createdSubStr:= TimeSinceUnix .CreatedUnix $.Lang }}
- {{if not .OriginalAuthor }} - - {{avatar .Poster}} - - {{end}} +
+
+ {{template "repo/issue/view_content/context_menu" Dict "ctx" $ "item" . "delete" true "diff" false "DisableQuote" true "IsCommentPoster" (and $.IsSigned (eq $.SignedUserID .PosterID))}} +
+ {{if not .OriginalAuthor }} + + {{avatar .Poster}} + + {{end}} +
{{if .OriginalAuthor }} @@ -521,7 +526,8 @@ {{$.i18n.Tr "repo.issues.no_content"}} {{end}}
-
{{.Content}}
+
{{.Content}}
+
diff --git a/templates/repo/issue/view_content/context_menu.tmpl b/templates/repo/issue/view_content/context_menu.tmpl index 7fc53a90b6841..be74ebbad4e33 100644 --- a/templates/repo/issue/view_content/context_menu.tmpl +++ b/templates/repo/issue/view_content/context_menu.tmpl @@ -9,7 +9,7 @@ {{else}}
{{.ctx.i18n.Tr "repo.issues.context.copy_link"}}
{{end}} -
{{.ctx.i18n.Tr "repo.issues.context.quote_reply"}}
+ {{if not .DisableQuote}}
{{.ctx.i18n.Tr "repo.issues.context.quote_reply"}}
{{end}}
{{.ctx.i18n.Tr "repo.issues.context.reference_issue"}}
{{if or .ctx.Permission.IsAdmin .IsCommentPoster .ctx.HasIssuesOrPullsWritePermission}}
diff --git a/web_src/fomantic/build/semantic.css b/web_src/fomantic/build/semantic.css index 8d4d0ceab8cd4..6284bce489d10 100644 --- a/web_src/fomantic/build/semantic.css +++ b/web_src/fomantic/build/semantic.css @@ -7212,7 +7212,6 @@ a.inverted.ui.card:hover, .ui.comments { margin: 1.5em 0; - max-width: 650px; } .ui.comments:first-child { diff --git a/web_src/less/_repository.less b/web_src/less/_repository.less index 6c7de75075310..9226fa1ede1cf 100644 --- a/web_src/less/_repository.less +++ b/web_src/less/_repository.less @@ -2518,6 +2518,19 @@ margin-left: .25rem; } +.comment-header-right { + float: right; + color: var(--color-text-light-2); + + a { + color: var(--color-text); + } + + a:hover { + color: var(--color-primary); + } +} + .comment-body { background: var(--color-box-body); border: none !important; From e360800eaf774287192c1531cc7593fb06035056 Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Sun, 17 Jan 2021 19:57:24 +0100 Subject: [PATCH 4/9] Fixed linter errors. --- web_src/js/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web_src/js/index.js b/web_src/js/index.js index c39c1ca0217ee..0baf83afc61a8 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2354,8 +2354,8 @@ function initIssueReferenceRepositorySearch() { }, }, onChange(_value, _text, $choice) { - let $form = $choice.closest('form'); - $form.attr('action', '/' + _text + '/issues/new'); + const $form = $choice.closest('form'); + $form.attr('action', `/${_text}/issues/new`); $form.find('button').prop('disabled', false); }, fullTextSearch: true From 41e8279180d77054071a4ad808133c9bbf7df4fd Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Sun, 17 Jan 2021 20:35:41 +0100 Subject: [PATCH 5/9] Reverted changes because of #14339. --- templates/repo/issue/view_content/context_menu.tmpl | 2 +- web_src/fomantic/build/semantic.css | 1 + web_src/less/_repository.less | 13 ------------- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/templates/repo/issue/view_content/context_menu.tmpl b/templates/repo/issue/view_content/context_menu.tmpl index e3b78ce306116..57ea529e6a3af 100644 --- a/templates/repo/issue/view_content/context_menu.tmpl +++ b/templates/repo/issue/view_content/context_menu.tmpl @@ -9,7 +9,7 @@ {{else}}
{{.ctx.i18n.Tr "repo.issues.context.copy_link"}}
{{end}} - {{if not .DisableQuote}}
{{.ctx.i18n.Tr "repo.issues.context.quote_reply"}}
{{end}} +
{{.ctx.i18n.Tr "repo.issues.context.quote_reply"}}
{{.ctx.i18n.Tr "repo.issues.context.reference_issue"}}
{{if or .ctx.Permission.IsAdmin .IsCommentPoster .ctx.HasIssuesOrPullsWritePermission}}
diff --git a/web_src/fomantic/build/semantic.css b/web_src/fomantic/build/semantic.css index 6284bce489d10..8d4d0ceab8cd4 100644 --- a/web_src/fomantic/build/semantic.css +++ b/web_src/fomantic/build/semantic.css @@ -7212,6 +7212,7 @@ a.inverted.ui.card:hover, .ui.comments { margin: 1.5em 0; + max-width: 650px; } .ui.comments:first-child { diff --git a/web_src/less/_repository.less b/web_src/less/_repository.less index ab69fe15c169e..fa6ea4467b63f 100644 --- a/web_src/less/_repository.less +++ b/web_src/less/_repository.less @@ -2549,19 +2549,6 @@ margin-left: .25rem; } -.comment-header-right { - float: right; - color: var(--color-text-light-2); - - a { - color: var(--color-text); - } - - a:hover { - color: var(--color-primary); - } -} - .comment-body { background: var(--color-box-body); border: none !important; From 9f7b0ba55b84685c2156ad6810e0b7c8f73f424f Mon Sep 17 00:00:00 2001 From: KN4CK3R Date: Mon, 18 Jan 2021 17:02:02 +0100 Subject: [PATCH 6/9] Use only a single modal for every comment. --- modules/templates/helper.go | 10 ++--- templates/repo/diff/box.tmpl | 2 + templates/repo/issue/view_content.tmpl | 4 +- .../repo/issue/view_content/context_menu.tmpl | 42 ++----------------- .../view_content/reference_issue_dialog.tmpl | 31 ++++++++++++++ web_src/js/index.js | 23 +++++++++- 6 files changed, 65 insertions(+), 47 deletions(-) create mode 100644 templates/repo/issue/view_content/reference_issue_dialog.tmpl diff --git a/modules/templates/helper.go b/modules/templates/helper.go index 568a3121230f4..5c90384c1f4a8 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -6,7 +6,6 @@ package templates import ( - "bufio" "bytes" "container/list" "encoding/json" @@ -378,12 +377,11 @@ func NewFuncMap() []template.FuncMap { html += "" return template.HTML(html) }, - "FirstLine": func(raw string) string { - scanner := bufio.NewScanner(strings.NewReader(raw)) - if scanner.Scan() { - return scanner.Text() + "cond": func(condition bool, a, b interface{}) interface{} { + if condition { + return a } - return raw + return b }, }} } diff --git a/templates/repo/diff/box.tmpl b/templates/repo/diff/box.tmpl index 8533f9b910c37..f01795ad15b60 100644 --- a/templates/repo/diff/box.tmpl +++ b/templates/repo/diff/box.tmpl @@ -164,6 +164,8 @@ {{end}} + {{template "repo/issue/view_content/reference_issue_dialog" .}} + {{if .IsSplitStyle}}