aboutsummaryrefslogtreecommitdiff
path: root/internal/ui/static/js
diff options
context:
space:
mode:
authorGravatar jvoisin <julien.voisin@dustri.org> 2024-03-11 01:16:36 +0100
committerGravatar Frédéric Guillot <f@miniflux.net> 2024-03-10 20:14:30 -0700
commitfd8f25916b025a92b1b8349ef9d0acdb832a9e8e (patch)
tree9ff553b82df2a9a7040b553154432605c65fcc8f /internal/ui/static/js
parent826e4d654f511ea8d1d385bdc09cbed69ff6a70f (diff)
downloadv2-fd8f25916b025a92b1b8349ef9d0acdb832a9e8e.tar.gz
v2-fd8f25916b025a92b1b8349ef9d0acdb832a9e8e.tar.zst
v2-fd8f25916b025a92b1b8349ef9d0acdb832a9e8e.zip
First steps towards trusted-types support
Refactor away some trival usages of `.innerHTML`. Unfortunately, there is no way to enabled trusted-types in report-only mode via `<meta>` tags, see https://github.com/w3c/webappsec-csp/issues/277
Diffstat (limited to 'internal/ui/static/js')
-rw-r--r--internal/ui/static/js/app.js9
1 files changed, 5 insertions, 4 deletions
diff --git a/internal/ui/static/js/app.js b/internal/ui/static/js/app.js
index 9764d3f6..658b869c 100644
--- a/internal/ui/static/js/app.js
+++ b/internal/ui/static/js/app.js
@@ -114,7 +114,7 @@ function handleSubmitButtons() {
let button = element.querySelector("button");
if (button) {
- button.innerHTML = button.dataset.labelLoading;
+ button.textContent = button.dataset.labelLoading;
button.disabled = true;
}
};
@@ -193,7 +193,7 @@ function toggleEntryStatus(element, toasting) {
let currentStatus = link.dataset.value;
let newStatus = currentStatus === "read" ? "unread" : "read";
- link.querySelector("span").innerHTML = link.dataset.labelLoading;
+ link.querySelector("span").textContent = link.dataset.labelLoading;
updateEntriesStatus([entryID], newStatus, () => {
let iconElement, label;
@@ -352,12 +352,13 @@ function handleFetchOriginalContent() {
return;
}
- let previousInnerHTML = element.innerHTML;
+ let previousElement = element.cloneNode(true)
element.innerHTML = '<span class="icon-label">' + element.dataset.labelLoading + '</span>';
let request = new RequestBuilder(element.dataset.fetchContentUrl);
request.withCallback((response) => {
- element.innerHTML = previousInnerHTML;
+ element.textContent = '';
+ element.appendChild(previousElement);
response.json().then((data) => {
if (data.hasOwnProperty("content") && data.hasOwnProperty("reading_time")) {