Skip to content

Commit 3515bab

Browse files
committed
Added additional synthetic events
1 parent 4455d42 commit 3515bab

File tree

5 files changed

+56
-13
lines changed

5 files changed

+56
-13
lines changed

generator/src/main/scala/slinky/generator/Generator.scala

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,23 @@ object Generator {
1313
val providerName :: out :: pkg :: Nil = args.toList
1414

1515
val eventToSynthetic = Map[String, String => String](
16-
"EventHandler" -> (t => s"slinky.core.SyntheticEvent[$t, org.scalajs.dom.Event]"),
17-
"InputEventHandler" -> (t => s"slinky.web.SyntheticInputEvent[$t]"),
18-
"ClipboardEventHandler" -> (t => s"slinky.web.SyntheticClipboardEvent[$t]"),
19-
"CompositionEventHandler" -> (t => s"slinky.web.SyntheticCompositionEvent[$t]"),
20-
"KeyboardEventHandler" -> (t => s"slinky.web.SyntheticKeyboardEvent[$t]"),
21-
"FocusEventHandler" -> (t => s"slinky.web.SyntheticFocusEvent[$t]"),
22-
"MouseEventHandler" -> (t => s"slinky.web.SyntheticMouseEvent[$t]"),
23-
"PointerEventHandler" -> (t => s"slinky.web.SyntheticPointerEvent[$t]"),
24-
"TouchEventHandler" -> (t => s"slinky.web.SyntheticTouchEvent[$t]"),
25-
"UIEventHandler" -> (t => s"slinky.web.SyntheticUIEvent[$t]"),
26-
"WheelEventHandler" -> (t => s"slinky.web.SyntheticWheelEvent[$t]"),
27-
"AnimationEventHandler" -> (t => s"slinky.web.SyntheticAnimationEvent[$t]"),
28-
"TransitionEventHandler" -> (t => s"slinky.web.SyntheticTransitionEvent[$t]")
16+
"AnimationEventHandler" -> (t => s"slinky.web.SyntheticAnimationEvent[$t]"),
17+
"ChangeEventHandler" -> (t => s"slinky.web.SyntheticChangeEvent[$t]"),
18+
"ClipboardEventHandler" -> (t => s"slinky.web.SyntheticClipboardEvent[$t]"),
19+
"CompositionEventHandler" -> (t => s"slinky.web.SyntheticCompositionEvent[$t]"),
20+
"DragEventHandler" -> (t => s"slinky.web.SyntheticDragEvent[$t]"),
21+
"EventHandler" -> (t => s"slinky.core.SyntheticEvent[$t, org.scalajs.dom.Event]"),
22+
"FocusEventHandler" -> (t => s"slinky.web.SyntheticFocusEvent[$t]"),
23+
"FormEventHandler" -> (t => s"slinky.web.SyntheticFormEvent[$t]"),
24+
"InputEventHandler" -> (t => s"slinky.web.SyntheticInputEvent[$t]"),
25+
"InvalidEventHandler" -> (t => s"slinky.web.SyntheticInvalidEvent[$t]"),
26+
"KeyboardEventHandler" -> (t => s"slinky.web.SyntheticKeyboardEvent[$t]"),
27+
"MouseEventHandler" -> (t => s"slinky.web.SyntheticMouseEvent[$t]"),
28+
"PointerEventHandler" -> (t => s"slinky.web.SyntheticPointerEvent[$t]"),
29+
"TouchEventHandler" -> (t => s"slinky.web.SyntheticTouchEvent[$t]"),
30+
"TransitionEventHandler" -> (t => s"slinky.web.SyntheticTransitionEvent[$t]"),
31+
"UIEventHandler" -> (t => s"slinky.web.SyntheticUIEvent[$t]"),
32+
"WheelEventHandler" -> (t => s"slinky.web.SyntheticWheelEvent[$t]")
2933
)
3034

3135
val outFolder = new File(out)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package slinky.web
2+
3+
import org.scalajs.dom.Event
4+
import slinky.core.SyntheticEvent
5+
6+
import scala.scalajs.js
7+
8+
@js.native
9+
trait SyntheticChangeEvent[+TargetType] extends SyntheticEvent[TargetType, Event]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package slinky.web
2+
3+
import slinky.core.SyntheticEvent
4+
5+
import scala.scalajs.js
6+
import org.scalajs.dom.{DataTransfer, DragEvent}
7+
8+
@js.native
9+
trait SyntheticDragEvent[+TargetType] extends SyntheticEvent[TargetType, DragEvent] {
10+
def dataTransfer: DataTransfer = js.native
11+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package slinky.web
2+
3+
import org.scalajs.dom.Event
4+
import slinky.core.SyntheticEvent
5+
6+
import scala.scalajs.js
7+
8+
//https://legacy.reactjs.org/docs/events.html#form-events
9+
@js.native
10+
trait SyntheticFormEvent[+TargetType] extends SyntheticEvent[TargetType, Event]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package slinky.web
2+
3+
import org.scalajs.dom.Event
4+
import slinky.core.SyntheticEvent
5+
6+
import scala.scalajs.js
7+
8+
@js.native
9+
trait SyntheticInvalidEvent[+TargetType] extends SyntheticEvent[TargetType, Event]

0 commit comments

Comments
 (0)