{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE OverloadedStrings #-}
module Miso.Native.Element
(
lynx_
, lynxDirect_
, page_
, view_
, scrollView_
, image_
, list_
, listItem_
, text_
, frame_
) where
import Miso.JSON (toJSON)
import Miso.Native.Element.List (ListOptions(..))
import Miso.Property (textProp, prop)
import Miso.String (MisoString)
import Miso.Types (View, Attribute, node, nodeDirectEvents, Namespace(HTML))
lynx_ :: MisoString -> [Attribute model action] -> [View context model action] -> View context model action
lynx_ :: forall model action context.
MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynx_ = Namespace
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
Namespace
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
node Namespace
HTML
lynxDirect_
:: [MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynxDirect_ :: forall model action context.
[MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynxDirect_ [MisoString]
direct MisoString
tag [Attribute model action]
attrs [View context model action]
kids = Namespace
-> MisoString
-> [Attribute model action]
-> [MisoString]
-> [View context model action]
-> View context model action
forall model action context.
Namespace
-> MisoString
-> [Attribute model action]
-> [MisoString]
-> [View context model action]
-> View context model action
nodeDirectEvents Namespace
HTML MisoString
tag [Attribute model action]
attrs [MisoString]
direct [View context model action]
kids
page_ :: [Attribute model action] -> [View context model action] -> View context model action
page_ :: forall model action context.
[Attribute model action]
-> [View context model action] -> View context model action
page_ = MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynx_ MisoString
"page"
scrollView_ :: [Attribute model action] -> [View context model action] -> View context model action
scrollView_ :: forall model action context.
[Attribute model action]
-> [View context model action] -> View context model action
scrollView_ = [MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
[MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynxDirect_
[ MisoString
"scroll", MisoString
"scrolltoupper", MisoString
"scrolltolower", MisoString
"scrollend", MisoString
"contentsizechanged" ]
MisoString
"scroll-view"
view_ :: [Attribute model action] -> [View context model action] -> View context model action
view_ :: forall model action context.
[Attribute model action]
-> [View context model action] -> View context model action
view_ = MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynx_ MisoString
"view"
image_ :: MisoString -> [Attribute model action] -> View context model action
image_ :: forall model action context.
MisoString -> [Attribute model action] -> View context model action
image_ MisoString
url [Attribute model action]
attrs = [MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
[MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynxDirect_
[ MisoString
"load", MisoString
"error", MisoString
"startplay", MisoString
"currentloopcomplete", MisoString
"finalloopcomplete" ]
MisoString
"image" (MisoString -> MisoString -> Attribute model action
forall model action.
MisoString -> MisoString -> Attribute model action
textProp MisoString
"src" MisoString
url Attribute model action
-> [Attribute model action] -> [Attribute model action]
forall a. a -> [a] -> [a]
: [Attribute model action]
attrs) []
listItem_ :: [Attribute model action] -> [View context model action] -> View context model action
listItem_ :: forall model action context.
[Attribute model action]
-> [View context model action] -> View context model action
listItem_ = MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynx_ MisoString
"list-item"
list_ :: ListOptions -> [Attribute model action] -> [View context model action] -> View context model action
list_ :: forall model action context.
ListOptions
-> [Attribute model action]
-> [View context model action]
-> View context model action
list_ ListOptions {Int
ListType
ScrollOrientation
listType_ :: ListType
spanCount_ :: Int
scrollOrientation_ :: ScrollOrientation
listType_ :: ListOptions -> ListType
scrollOrientation_ :: ListOptions -> ScrollOrientation
spanCount_ :: ListOptions -> Int
..} [Attribute model action]
attrs = [MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
[MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynxDirect_
[ MisoString
"scroll", MisoString
"scrolltoupper", MisoString
"scrolltolower", MisoString
"scrollstatechange", MisoString
"layoutcomplete", MisoString
"snap" ]
MisoString
"list" ([Attribute model action]
forall {model} {action}. [Attribute model action]
defaults [Attribute model action]
-> [Attribute model action] -> [Attribute model action]
forall a. Semigroup a => a -> a -> a
<> [Attribute model action]
attrs)
where
defaults :: [Attribute model action]
defaults =
[ MisoString -> Value -> Attribute model action
forall a model action.
ToJSON a =>
MisoString -> a -> Attribute model action
prop MisoString
"list-type" (ListType -> Value
forall a. ToJSON a => a -> Value
toJSON ListType
listType_)
, MisoString -> Value -> Attribute model action
forall a model action.
ToJSON a =>
MisoString -> a -> Attribute model action
prop MisoString
"span-count" (Int -> Value
forall a. ToJSON a => a -> Value
toJSON Int
spanCount_)
, MisoString -> Value -> Attribute model action
forall a model action.
ToJSON a =>
MisoString -> a -> Attribute model action
prop MisoString
"scroll-orientation" (ScrollOrientation -> Value
forall a. ToJSON a => a -> Value
toJSON ScrollOrientation
scrollOrientation_)
]
text_ :: [Attribute model action] -> [View context model action] -> View context model action
text_ :: forall model action context.
[Attribute model action]
-> [View context model action] -> View context model action
text_ = [MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
[MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynxDirect_ [ MisoString
"layout", MisoString
"selectionchange" ] MisoString
"text"
frame_ :: [Attribute model action] -> View context model action
frame_ :: forall model action context.
[Attribute model action] -> View context model action
frame_ [Attribute model action]
attrs = [MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
forall model action context.
[MisoString]
-> MisoString
-> [Attribute model action]
-> [View context model action]
-> View context model action
lynxDirect_ [ MisoString
"load", MisoString
"loadmetrics" ] MisoString
"frame" [Attribute model action]
attrs []