mirror of
https://github.com/miniflux/v2.git
synced 2024-09-28 05:11:51 +02:00
Fix download button loading label
This commit is contained in:
parent
f6f63b5282
commit
7c80d6b86d
@ -167,11 +167,11 @@ function handleEntryStatus(item, element, setToRead) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a span-icon with a `label` to `element` as a child
|
// Add an icon-label span element.
|
||||||
function addIcon(element, label) {
|
function appendIconLabel(element, labelTextContent) {
|
||||||
const span = document.createElement('span');
|
const span = document.createElement('span');
|
||||||
span.classList.add('icon-label');
|
span.classList.add('icon-label');
|
||||||
span.textContent = label;
|
span.textContent = labelTextContent;
|
||||||
element.appendChild(span);
|
element.appendChild(span);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -202,7 +202,7 @@ function toggleEntryStatus(element, toasting) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
link.replaceChildren(iconElement.content.cloneNode(true));
|
link.replaceChildren(iconElement.content.cloneNode(true));
|
||||||
addIcon(link, label);
|
appendIconLabel(link, label);
|
||||||
link.dataset.value = newStatus;
|
link.dataset.value = newStatus;
|
||||||
|
|
||||||
if (element.classList.contains("item-status-" + currentStatus)) {
|
if (element.classList.contains("item-status-" + currentStatus)) {
|
||||||
@ -268,12 +268,12 @@ function saveEntry(element, toasting) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
element.textContent = "";
|
element.textContent = "";
|
||||||
addIcon(element, element.dataset.labelLoading);
|
appendIconLabel(element, element.dataset.labelLoading);
|
||||||
|
|
||||||
const request = new RequestBuilder(element.dataset.saveUrl);
|
const request = new RequestBuilder(element.dataset.saveUrl);
|
||||||
request.withCallback(() => {
|
request.withCallback(() => {
|
||||||
element.textContent = "";
|
element.textContent = "";
|
||||||
addIcon(element, element.dataset.labelDone);
|
appendIconLabel(element, element.dataset.labelDone);
|
||||||
element.dataset.completed = true;
|
element.dataset.completed = true;
|
||||||
if (toasting) {
|
if (toasting) {
|
||||||
const iconElement = document.querySelector("template#icon-save");
|
const iconElement = document.querySelector("template#icon-save");
|
||||||
@ -294,37 +294,37 @@ function handleBookmark(element) {
|
|||||||
|
|
||||||
// Send the Ajax request and change the icon when bookmarking an entry.
|
// Send the Ajax request and change the icon when bookmarking an entry.
|
||||||
function toggleBookmark(parentElement, toasting) {
|
function toggleBookmark(parentElement, toasting) {
|
||||||
const element = parentElement.querySelector(":is(a, button)[data-toggle-bookmark]");
|
const buttonElement = parentElement.querySelector(":is(a, button)[data-toggle-bookmark]");
|
||||||
if (!element) {
|
if (!buttonElement) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
element.textContent = "";
|
buttonElement.textContent = "";
|
||||||
addIcon(element, element.dataset.labelLoading);
|
appendIconLabel(buttonElement, buttonElement.dataset.labelLoading);
|
||||||
|
|
||||||
const request = new RequestBuilder(element.dataset.bookmarkUrl);
|
const request = new RequestBuilder(buttonElement.dataset.bookmarkUrl);
|
||||||
request.withCallback(() => {
|
request.withCallback(() => {
|
||||||
const currentStarStatus = element.dataset.value;
|
const currentStarStatus = buttonElement.dataset.value;
|
||||||
const newStarStatus = currentStarStatus === "star" ? "unstar" : "star";
|
const newStarStatus = currentStarStatus === "star" ? "unstar" : "star";
|
||||||
|
|
||||||
let iconElement, label;
|
let iconElement, label;
|
||||||
if (currentStarStatus === "star") {
|
if (currentStarStatus === "star") {
|
||||||
iconElement = document.querySelector("template#icon-star");
|
iconElement = document.querySelector("template#icon-star");
|
||||||
label = element.dataset.labelStar;
|
label = buttonElement.dataset.labelStar;
|
||||||
if (toasting) {
|
if (toasting) {
|
||||||
showToast(element.dataset.toastUnstar, iconElement);
|
showToast(buttonElement.dataset.toastUnstar, iconElement);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
iconElement = document.querySelector("template#icon-unstar");
|
iconElement = document.querySelector("template#icon-unstar");
|
||||||
label = element.dataset.labelUnstar;
|
label = buttonElement.dataset.labelUnstar;
|
||||||
if (toasting) {
|
if (toasting) {
|
||||||
showToast(element.dataset.toastStar, iconElement);
|
showToast(buttonElement.dataset.toastStar, iconElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
element.replaceChildren(iconElement.content.cloneNode(true));
|
buttonElement.replaceChildren(iconElement.content.cloneNode(true));
|
||||||
addIcon(element, label);
|
appendIconLabel(buttonElement, label);
|
||||||
element.dataset.value = newStarStatus;
|
buttonElement.dataset.value = newStarStatus;
|
||||||
});
|
});
|
||||||
request.execute();
|
request.execute();
|
||||||
}
|
}
|
||||||
@ -335,18 +335,20 @@ function handleFetchOriginalContent() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const element = document.querySelector(":is(a, button)[data-fetch-content-entry]");
|
const buttonElement = document.querySelector(":is(a, button)[data-fetch-content-entry]");
|
||||||
if (!element) {
|
if (!buttonElement) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const previousElement = element.cloneNode(true);
|
const previousElement = buttonElement.cloneNode(true);
|
||||||
addIcon(element, element.dataset.labelLoading);
|
|
||||||
|
|
||||||
const request = new RequestBuilder(element.dataset.fetchContentUrl);
|
buttonElement.textContent = "";
|
||||||
|
appendIconLabel(buttonElement, buttonElement.dataset.labelLoading);
|
||||||
|
|
||||||
|
const request = new RequestBuilder(buttonElement.dataset.fetchContentUrl);
|
||||||
request.withCallback((response) => {
|
request.withCallback((response) => {
|
||||||
element.textContent = '';
|
buttonElement.textContent = '';
|
||||||
element.appendChild(previousElement);
|
buttonElement.appendChild(previousElement);
|
||||||
|
|
||||||
response.json().then((data) => {
|
response.json().then((data) => {
|
||||||
if (data.hasOwnProperty("content") && data.hasOwnProperty("reading_time")) {
|
if (data.hasOwnProperty("content") && data.hasOwnProperty("reading_time")) {
|
||||||
@ -629,7 +631,7 @@ function showToast(label, iconElement) {
|
|||||||
const toastMsgElement = document.getElementById("toast-msg");
|
const toastMsgElement = document.getElementById("toast-msg");
|
||||||
if (toastMsgElement) {
|
if (toastMsgElement) {
|
||||||
toastMsgElement.replaceChildren(iconElement.content.cloneNode(true));
|
toastMsgElement.replaceChildren(iconElement.content.cloneNode(true));
|
||||||
addIcon(toastMsgElement, label);
|
appendIconLabel(toastMsgElement, label);
|
||||||
|
|
||||||
const toastElementWrapper = document.getElementById("toast-wrapper");
|
const toastElementWrapper = document.getElementById("toast-wrapper");
|
||||||
if (toastElementWrapper) {
|
if (toastElementWrapper) {
|
||||||
|
Loading…
Reference in New Issue
Block a user