module MainUpdate exposing (update) import MainMessages exposing (..) import MainModel exposing (..) import Versions import Decisions.Update import ArrayBased.Update update : Msg -> Model -> ( Model, Cmd Msg ) update msg model = case msg of Decisions decisionsMessages -> case model.version of Versions.Decisions decisionsModel -> let ( newDecisionsModel, cmd ) = Decisions.Update.update { postRowsUrl = model.postRowsUrl , postVisibleColumnsUrl = model.postVisibleColumnsUrl , currentPage = model.currentPage } decisionsMessages decisionsModel in ( { model | version = Versions.Decisions newDecisionsModel }, Cmd.map Decisions cmd ) _ -> ( model, Cmd.none ) ArrayBased arrayBasedsMessages -> case model.version of Versions.ArrayBased arrayBasedsModel -> let ( newArrayBasedModel, cmd ) = ArrayBased.Update.update { postRowsUrl = model.postRowsUrl , postVisibleColumnsUrl = model.postVisibleColumnsUrl , currentPage = model.currentPage , initialGetUrl = model.initialGetUrl } arrayBasedsMessages arrayBasedsModel in ( { model | version = Versions.ArrayBased newArrayBasedModel }, Cmd.map ArrayBased cmd ) _ -> ( model, Cmd.none )