From 976316c78355572a14c837aee4835ec27746e588 Mon Sep 17 00:00:00 2001 From: zetashift Date: Mon, 30 Jan 2023 23:25:08 +0100 Subject: [PATCH 01/10] Refresh DataTransfer API --- .../org/scalajs/dom/DragDataItemKind.scala | 12 ++++++ .../org/scalajs/dom/DropEffectValue.scala | 11 ++++++ .../org/scalajs/dom/EffectAllowedValue.scala | 16 ++++++++ .../org/scalajs/dom/DragDataItemKind.scala | 10 +++++ .../org/scalajs/dom/DropEffectValue.scala | 12 ++++++ .../org/scalajs/dom/EffectAllowedValue.scala | 17 +++++++++ .../scala/org/scalajs/dom/DataTransfer.scala | 16 ++++---- .../org/scalajs/dom/DataTransferItem.scala | 26 +++++++++++++ .../scalajs/dom/DataTransferItemList.scala | 38 +++++++++++++++++++ 9 files changed, 149 insertions(+), 9 deletions(-) create mode 100644 dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala create mode 100644 dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala create mode 100644 dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala create mode 100644 dom/src/main/scala-3/org/scalajs/dom/DragDataItemKind.scala create mode 100644 dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala create mode 100644 dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala create mode 100644 dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala create mode 100644 dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala diff --git a/dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala b/dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala new file mode 100644 index 000000000..bd47c8009 --- /dev/null +++ b/dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala @@ -0,0 +1,12 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** Fetch APIs [[https://fetch.spec.whatwg.org/#requesttype RequestType enum]] */ +@js.native +sealed trait DragDataItemKind extends js.Any + +object DragDataItemKind { + val string: DragDataItemKind = "string".asInstanceOf[DragDataItemKind] + val file: DragDataItemKind = "file".asInstanceOf[DragDataItemKind] +} diff --git a/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala b/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala new file mode 100644 index 000000000..2d412a201 --- /dev/null +++ b/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala @@ -0,0 +1,11 @@ +import scala.scalajs.js + +@js.native +sealed trait DropEffectValue extends js.Any + +object DropEffectValue { + val none: DropEffectValue = "none".asInstanceOf[DropEffectValue] + val copy: DropEffectValue = "copy".asInstanceOf[DropEffectValue] + val link: DropEffectValue = "link".asInstanceOf[DropEffectValue] + val move: DropEffectValue = "move".asInstanceOf[DropEffectValue] +} diff --git a/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala b/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala new file mode 100644 index 000000000..f54efbaae --- /dev/null +++ b/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala @@ -0,0 +1,16 @@ +import scala.scalajs.js + +@js.native +sealed trait EffectAllowedValue extends js.Any + +object EffectAllowedValue{ + val none: EffectAllowedValue = "none".asInstanceOf[EffectAllowedValue] + val copy: EffectAllowedValue = "copy".asInstanceOf[EffectAllowedValue] + val copyLink: EffectAllowedValue = "copyLink".asInstanceOf[EffectAllowedValue] + val copyMove: EffectAllowedValue = "copyMove".asInstanceOf[EffectAllowedValue] + val link: EffectAllowedValue = "link".asInstanceOf[EffectAllowedValue] + val linkMove: EffectAllowedValue = "linkMove".asInstanceOf[EffectAllowedValue] + val move: EffectAllowedValue = "move".asInstanceOf[EffectAllowedValue] + val all: EffectAllowedValue = "all".asInstanceOf[EffectAllowedValue] + val uninitialized: EffectAllowedValue = "uninitialized".asInstanceOf[EffectAllowedValue] +} diff --git a/dom/src/main/scala-3/org/scalajs/dom/DragDataItemKind.scala b/dom/src/main/scala-3/org/scalajs/dom/DragDataItemKind.scala new file mode 100644 index 000000000..f695f1c08 --- /dev/null +++ b/dom/src/main/scala-3/org/scalajs/dom/DragDataItemKind.scala @@ -0,0 +1,10 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type DragDataItemKind <: String = String + +object DragDataItemKind { + val string: DragDataItemKind = "string" + val file: DragDataItemKind = "file" +} diff --git a/dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala b/dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala new file mode 100644 index 000000000..8bde7282d --- /dev/null +++ b/dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala @@ -0,0 +1,12 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type DropEffectValue <: String = String + +object DropEffectValue { + val none: DropEffectValue = "none" + val copy: DropEffectValue = "copy" + val link: DropEffectValue = "link" + val move: DropEffectValue = "move" +} diff --git a/dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala b/dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala new file mode 100644 index 000000000..e752d0b34 --- /dev/null +++ b/dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala @@ -0,0 +1,17 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type EffectAllowedValue <: String = String + +object EffectAllowedValue { + val none: EffectAllowedValue = "none" + val copy: EffectAllowedValue = "copy" + val copyLink: EffectAllowedValue = "copyLink" + val copyMove: EffectAllowedValue = "copyMove" + val link: EffectAllowedValue = "link" + val linkMove: EffectAllowedValue = "linkMove" + val move: EffectAllowedValue = "move" + val all: EffectAllowedValue = "all" + val uninitialized: EffectAllowedValue = "uninitialized" +} diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala b/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala index e4971ece1..15666e1b6 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala @@ -19,16 +19,11 @@ trait DataTransfer extends js.Object { /** Specifies the effects that are allowed for this drag. You may set this in the dragstart event to set the desired * effects for the source, and within the dragenter and dragover events to set the desired effects for the target. * The value is not used for other events. - * - * See [[DragEffect]] for possible values. */ - var effectAllowed: String = js.native + var effectAllowed: EffectAllowedValue = js.native - /** The actual effect that will be used, and should always be one of the possible values of effectAllowed. - * - * See [[DragEffect]] for possible values. - */ - var dropEffect: String = js.native + /** The actual effect that will be used, and should always be one of the possible values of effectAllowed. */ + var dropEffect: DropEffectValue = js.native /** Remove the data associated with a given type. The type argument is optional. If the type is empty or not * specified, the data associated with all types is removed. If data for the specified type does not exist, or the @@ -42,6 +37,9 @@ trait DataTransfer extends js.Object { */ def setData(format: String, data: String): Unit = js.native + /** Gives a DataTransferItemList object which is a list of all of the drag data. */ + def items: DataTransferItemList = js.native + /** Set the image to be used for dragging if a custom one is desired. Most of the time, this would not be set, as a * default image is created from the node that was dragged. * @@ -77,7 +75,7 @@ trait DataTransfer extends js.Object { * The formats are Unicode strings giving the type or format of the data, generally given by a MIME type. Some values * that are not MIME types are special-cased for legacy reasons (for example "text"). */ - def types: js.Array[String] = js.native + def types: FrozenArray[String] = js.native def files: FileList = js.native } diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala new file mode 100644 index 000000000..554c7817b --- /dev/null +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala @@ -0,0 +1,26 @@ +/** All documentation for facades is thanks to Mozilla Contributors at https://developer.mozilla.org/en-US/docs/Web/API + * and available under the Creative Commons Attribution-ShareAlike v2.5 or later. + * http://creativecommons.org/licenses/by-sa/2.5/ + * + * Everything else is under the MIT License http://opensource.org/licenses/MIT + */ +package org.scalajs.dom + +import scala.scalajs.js + +/** Each DataTransferItem object is associated with a [[DataTransfer]] object. */ +@js.native +trait DataTransferItem { + + /** Returns the drag data item kind, one of: "string", "file". */ + def kind: DragDataItemKind = js.native + + /** Returns the drag data item type string. */ + def `type`: String = js.native + + /** Invokes the callback with the string data as the argument, if the drag data item kind is text. */ + def getAsString(callback: () => String) = js.native + + /** Returns a File object, if the drag data item kind is File. */ + def getAsFile(): js.UndefOr[File] = js.native +} diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala new file mode 100644 index 000000000..645b452c4 --- /dev/null +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala @@ -0,0 +1,38 @@ +/** All documentation for facades is thanks to Mozilla Contributors at https://developer.mozilla.org/en-US/docs/Web/API + * and available under the Creative Commons Attribution-ShareAlike v2.5 or later. + * http://creativecommons.org/licenses/by-sa/2.5/ + * + * Everything else is under the MIT License http://opensource.org/licenses/MIT + */ +package org.scalajs.dom + +import scala.scalajs.js + +@js.native +trait DataTransferItemList { + + /** Returns the number of items in the drag data store. */ + def length: Int = js.native + + /** Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be + * provided also. + */ + def add(data: String, `type`: String): Unit = js.native + + /** Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be + * provided also. + */ + def add(data: File): Unit = js.native + + /** Removes the indexth entry in the drag data store. */ + def remove(index: Int): Unit = js.native + + /** Removes all the entries in the drag data store. */ + def clear(): Unit = js.native +} + +object DataTransferItemList { + + /** Returns the DataTransferItem object representing the indexth entry in the drag data store. */ + def apply(index: Int): DataTransferItem = js.native +} From 587112300a3753140a3aac0fd7d87ae418b5642f Mon Sep 17 00:00:00 2001 From: zetashift Date: Mon, 30 Jan 2023 23:51:17 +0100 Subject: [PATCH 02/10] Fix compile errors --- dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala | 2 ++ .../main/scala-2/org/scalajs/dom/EffectAllowedValue.scala | 2 ++ dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala | 2 +- .../main/scala/org/scalajs/dom/DataTransferItemList.scala | 7 ++++--- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala b/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala index 2d412a201..b13fbea57 100644 --- a/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala +++ b/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala @@ -1,3 +1,5 @@ +package org.scalajs.dom + import scala.scalajs.js @js.native diff --git a/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala b/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala index f54efbaae..f0db2d500 100644 --- a/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala +++ b/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala @@ -1,3 +1,5 @@ +package org.scalajs.dom + import scala.scalajs.js @js.native diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala index 554c7817b..039868fac 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala @@ -10,7 +10,7 @@ import scala.scalajs.js /** Each DataTransferItem object is associated with a [[DataTransfer]] object. */ @js.native -trait DataTransferItem { +trait DataTransferItem extends js.Object { /** Returns the drag data item kind, one of: "string", "file". */ def kind: DragDataItemKind = js.native diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala index 645b452c4..9d0dec4d9 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala @@ -9,7 +9,7 @@ package org.scalajs.dom import scala.scalajs.js @js.native -trait DataTransferItemList { +trait DataTransferItemList extends js.Object { /** Returns the number of items in the drag data store. */ def length: Int = js.native @@ -29,10 +29,11 @@ trait DataTransferItemList { /** Removes all the entries in the drag data store. */ def clear(): Unit = js.native -} -object DataTransferItemList { +} +@js.native +object DataTransferItemList extends DataTransferItemList { /** Returns the DataTransferItem object representing the indexth entry in the drag data store. */ def apply(index: Int): DataTransferItem = js.native } From ff852605e748412051504d76f3d4ee571bd88a19 Mon Sep 17 00:00:00 2001 From: zetashift Date: Mon, 30 Jan 2023 23:53:49 +0100 Subject: [PATCH 03/10] Remove wrongly copy pasted doc --- dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala | 1 - 1 file changed, 1 deletion(-) diff --git a/dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala b/dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala index bd47c8009..5769b7043 100644 --- a/dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala +++ b/dom/src/main/scala-2/org/scalajs/dom/DragDataItemKind.scala @@ -2,7 +2,6 @@ package org.scalajs.dom import scala.scalajs.js -/** Fetch APIs [[https://fetch.spec.whatwg.org/#requesttype RequestType enum]] */ @js.native sealed trait DragDataItemKind extends js.Any From 001c22a1c69c22a0327ad9f1833d1d6305065069 Mon Sep 17 00:00:00 2001 From: zetashift Date: Tue, 31 Jan 2023 00:32:08 +0100 Subject: [PATCH 04/10] Improve doc comments, fix function signature getAsString, api reports --- api-reports/2_12.txt | 35 +++++++++++++++++-- api-reports/2_13.txt | 35 +++++++++++++++++-- .../scala/org/scalajs/dom/DataTransfer.scala | 2 +- .../org/scalajs/dom/DataTransferItem.scala | 2 +- .../scalajs/dom/DataTransferItemList.scala | 12 ++++--- 5 files changed, 73 insertions(+), 13 deletions(-) diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 81d5249ec..5dc05b1f4 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -1297,13 +1297,24 @@ DOMTokenList[JC] def remove(token: String): Unit DOMTokenList[JC] def toggle(token: String): Boolean DOMTokenList[JC] def toggle(token: String, force: Boolean): Boolean DataTransfer[JT] def clearData(format: String?): Unit -DataTransfer[JT] var dropEffect: String -DataTransfer[JT] var effectAllowed: String +DataTransfer[JT] var dropEffect: DropEffectValue +DataTransfer[JT] var effectAllowed: EffectAllowedValue DataTransfer[JT] def files: FileList DataTransfer[JT] def getData(format: String): String +DataTransfer[JT] def items: DataTransferItemList DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit -DataTransfer[JT] def types: js.Array[String] +DataTransfer[JT] def types: FrozenArray[String] +DataTransferItem[JT] def getAsFile(): js.UndefOr[File] +DataTransferItem[JT] def getAsString(callback: Function1[String, Unit]): Unit +DataTransferItem[JT] def kind: DragDataItemKind +DataTransferItem[JT] def `type`: String +DataTransferItemList[JC] def add(data: File): Unit +DataTransferItemList[JC] def add(data: String, `type`: String): Unit +DataTransferItemList[JC] @js.annotation.JSBracketAccess def apply(index: Int): DataTransferItem +DataTransferItemList[JC] def clear(): Unit +DataTransferItemList[JC] def length: Int +DataTransferItemList[JC] def remove(index: Int): Unit DedicatedWorkerGlobalScope[JO] def self: DedicatedWorkerGlobalScope DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit @@ -1625,6 +1636,9 @@ DocumentType[JC] def removeEventListener[T <: Event](`type`: String, listener: j DocumentType[JC] def replaceChild(newChild: Node, oldChild: Node): Node DocumentType[JC] def systemId: String DocumentType[JC] var textContent: String +DragDataItemKind[JT] +DragDataItemKind[SO] val file: DragDataItemKind +DragDataItemKind[SO] val string: DragDataItemKind DragEffect[SO] final val All = "all" DragEffect[SO] final val Copy = "copy" DragEffect[SO] final val CopyLink = "copyLink" @@ -1666,6 +1680,11 @@ DragEvent[JT] def target: EventTarget DragEvent[JT] def timeStamp: Double DragEvent[JT] def `type`: String DragEvent[JT] def view: Window +DropEffectValue[JT] +DropEffectValue[SO] val copy: DropEffectValue +DropEffectValue[SO] val link: DropEffectValue +DropEffectValue[SO] val move: DropEffectValue +DropEffectValue[SO] val none: DropEffectValue DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit DynamicsCompressorNode[JT] val attack: AudioParam @@ -1711,6 +1730,16 @@ EcdsaParams[JT] val name: String EcdsaParams[SO] def apply(name: String, hash: HashAlgorithmIdentifier): EcdsaParams (@deprecated in 2.0.0) EcdsaParams[SO] val hash = hash0 EcdsaParams[SO] val name = name0 +EffectAllowedValue[JT] +EffectAllowedValue[SO] val all: EffectAllowedValue +EffectAllowedValue[SO] val copy: EffectAllowedValue +EffectAllowedValue[SO] val copyLink: EffectAllowedValue +EffectAllowedValue[SO] val copyMove: EffectAllowedValue +EffectAllowedValue[SO] val link: EffectAllowedValue +EffectAllowedValue[SO] val linkMove: EffectAllowedValue +EffectAllowedValue[SO] val move: EffectAllowedValue +EffectAllowedValue[SO] val none: EffectAllowedValue +EffectAllowedValue[SO] val uninitialized: EffectAllowedValue Element[JC] var accessKey: String Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 81d5249ec..5dc05b1f4 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -1297,13 +1297,24 @@ DOMTokenList[JC] def remove(token: String): Unit DOMTokenList[JC] def toggle(token: String): Boolean DOMTokenList[JC] def toggle(token: String, force: Boolean): Boolean DataTransfer[JT] def clearData(format: String?): Unit -DataTransfer[JT] var dropEffect: String -DataTransfer[JT] var effectAllowed: String +DataTransfer[JT] var dropEffect: DropEffectValue +DataTransfer[JT] var effectAllowed: EffectAllowedValue DataTransfer[JT] def files: FileList DataTransfer[JT] def getData(format: String): String +DataTransfer[JT] def items: DataTransferItemList DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit -DataTransfer[JT] def types: js.Array[String] +DataTransfer[JT] def types: FrozenArray[String] +DataTransferItem[JT] def getAsFile(): js.UndefOr[File] +DataTransferItem[JT] def getAsString(callback: Function1[String, Unit]): Unit +DataTransferItem[JT] def kind: DragDataItemKind +DataTransferItem[JT] def `type`: String +DataTransferItemList[JC] def add(data: File): Unit +DataTransferItemList[JC] def add(data: String, `type`: String): Unit +DataTransferItemList[JC] @js.annotation.JSBracketAccess def apply(index: Int): DataTransferItem +DataTransferItemList[JC] def clear(): Unit +DataTransferItemList[JC] def length: Int +DataTransferItemList[JC] def remove(index: Int): Unit DedicatedWorkerGlobalScope[JO] def self: DedicatedWorkerGlobalScope DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit DedicatedWorkerGlobalScope[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit @@ -1625,6 +1636,9 @@ DocumentType[JC] def removeEventListener[T <: Event](`type`: String, listener: j DocumentType[JC] def replaceChild(newChild: Node, oldChild: Node): Node DocumentType[JC] def systemId: String DocumentType[JC] var textContent: String +DragDataItemKind[JT] +DragDataItemKind[SO] val file: DragDataItemKind +DragDataItemKind[SO] val string: DragDataItemKind DragEffect[SO] final val All = "all" DragEffect[SO] final val Copy = "copy" DragEffect[SO] final val CopyLink = "copyLink" @@ -1666,6 +1680,11 @@ DragEvent[JT] def target: EventTarget DragEvent[JT] def timeStamp: Double DragEvent[JT] def `type`: String DragEvent[JT] def view: Window +DropEffectValue[JT] +DropEffectValue[SO] val copy: DropEffectValue +DropEffectValue[SO] val link: DropEffectValue +DropEffectValue[SO] val move: DropEffectValue +DropEffectValue[SO] val none: DropEffectValue DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit DynamicsCompressorNode[JT] val attack: AudioParam @@ -1711,6 +1730,16 @@ EcdsaParams[JT] val name: String EcdsaParams[SO] def apply(name: String, hash: HashAlgorithmIdentifier): EcdsaParams (@deprecated in 2.0.0) EcdsaParams[SO] val hash = hash0 EcdsaParams[SO] val name = name0 +EffectAllowedValue[JT] +EffectAllowedValue[SO] val all: EffectAllowedValue +EffectAllowedValue[SO] val copy: EffectAllowedValue +EffectAllowedValue[SO] val copyLink: EffectAllowedValue +EffectAllowedValue[SO] val copyMove: EffectAllowedValue +EffectAllowedValue[SO] val link: EffectAllowedValue +EffectAllowedValue[SO] val linkMove: EffectAllowedValue +EffectAllowedValue[SO] val move: EffectAllowedValue +EffectAllowedValue[SO] val none: EffectAllowedValue +EffectAllowedValue[SO] val uninitialized: EffectAllowedValue Element[JC] var accessKey: String Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala b/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala index 15666e1b6..65df7579f 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala @@ -22,7 +22,7 @@ trait DataTransfer extends js.Object { */ var effectAllowed: EffectAllowedValue = js.native - /** The actual effect that will be used, and should always be one of the possible values of effectAllowed. */ + /** The actual effect that will be used. */ var dropEffect: DropEffectValue = js.native /** Remove the data associated with a given type. The type argument is optional. If the type is empty or not diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala index 039868fac..3ccf25145 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala @@ -19,7 +19,7 @@ trait DataTransferItem extends js.Object { def `type`: String = js.native /** Invokes the callback with the string data as the argument, if the drag data item kind is text. */ - def getAsString(callback: () => String) = js.native + def getAsString(callback: Function1[String, Unit]): Unit = js.native /** Returns a File object, if the drag data item kind is File. */ def getAsFile(): js.UndefOr[File] = js.native diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala index 9d0dec4d9..129788eb6 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala @@ -7,9 +7,14 @@ package org.scalajs.dom import scala.scalajs.js +import scala.scalajs.js.annotation.JSGlobal +/** A list of [[DataTransferItem]] objects representing items being dragged. During a drag operation, each DragEvent has + * a dataTransfer property and that property is a DataTransferItemList. + */ @js.native -trait DataTransferItemList extends js.Object { +@JSGlobal +class DataTransferItemList extends js.Object { /** Returns the number of items in the drag data store. */ def length: Int = js.native @@ -30,10 +35,7 @@ trait DataTransferItemList extends js.Object { /** Removes all the entries in the drag data store. */ def clear(): Unit = js.native -} - -@js.native -object DataTransferItemList extends DataTransferItemList { + @js.annotation.JSBracketAccess /** Returns the DataTransferItem object representing the indexth entry in the drag data store. */ def apply(index: Int): DataTransferItem = js.native } From c3d449221dbb917bc1e89f09b2070c19fe951cc8 Mon Sep 17 00:00:00 2001 From: zetashift Date: Tue, 31 Jan 2023 18:16:53 +0100 Subject: [PATCH 05/10] DataTransferItem should be a class with a non-public constructor Co-authored-by: Arman Bilge --- dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala index 3ccf25145..0abbe93e4 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala @@ -10,7 +10,7 @@ import scala.scalajs.js /** Each DataTransferItem object is associated with a [[DataTransfer]] object. */ @js.native -trait DataTransferItem extends js.Object { +class DataTransferItem private[this] extends js.Object { /** Returns the drag data item kind, one of: "string", "file". */ def kind: DragDataItemKind = js.native From 77404c219e97ecf996d0c5eb7a5090eb6fd41068 Mon Sep 17 00:00:00 2001 From: zetashift Date: Tue, 31 Jan 2023 18:17:34 +0100 Subject: [PATCH 06/10] DataTransferItemList should be a class with a non-public constructor Co-authored-by: Arman Bilge --- dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala index 129788eb6..087d5ece4 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala @@ -14,7 +14,7 @@ import scala.scalajs.js.annotation.JSGlobal */ @js.native @JSGlobal -class DataTransferItemList extends js.Object { +class DataTransferItemList private[this] extends js.Object { /** Returns the number of items in the drag data store. */ def length: Int = js.native From 932bb1b468ef675a22272f154367259243ae390b Mon Sep 17 00:00:00 2001 From: zetashift Date: Tue, 31 Jan 2023 19:17:38 +0100 Subject: [PATCH 07/10] api-reports and GetAsFile returns a file --- api-reports/2_12.txt | 8 ++++---- api-reports/2_13.txt | 8 ++++---- dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala | 4 +++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 5dc05b1f4..7b3db2ed6 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -1305,10 +1305,10 @@ DataTransfer[JT] def items: DataTransferItemList DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit DataTransfer[JT] def types: FrozenArray[String] -DataTransferItem[JT] def getAsFile(): js.UndefOr[File] -DataTransferItem[JT] def getAsString(callback: Function1[String, Unit]): Unit -DataTransferItem[JT] def kind: DragDataItemKind -DataTransferItem[JT] def `type`: String +DataTransferItem[JC] def getAsFile(): File +DataTransferItem[JC] def getAsString(callback: Function1[String, Unit]): Unit +DataTransferItem[JC] def kind: DragDataItemKind +DataTransferItem[JC] def `type`: String DataTransferItemList[JC] def add(data: File): Unit DataTransferItemList[JC] def add(data: String, `type`: String): Unit DataTransferItemList[JC] @js.annotation.JSBracketAccess def apply(index: Int): DataTransferItem diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 5dc05b1f4..7b3db2ed6 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -1305,10 +1305,10 @@ DataTransfer[JT] def items: DataTransferItemList DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit DataTransfer[JT] def types: FrozenArray[String] -DataTransferItem[JT] def getAsFile(): js.UndefOr[File] -DataTransferItem[JT] def getAsString(callback: Function1[String, Unit]): Unit -DataTransferItem[JT] def kind: DragDataItemKind -DataTransferItem[JT] def `type`: String +DataTransferItem[JC] def getAsFile(): File +DataTransferItem[JC] def getAsString(callback: Function1[String, Unit]): Unit +DataTransferItem[JC] def kind: DragDataItemKind +DataTransferItem[JC] def `type`: String DataTransferItemList[JC] def add(data: File): Unit DataTransferItemList[JC] def add(data: String, `type`: String): Unit DataTransferItemList[JC] @js.annotation.JSBracketAccess def apply(index: Int): DataTransferItem diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala index 0abbe93e4..ba604d136 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala @@ -7,9 +7,11 @@ package org.scalajs.dom import scala.scalajs.js +import scala.scalajs.js.annotation.JSGlobal /** Each DataTransferItem object is associated with a [[DataTransfer]] object. */ @js.native +@JSGlobal class DataTransferItem private[this] extends js.Object { /** Returns the drag data item kind, one of: "string", "file". */ @@ -22,5 +24,5 @@ class DataTransferItem private[this] extends js.Object { def getAsString(callback: Function1[String, Unit]): Unit = js.native /** Returns a File object, if the drag data item kind is File. */ - def getAsFile(): js.UndefOr[File] = js.native + def getAsFile(): File = js.native } From d15fbef029615ba0625097926083304355b8f262 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Fri, 3 Feb 2023 12:02:07 -0800 Subject: [PATCH 08/10] Swap scaladocs / annotation --- dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala index 087d5ece4..ad4c8923b 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala @@ -35,7 +35,7 @@ class DataTransferItemList private[this] extends js.Object { /** Removes all the entries in the drag data store. */ def clear(): Unit = js.native - @js.annotation.JSBracketAccess /** Returns the DataTransferItem object representing the indexth entry in the drag data store. */ + @js.annotation.JSBracketAccess def apply(index: Int): DataTransferItem = js.native } From 5a67f9fc88effad88e81bd2a8a1da7f1d6eabad8 Mon Sep 17 00:00:00 2001 From: zetashift Date: Fri, 3 Feb 2023 23:06:55 +0100 Subject: [PATCH 09/10] Use ScalaJS Function1 and fix getAsString --- api-reports/2_12.txt | 6 +++--- api-reports/2_13.txt | 6 +++--- dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala | 2 +- .../main/scala/org/scalajs/dom/DataTransferItemList.scala | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 7b3db2ed6..e83994fdd 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -1306,11 +1306,11 @@ DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit DataTransfer[JT] def types: FrozenArray[String] DataTransferItem[JC] def getAsFile(): File -DataTransferItem[JC] def getAsString(callback: Function1[String, Unit]): Unit +DataTransferItem[JC] def getAsString(callback: js.Function1[String, Unit]): Unit DataTransferItem[JC] def kind: DragDataItemKind DataTransferItem[JC] def `type`: String -DataTransferItemList[JC] def add(data: File): Unit -DataTransferItemList[JC] def add(data: String, `type`: String): Unit +DataTransferItemList[JC] def add(data: File): DataTransferItem +DataTransferItemList[JC] def add(data: String, `type`: String): DataTransferItem DataTransferItemList[JC] @js.annotation.JSBracketAccess def apply(index: Int): DataTransferItem DataTransferItemList[JC] def clear(): Unit DataTransferItemList[JC] def length: Int diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 7b3db2ed6..e83994fdd 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -1306,11 +1306,11 @@ DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit DataTransfer[JT] def types: FrozenArray[String] DataTransferItem[JC] def getAsFile(): File -DataTransferItem[JC] def getAsString(callback: Function1[String, Unit]): Unit +DataTransferItem[JC] def getAsString(callback: js.Function1[String, Unit]): Unit DataTransferItem[JC] def kind: DragDataItemKind DataTransferItem[JC] def `type`: String -DataTransferItemList[JC] def add(data: File): Unit -DataTransferItemList[JC] def add(data: String, `type`: String): Unit +DataTransferItemList[JC] def add(data: File): DataTransferItem +DataTransferItemList[JC] def add(data: String, `type`: String): DataTransferItem DataTransferItemList[JC] @js.annotation.JSBracketAccess def apply(index: Int): DataTransferItem DataTransferItemList[JC] def clear(): Unit DataTransferItemList[JC] def length: Int diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala index ba604d136..7efdfc77b 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItem.scala @@ -21,7 +21,7 @@ class DataTransferItem private[this] extends js.Object { def `type`: String = js.native /** Invokes the callback with the string data as the argument, if the drag data item kind is text. */ - def getAsString(callback: Function1[String, Unit]): Unit = js.native + def getAsString(callback: js.Function1[String, Unit]): Unit = js.native /** Returns a File object, if the drag data item kind is File. */ def getAsFile(): File = js.native diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala index ad4c8923b..423f308b6 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransferItemList.scala @@ -22,12 +22,12 @@ class DataTransferItemList private[this] extends js.Object { /** Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be * provided also. */ - def add(data: String, `type`: String): Unit = js.native + def add(data: String, `type`: String): DataTransferItem = js.native /** Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be * provided also. */ - def add(data: File): Unit = js.native + def add(data: File): DataTransferItem = js.native /** Removes the indexth entry in the drag data store. */ def remove(index: Int): Unit = js.native From 95127c236884ee8b7872be9957f28ba5d41bc861 Mon Sep 17 00:00:00 2001 From: zetashift Date: Thu, 9 Feb 2023 23:53:43 +0100 Subject: [PATCH 10/10] Change naming of dropEffect and effectAllowed return types --- api-reports/2_12.txt | 34 +++++++++---------- api-reports/2_13.txt | 34 +++++++++---------- .../dom/DataTransferDropEffectKind.scala | 13 +++++++ .../dom/DataTransferEffectAllowedKind.scala | 18 ++++++++++ .../org/scalajs/dom/DropEffectValue.scala | 13 ------- .../org/scalajs/dom/EffectAllowedValue.scala | 18 ---------- .../dom/DataTransferDropEffectKind.scala | 12 +++++++ .../dom/DataTransferEffectAllowedKind.scala | 17 ++++++++++ .../org/scalajs/dom/DropEffectValue.scala | 12 ------- .../org/scalajs/dom/EffectAllowedValue.scala | 17 ---------- .../scala/org/scalajs/dom/DataTransfer.scala | 4 +-- 11 files changed, 96 insertions(+), 96 deletions(-) create mode 100644 dom/src/main/scala-2/org/scalajs/dom/DataTransferDropEffectKind.scala create mode 100644 dom/src/main/scala-2/org/scalajs/dom/DataTransferEffectAllowedKind.scala delete mode 100644 dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala delete mode 100644 dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala create mode 100644 dom/src/main/scala-3/org/scalajs/dom/DataTransferDropEffectKind.scala create mode 100644 dom/src/main/scala-3/org/scalajs/dom/DataTransferEffectAllowedKind.scala delete mode 100644 dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala delete mode 100644 dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index e83994fdd..d5e0adc91 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -1297,14 +1297,29 @@ DOMTokenList[JC] def remove(token: String): Unit DOMTokenList[JC] def toggle(token: String): Boolean DOMTokenList[JC] def toggle(token: String, force: Boolean): Boolean DataTransfer[JT] def clearData(format: String?): Unit -DataTransfer[JT] var dropEffect: DropEffectValue -DataTransfer[JT] var effectAllowed: EffectAllowedValue +DataTransfer[JT] var dropEffect: DataTransferDropEffectKind +DataTransfer[JT] var effectAllowed: DataTransferEffectAllowedKind DataTransfer[JT] def files: FileList DataTransfer[JT] def getData(format: String): String DataTransfer[JT] def items: DataTransferItemList DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit DataTransfer[JT] def types: FrozenArray[String] +DataTransferDropEffectKind[JT] +DataTransferDropEffectKind[SO] val copy: DataTransferDropEffectKind +DataTransferDropEffectKind[SO] val link: DataTransferDropEffectKind +DataTransferDropEffectKind[SO] val move: DataTransferDropEffectKind +DataTransferDropEffectKind[SO] val none: DataTransferDropEffectKind +DataTransferEffectAllowedKind[JT] +DataTransferEffectAllowedKind[SO] val all: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val copy: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val copyLink: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val copyMove: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val link: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val linkMove: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val move: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val none: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val uninitialized: DataTransferEffectAllowedKind DataTransferItem[JC] def getAsFile(): File DataTransferItem[JC] def getAsString(callback: js.Function1[String, Unit]): Unit DataTransferItem[JC] def kind: DragDataItemKind @@ -1680,11 +1695,6 @@ DragEvent[JT] def target: EventTarget DragEvent[JT] def timeStamp: Double DragEvent[JT] def `type`: String DragEvent[JT] def view: Window -DropEffectValue[JT] -DropEffectValue[SO] val copy: DropEffectValue -DropEffectValue[SO] val link: DropEffectValue -DropEffectValue[SO] val move: DropEffectValue -DropEffectValue[SO] val none: DropEffectValue DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit DynamicsCompressorNode[JT] val attack: AudioParam @@ -1730,16 +1740,6 @@ EcdsaParams[JT] val name: String EcdsaParams[SO] def apply(name: String, hash: HashAlgorithmIdentifier): EcdsaParams (@deprecated in 2.0.0) EcdsaParams[SO] val hash = hash0 EcdsaParams[SO] val name = name0 -EffectAllowedValue[JT] -EffectAllowedValue[SO] val all: EffectAllowedValue -EffectAllowedValue[SO] val copy: EffectAllowedValue -EffectAllowedValue[SO] val copyLink: EffectAllowedValue -EffectAllowedValue[SO] val copyMove: EffectAllowedValue -EffectAllowedValue[SO] val link: EffectAllowedValue -EffectAllowedValue[SO] val linkMove: EffectAllowedValue -EffectAllowedValue[SO] val move: EffectAllowedValue -EffectAllowedValue[SO] val none: EffectAllowedValue -EffectAllowedValue[SO] val uninitialized: EffectAllowedValue Element[JC] var accessKey: String Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index e83994fdd..d5e0adc91 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -1297,14 +1297,29 @@ DOMTokenList[JC] def remove(token: String): Unit DOMTokenList[JC] def toggle(token: String): Boolean DOMTokenList[JC] def toggle(token: String, force: Boolean): Boolean DataTransfer[JT] def clearData(format: String?): Unit -DataTransfer[JT] var dropEffect: DropEffectValue -DataTransfer[JT] var effectAllowed: EffectAllowedValue +DataTransfer[JT] var dropEffect: DataTransferDropEffectKind +DataTransfer[JT] var effectAllowed: DataTransferEffectAllowedKind DataTransfer[JT] def files: FileList DataTransfer[JT] def getData(format: String): String DataTransfer[JT] def items: DataTransferItemList DataTransfer[JT] def setData(format: String, data: String): Unit DataTransfer[JT] def setDragImage(image: Element, x: Double, y: Double): Unit DataTransfer[JT] def types: FrozenArray[String] +DataTransferDropEffectKind[JT] +DataTransferDropEffectKind[SO] val copy: DataTransferDropEffectKind +DataTransferDropEffectKind[SO] val link: DataTransferDropEffectKind +DataTransferDropEffectKind[SO] val move: DataTransferDropEffectKind +DataTransferDropEffectKind[SO] val none: DataTransferDropEffectKind +DataTransferEffectAllowedKind[JT] +DataTransferEffectAllowedKind[SO] val all: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val copy: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val copyLink: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val copyMove: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val link: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val linkMove: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val move: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val none: DataTransferEffectAllowedKind +DataTransferEffectAllowedKind[SO] val uninitialized: DataTransferEffectAllowedKind DataTransferItem[JC] def getAsFile(): File DataTransferItem[JC] def getAsString(callback: js.Function1[String, Unit]): Unit DataTransferItem[JC] def kind: DragDataItemKind @@ -1680,11 +1695,6 @@ DragEvent[JT] def target: EventTarget DragEvent[JT] def timeStamp: Double DragEvent[JT] def `type`: String DragEvent[JT] def view: Window -DropEffectValue[JT] -DropEffectValue[SO] val copy: DropEffectValue -DropEffectValue[SO] val link: DropEffectValue -DropEffectValue[SO] val move: DropEffectValue -DropEffectValue[SO] val none: DropEffectValue DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit DynamicsCompressorNode[JT] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit DynamicsCompressorNode[JT] val attack: AudioParam @@ -1730,16 +1740,6 @@ EcdsaParams[JT] val name: String EcdsaParams[SO] def apply(name: String, hash: HashAlgorithmIdentifier): EcdsaParams (@deprecated in 2.0.0) EcdsaParams[SO] val hash = hash0 EcdsaParams[SO] val name = name0 -EffectAllowedValue[JT] -EffectAllowedValue[SO] val all: EffectAllowedValue -EffectAllowedValue[SO] val copy: EffectAllowedValue -EffectAllowedValue[SO] val copyLink: EffectAllowedValue -EffectAllowedValue[SO] val copyMove: EffectAllowedValue -EffectAllowedValue[SO] val link: EffectAllowedValue -EffectAllowedValue[SO] val linkMove: EffectAllowedValue -EffectAllowedValue[SO] val move: EffectAllowedValue -EffectAllowedValue[SO] val none: EffectAllowedValue -EffectAllowedValue[SO] val uninitialized: EffectAllowedValue Element[JC] var accessKey: String Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit Element[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit diff --git a/dom/src/main/scala-2/org/scalajs/dom/DataTransferDropEffectKind.scala b/dom/src/main/scala-2/org/scalajs/dom/DataTransferDropEffectKind.scala new file mode 100644 index 000000000..8a264934f --- /dev/null +++ b/dom/src/main/scala-2/org/scalajs/dom/DataTransferDropEffectKind.scala @@ -0,0 +1,13 @@ +package org.scalajs.dom + +import scala.scalajs.js + +@js.native +sealed trait DataTransferDropEffectKind extends js.Any + +object DataTransferDropEffectKind { + val none: DataTransferDropEffectKind = "none".asInstanceOf[DataTransferDropEffectKind] + val copy: DataTransferDropEffectKind = "copy".asInstanceOf[DataTransferDropEffectKind] + val link: DataTransferDropEffectKind = "link".asInstanceOf[DataTransferDropEffectKind] + val move: DataTransferDropEffectKind = "move".asInstanceOf[DataTransferDropEffectKind] +} diff --git a/dom/src/main/scala-2/org/scalajs/dom/DataTransferEffectAllowedKind.scala b/dom/src/main/scala-2/org/scalajs/dom/DataTransferEffectAllowedKind.scala new file mode 100644 index 000000000..8c99ec556 --- /dev/null +++ b/dom/src/main/scala-2/org/scalajs/dom/DataTransferEffectAllowedKind.scala @@ -0,0 +1,18 @@ +package org.scalajs.dom + +import scala.scalajs.js + +@js.native +sealed trait DataTransferEffectAllowedKind extends js.Any + +object DataTransferEffectAllowedKind { + val none: DataTransferEffectAllowedKind= "none".asInstanceOf[DataTransferEffectAllowedKind] + val copy: DataTransferEffectAllowedKind= "copy".asInstanceOf[DataTransferEffectAllowedKind] + val copyLink: DataTransferEffectAllowedKind= "copyLink".asInstanceOf[DataTransferEffectAllowedKind] + val copyMove: DataTransferEffectAllowedKind= "copyMove".asInstanceOf[DataTransferEffectAllowedKind] + val link: DataTransferEffectAllowedKind= "link".asInstanceOf[DataTransferEffectAllowedKind] + val linkMove: DataTransferEffectAllowedKind= "linkMove".asInstanceOf[DataTransferEffectAllowedKind] + val move: DataTransferEffectAllowedKind= "move".asInstanceOf[DataTransferEffectAllowedKind] + val all: DataTransferEffectAllowedKind= "all".asInstanceOf[DataTransferEffectAllowedKind] + val uninitialized: DataTransferEffectAllowedKind= "uninitialized".asInstanceOf[DataTransferEffectAllowedKind] +} diff --git a/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala b/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala deleted file mode 100644 index b13fbea57..000000000 --- a/dom/src/main/scala-2/org/scalajs/dom/DropEffectValue.scala +++ /dev/null @@ -1,13 +0,0 @@ -package org.scalajs.dom - -import scala.scalajs.js - -@js.native -sealed trait DropEffectValue extends js.Any - -object DropEffectValue { - val none: DropEffectValue = "none".asInstanceOf[DropEffectValue] - val copy: DropEffectValue = "copy".asInstanceOf[DropEffectValue] - val link: DropEffectValue = "link".asInstanceOf[DropEffectValue] - val move: DropEffectValue = "move".asInstanceOf[DropEffectValue] -} diff --git a/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala b/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala deleted file mode 100644 index f0db2d500..000000000 --- a/dom/src/main/scala-2/org/scalajs/dom/EffectAllowedValue.scala +++ /dev/null @@ -1,18 +0,0 @@ -package org.scalajs.dom - -import scala.scalajs.js - -@js.native -sealed trait EffectAllowedValue extends js.Any - -object EffectAllowedValue{ - val none: EffectAllowedValue = "none".asInstanceOf[EffectAllowedValue] - val copy: EffectAllowedValue = "copy".asInstanceOf[EffectAllowedValue] - val copyLink: EffectAllowedValue = "copyLink".asInstanceOf[EffectAllowedValue] - val copyMove: EffectAllowedValue = "copyMove".asInstanceOf[EffectAllowedValue] - val link: EffectAllowedValue = "link".asInstanceOf[EffectAllowedValue] - val linkMove: EffectAllowedValue = "linkMove".asInstanceOf[EffectAllowedValue] - val move: EffectAllowedValue = "move".asInstanceOf[EffectAllowedValue] - val all: EffectAllowedValue = "all".asInstanceOf[EffectAllowedValue] - val uninitialized: EffectAllowedValue = "uninitialized".asInstanceOf[EffectAllowedValue] -} diff --git a/dom/src/main/scala-3/org/scalajs/dom/DataTransferDropEffectKind.scala b/dom/src/main/scala-3/org/scalajs/dom/DataTransferDropEffectKind.scala new file mode 100644 index 000000000..0594b6d18 --- /dev/null +++ b/dom/src/main/scala-3/org/scalajs/dom/DataTransferDropEffectKind.scala @@ -0,0 +1,12 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type DataTransferDropEffectKind <: String = String + +object DataTransferDropEffectKind { + val none: DataTransferDropEffectKind = "none" + val copy: DataTransferDropEffectKind = "copy" + val link: DataTransferDropEffectKind = "link" + val move: DataTransferDropEffectKind = "move" +} diff --git a/dom/src/main/scala-3/org/scalajs/dom/DataTransferEffectAllowedKind.scala b/dom/src/main/scala-3/org/scalajs/dom/DataTransferEffectAllowedKind.scala new file mode 100644 index 000000000..71a010f2f --- /dev/null +++ b/dom/src/main/scala-3/org/scalajs/dom/DataTransferEffectAllowedKind.scala @@ -0,0 +1,17 @@ +package org.scalajs.dom + +import scala.scalajs.js + +opaque type DataTransferEffectAllowedKind <: String = String + +object DataTransferEffectAllowedKind { + val none: DataTransferEffectAllowedKind = "none" + val copy: DataTransferEffectAllowedKind = "copy" + val copyLink: DataTransferEffectAllowedKind = "copyLink" + val copyMove: DataTransferEffectAllowedKind = "copyMove" + val link: DataTransferEffectAllowedKind = "link" + val linkMove: DataTransferEffectAllowedKind = "linkMove" + val move: DataTransferEffectAllowedKind = "move" + val all: DataTransferEffectAllowedKind = "all" + val uninitialized: DataTransferEffectAllowedKind = "uninitialized" +} diff --git a/dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala b/dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala deleted file mode 100644 index 8bde7282d..000000000 --- a/dom/src/main/scala-3/org/scalajs/dom/DropEffectValue.scala +++ /dev/null @@ -1,12 +0,0 @@ -package org.scalajs.dom - -import scala.scalajs.js - -opaque type DropEffectValue <: String = String - -object DropEffectValue { - val none: DropEffectValue = "none" - val copy: DropEffectValue = "copy" - val link: DropEffectValue = "link" - val move: DropEffectValue = "move" -} diff --git a/dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala b/dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala deleted file mode 100644 index e752d0b34..000000000 --- a/dom/src/main/scala-3/org/scalajs/dom/EffectAllowedValue.scala +++ /dev/null @@ -1,17 +0,0 @@ -package org.scalajs.dom - -import scala.scalajs.js - -opaque type EffectAllowedValue <: String = String - -object EffectAllowedValue { - val none: EffectAllowedValue = "none" - val copy: EffectAllowedValue = "copy" - val copyLink: EffectAllowedValue = "copyLink" - val copyMove: EffectAllowedValue = "copyMove" - val link: EffectAllowedValue = "link" - val linkMove: EffectAllowedValue = "linkMove" - val move: EffectAllowedValue = "move" - val all: EffectAllowedValue = "all" - val uninitialized: EffectAllowedValue = "uninitialized" -} diff --git a/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala b/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala index 65df7579f..88f92c9b0 100644 --- a/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala +++ b/dom/src/main/scala/org/scalajs/dom/DataTransfer.scala @@ -20,10 +20,10 @@ trait DataTransfer extends js.Object { * effects for the source, and within the dragenter and dragover events to set the desired effects for the target. * The value is not used for other events. */ - var effectAllowed: EffectAllowedValue = js.native + var effectAllowed: DataTransferEffectAllowedKind = js.native /** The actual effect that will be used. */ - var dropEffect: DropEffectValue = js.native + var dropEffect: DataTransferDropEffectKind = js.native /** Remove the data associated with a given type. The type argument is optional. If the type is empty or not * specified, the data associated with all types is removed. If data for the specified type does not exist, or the