Skip to content

Commit 7eb8460

Browse files
authored
Fix attachments list in edit comment (#13036)
#11141 broke the appearance of dropzone attachments when editting comments causing poorly updating lists. This PR fixes this. Fix #12583 Signed-off-by: Andrew Thornton [email protected]
1 parent 6f27849 commit 7eb8460

File tree

6 files changed

+40
-20
lines changed

6 files changed

+40
-20
lines changed

modules/upload/upload.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,25 @@ func AddUploadContext(ctx *context.Context, uploadType string) {
7575
if uploadType == "release" {
7676
ctx.Data["UploadUrl"] = ctx.Repo.RepoLink + "/releases/attachments"
7777
ctx.Data["UploadRemoveUrl"] = ctx.Repo.RepoLink + "/releases/attachments/remove"
78+
ctx.Data["UploadLinkUrl"] = ctx.Repo.RepoLink + "/releases/attachments"
7879
ctx.Data["UploadAccepts"] = strings.Replace(setting.Repository.Release.AllowedTypes, "|", ",", -1)
7980
ctx.Data["UploadMaxFiles"] = setting.Attachment.MaxFiles
8081
ctx.Data["UploadMaxSize"] = setting.Attachment.MaxSize
8182
} else if uploadType == "comment" {
8283
ctx.Data["UploadUrl"] = ctx.Repo.RepoLink + "/issues/attachments"
8384
ctx.Data["UploadRemoveUrl"] = ctx.Repo.RepoLink + "/issues/attachments/remove"
85+
if len(ctx.Params(":index")) > 0 {
86+
ctx.Data["UploadLinkUrl"] = ctx.Repo.RepoLink + "/issues/" + ctx.Params(":index") + "/attachments"
87+
} else {
88+
ctx.Data["UploadLinkUrl"] = ctx.Repo.RepoLink + "/issues/attachments"
89+
}
8490
ctx.Data["UploadAccepts"] = strings.Replace(setting.Attachment.AllowedTypes, "|", ",", -1)
8591
ctx.Data["UploadMaxFiles"] = setting.Attachment.MaxFiles
8692
ctx.Data["UploadMaxSize"] = setting.Attachment.MaxSize
8793
} else if uploadType == "repo" {
8894
ctx.Data["UploadUrl"] = ctx.Repo.RepoLink + "/upload-file"
8995
ctx.Data["UploadRemoveUrl"] = ctx.Repo.RepoLink + "/upload-remove"
96+
ctx.Data["UploadLinkUrl"] = ctx.Repo.RepoLink + "/upload-file"
9097
ctx.Data["UploadAccepts"] = strings.Replace(setting.Repository.Upload.AllowedTypes, "|", ",", -1)
9198
ctx.Data["UploadMaxFiles"] = setting.Repository.Upload.MaxFiles
9299
ctx.Data["UploadMaxSize"] = setting.Repository.Upload.FileMaxSize

templates/repo/issue/view_content.tmpl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,11 @@
6565
<div id="comment-{{.Issue.ID}}" class="raw-content hide">{{.Issue.Content}}</div>
6666
<div class="edit-content-zone hide" data-write="issue-{{.Issue.ID}}-write" data-preview="issue-{{.Issue.ID}}-preview" data-update-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/content" data-context="{{.RepoLink}}" data-attachment-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/attachments" data-view-attachment-url="{{$.RepoLink}}/issues/{{.Issue.Index}}/view-attachments"></div>
6767
{{if .Issue.Attachments}}
68-
<div class="ui clearing divider"></div>
69-
<div class="ui middle aligned padded grid">
70-
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Issue.Attachments}}
68+
<div class="dropzone-attachments">
69+
<div class="ui clearing divider"></div>
70+
<div class="ui middle aligned padded grid">
71+
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Issue.Attachments}}
72+
</div>
7173
</div>
7274
{{end}}
7375
</div>

templates/repo/issue/view_content/attachments.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="twelve wide column" style="padding: 6px;">
33
<a target="_blank" rel="noopener noreferrer" href="{{.DownloadURL}}" title='{{$.ctx.i18n.Tr "repo.issues.attachment.open_tab" .Name}}'>
44
{{if FilenameIsImage .Name}}
5-
<span class="ui image">{{svg "octicon-file-media"}}</span>
5+
<span class="ui image">{{svg "octicon-file"}}</span>
66
{{else}}
77
<span class="ui image">{{svg "octicon-desktop-download"}}</span>
88
{{end}}

