From ce1fcea68c7d5e0249c6c1c1fc612a86b2866243 Mon Sep 17 00:00:00 2001 From: Manu MA Date: Wed, 21 Nov 2018 23:59:12 +0100 Subject: [PATCH] fix(angular): es6 classes break in ie11 (#16417) fixes #15979 --- angular/src/providers/platform.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/angular/src/providers/platform.ts b/angular/src/providers/platform.ts index d6be8c8da9..564664bb00 100644 --- a/angular/src/providers/platform.ts +++ b/angular/src/providers/platform.ts @@ -3,15 +3,8 @@ import { BackButtonDetail, Platforms, getPlatforms, isPlatform } from '@ionic/co import { proxyEvent } from '../util/util'; -export class BackButtonEmitter extends EventEmitter { - constructor() { - super(); - } - subscribeWithPriority(priority: number, callback: () => Promise | void) { - return this.subscribe((ev: BackButtonDetail) => { - ev.register(priority, callback); - }); - } +export interface BackButtonEmitter extends EventEmitter { + subscribeWithPriority(priority: number, callback: () => Promise | void): void; } @Injectable() @@ -22,7 +15,7 @@ export class Platform { /** * @hidden */ - backButton = new BackButtonEmitter(); + backButton: BackButtonEmitter = new EventEmitter() as any; /** * The pause event emits when the native platform puts the application @@ -47,6 +40,12 @@ export class Platform { resize = new EventEmitter(); constructor() { + this.backButton.subscribeWithPriority = function(priority, callback) { + return this.subscribe((ev: BackButtonDetail) => { + ev.register(priority, callback); + }); + }; + proxyEvent(this.pause, document, 'pause'); proxyEvent(this.resume, document, 'resume'); proxyEvent(this.backButton, document, 'ionBackButton');