summaryrefslogtreecommitdiffstats
path: root/web_src/js
diff options
context:
space:
mode:
authorsilverwind <me@silverwind.io>2024-03-21 17:31:15 +0100
committerGitHub <noreply@github.com>2024-03-21 16:31:15 +0000
commitd6fed9ab88b13e124c5e59ceac5b21a3af52ad24 (patch)
tree7dc39e18b7330f35acc1c82ae3df579edccea7e2 /web_src/js
parent4bef1fb3e49127316596cef1d3ca103a199c0536 (diff)
downloadgitea-d6fed9ab88b13e124c5e59ceac5b21a3af52ad24.tar.gz
gitea-d6fed9ab88b13e124c5e59ceac5b21a3af52ad24.zip
Fix various loading states, remove `.loading` class (#29920)
Various code was using fomantic `loading` class which I think got broken a while ago and rendered only a full circle. Fix those to use `is-loading`. Before: <img width="295" alt="Screenshot 2024-03-19 at 22 56 26" src="https://github.com/go-gitea/gitea/assets/115237/dbe83395-5db4-4868-90bc-3613866a35f0"> After: <img width="60" alt="Screenshot 2024-03-19 at 22 54 35" src="https://github.com/go-gitea/gitea/assets/115237/8ac19b7e-035a-4c6d-850b-53a234ef69c2"> <img width="294" alt="Screenshot 2024-03-19 at 22 54 56" src="https://github.com/go-gitea/gitea/assets/115237/34e819d7-25f7-43a1-9d48-4a68dcd2b6ad"> <img width="320" alt="Screenshot 2024-03-19 at 22 55 16" src="https://github.com/go-gitea/gitea/assets/115237/05127544-47ff-4e18-9fd8-c84e44c374f8"> <img width="153" alt="Screenshot 2024-03-19 at 23 01 43" src="https://github.com/go-gitea/gitea/assets/115237/a33248c6-b11d-40ff-82d8-f5a3d85b55aa"> <img width="1300" alt="Screenshot 2024-03-19 at 23 56 25" src="https://github.com/go-gitea/gitea/assets/115237/562ca876-b5d5-4295-961e-9d2cdab31ab0"> <img width="136" alt="Screenshot 2024-03-20 at 00 00 38" src="https://github.com/go-gitea/gitea/assets/115237/44838ac4-67f3-4fec-a8e3-978cc5dbdb72">
Diffstat (limited to 'web_src/js')
-rw-r--r--web_src/js/features/admin/common.js2
-rw-r--r--web_src/js/features/comp/WebHookEditor.js2
-rw-r--r--web_src/js/features/repo-common.js10
-rw-r--r--web_src/js/features/repo-issue.js10
4 files changed, 13 insertions, 11 deletions
diff --git a/web_src/js/features/admin/common.js b/web_src/js/features/admin/common.js
index 31d840c3e1..0c65f04ab8 100644
--- a/web_src/js/features/admin/common.js
+++ b/web_src/js/features/admin/common.js
@@ -208,7 +208,7 @@ export function initAdminCommon() {
$('#delete-selection').on('click', async function (e) {
e.preventDefault();
const $this = $(this);
- $this.addClass('loading disabled');
+ $this.addClass('is-loading disabled');
const data = new FormData();
$checkboxes.each(function () {
if ($(this).checkbox('is checked')) {
diff --git a/web_src/js/features/comp/WebHookEditor.js b/web_src/js/features/comp/WebHookEditor.js
index b7ca5a0fcf..d74b59fd2a 100644
--- a/web_src/js/features/comp/WebHookEditor.js
+++ b/web_src/js/features/comp/WebHookEditor.js
@@ -35,7 +35,7 @@ export function initCompWebHookEditor() {
// Test delivery
document.getElementById('test-delivery')?.addEventListener('click', async function () {
- this.classList.add('loading', 'disabled');
+ this.classList.add('is-loading', 'disabled');
await POST(this.getAttribute('data-link'));
setTimeout(() => {
window.location.href = this.getAttribute('data-redirect');
diff --git a/web_src/js/features/repo-common.js b/web_src/js/features/repo-common.js
index 669b47a9c5..2c5746c738 100644
--- a/web_src/js/features/repo-common.js
+++ b/web_src/js/features/repo-common.js
@@ -3,18 +3,20 @@ import {hideElem, showElem} from '../utils/dom.js';
import {POST} from '../modules/fetch.js';
async function getArchive($target, url, first) {
+ const dropdownBtn = $target[0].closest('.ui.dropdown.button');
+
try {
+ dropdownBtn.classList.add('is-loading');
const response = await POST(url);
if (response.status === 200) {
const data = await response.json();
if (!data) {
// XXX Shouldn't happen?
- $target.closest('.dropdown').children('i').removeClass('loading');
+ dropdownBtn.classList.remove('is-loading');
return;
}
if (!data.complete) {
- $target.closest('.dropdown').children('i').addClass('loading');
// Wait for only three quarters of a second initially, in case it's
// quickly archived.
setTimeout(() => {
@@ -22,12 +24,12 @@ async function getArchive($target, url, first) {
}, first ? 750 : 2000);
} else {
// We don't need to continue checking.
- $target.closest('.dropdown').children('i').removeClass('loading');
+ dropdownBtn.classList.remove('is-loading');
window.location.href = url;
}
}
} catch {
- $target.closest('.dropdown').children('i').removeClass('loading');
+ dropdownBtn.classList.remove('is-loading');
}
}
diff --git a/web_src/js/features/repo-issue.js b/web_src/js/features/repo-issue.js
index ad2956a600..c91dd06ac9 100644
--- a/web_src/js/features/repo-issue.js
+++ b/web_src/js/features/repo-issue.js
@@ -43,14 +43,14 @@ export function initRepoIssueTimeTracking() {
async function updateDeadline(deadlineString) {
hideElem($('#deadline-err-invalid-date'));
- $('#deadline-loader').addClass('loading');
+ $('#deadline-loader').addClass('is-loading');
let realDeadline = null;
if (deadlineString !== '') {
const newDate = Date.parse(deadlineString);
if (Number.isNaN(newDate)) {
- $('#deadline-loader').removeClass('loading');
+ $('#deadline-loader').removeClass('is-loading');
showElem($('#deadline-err-invalid-date'));
return false;
}
@@ -69,7 +69,7 @@ async function updateDeadline(deadlineString) {
}
} catch (error) {
console.error(error);
- $('#deadline-loader').removeClass('loading');
+ $('#deadline-loader').removeClass('is-loading');
showElem($('#deadline-err-invalid-date'));
}
}
@@ -237,14 +237,14 @@ export function initRepoPullRequestUpdate() {
e.preventDefault();
const $this = $(this);
const redirect = $this.data('redirect');
- $this.addClass('loading');
+ $this.addClass('is-loading');
let response;
try {
response = await POST($this.data('do'));
} catch (error) {
console.error(error);
} finally {
- $this.removeClass('loading');
+ $this.removeClass('is-loading');
}
let data;
try {