Merge pull request 'Fix flicker of undefined' (#47) from fix-flicker-undefined into main

Reviewed-on: https://codeberg.org/macchiato/pages/pulls/47
page-actions
bat 3 years ago
commit 60a04047b1

@ -57,6 +57,8 @@ export class FileGroupPage extends HTMLElement {
super()
this.attachShadow({mode: 'open'})
this.csp = "default-src 'self' 'unsafe-inline' 'unsafe-eval'"
this.viewLoaded = false
this.onceOnLoaded = undefined
}
connectedCallback() {
@ -136,7 +138,11 @@ export class FileGroupPage extends HTMLElement {
frame.srcdoc = frameHtml
}
frame.addEventListener('load', () => {
this.displayView()
this.viewLoaded = true
if (this.onceOnLoaded) {
this.onceOnLoaded()
this.onceOnLoaded = undefined
}
})
this.viewFrame = frame
this.shadowRoot.append(frame)
@ -144,9 +150,17 @@ export class FileGroupPage extends HTMLElement {
displayView(doc) {
const msg = ['srcdoc', doc]
this.viewFrame.contentWindow.postMessage(
msg, '*'
)
if (this.viewLoaded) {
this.viewFrame.contentWindow.postMessage(
msg, '*'
)
} else {
this.onceOnLoaded = () => {
this.viewFrame.contentWindow.postMessage(
msg, '*'
)
}
}
}
async displayEdit() {

@ -17,7 +17,7 @@ async function initCache() {
'/loader/builder.js',
'/loader/editor-build.js',
'/menu/dropdown.js',
]) //1
]) //2
}
self.addEventListener("install", event => {
@ -53,4 +53,4 @@ self.addEventListener('fetch', event => {
self.addEventListener('activate', event => {
event.waitUntil(clients.claim())
})
})
Loading…
Cancel
Save