SeqSim/src/SeqSim/Update.elm

26 lines
845 B
Elm

module SeqSim.Update exposing (update)
import SeqSim.Model exposing (Model, Msg(..))
update : Msg -> Model -> (Model, Cmd Msg)
update msg m =
case msg of
AddProgram -> ({ m | programs = m.programs ++ [""] }, Cmd.none)
ChangeProgram i ns ->
( { m
| programs = List.indexedMap (\j n -> if i == j then ns else n) m.programs
, selected = Nothing
}
, Cmd.none
)
DeleteProgram i ->
( { m
| programs = List.take i m.programs ++ List.drop (i+1) m.programs
, selected = Nothing
}
, Cmd.none
)
ChangeVariables s ->
( { m | variables = s, selected = Nothing }, Cmd.none )
SelectOutcome i ->
( { m | selected = Just i }, Cmd.none )