uweg / elm-io-spa / Spa.Page


type alias Page model flags msg shared view =
{ init : shared -> flags -> ( model
, IO model msg )
, subscriptions : Maybe (model -> Platform.Sub.Sub (IO model msg))
, view : shared -> model -> view
, flagsChanged : Maybe (shared -> flags -> IO model msg) 
}

create : (shared -> flags -> ( model, IO model msg )) -> (shared -> model -> view) -> Page model flags msg shared view

Creates a new page.

withSubscriptions : (model -> Platform.Sub.Sub (IO model msg)) -> Page model flags msg shared view -> Page model flags msg shared view

Adds subscriptions to page.

onFlagsChanged : (shared -> flags -> IO model msg) -> Page model flags msg shared view -> Page model flags msg shared view

Handles changed flags without initializing again.