From 911f90714de8dcc8f1b4039529dc41a6b625383d Mon Sep 17 00:00:00 2001 From: bat Date: Wed, 12 Apr 2023 01:58:40 +0000 Subject: [PATCH 1/3] Fix flicker of undefined --- components/file-group-page.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/components/file-group-page.js b/components/file-group-page.js index dab9dcf..d252d2f 100644 --- a/components/file-group-page.js +++ b/components/file-group-page.js @@ -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() { From 9c6213c3e5045c15b1846a0252925859c8d944f1 Mon Sep 17 00:00:00 2001 From: bat Date: Wed, 12 Apr 2023 02:00:49 +0000 Subject: [PATCH 2/3] Bump --- sw.js | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/sw.js b/sw.js index 30bf1fc..70b0dad 100644 --- a/sw.js +++ b/sw.js @@ -1,23 +1,17 @@ async function initCache() { const cache = await caches.open('v1') await cache.addAll([ + '/', + '/index.html', '/app.js', - '/components/file-group-page.js', - '/components/header.js', + '/components/page.js', '/components/layout.js', + '/components/header.js', '/components/nav-menu.js', - '/components/page.js', '/dialog/dialog.js', - '/editor/app.js', - '/editor/file-group.js', - '/editor/file-view.js', - '/editor/text-edit.js', '/forms/button-group.js', - '/index.html', - '/loader/builder.js', - '/loader/editor-build.js', '/menu/dropdown.js', - ]) //1 + ]) //2 } self.addEventListener("install", event => { @@ -53,4 +47,4 @@ self.addEventListener('fetch', event => { self.addEventListener('activate', event => { event.waitUntil(clients.claim()) -}) +}) \ No newline at end of file From a5883d746b9003fb033b17c654ade8bdb2841b2f Mon Sep 17 00:00:00 2001 From: bat Date: Wed, 12 Apr 2023 02:04:54 +0000 Subject: [PATCH 3/3] Bump --- sw.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sw.js b/sw.js index 70b0dad..15ff0a6 100644 --- a/sw.js +++ b/sw.js @@ -1,15 +1,21 @@ async function initCache() { const cache = await caches.open('v1') await cache.addAll([ - '/', - '/index.html', '/app.js', - '/components/page.js', - '/components/layout.js', + '/components/file-group-page.js', '/components/header.js', + '/components/layout.js', '/components/nav-menu.js', + '/components/page.js', '/dialog/dialog.js', + '/editor/app.js', + '/editor/file-group.js', + '/editor/file-view.js', + '/editor/text-edit.js', '/forms/button-group.js', + '/index.html', + '/loader/builder.js', + '/loader/editor-build.js', '/menu/dropdown.js', ]) //2 }