summaryrefslogtreecommitdiff
path: root/js/event.ts
diff options
context:
space:
mode:
authorAdam Conrad <422184+acconrad@users.noreply.github.com>2019-01-23 12:20:53 +0000
committerRyan Dahl <ry@tinyclouds.org>2019-01-23 06:20:53 -0600
commite470f31d328884303e56f2f15a4121b8ffe097a6 (patch)
tree84e878d3c53db4f969c29357c7f5985b59c7d9f2 /js/event.ts
parent77114fbda49382e397095d8214bd76996b0cfb57 (diff)
Web API: CustomEvent (#1505)
Diffstat (limited to 'js/event.ts')
-rw-r--r--js/event.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/js/event.ts b/js/event.ts
index b0d16ff0a..1cc711b32 100644
--- a/js/event.ts
+++ b/js/event.ts
@@ -22,6 +22,8 @@ export class EventInit implements domTypes.EventInit {
export class Event implements domTypes.Event {
// Each event has the following associated flags
private _canceledFlag = false;
+ private _dispatchedFlag = false;
+ private _initializedFlag = false;
private _inPassiveListenerFlag = false;
private _stopImmediatePropagationFlag = false;
private _stopPropagationFlag = false;
@@ -30,6 +32,7 @@ export class Event implements domTypes.Event {
private _path: domTypes.EventPath[] = [];
constructor(type: string, eventInitDict: domTypes.EventInit = {}) {
+ this._initializedFlag = true;
eventAttributes.set(this, {
type,
bubbles: eventInitDict.bubbles || false,
@@ -71,14 +74,36 @@ export class Event implements domTypes.Event {
return this._canceledFlag;
}
+ get dispatched(): boolean {
+ return this._dispatchedFlag;
+ }
+
get eventPhase(): number {
return getPrivateValue(this, eventAttributes, "eventPhase");
}
+ get initialized(): boolean {
+ return this._initializedFlag;
+ }
+
get isTrusted(): boolean {
return getPrivateValue(this, eventAttributes, "isTrusted");
}
+ set isTrusted(value) {
+ eventAttributes.set(this, {
+ type: this.type,
+ bubbles: this.bubbles,
+ cancelable: this.cancelable,
+ composed: this.composed,
+ currentTarget: this.currentTarget,
+ eventPhase: this.eventPhase,
+ isTrusted: value,
+ target: this.target,
+ timeStamp: this.timeStamp
+ });
+ }
+
get target(): domTypes.EventTarget {
return getPrivateValue(this, eventAttributes, "target");
}