Browse Source

Fix "onload" events to support multiple

master
Gabriel Augendre 1 week ago
parent
commit
85a88000a7
  1. 13
      articles/static/edit-keymap.js
  2. 12
      articles/static/live-preview.js

13
articles/static/edit-keymap.js

@ -1,13 +1,22 @@
'use strict'; 'use strict';
window.onload = function () {
function bindKey() {
const adminLinkElement = document.querySelector("a#admin-link"); const adminLinkElement = document.querySelector("a#admin-link");
if (adminLinkElement === undefined || adminLinkElement === null) { if (adminLinkElement === undefined || adminLinkElement === null) {
return; return;
} }
const adminLocation = adminLinkElement.href; const adminLocation = adminLinkElement.href;
document.addEventListener("keydown", function(event) {
document.addEventListener("keydown", function (event) {
if (event.code === "KeyE") { if (event.code === "KeyE") {
window.location = adminLocation; window.location = adminLocation;
} }
}) })
} }
((readyState) => {
if (readyState === "interactive") {
bindKey();
} else if (readyState === "loading") {
window.addEventListener("DOMContentLoaded", bindKey, false);
}
})(document.readyState);

12
articles/static/live-preview.js

@ -1,11 +1,19 @@
let preview = null; let preview = null;
window.onload = function () {
function onLoad () {
const previewButton = document.querySelector("input#_live_preview"); const previewButton = document.querySelector("input#_live_preview");
if (previewButton) { if (previewButton) {
previewButton.addEventListener("click", openPreviewPopup); previewButton.addEventListener("click", openPreviewPopup);
} }
};
}
((readyState) => {
if (readyState === "interactive") {
onLoad();
} else if (readyState === "loading") {
window.addEventListener("DOMContentLoaded", onLoad, false);
}
})(document.readyState);
window.onbeforeunload = function () { window.onbeforeunload = function () {
if (preview !== null) { if (preview !== null) {
preview.close(); preview.close();

Loading…
Cancel
Save