From b9a0a91a70e5d08b0f72cca780be2e4fdca1f5d6 Mon Sep 17 00:00:00 2001 From: Norwin Roosen Date: Tue, 11 Dec 2018 09:58:56 +0100 Subject: [PATCH] ota-wizard fixes --- src/pages/Blockly/blockly.scss | 2 +- src/pages/Blockly/blockly.ts | 21 +++++++++++++++++++-- src/pages/ota-wizard/ota-wizard.html | 2 +- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/pages/Blockly/blockly.scss b/src/pages/Blockly/blockly.scss index f3a47ca..8eec17f 100644 --- a/src/pages/Blockly/blockly.scss +++ b/src/pages/Blockly/blockly.scss @@ -1,6 +1,6 @@ page-blockly { ion-fab { - margin-right: 25px; + margin-right: 15px; ion-icon { font-size: 35px !important; } diff --git a/src/pages/Blockly/blockly.ts b/src/pages/Blockly/blockly.ts index 5a60dcd..766d69e 100644 --- a/src/pages/Blockly/blockly.ts +++ b/src/pages/Blockly/blockly.ts @@ -11,11 +11,15 @@ import { OtaWizardPage } from '../ota-wizard/ota-wizard'; export class BlocklyPage { @ViewChild('blocklyFrame') blocklyFrame: ElementRef + messageHandler: (ev: IframePostMessageEvent) => void + constructor( public navCtrl: NavController, public navParams: NavParams ) { - window.addEventListener('message', ev => { + // need to assign it here to keep the function reference for unsubscribing again + // and to maintain the this scope properly + this.messageHandler = (ev: IframePostMessageEvent) => { const { type, data } = ev.data; switch (type) { case 'sketch': @@ -23,10 +27,23 @@ export class BlocklyPage { break default: } - }) + } + + window.addEventListener('message', this.messageHandler) + } + + ionViewWillUnload () { + window.removeEventListener('message', this.messageHandler) } launchOtaWizard () { this.blocklyFrame.nativeElement.contentWindow.postMessage('getSketch', '*') } } + +interface IframePostMessageEvent extends MessageEvent { + data: { + type: 'sketch', + data: any, + } +} diff --git a/src/pages/ota-wizard/ota-wizard.html b/src/pages/ota-wizard/ota-wizard.html index 3da3a32..86f4019 100644 --- a/src/pages/ota-wizard/ota-wizard.html +++ b/src/pages/ota-wizard/ota-wizard.html @@ -145,7 +145,7 @@

Done!

-