templates/repo/issue/view_content/comments.tmpl

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,11 @@
5757
<div id="comment-{{.ID}}" class="raw-content hide">{{.Content}}</div>
5858
<div class="edit-content-zone hide" data-write="issuecomment-{{.ID}}-write" data-preview="issuecomment-{{.ID}}-preview" data-update-url="{{$.RepoLink}}/comments/{{.ID}}" data-context="{{$.RepoLink}}" data-attachment-url="{{$.RepoLink}}/comments/{{.ID}}/attachments"></div>
5959
{{if .Attachments}}
60-
<div class="ui clearing divider"></div>
61-
<div class="ui middle aligned padded grid">
62-
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Attachments}}
60+
<div class="dropzone-attachments">
61+
<div class="ui clearing divider"></div>
62+
<div class="ui middle aligned padded grid">
63+
{{template "repo/issue/view_content/attachments" Dict "ctx" $ "Attachments" .Attachments}}
64+
</div>
6365
</div>
6466
{{end}}
6567
</div>

templates/repo/upload.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<div
22
class="ui dropzone"
33
id="dropzone"
4+
data-link-url="{{.UploadLinkUrl}}"
45
data-upload-url="{{.UploadUrl}}"
56
data-remove-url="{{.UploadRemoveUrl}}"
67
data-accepts="{{.UploadAccepts}}"

web_src/js/index.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -940,7 +940,7 @@ async function initRepository() {
940940
dz.removeAllFiles(true);
941941
$files.empty();
942942
$.each(data, function () {
943-
const imgSrc = `${$dropzone.data('upload-url')}/${this.uuid}`;
943+
const imgSrc = `${$dropzone.data('link-url')}/${this.uuid}`;
944944
dz.emit('addedfile', this);
945945
dz.emit('thumbnail', this, imgSrc);
946946
dz.emit('complete', this);
@@ -976,7 +976,9 @@ async function initRepository() {
976976
$editContentZone.find('.cancel.button').on('click', () => {
977977
$renderContent.show();
978978
$editContentZone.hide();
979-
dz.emit('reload');
979+
if (dz) {
980+
dz.emit('reload');
981+
}
980982
});
981983
$editContentZone.find('.save.button').on('click', () => {
982984
$renderContent.show();
@@ -990,26 +992,32 @@ async function initRepository() {
990992
context: $editContentZone.data('context'),
991993
files: $attachments
992994
}, (data) => {
993-
if (data.length === 0) {
995+
if (data.length === 0 || data.content.length === 0) {
994996
$renderContent.html($('#no-content').html());
995997
} else {
996998
$renderContent.html(data.content);
997999
}
998-
const $content = $segment.parent();
999-
if (!$content.find('.ui.small.images').length) {
1000+
const $content = $segment;
1001+
if (!$content.find('.dropzone-attachments').length) {
10001002
if (data.attachments !== '') {
1001-
$content.append(
1002-
'<div class="ui bottom attached segment"><div class="ui small images"></div></div>'
1003-
);
1004-
$content.find('.ui.small.images').html(data.attachments);
1003+
$content.append(`
1004+
<div class="dropzone-attachments">
1005+
<div class="ui clearing divider"></div>
1006+
<div class="ui middle aligned padded grid">
1007+
</div>
1008+
</div>
1009+
`);
1010+
$content.find('.dropzone-attachments .grid').html(data.attachments);
10051011
}
10061012
} else if (data.attachments === '') {
1007-
$content.find('.ui.small.images').parent().remove();
1013+
$content.find('.dropzone-attachments').remove();
10081014
} else {
1009-
$content.find('.ui.small.images').html(data.attachments);
1015+
$content.find('.dropzone-attachments .grid').html(data.attachments);
1016+
}
1017+
if (dz) {
1018+
dz.emit('submit');
1019+
dz.emit('reload');
10101020
}
1011-
dz.emit('submit');
1012-
dz.emit('reload');
10131021
renderMarkdownContent();
10141022
});
10151023
});

0 commit comments

Comments
 (0)