@@ -3,15 +3,8 @@ import { BackButtonDetail, Platforms, getPlatforms, isPlatform } from '@ionic/co
3
3
import { proxyEvent } from '../util/util' ;
4
4
5
5
6
- export class BackButtonEmitter extends EventEmitter < BackButtonDetail > {
7
- constructor ( ) {
8
- super ( ) ;
9
- }
10
- subscribeWithPriority ( priority : number , callback : ( ) => Promise < any > | void ) {
11
- return this . subscribe ( ( ev : BackButtonDetail ) => {
12
- ev . register ( priority , callback ) ;
13
- } ) ;
14
- }
6
+ export interface BackButtonEmitter extends EventEmitter < BackButtonDetail > {
7
+ subscribeWithPriority ( priority : number , callback : ( ) => Promise < any > | void ) : void ;
15
8
}
16
9
17
10
@Injectable ( )
@@ -22,7 +15,7 @@ export class Platform {
22
15
/**
23
16
* @hidden
24
17
*/
25
- backButton = new BackButtonEmitter ( ) ;
18
+ backButton : BackButtonEmitter = new EventEmitter < BackButtonDetail > ( ) as any ;
26
19
27
20
/**
28
21
* The pause event emits when the native platform puts the application
@@ -47,6 +40,12 @@ export class Platform {
47
40
resize = new EventEmitter < void > ( ) ;
48
41
49
42
constructor ( ) {
43
+ this . backButton . subscribeWithPriority = function ( priority , callback ) {
44
+ return this . subscribe ( ( ev : BackButtonDetail ) => {
45
+ ev . register ( priority , callback ) ;
46
+ } ) ;
47
+ } ;
48
+
50
49
proxyEvent ( this . pause , document , 'pause' ) ;
51
50
proxyEvent ( this . resume , document , 'resume' ) ;
52
51
proxyEvent ( this . backButton , document , 'ionBackButton' ) ;
0 commit comments