{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
module Miso.Html.Event
(
onClick
, onClickWith
, onDoubleClick
, onMouseDown
, onMouseUp
, onMouseEnter
, onMouseLeave
, onMouseOver
, onMouseOut
, onKeyDown
, onKeyDownWithInfo
, onKeyPress
, onKeyUp
, onInput
, onChange
, onChangeWith
, onChecked
, onSubmit
, onBlur
, onFocus
, onDrag
, onDragLeave
, onDragEnter
, onDragEnd
, onDragStart
, onDragOver
, onDrop
, onSelect
, onPointerDown
, onPointerUp
, onPointerEnter
, onPointerLeave
, onPointerOver
, onPointerOut
, onPointerCancel
, onPointerMove
, onAbort
, onAbortWith
, onCanPlay
, onCanPlayWith
, onCanPlayThrough
, onCanPlayThroughWith
, onDurationChange
, onDurationChangeWith
, onEmptied
, onEmptiedWith
, onEnded
, onEndedWith
, onError
, onErrorWith
, onLoadedData
, onLoadedDataWith
, onLoadedMetadata
, onLoadedMetadataWith
, onLoadStart
, onLoadStartWith
, onPause
, onPauseWith
, onPlay
, onPlayWith
, onPlaying
, onPlayingWith
, onProgress
, onProgressWith
, onRateChange
, onRateChangeWith
, onSeeked
, onSeekedWith
, onSeeking
, onSeekingWith
, onStalled
, onStalledWith
, onSuspend
, onSuspendWith
, onTimeUpdate
, onTimeUpdateWith
, onVolumeChange
, onVolumeChangeWith
, onWaiting
, onWaitingWith
) where
import Miso.Event
import Miso.Media (Media(..))
import Miso.Types (Attribute)
import Miso.String (MisoString)
import Language.Javascript.JSaddle (JSVal)
onBlur :: action -> Attribute action
onBlur :: forall action. action -> Attribute action
onBlur action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"blur" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onChecked :: (Checked -> action) -> Attribute action
onChecked :: forall action. (Checked -> action) -> Attribute action
onChecked Checked -> action
f = MisoString
-> Decoder Checked
-> (Checked -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"change" Decoder Checked
checkedDecoder (\Checked
action JSVal
_ -> Checked -> action
f Checked
action)
onClick :: action -> Attribute action
onClick :: forall action. action -> Attribute action
onClick action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"click" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onClickWith :: (JSVal -> action) -> Attribute action
onClickWith :: forall action. (JSVal -> action) -> Attribute action
onClickWith JSVal -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"click" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
domRef -> JSVal -> action
action JSVal
domRef
onFocus :: action -> Attribute action
onFocus :: forall action. action -> Attribute action
onFocus action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"focus" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDoubleClick :: action -> Attribute action
onDoubleClick :: forall action. action -> Attribute action
onDoubleClick action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"dblclick" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onInput :: (MisoString -> action) -> Attribute action
onInput :: forall action. (MisoString -> action) -> Attribute action
onInput MisoString -> action
f = MisoString
-> Decoder MisoString
-> (MisoString -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"input" Decoder MisoString
valueDecoder (\MisoString
action JSVal
_ -> MisoString -> action
f MisoString
action)
onChange :: (MisoString -> action) -> Attribute action
onChange :: forall action. (MisoString -> action) -> Attribute action
onChange MisoString -> action
f = MisoString
-> Decoder MisoString
-> (MisoString -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"change" Decoder MisoString
valueDecoder (\MisoString
action JSVal
_ -> MisoString -> action
f MisoString
action)
onChangeWith :: (MisoString -> JSVal -> action) -> Attribute action
onChangeWith :: forall action. (MisoString -> JSVal -> action) -> Attribute action
onChangeWith = MisoString
-> Decoder MisoString
-> (MisoString -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"change" Decoder MisoString
valueDecoder
onSelect :: (MisoString -> action) -> Attribute action
onSelect :: forall action. (MisoString -> action) -> Attribute action
onSelect MisoString -> action
f = MisoString
-> Decoder MisoString
-> (MisoString -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"select" Decoder MisoString
valueDecoder (\MisoString
action JSVal
_ -> MisoString -> action
f MisoString
action)
onKeyDownWithInfo :: (KeyInfo -> action) -> Attribute action
onKeyDownWithInfo :: forall action. (KeyInfo -> action) -> Attribute action
onKeyDownWithInfo KeyInfo -> action
f = MisoString
-> Decoder KeyInfo
-> (KeyInfo -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"keydown" Decoder KeyInfo
keyInfoDecoder (\KeyInfo
action JSVal
_ -> KeyInfo -> action
f KeyInfo
action)
onKeyDown :: (KeyCode -> action) -> Attribute action
onKeyDown :: forall action. (KeyCode -> action) -> Attribute action
onKeyDown KeyCode -> action
f = MisoString
-> Decoder KeyCode
-> (KeyCode -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"keydown" Decoder KeyCode
keycodeDecoder (\KeyCode
action JSVal
_ -> KeyCode -> action
f KeyCode
action)
onKeyPress :: (KeyCode -> action) -> Attribute action
onKeyPress :: forall action. (KeyCode -> action) -> Attribute action
onKeyPress KeyCode -> action
f = MisoString
-> Decoder KeyCode
-> (KeyCode -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"keypress" Decoder KeyCode
keycodeDecoder (\KeyCode
action JSVal
_ -> KeyCode -> action
f KeyCode
action)
onKeyUp :: (KeyCode -> action) -> Attribute action
onKeyUp :: forall action. (KeyCode -> action) -> Attribute action
onKeyUp KeyCode -> action
f = MisoString
-> Decoder KeyCode
-> (KeyCode -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"keyup" Decoder KeyCode
keycodeDecoder (\KeyCode
action JSVal
_ -> KeyCode -> action
f KeyCode
action)
onMouseUp :: action -> Attribute action
onMouseUp :: forall action. action -> Attribute action
onMouseUp action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"mouseup" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onMouseDown :: action -> Attribute action
onMouseDown :: forall action. action -> Attribute action
onMouseDown action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"mousedown" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onMouseEnter :: action -> Attribute action
onMouseEnter :: forall action. action -> Attribute action
onMouseEnter action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"mouseenter" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onMouseLeave :: action -> Attribute action
onMouseLeave :: forall action. action -> Attribute action
onMouseLeave action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"mouseleave" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onMouseOver :: action -> Attribute action
onMouseOver :: forall action. action -> Attribute action
onMouseOver action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"mouseover" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onMouseOut :: action -> Attribute action
onMouseOut :: forall action. action -> Attribute action
onMouseOut action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"mouseout" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDragStart :: action -> Attribute action
onDragStart :: forall action. action -> Attribute action
onDragStart action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"dragstart" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDragOver :: action -> Attribute action
onDragOver :: forall action. action -> Attribute action
onDragOver action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"dragover" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDragEnd :: action -> Attribute action
onDragEnd :: forall action. action -> Attribute action
onDragEnd action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"dragend" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDragEnter :: action -> Attribute action
onDragEnter :: forall action. action -> Attribute action
onDragEnter action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"dragenter" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDragLeave :: action -> Attribute action
onDragLeave :: forall action. action -> Attribute action
onDragLeave action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"dragleave" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDrag :: action -> Attribute action
onDrag :: forall action. action -> Attribute action
onDrag action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"drag" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDrop :: AllowDrop -> action -> Attribute action
onDrop :: forall action. AllowDrop -> action -> Attribute action
onDrop (AllowDrop Bool
allowDrop) action
action =
Options
-> MisoString
-> Decoder ()
-> (() -> JSVal -> action)
-> Attribute action
forall r action.
Options
-> MisoString
-> Decoder r
-> (r -> JSVal -> action)
-> Attribute action
onWithOptions Options
defaultOptions { preventDefault = allowDrop }
MisoString
"drop" Decoder ()
emptyDecoder (\() JSVal
_ -> action
action)
onSubmit :: action -> Attribute action
onSubmit :: forall action. action -> Attribute action
onSubmit action
action =
Options
-> MisoString
-> Decoder ()
-> (() -> JSVal -> action)
-> Attribute action
forall r action.
Options
-> MisoString
-> Decoder r
-> (r -> JSVal -> action)
-> Attribute action
onWithOptions Options
defaultOptions { preventDefault = True }
MisoString
"submit" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onPointerUp :: (PointerEvent -> action) -> Attribute action
onPointerUp :: forall action. (PointerEvent -> action) -> Attribute action
onPointerUp PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointerup" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onPointerDown :: (PointerEvent -> action) -> Attribute action
onPointerDown :: forall action. (PointerEvent -> action) -> Attribute action
onPointerDown PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointerdown" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onPointerEnter :: (PointerEvent -> action) -> Attribute action
onPointerEnter :: forall action. (PointerEvent -> action) -> Attribute action
onPointerEnter PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointerenter" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onPointerLeave :: (PointerEvent -> action) -> Attribute action
onPointerLeave :: forall action. (PointerEvent -> action) -> Attribute action
onPointerLeave PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointerleave" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onPointerOver :: (PointerEvent -> action) -> Attribute action
onPointerOver :: forall action. (PointerEvent -> action) -> Attribute action
onPointerOver PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointerover" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onPointerOut :: (PointerEvent -> action) -> Attribute action
onPointerOut :: forall action. (PointerEvent -> action) -> Attribute action
onPointerOut PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointerout" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onPointerCancel :: (PointerEvent -> action) -> Attribute action
onPointerCancel :: forall action. (PointerEvent -> action) -> Attribute action
onPointerCancel PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointercancel" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onPointerMove :: (PointerEvent -> action) -> Attribute action
onPointerMove :: forall action. (PointerEvent -> action) -> Attribute action
onPointerMove PointerEvent -> action
f = MisoString
-> Decoder PointerEvent
-> (PointerEvent -> JSVal -> action)
-> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pointermove" Decoder PointerEvent
pointerDecoder (\PointerEvent
action JSVal
_ -> PointerEvent -> action
f PointerEvent
action)
onAbort :: action -> Attribute action
onAbort :: forall action. action -> Attribute action
onAbort action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"abort" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onAbortWith :: (Media -> action) -> Attribute action
onAbortWith :: forall action. (Media -> action) -> Attribute action
onAbortWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"abort" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onCanPlay :: action -> Attribute action
onCanPlay :: forall action. action -> Attribute action
onCanPlay action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"canplay" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onCanPlayWith :: (Media -> action) -> Attribute action
onCanPlayWith :: forall action. (Media -> action) -> Attribute action
onCanPlayWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"canplay" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onCanPlayThrough :: action -> Attribute action
onCanPlayThrough :: forall action. action -> Attribute action
onCanPlayThrough action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"canplaythrough" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onCanPlayThroughWith :: (Media -> action) -> Attribute action
onCanPlayThroughWith :: forall action. (Media -> action) -> Attribute action
onCanPlayThroughWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"canplaythrough" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onDurationChange :: action -> Attribute action
onDurationChange :: forall action. action -> Attribute action
onDurationChange action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"durationchange" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onDurationChangeWith :: (Media -> action) -> Attribute action
onDurationChangeWith :: forall action. (Media -> action) -> Attribute action
onDurationChangeWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"durationchange" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onEmptied :: action -> Attribute action
onEmptied :: forall action. action -> Attribute action
onEmptied action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"emptied" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onEmptiedWith :: (Media -> action) -> Attribute action
onEmptiedWith :: forall action. (Media -> action) -> Attribute action
onEmptiedWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"emptied" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onEnded :: action -> Attribute action
onEnded :: forall action. action -> Attribute action
onEnded action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"ended" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onEndedWith :: (Media -> action) -> Attribute action
onEndedWith :: forall action. (Media -> action) -> Attribute action
onEndedWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"ended" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onError :: action -> Attribute action
onError :: forall action. action -> Attribute action
onError action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"error" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onErrorWith :: (Media -> action) -> Attribute action
onErrorWith :: forall action. (Media -> action) -> Attribute action
onErrorWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"error" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onLoadedData :: action -> Attribute action
onLoadedData :: forall action. action -> Attribute action
onLoadedData action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"loadeddata" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onLoadedDataWith :: (Media -> action) -> Attribute action
onLoadedDataWith :: forall action. (Media -> action) -> Attribute action
onLoadedDataWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"loadeddata" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onLoadedMetadata :: action -> Attribute action
onLoadedMetadata :: forall action. action -> Attribute action
onLoadedMetadata action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"loadedmetadata" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onLoadedMetadataWith :: (Media -> action) -> Attribute action
onLoadedMetadataWith :: forall action. (Media -> action) -> Attribute action
onLoadedMetadataWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"loadedmetadata" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onLoadStart :: action -> Attribute action
onLoadStart :: forall action. action -> Attribute action
onLoadStart action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"loadstart" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onLoadStartWith :: (Media -> action) -> Attribute action
onLoadStartWith :: forall action. (Media -> action) -> Attribute action
onLoadStartWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"loadstart" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onPause :: action -> Attribute action
onPause :: forall action. action -> Attribute action
onPause action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pause" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onPauseWith :: (Media -> action) -> Attribute action
onPauseWith :: forall action. (Media -> action) -> Attribute action
onPauseWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"pause" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onPlay :: action -> Attribute action
onPlay :: forall action. action -> Attribute action
onPlay action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"play" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onPlayWith :: (Media -> action) -> Attribute action
onPlayWith :: forall action. (Media -> action) -> Attribute action
onPlayWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"play" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onPlaying :: action -> Attribute action
onPlaying :: forall action. action -> Attribute action
onPlaying action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"playing" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onPlayingWith :: (Media -> action) -> Attribute action
onPlayingWith :: forall action. (Media -> action) -> Attribute action
onPlayingWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"playing" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onProgress :: action -> Attribute action
onProgress :: forall action. action -> Attribute action
onProgress action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"progress" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onProgressWith :: (Media -> action) -> Attribute action
onProgressWith :: forall action. (Media -> action) -> Attribute action
onProgressWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"progress" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onRateChange :: action -> Attribute action
onRateChange :: forall action. action -> Attribute action
onRateChange action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"ratechange" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onRateChangeWith :: (Media -> action) -> Attribute action
onRateChangeWith :: forall action. (Media -> action) -> Attribute action
onRateChangeWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"ratechange" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onSeeked :: action -> Attribute action
onSeeked :: forall action. action -> Attribute action
onSeeked action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"seeked" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onSeekedWith :: (Media -> action) -> Attribute action
onSeekedWith :: forall action. (Media -> action) -> Attribute action
onSeekedWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"seeked" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onSeeking :: action -> Attribute action
onSeeking :: forall action. action -> Attribute action
onSeeking action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"seeking" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onSeekingWith :: (Media -> action) -> Attribute action
onSeekingWith :: forall action. (Media -> action) -> Attribute action
onSeekingWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"seeking" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onStalled :: action -> Attribute action
onStalled :: forall action. action -> Attribute action
onStalled action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"stalled" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onStalledWith :: (Media -> action) -> Attribute action
onStalledWith :: forall action. (Media -> action) -> Attribute action
onStalledWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"stalled" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onSuspend :: action -> Attribute action
onSuspend :: forall action. action -> Attribute action
onSuspend action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"suspend" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onSuspendWith :: (Media -> action) -> Attribute action
onSuspendWith :: forall action. (Media -> action) -> Attribute action
onSuspendWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"suspend" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onTimeUpdate :: action -> Attribute action
onTimeUpdate :: forall action. action -> Attribute action
onTimeUpdate action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"timeupdate" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onTimeUpdateWith :: (Media -> action) -> Attribute action
onTimeUpdateWith :: forall action. (Media -> action) -> Attribute action
onTimeUpdateWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"timeupdate" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onVolumeChange :: action -> Attribute action
onVolumeChange :: forall action. action -> Attribute action
onVolumeChange action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"volumechange" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onVolumeChangeWith :: (Media -> action) -> Attribute action
onVolumeChangeWith :: forall action. (Media -> action) -> Attribute action
onVolumeChangeWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"volumechange" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media
onWaiting :: action -> Attribute action
onWaiting :: forall action. action -> Attribute action
onWaiting action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"waiting" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() JSVal
_ -> action
action
onWaitingWith :: (Media -> action) -> Attribute action
onWaitingWith :: forall action. (Media -> action) -> Attribute action
onWaitingWith Media -> action
action = MisoString
-> Decoder () -> (() -> JSVal -> action) -> Attribute action
forall r action.
MisoString
-> Decoder r -> (r -> JSVal -> action) -> Attribute action
on MisoString
"waiting" Decoder ()
emptyDecoder ((() -> JSVal -> action) -> Attribute action)
-> (() -> JSVal -> action) -> Attribute action
forall a b. (a -> b) -> a -> b
$ \() -> Media -> action
action (Media -> action) -> (JSVal -> Media) -> JSVal -> action
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> Media
Media