/
CustomEvent.ts
44 lines (40 loc) · 872 Bytes
/
CustomEvent.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import Event from '../Event';
import ICustomEventInit from './ICustomEventInit';
/**
*
*/
export default class CustomEvent extends Event {
public detail: object = null;
/**
* Constructor.
*
* @param type Event type.
* @param [eventInit] Event init.
*/
constructor(type: string, eventInit: ICustomEventInit = null) {
super(type, eventInit);
if (eventInit) {
this.detail = eventInit.detail || null;
}
}
/**
* Init event.
*
* @deprecated
* @param type Type.
* @param [bubbles=false] "true" if it bubbles.
* @param [cancelable=false] "true" if it cancelable.
* @param [detail=null] Custom event detail.
*/
public initCustomEvent(
type: string,
bubbles = false,
cancelable = false,
detail: object = null
): void {
this.type = type;
this.bubbles = bubbles;
this.cancelable = cancelable;
this.detail = detail;
}
}