Skip to content

Commit 12bf381

Browse files
author
exoego
committed
Add event constructors that accepts type name and init
1 parent deffe6c commit 12bf381

File tree

9 files changed

+265
-116
lines changed

9 files changed

+265
-116
lines changed

src/main/scala/org/scalajs/dom/experimental/deviceorientation/DeviceOrientation.scala

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ import scala.scalajs.js.annotation._
77

88
@js.native
99
@JSGlobal
10-
class DeviceOrientationEvent(
11-
`type`: String,
12-
eventInitDict: DeviceOrientationEventInit
13-
) extends dom.Event {
10+
class DeviceOrientationEvent(typeArg: String,
11+
init: js.UndefOr[DeviceOrientationEventInit])
12+
extends dom.Event(typeArg, init) {
1413

1514
/** Z-Axis rotation in degrees. */
1615
val alpha: Double = js.native
@@ -29,23 +28,23 @@ class DeviceOrientationEvent(
2928
val absolute: Boolean = js.native
3029
}
3130

32-
trait DeviceOrientationEventInit extends js.Object {
31+
trait DeviceOrientationEventInit extends dom.raw.EventInit {
3332

3433
/** Z-Axis rotation in degrees. */
35-
val alpha: Double
34+
var alpha: js.UndefOr[Double] = js.undefined
3635

3736
/** X-Axis rotation in degrees. */
38-
val beta: Double
37+
var beta: js.UndefOr[Double] = js.undefined
3938

4039
/** Y-Axis rotation in degrees. */
41-
val gamma: Double
40+
var gamma: js.UndefOr[Double] = js.undefined
4241

4342
/**
4443
* If true, this event data is has been produced using sensor fusion from
4544
* the magnometer and other sensors. When false- only the gyroscope has
4645
* been used.
4746
*/
48-
val absolute: Boolean
47+
var absolute: js.UndefOr[Boolean] = js.undefined
4948
}
5049

5150
object DeviceOrientationEventInit {
@@ -83,7 +82,9 @@ trait DeviceRotationRate extends js.Any {
8382

8483
@js.native
8584
@JSGlobal
86-
class DeviceMotionEvent extends dom.Event {
85+
class DeviceMotionEvent(typeArg: String,
86+
init: js.UndefOr[DeviceMotionEventInit] = js.undefined)
87+
extends dom.Event(typeArg, init) {
8788

8889
/** Device acceleration with gravity removed. */
8990
val acceleration: DeviceAcceleration = js.native
@@ -98,17 +99,18 @@ class DeviceMotionEvent extends dom.Event {
9899
val interval: Double = js.native
99100
}
100101

101-
trait DeviceMotionEventInit extends js.Any {
102+
trait DeviceMotionEventInit extends dom.raw.EventInit {
102103

103104
/** Device acceleration with gravity removed. */
104-
val acceleration: DeviceAcceleration
105+
val acceleration: js.UndefOr[DeviceAcceleration] = js.undefined
105106

106107
/** Device acceleration including the force of gravity. */
107-
val accelerationIncludingGravity: DeviceAcceleration
108+
val accelerationIncludingGravity: js.UndefOr[DeviceAcceleration] =
109+
js.undefined
108110

109111
/** The rate of rotation. */
110-
val rotationRate: DeviceRotationRate
112+
val rotationRate: js.UndefOr[DeviceRotationRate] = js.undefined
111113

112114
/** The sampling rate in seconds that data is received from the hardware. */
113-
val interval: Double
115+
val interval: js.UndefOr[Double] = js.undefined
114116
}

src/main/scala/org/scalajs/dom/experimental/gamepad/Gamepad.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ trait Gamepad extends js.Any {
6565
val mapping: GamepadMappingType
6666
}
6767

68-
trait GamepadEventInit extends js.Any {
69-
val gamepad: Gamepad
68+
trait GamepadEventInit extends dom.raw.EventInit {
69+
var gamepad: js.UndefOr[Gamepad]
7070
}
7171

7272
object GamepadEventInit {
@@ -76,7 +76,9 @@ object GamepadEventInit {
7676

7777
@JSGlobal("GamepadEvent")
7878
@js.native
79-
class GamepadEvent(init: GamepadEventInit) extends dom.Event {
79+
class GamepadEvent(typeArg: String,
80+
init: js.UndefOr[GamepadEventInit] = js.undefined)
81+
extends dom.Event(typeArg, init) {
8082
val gamepad: Gamepad = js.native
8183
}
8284

src/main/scala/org/scalajs/dom/experimental/mediastream/MediaStream.scala

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import scala.scalajs.js
77
import scala.scalajs.js.|
88
import scala.scalajs.js.annotation._
99

10-
import org.scalajs.dom.raw.{DOMError, Event, EventTarget}
10+
import org.scalajs.dom.raw.{DOMError, Event, EventInit, EventTarget}
1111

1212
/**
1313
* The MediaStream
@@ -462,9 +462,8 @@ object MediaStreamConstraints {
462462
}
463463
}
464464

465-
@js.native
466-
trait MediaStreamTrackEventInit extends js.Object {
467-
var track: MediaStreamTrack = js.native
465+
trait MediaStreamTrackEventInit extends EventInit {
466+
var track: js.UndefOr[MediaStreamTrack] = js.undefined
468467
}
469468

470469
object MediaStreamTrackEventInit {
@@ -480,9 +479,9 @@ object MediaStreamTrackEventInit {
480479

481480
@js.native
482481
@JSGlobal
483-
class MediaStreamTrackEvent(`type`: String,
484-
eventInitDict: MediaStreamTrackEventInit)
485-
extends Event {
482+
class MediaStreamTrackEvent(typeArg: String,
483+
init: js.UndefOr[MediaStreamTrackEventInit])
484+
extends Event(typeArg, init) {
486485
val track: MediaStreamTrack = js.native
487486
}
488487

src/main/scala/org/scalajs/dom/experimental/serviceworkers/ServiceWorkers.scala

Lines changed: 43 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import org.scalajs.dom.experimental.{
99
}
1010
import org.scalajs.dom.raw.{WorkerGlobalScope, ErrorEvent}
1111
import org.scalajs.dom.webgl.RenderingContext
12-
import org.scalajs.dom.{Event, EventTarget, MessagePort}
12+
import org.scalajs.dom.{Event, EventTarget, MessageEvent, MessagePort}
13+
import org.scalajs.dom.raw.EventInit
1314

1415
@js.native
1516
sealed trait FrameType extends js.Any
@@ -79,6 +80,12 @@ trait Client extends js.Object {
7980
trait CanvasProxy extends js.Any {
8081
def setContext(context: RenderingContext): Unit = js.native
8182
}
83+
trait FetchEventInit extends EventInit {
84+
var isReload: js.UndefOr[Boolean] = js.undefined
85+
var request: js.UndefOr[Request] = js.undefined
86+
var clientId: js.UndefOr[String] = js.undefined
87+
88+
}
8289

8390
/**
8491
* See [[https://developer.mozilla.org/en-US/docs/Web/API/FetchEvent FetchEvent]] on MDN
@@ -88,7 +95,8 @@ trait CanvasProxy extends js.Any {
8895
*/
8996
@js.native
9097
@JSGlobal
91-
class FetchEvent extends Event {
98+
class FetchEvent(typeArg: String, init: js.UndefOr[FetchEventInit])
99+
extends Event(typeArg, init) {
92100

93101
/**
94102
* Boolean that is true if the event was dispatched with the user's
@@ -103,6 +111,14 @@ class FetchEvent extends Event {
103111
*/
104112
def request: Request = js.native
105113

114+
def preloadResponse: js.Promise[Response] = js.native
115+
116+
def clientId: String = js.native
117+
118+
def replacesClientId: String = js.native
119+
120+
def resultingClientId: String = js.native
121+
106122
/**
107123
* See [[https://developer.mozilla.org/en-US/docs/Web/API/FetchEvent/respondWith respondWith]]
108124
* page on MDN.
@@ -382,8 +398,9 @@ trait ServiceWorkerContainer extends EventTarget {
382398
*
383399
* MDN
384400
*/
385-
var onmessage: js.Function1[ServiceWorkerMessageEvent, _] = js.native
401+
var onmessage: js.Function1[MessageEvent, _] = js.native
386402
}
403+
trait ExtendableEventInit extends EventInit {}
387404

388405
/**
389406
* See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#extendable-event-interface ¶4.4 ExtendableEvent]]
@@ -394,21 +411,21 @@ trait ServiceWorkerContainer extends EventTarget {
394411
*/
395412
@js.native
396413
@JSGlobal
397-
class ExtendableEvent extends Event {
414+
class ExtendableEvent(typeArg: String, init: js.UndefOr[ExtendableEventInit])
415+
extends Event(typeArg, init) {
398416
def waitUntil(promise: js.Promise[Any]): Unit = js.native
399417
}
400418

401-
@js.native
402-
trait ExtendableMessageEventInit extends js.Object {
403-
var data: js.Any = js.native
419+
trait ExtendableMessageEventInit extends ExtendableEventInit {
420+
var data: js.UndefOr[js.Any] = js.undefined
404421

405-
var origin: String = js.native
422+
var origin: js.UndefOr[String] = js.undefined
406423

407-
var lastEventId: String = js.native
424+
var lastEventId: js.UndefOr[String] = js.undefined
408425

409-
var source: Client | ServiceWorker | MessagePort = js.native
426+
var source: js.UndefOr[Client | ServiceWorker | MessagePort] = js.undefined
410427

411-
var ports: js.Array[MessagePort] = js.native
428+
var ports: js.UndefOr[js.Array[MessagePort]] = js.undefined
412429
}
413430

414431
/**
@@ -419,14 +436,14 @@ trait ExtendableMessageEventInit extends js.Object {
419436
*/
420437
@js.native
421438
@JSGlobal
422-
class ExtendableMessageEvent(`type`: String,
423-
eventInitDict: ExtendableMessageEventInit)
424-
extends ExtendableEvent {
439+
class ExtendableMessageEvent(typeArg: String,
440+
init: js.UndefOr[ExtendableMessageEventInit])
441+
extends ExtendableEvent(typeArg, init) {
425442

426443
/**
427444
* Returns the event's data. It can be any data type.
428445
*/
429-
val data: Any = js.native
446+
val data: js.Any = js.native
430447

431448
/**
432449
* Returns the origin of the service worker's environment settings object.
@@ -449,17 +466,12 @@ class ExtendableMessageEvent(`type`: String,
449466
def ports: js.Array[MessagePort] = js.native
450467
}
451468

452-
@js.native
453-
trait ServiceWorkerMessageEventInit extends js.Object {
454-
var data: js.Any = js.native
455-
456-
var origin: String = js.native
457-
458-
var lastEventId: String = js.native
459-
460-
var source: ServiceWorker | MessagePort = js.native
461-
462-
var ports: js.Array[MessagePort] = js.native
469+
trait ServiceWorkerMessageEventInit extends EventInit {
470+
var data: js.UndefOr[js.Any] = js.undefined
471+
var origin: js.UndefOr[String] = js.undefined
472+
var lastEventId: js.UndefOr[String] = js.undefined
473+
var source: js.UndefOr[ServiceWorker | MessagePort] = js.undefined
474+
var ports: js.UndefOr[js.Array[MessagePort]] = js.undefined
463475
}
464476

465477
/**
@@ -474,9 +486,10 @@ trait ServiceWorkerMessageEventInit extends js.Object {
474486
*/
475487
@js.native
476488
@JSGlobal
477-
class ServiceWorkerMessageEvent(`type`: String,
478-
eventInitDict: ServiceWorkerMessageEventInit = js.native)
479-
extends Event {
489+
@deprecated("Instead use MessageEvent", "0.9.8")
490+
class ServiceWorkerMessageEvent(typeArg: String,
491+
init: js.UndefOr[ServiceWorkerMessageEventInit] = js.undefined)
492+
extends Event(typeArg, init) {
480493

481494
/**
482495
* Returns the event's data. It can be any data type.
@@ -780,7 +793,7 @@ trait ServiceWorkerGlobalScope extends WorkerGlobalScope {
780793
*
781794
* MDN
782795
*/
783-
var onmessage: js.Function1[ServiceWorkerMessageEvent, _] = js.native
796+
var onmessage: js.Function1[MessageEvent, _] = js.native
784797

785798
/**
786799
* Forces the waiting service worker to become the active service worker.

0 commit comments

Comments
 (0)