Aq
Size: a a a
Aq
Aq
AP
main =
Html.beginnerProgram
{ model =
ByteField.init 80
<> ByteField.init 160
<> ByteField.init 240
<> CheckBoxField.init True
, update =
ByteField.update
<&> ByteField.update
<&> ByteField.update
<&> CheckBoxField.update
, view = view
}
bindForm =
bind RGBBox
ByteField.getValue
|> with ByteField.getValue
|> with ByteField.getValue
|> with CheckBoxField.getValue
view model =
let
box =
bindForm model
in
Html.div []
[ Html.form [] <|
(labeled "R" ByteField.view
<: labeled "G" ByteField.view
<:: labeled "B" ByteField.view
<:: labeled "Rounded"
CheckBoxField.view
)
model
, RGBBox.view box
]
AP
I
<::
что бы []
не писать? Или зачем?AP
ByteField.update
|> updateWith ByteField.update
|> updateWith ByteField.update
|> updateWith CheckBoxField.update
AP
(<::)
позволяет скомпозить из вьюх, которые работают с автоматической моделью вида (((m1, m2), m3), m4)
, получить плоский список List (Html msg)
вместо (((Html msg, Html msg), Html msg), Html.msg)
I
AP
<:
и <::
я пока не прибумал имён, чтобы выглядело похоже на биндинг с bind
+ with
AP
Вл
I
AP
bindForm
.AP
blabla.Many
AP
AP
Left (Right (Ix 3 (Left (Left (OnChange "foo")))))
, что несколько затрудняет пользование отладчиком :)I