Skip to content

Fix #219: Fix Event constructors. #367

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
May 16, 2019
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