summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-09-13 16:51:08 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-09-13 16:51:08 +0200
commit9ec5806bc721734923ff4c93f7ef1f97a6a03248 (patch)
treec80b737a8bf0cc6e311c4fe7256f68e7ea8e158a /src/ElmModule/Update.elm
Starting an browser extension for TO...
Diffstat (limited to 'src/ElmModule/Update.elm')
-rw-r--r--src/ElmModule/Update.elm38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/ElmModule/Update.elm b/src/ElmModule/Update.elm
new file mode 100644
index 0000000..18b2077
--- /dev/null
+++ b/src/ElmModule/Update.elm
@@ -0,0 +1,38 @@
+module ElmModule.Update exposing (update)
+
+-- Elm -------------------------------------------------------------------------
+
+-- Main Menu -------------------------------------------------------------------
+import Struct.Event
+import Struct.Model
+
+import Update.HandleServerReply
+import Update.SelectTab
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+update : (
+ Struct.Event.Type ->
+ Struct.Model.Type ->
+ (Struct.Model.Type, (Cmd Struct.Event.Type))
+ )
+update event model =
+ let
+ new_model = (Struct.Model.clear_error model)
+ in
+ case event of
+ Struct.Event.None -> (model, Cmd.none)
+
+ (Struct.Event.Failed err) ->
+ (
+ (Struct.Model.invalidate err new_model),
+ Cmd.none
+ )
+
+ (Struct.Event.ServerReplied result) ->
+ (Update.HandleServerReply.apply_to model result)