From 7cf916a00d73b9a3a5bb32f2e876f2ccb6a5e952 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 10 Nov 2021 12:12:33 +0100 Subject: [PATCH] code review, simplify iframeTemplate --- .../design/AppPreview/CurrentItemPreview.svelte | 16 +++++++--------- .../design/AppPreview/iframeTemplate.js | 8 +------- packages/builder/src/stores/portal/auth.js | 9 ++++----- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte b/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte index a97cf22442..4001db44b6 100644 --- a/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte +++ b/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte @@ -95,12 +95,12 @@ const handlers = { [MessageTypes.READY]: () => { // Initialise the app when mounted - // Display preview immediately if the intelligent loading feature - // is not supported if ($store.clientFeatures.messagePassing) { if (!loading) return } + // Display preview immediately if the intelligent loading feature + // is not supported if (!$store.clientFeatures.intelligentLoading) { loading = false } @@ -119,9 +119,8 @@ } onMount(() => { - if ($store.clientFeatures.messagePassing) { - window.addEventListener("message", receiveMessage) - } else { + window.addEventListener("message", receiveMessage) + if (!$store.clientFeatures.messagePassing) { // Legacy - remove in later versions of BB iframe.contentWindow.addEventListener("ready", () => { receiveMessage({ data: { type: MessageTypes.READY }}) @@ -132,15 +131,14 @@ // Add listener for events sent by client library in preview iframe.contentWindow.addEventListener("bb-event", handleBudibaseEvent) iframe.contentWindow.addEventListener("keydown", handleKeydownEvent) - } + } }) // Remove all iframe event listeners on component destroy onDestroy(() => { if (iframe.contentWindow) { - if ($store.clientFeatures.messagePassing) { - window.removeEventListener("message", receiveMessage) - } else { + window.removeEventListener("message", receiveMessage) + if (!$store.clientFeatures.messagePassing) { // Legacy - remove in later versions of BB iframe.contentWindow.removeEventListener("bb-event", handleBudibaseEvent) iframe.contentWindow.removeEventListener("keydown", handleKeydownEvent) diff --git a/packages/builder/src/components/design/AppPreview/iframeTemplate.js b/packages/builder/src/components/design/AppPreview/iframeTemplate.js index 8bc14f42b9..372eac24f7 100644 --- a/packages/builder/src/components/design/AppPreview/iframeTemplate.js +++ b/packages/builder/src/components/design/AppPreview/iframeTemplate.js @@ -65,7 +65,6 @@ export default ` theme, customTheme, previewDevice, - messagePassing } = parsed // Set some flags so the app knows we're in the builder @@ -90,11 +89,7 @@ export default ` throw "The client library couldn't be loaded" } } catch (error) { - if (messagePassing) { - window.parent.postMessage({ type: "error", error }) - } else { - window.dispatchEvent(new CustomEvent("error", { detail: error })) - } + window.parent.postMessage({ type: "error", error }) } } @@ -104,7 +99,6 @@ export default ` }) window.parent.postMessage({ type: "ready" }) - window.dispatchEvent(new Event("ready")) diff --git a/packages/builder/src/stores/portal/auth.js b/packages/builder/src/stores/portal/auth.js index df4e3f8462..2f558c88b2 100644 --- a/packages/builder/src/stores/portal/auth.js +++ b/packages/builder/src/stores/portal/auth.js @@ -81,13 +81,12 @@ export function createAuthStore() { } async function setInitInfo(info) { - const response = await api.post(`/api/global/auth/init`, info) - const json = await response.json() + await api.post(`/api/global/auth/init`, info) auth.update(store => { - store.initInfo = json + store.initInfo = info return store }) - return json + return info } async function getInitInfo() { @@ -102,7 +101,7 @@ export function createAuthStore() { return { subscribe: store.subscribe, - setOrganisation: setOrganisation, + setOrganisation, getInitInfo, setInitInfo, checkQueryString: async () => {