mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-12-01 22:36:10 +01:00
Backport #28143 by @wxiaoguang
Compare by ignoring spaces:
https://github.com/go-gitea/gitea/pull/28143/files?diff=split&w=1
When the form is going to be submitted, add the "is-loading" class to
show an indicator and avoid user UI events.
When the request finishes (success / error), remove the "is-loading"
class to make user can interact the UI.
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
(cherry picked from commit ffab076b72
)
This commit is contained in:
parent
e627592402
commit
2969745b0c
|
@ -6,8 +6,9 @@ import {initDiffCommitSelect} from './repo-diff-commitselect.js';
|
|||
import {validateTextareaNonEmpty} from './comp/ComboMarkdownEditor.js';
|
||||
import {initViewedCheckboxListenerFor, countAndUpdateViewedFiles, initExpandAndCollapseFilesButton} from './pull-view-file.js';
|
||||
import {initImageDiff} from './imagediff.js';
|
||||
import {showErrorToast} from '../modules/toast.js';
|
||||
|
||||
const {csrfToken, pageData} = window.config;
|
||||
const {csrfToken, pageData, i18n} = window.config;
|
||||
|
||||
function initRepoDiffReviewButton() {
|
||||
const $reviewBox = $('#review-box');
|
||||
|
@ -50,6 +51,9 @@ function initRepoDiffConversationForm() {
|
|||
return;
|
||||
}
|
||||
|
||||
if ($form.hasClass('is-loading')) return;
|
||||
try {
|
||||
$form.addClass('is-loading');
|
||||
const formData = new FormData($form[0]);
|
||||
|
||||
// if the form is submitted by a button, append the button's name and value to the form data
|
||||
|
@ -70,6 +74,11 @@ function initRepoDiffConversationForm() {
|
|||
}
|
||||
$newConversationHolder.find('.dropdown').dropdown();
|
||||
initCompReactionSelector($newConversationHolder);
|
||||
} catch { // here the caught error might be a jQuery AJAX error (thrown by await $.post), which is not good to use for error message handling
|
||||
showErrorToast(i18n.network_error);
|
||||
} finally {
|
||||
$form.removeClass('is-loading');
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.resolve-conversation', async function (e) {
|
||||
|
|
Loading…
Reference in a new issue