diff --git a/web_src/js/features/repo-legacy.js b/web_src/js/features/repo-legacy.js
index 60950fd171..24fcc7c223 100644
--- a/web_src/js/features/repo-legacy.js
+++ b/web_src/js/features/repo-legacy.js
@@ -24,7 +24,7 @@ import {initRepoPullRequestCommitStatus} from './repo-issue-pr-status.js';
import {hideElem, showElem} from '../utils/dom.js';
import {getComboMarkdownEditor, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js';
import {attachRefIssueContextPopup} from './contextpopup.js';
-import {POST} from '../modules/fetch.js';
+import {POST, GET} from '../modules/fetch.js';
const {csrfToken} = window.config;
@@ -83,7 +83,7 @@ export function initRepoCommentForm() {
await POST(form.attr('action'), {data: params});
window.location.reload();
} catch (error) {
- console.error('Error:', error);
+ console.error(error);
}
} else if (editMode === '') {
$selectBranch.find('.ui .branch-name').text(selectedValue);
@@ -355,14 +355,15 @@ async function onEditContent(event) {
const input = $(``).val(data.uuid);
$dropzone.find('.files').append(input);
});
- this.on('removedfile', (file) => {
+ this.on('removedfile', async (file) => {
if (disableRemovedfileEvent) return;
$(`#${file.uuid}`).remove();
if ($dropzone.attr('data-remove-url') && !fileUuidDict[file.uuid].submitted) {
- $.post($dropzone.attr('data-remove-url'), {
- file: file.uuid,
- _csrf: csrfToken,
- });
+ try {
+ await POST($dropzone.attr('data-remove-url'), {data: new URLSearchParams({file: file.uuid})});
+ } catch (error) {
+ console.error(error);
+ }
}
});
this.on('submit', () => {
@@ -370,8 +371,10 @@ async function onEditContent(event) {
fileUuidDict[fileUuid].submitted = true;
});
});
- this.on('reload', () => {
- $.getJSON($editContentZone.attr('data-attachment-url'), (data) => {
+ this.on('reload', async () => {
+ try {
+ const response = await GET($editContentZone.attr('data-attachment-url'));
+ const data = await response.json();
// do not trigger the "removedfile" event, otherwise the attachments would be deleted from server
disableRemovedfileEvent = true;
dz.removeAllFiles(true);
@@ -390,7 +393,9 @@ async function onEditContent(event) {
const input = $(``).val(attachment.uuid);
$dropzone.find('.files').append(input);
}
- });
+ } catch (error) {
+ console.error(error);
+ }
});
},
});
@@ -406,22 +411,25 @@ async function onEditContent(event) {
}
};
- const saveAndRefresh = (dz) => {
+ const saveAndRefresh = async (dz) => {
showElem($renderContent);
hideElem($editContentZone);
- $.post($editContentZone.attr('data-update-url'), {
- _csrf: csrfToken,
- content: comboMarkdownEditor.value(),
- context: $editContentZone.attr('data-context'),
- files: dz.files.map((file) => file.uuid),
- }, (data) => {
+
+ try {
+ const params = new URLSearchParams({
+ content: comboMarkdownEditor.value(),
+ context: $editContentZone.attr('data-context'),
+ });
+ for (const file of dz.files) params.append('files[]', file.uuid);
+
+ const response = await POST($editContentZone.attr('data-update-url'), {data: params});
+ const data = await response.json();
if (!data.content) {
$renderContent.html($('#no-content').html());
$rawContent.text('');
} else {
$renderContent.html(data.content);
$rawContent.text(comboMarkdownEditor.value());
-
const refIssues = $renderContent.find('p .ref-issue');
attachRefIssueContextPopup(refIssues);
}
@@ -442,7 +450,9 @@ async function onEditContent(event) {
}
initMarkupContent();
initCommentContent();
- });
+ } catch (error) {
+ console.error(error);
+ }
};
if (!$editContentZone.html()) {