You can paste the following into http://elm-lang.org/try :


*import Html exposing (text, div, input, button, p, span)*
*import Html.App exposing (beginnerProgram)*
*import Html.Attributes exposing (..)*
*import Html.Events exposing (onInput, onClick)*


*main =*
*    beginnerProgram*
*        { model = { state = WaitingForSubmit, inputStr = "", 
submittedValue = "" }*
*        , update = update*
*        , view = view*
*        }*



*-- MODEL*


*type alias Model =*
*    { state : State*
*    , inputStr : String*
*    , submittedValue : String*
*    }*


*type State*
*    = WaitingForSubmit*
*    | WaitingForConfirm*



*-- UPDATE*


*type Msg*
*    = NewContent String*
*    | Submit*
*    | Cancel*
*    | Confirm*


*update msg model =*
*    case msg of*
*        NewContent str ->*
*            { model | inputStr = str }*

*        Submit ->*
*            { model | state = WaitingForConfirm }*

*        Cancel ->*
*            { model | state = WaitingForSubmit }*

*        Confirm ->*
*            { model*
*                | state = WaitingForSubmit*
*                , submittedValue = model.inputStr*
*            }*



*-- VIEW*


*view { state, inputStr, submittedValue } =*
*    div []*
*        [ input [ onInput NewContent ] []*
*        , case state of*
*            WaitingForSubmit ->*
*                span []*
*                    [ button [ disabled (inputStr == ""), onClick Submit ]*
*                        [ text "Submit" ]*
*                    ]*

*            WaitingForConfirm ->*
*                span []*
*                    [ button [ onClick Cancel ] [ text "Cancel" ]*
*                    , button [ onClick Confirm ] [ text "Confirm" ]*
*                    ]*
*        , p [] [ text ("Submitted value: " ++ submittedValue) ]*
*        ]*

A question: Is there a way to clear the input field (on confirm) without 
using ports?

On Thursday, October 20, 2016 at 12:48:40 PM UTC+2, António Ramos wrote:
>
>
> http://blog.krawaller.se/posts/composition-in-cyclejs-choo-react-and-angular2/
>
> 2016-10-20 11:48 GMT+01:00 António Ramos <[email protected] <javascript:>
> >:
>
>> can anyone dare to code the same app in elm?
>>
>> http://blog.krawaller.se/posts/composition-in-cyclejs-choo-react-and-angular2/~
>> i would like to see it and learn from you guys because i just "hate" 
>> javascript...
>>
>> Regards
>> António
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to