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 art27@cantab.net
This commit is contained in:
zeripath 2020-10-11 00:49:59 +01:00 committed by GitHub
parent 6f2784911f
commit 7eb8460132
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 40 additions and 20 deletions

View file

@ -940,7 +940,7 @@ async function initRepository() {
dz.removeAllFiles(true);
$files.empty();
$.each(data, function () {
const imgSrc = `${$dropzone.data('upload-url')}/${this.uuid}`;
const imgSrc = `${$dropzone.data('link-url')}/${this.uuid}`;
dz.emit('addedfile', this);
dz.emit('thumbnail', this, imgSrc);
dz.emit('complete', this);
@ -976,7 +976,9 @@ async function initRepository() {
$editContentZone.find('.cancel.button').on('click', () => {
$renderContent.show();
$editContentZone.hide();
dz.emit('reload');
if (dz) {
dz.emit('reload');
}
});
$editContentZone.find('.save.button').on('click', () => {
$renderContent.show();
@ -990,26 +992,32 @@ async function initRepository() {
context: $editContentZone.data('context'),
files: $attachments
}, (data) => {
if (data.length === 0) {
if (data.length === 0 || data.content.length === 0) {
$renderContent.html($('#no-content').html());
} else {
$renderContent.html(data.content);
}
const $content = $segment.parent();
if (!$content.find('.ui.small.images').length) {
const $content = $segment;
if (!$content.find('.dropzone-attachments').length) {
if (data.attachments !== '') {
$content.append(
'<div class="ui bottom attached segment"><div class="ui small images"></div></div>'
);
$content.find('.ui.small.images').html(data.attachments);
$content.append(`
<div class="dropzone-attachments">
<div class="ui clearing divider"></div>
<div class="ui middle aligned padded grid">
</div>
</div>
`);
$content.find('.dropzone-attachments .grid').html(data.attachments);
}
} else if (data.attachments === '') {
$content.find('.ui.small.images').parent().remove();
$content.find('.dropzone-attachments').remove();
} else {
$content.find('.ui.small.images').html(data.attachments);
$content.find('.dropzone-attachments .grid').html(data.attachments);
}
if (dz) {
dz.emit('submit');
dz.emit('reload');
}
dz.emit('submit');
dz.emit('reload');
renderMarkdownContent();
});
});