Cette page couvre Elm 0.18

Main

Le programme principal doit être branché au module Joueurs que nous avons créé.

Il nous faut créer les liens suivants :

Main Messages  --->    Players Messages
Main Models    --->    Players Models
Main Update    --->    Players Update

Messages Main

Modifiez src/Messages.elm pour inclure les messages Joueurs :

module Messages exposing (..)

import Players.Messages


type Msg
    = PlayersMsg Players.Messages.Msg

Modèles Main

Modifiez src/Models.elm pour inclure les Joueurs :

module Models exposing (..)

import Players.Models exposing (Player)


type alias Model =
    { players : List Player
    }


initialModel : Model
initialModel =
    { players = [ Player "1" "Sam" 1 ]
    }

Pour l'instant, nous avons codé un joueur en dur.

Mise à jour Main

Modifiez src/Update.elm comme ceci :

module Update exposing (..)

import Messages exposing (Msg(..))
import Models exposing (Model)
import Players.Update


update : Msg -> Model -> ( Model, Cmd Msg )
update msg model =
    case msg of
        PlayersMsg subMsg ->
            let
                ( updatedPlayers, cmd ) =
                    Players.Update.update subMsg model.players
            in
                ( { model | players = updatedPlayers }, Cmd.map PlayersMsg cmd )

Nous suivons bien l'architecture Elm :

  • tous les PlayersMsg sont redirigés vers Players.Update.
  • on extrait le résultat pour Players.Update grâce au filtrage par motif (pattern matching)
  • on retourne le modèle avec la liste des joueurs mise à jour et les commandes qui doivent être exécutées.

results matching ""

    No results matching ""