Skip to content
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
package org.scalajs.dom.experimental.deviceorientation

import org.scalajs.dom
import org.scalajs.dom.raw.EventInit

import scala.scalajs.js
import scala.scalajs.js.annotation._

@js.native
@JSGlobal
class DeviceOrientationEvent(
`type`: String,
eventInitDict: DeviceOrientationEventInit
) extends dom.Event {
class DeviceOrientationEvent(typeArg: String,
init: js.UndefOr[DeviceOrientationEventInit])
extends dom.Event(typeArg, init) {

/** Z-Axis rotation in degrees. */
val alpha: Double = js.native
Expand All @@ -29,26 +29,27 @@ class DeviceOrientationEvent(
val absolute: Boolean = js.native
}

trait DeviceOrientationEventInit extends js.Object {
trait DeviceOrientationEventInit extends EventInit {

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

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

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

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

object DeviceOrientationEventInit {
@deprecated("Create new DeviceOrientationEventInit instead", "0.9.8")
def apply(alpha: Double, beta: Double, gamma: Double,
absolute: Boolean): DeviceOrientationEventInit = {
js.Dynamic
Expand Down Expand Up @@ -83,7 +84,9 @@ trait DeviceRotationRate extends js.Any {

@js.native
@JSGlobal
class DeviceMotionEvent extends dom.Event {
class DeviceMotionEvent(typeArg: String,
init: js.UndefOr[DeviceMotionEventInit] = js.undefined)
extends dom.Event(typeArg, init) {

/** Device acceleration with gravity removed. */
val acceleration: DeviceAcceleration = js.native
Expand All @@ -98,17 +101,18 @@ class DeviceMotionEvent extends dom.Event {
val interval: Double = js.native
}

trait DeviceMotionEventInit extends js.Any {
trait DeviceMotionEventInit extends EventInit {

/** Device acceleration with gravity removed. */
val acceleration: DeviceAcceleration
val acceleration: js.UndefOr[DeviceAcceleration] = js.undefined

/** Device acceleration including the force of gravity. */
val accelerationIncludingGravity: DeviceAcceleration
val accelerationIncludingGravity: js.UndefOr[DeviceAcceleration] =
js.undefined

/** The rate of rotation. */
val rotationRate: DeviceRotationRate
val rotationRate: js.UndefOr[DeviceRotationRate] = js.undefined

/** The sampling rate in seconds that data is received from the hardware. */
val interval: Double
val interval: js.UndefOr[Double] = js.undefined
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import scala.scalajs.js
import scala.scalajs.js.annotation._

import org.scalajs.dom
import org.scalajs.dom.raw.EventInit

@js.native
trait GamepadMappingType extends js.Any
Expand Down Expand Up @@ -65,18 +66,21 @@ trait Gamepad extends js.Any {
val mapping: GamepadMappingType
}

trait GamepadEventInit extends js.Any {
val gamepad: Gamepad
trait GamepadEventInit extends EventInit {
var gamepad: js.UndefOr[Gamepad]
}

object GamepadEventInit {
@deprecated("Create new ClipboardEventInit instead", "0.9.8")
def apply(gamepad: Gamepad): GamepadEventInit =
js.Dynamic.literal("gamepad" -> gamepad).asInstanceOf[GamepadEventInit]
}

@JSGlobal("GamepadEvent")
@js.native
class GamepadEvent(init: GamepadEventInit) extends dom.Event {
class GamepadEvent(typeArg: String,
init: js.UndefOr[GamepadEventInit] = js.undefined)
extends dom.Event(typeArg, init) {
val gamepad: Gamepad = js.native
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import scala.scalajs.js
import scala.scalajs.js.|
import scala.scalajs.js.annotation._

import org.scalajs.dom.raw.{DOMError, Event, EventTarget}
import org.scalajs.dom.raw.{DOMError, Event, EventInit, EventTarget}

/**
* The MediaStream
Expand Down Expand Up @@ -462,12 +462,12 @@ object MediaStreamConstraints {
}
}

@js.native
trait MediaStreamTrackEventInit extends js.Object {
var track: MediaStreamTrack = js.native
trait MediaStreamTrackEventInit extends EventInit {
var track: js.UndefOr[MediaStreamTrack] = js.undefined
}

object MediaStreamTrackEventInit {
@deprecated("Create new MediaStreamTrackEventInit instead", "0.9.8")
@inline
def apply(
track: js.UndefOr[MediaStreamTrack] = js.undefined
Expand All @@ -480,9 +480,9 @@ object MediaStreamTrackEventInit {

@js.native
@JSGlobal
class MediaStreamTrackEvent(`type`: String,
eventInitDict: MediaStreamTrackEventInit)
extends Event {
class MediaStreamTrackEvent(typeArg: String,
init: js.UndefOr[MediaStreamTrackEventInit])
extends Event(typeArg, init) {
val track: MediaStreamTrack = js.native
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ import org.scalajs.dom.experimental.{
}
import org.scalajs.dom.raw.{WorkerGlobalScope, ErrorEvent}
import org.scalajs.dom.webgl.RenderingContext
import org.scalajs.dom.{Event, EventTarget, MessagePort}
import org.scalajs.dom.{Event, EventTarget, MessageEvent, MessagePort}
import org.scalajs.dom.raw.EventInit

@js.native
sealed trait FrameType extends js.Any
Expand Down Expand Up @@ -80,6 +81,12 @@ trait CanvasProxy extends js.Any {
def setContext(context: RenderingContext): Unit = js.native
}

trait FetchEventInit extends EventInit {
var isReload: js.UndefOr[Boolean] = js.undefined
var request: js.UndefOr[Request] = js.undefined
var clientId: js.UndefOr[String] = js.undefined
}

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

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

def preloadResponse: js.Promise[Response] = js.native

def clientId: String = js.native

def replacesClientId: String = js.native

def resultingClientId: String = js.native

/**
* See [[https://developer.mozilla.org/en-US/docs/Web/API/FetchEvent/respondWith respondWith]]
* page on MDN.
Expand Down Expand Up @@ -382,9 +398,11 @@ trait ServiceWorkerContainer extends EventTarget {
*
* MDN
*/
var onmessage: js.Function1[ServiceWorkerMessageEvent, _] = js.native
var onmessage: js.Function1[MessageEvent, _] = js.native
}

trait ExtendableEventInit extends EventInit {}

/**
* See [[https://slightlyoff.github.io/ServiceWorker/spec/service_worker_1/#extendable-event-interface ¶4.4 ExtendableEvent]]
* of whatwg ServiceWorker spec.
Expand All @@ -394,21 +412,21 @@ trait ServiceWorkerContainer extends EventTarget {
*/
@js.native
@JSGlobal
class ExtendableEvent extends Event {
class ExtendableEvent(typeArg: String, init: js.UndefOr[ExtendableEventInit])
extends Event(typeArg, init) {
def waitUntil(promise: js.Promise[Any]): Unit = js.native
}

@js.native
trait ExtendableMessageEventInit extends js.Object {
var data: js.Any = js.native
trait ExtendableMessageEventInit extends ExtendableEventInit {
var data: js.UndefOr[Any] = js.undefined

var origin: String = js.native
var origin: js.UndefOr[String] = js.undefined

var lastEventId: String = js.native
var lastEventId: js.UndefOr[String] = js.undefined

var source: Client | ServiceWorker | MessagePort = js.native
var source: js.UndefOr[Client | ServiceWorker | MessagePort] = js.undefined

var ports: js.Array[MessagePort] = js.native
var ports: js.UndefOr[js.Array[MessagePort]] = js.undefined
}

/**
Expand All @@ -419,9 +437,9 @@ trait ExtendableMessageEventInit extends js.Object {
*/
@js.native
@JSGlobal
class ExtendableMessageEvent(`type`: String,
eventInitDict: ExtendableMessageEventInit)
extends ExtendableEvent {
class ExtendableMessageEvent(typeArg: String,
init: js.UndefOr[ExtendableMessageEventInit])
extends ExtendableEvent(typeArg, init) {

/**
* Returns the event's data. It can be any data type.
Expand Down Expand Up @@ -449,17 +467,12 @@ class ExtendableMessageEvent(`type`: String,
def ports: js.Array[MessagePort] = js.native
}

@js.native
trait ServiceWorkerMessageEventInit extends js.Object {
var data: js.Any = js.native

var origin: String = js.native

var lastEventId: String = js.native

var source: ServiceWorker | MessagePort = js.native

var ports: js.Array[MessagePort] = js.native
trait ServiceWorkerMessageEventInit extends EventInit {
var data: js.UndefOr[Any] = js.undefined
var origin: js.UndefOr[String] = js.undefined
var lastEventId: js.UndefOr[String] = js.undefined
var source: js.UndefOr[ServiceWorker | MessagePort] = js.undefined
var ports: js.UndefOr[js.Array[MessagePort]] = js.undefined
}

/**
Expand All @@ -474,9 +487,10 @@ trait ServiceWorkerMessageEventInit extends js.Object {
*/
@js.native
@JSGlobal
class ServiceWorkerMessageEvent(`type`: String,
eventInitDict: ServiceWorkerMessageEventInit = js.native)
extends Event {
@deprecated("Instead use MessageEvent", "0.9.8")
class ServiceWorkerMessageEvent(typeArg: String,
init: js.UndefOr[ServiceWorkerMessageEventInit] = js.undefined)
extends Event(typeArg, init) {

/**
* Returns the event's data. It can be any data type.
Expand Down Expand Up @@ -780,7 +794,7 @@ trait ServiceWorkerGlobalScope extends WorkerGlobalScope {
*
* MDN
*/
var onmessage: js.Function1[ServiceWorkerMessageEvent, _] = js.native
var onmessage: js.Function1[MessageEvent, _] = js.native

/**
* Forces the waiting service worker to become the active service worker.
Expand Down
Loading