generated from azures04/Photino-Boilerplate
32 lines
1000 B
JavaScript
32 lines
1000 B
JavaScript
const frames = document.querySelectorAll("article.frame")
|
|
const frameCallbacks = {}
|
|
|
|
function showFrame(frameIdentifier) {
|
|
for (const frame of frames) {
|
|
frame.setAttribute("hidden", "")
|
|
if (frame.classList.contains(frameIdentifier)) {
|
|
frame.removeAttribute("hidden")
|
|
if (Array.isArray(frameCallbacks[frameIdentifier])) {
|
|
for (const callback of frameCallbacks[frameIdentifier]) {
|
|
callback()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function showFrameNavigationButtons() {
|
|
document.querySelector("article.frame:not([hidden]) > section.buttons").removeAttribute("hidden")
|
|
}
|
|
|
|
function hideFrameNavigationButtons() {
|
|
document.querySelector("article.frame:not([hidden]) > section.buttons").setAttribute("hidden", "")
|
|
}
|
|
|
|
function onFrameShowed(frameIdentifier, cb) {
|
|
if (!frameCallbacks[frameIdentifier]) {
|
|
frameCallbacks[frameIdentifier] = []
|
|
}
|
|
|
|
frameCallbacks[frameIdentifier].push(cb)
|
|
} |