@@ -2,6 +2,28 @@ import ComponentManager from '../dom/componentManager'
2
2
import { registerLoader } from './loader'
3
3
import { protocol } from '../bridge'
4
4
import { extend } from '../utils'
5
+ import { addEventListener , removeAllEventListeners } from '../base/moduleEvent'
6
+
7
+ /**
8
+ * register module event listener for every api module except 'globalEvent'.
9
+ */
10
+ function registerModuleEventListener ( name , module , meta ) {
11
+ if ( name !== 'globalEvent' ) {
12
+ module [ 'addEventListener' ] = function ( evt , callbackId , options ) {
13
+ return addEventListener . call ( this , name , evt , callbackId , options )
14
+ }
15
+ module [ 'removeAllEventListeners' ] = function ( evt ) {
16
+ return removeAllEventListeners . call ( this , name , evt )
17
+ }
18
+ ; [ {
19
+ name : 'addEventListener' ,
20
+ args : [ 'string' , 'function' , 'object' ]
21
+ } , {
22
+ name : 'removeAllEventListeners' ,
23
+ args : [ 'string' ]
24
+ } ] . forEach ( info => meta [ name ] . push ( info ) )
25
+ }
26
+ }
5
27
6
28
const methods = {
7
29
// Register a new component with the specified name.
@@ -13,6 +35,7 @@ const methods = {
13
35
// If the module already exists, just add methods from the
14
36
// new module to the old one.
15
37
registerApiModule ( name , module , meta ) {
38
+ registerModuleEventListener ( name , module , meta )
16
39
if ( ! protocol . apiModule [ name ] ) {
17
40
protocol . apiModule [ name ] = module
18
41
}
0 commit comments