Html with context
applyContext : ctx -> ContextHtml ctx msg -> Html msg
Apply context to ContextHtml
view : Html msg
view =
let
context = ... -- make Context
in
applyContext context viewChild
viewChild : ContextHtml Context msg
viewChild = ...
withContext : (ctx -> Html msg) -> ContextHtml ctx msg
Create ContextHtml
view : ContextHtml ctx msg
view =
withContext <| \ctx -> Html.div [] []
wrapHtml : Html msg -> ContextHtml ctx msg
Wrap Html
to ContextHtml
view : ContextHtml ctx msg
view =
div [] [ wrapHtml <| viewCommon "Text" ]
viewCommon : String -> Html msg
viewCommon = ...
useContext : (ctx -> a) -> (a -> ContextHtml ctx msg) -> ContextHtml ctx msg
Use a context value
type alias Context =
{ text : String }
view =
useContext .text <| \text_ -> div [] [ text text_ ]
When Context is Opaque type
-- Context.elm
type Context
= Context { text : String }
-- Expose Selector accessing context value
textSelector (Context { text }) =
text
textWithPrefixSelector (Context { text }) =
"prefix_" ++ text
-- Main.elm
view1 =
useContext textSelector <| \text_ -> div [] [ text text_ ]
view2 =
useContext textWithPrefixSelector <| \text_ -> div [] [ text text_ ]
useContext2 : (ctx -> a) -> (ctx -> b) -> (a -> b -> ContextHtml ctx msg) -> ContextHtml ctx msg
Use context values
type alias Context =
{ text : String
, color : String
}
view =
useContext2 .text .color <| \text_ color -> div [ style "color" color ] [ text text_ ]
useContext3 : (ctx -> a) -> (ctx -> b) -> (ctx -> c) -> (a -> b -> c -> ContextHtml ctx msg) -> ContextHtml ctx msg
useContext4 : (ctx -> a) -> (ctx -> b) -> (ctx -> c) -> (ctx -> d) -> (a -> b -> c -> d -> ContextHtml ctx msg) -> ContextHtml ctx msg
useContext5 : (ctx -> a) -> (ctx -> b) -> (ctx -> c) -> (ctx -> d) -> (ctx -> e) -> (a -> b -> c -> d -> e -> ContextHtml ctx msg) -> ContextHtml ctx msg
useContext6 : (ctx -> a) -> (ctx -> b) -> (ctx -> c) -> (ctx -> d) -> (ctx -> e) -> (ctx -> f) -> (a -> b -> c -> d -> e -> f -> ContextHtml ctx msg) -> ContextHtml ctx msg
useContext7 : (ctx -> a) -> (ctx -> b) -> (ctx -> c) -> (ctx -> d) -> (ctx -> e) -> (ctx -> f) -> (ctx -> g) -> (a -> b -> c -> d -> e -> f -> g -> ContextHtml ctx msg) -> ContextHtml ctx msg
useContext8 : (ctx -> a) -> (ctx -> b) -> (ctx -> c) -> (ctx -> d) -> (ctx -> e) -> (ctx -> f) -> (ctx -> g) -> (ctx -> h) -> (a -> b -> c -> d -> e -> f -> g -> h -> ContextHtml ctx msg) -> ContextHtml ctx msg
text : String -> ContextHtml ctx msg
node : String -> List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
map : (a -> msg) -> ContextHtml ctx a -> ContextHtml ctx msg
h1 : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
h2 : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
h3 : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
h4 : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
h5 : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
h6 : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
div : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
p : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
hr : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
pre : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
blockquote : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
span : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
a : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
code : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
em : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
strong : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
i : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
b : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
u : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
sub : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
sup : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
br : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
ol : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
ul : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
li : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
dl : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
dt : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
dd : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
img : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
iframe : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
canvas : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
math : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
form : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
input : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
textarea : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
button : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
select : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
option : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
section : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
nav : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
article : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
aside : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
header : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
footer : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
address : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
main_ : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
figure : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
figcaption : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
table : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
caption : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
colgroup : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
col : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
tbody : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
thead : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
tfoot : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
tr : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
td : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
th : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
fieldset : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
legend : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
label : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
datalist : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
optgroup : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
output : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
progress : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
meter : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
audio : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
video : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
source : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
track : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
embed : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
object : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
param : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
ins : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
del : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
small : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
cite : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
dfn : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
abbr : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
time : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
var : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
samp : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
kbd : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
s : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
q : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
mark : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
ruby : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
rt : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
rp : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
bdi : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
bdo : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
wbr : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
details : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
summary : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
menuitem : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg
menu : List (Html.Attribute msg) -> List (ContextHtml ctx msg) -> ContextHtml ctx msg