port module Utils.View exposing (..)
import Html exposing (..)
import Html.Attributes exposing (class, href, style, title)
import Html.Events exposing (defaultOptions, onWithOptions)
import Json.Decode as Json
import Messages exposing (Msg(..))
-- Set the document title
port documentTitle : String -> Cmd a
-- Wrap the given content in a row
row : List (Html Msg) -> Html Msg
row columns =
  div [ class "row "] columns
-- Display the given content in a full row
fullRow : List (Html Msg) -> Html Msg
fullRow content =
  row
    [ div
        [ class "col-xs-12" ]
        content
    ]
-- Create a navigation link
navLink : String -> String -> List (Attribute Msg) -> Html Msg
navLink url linkText attrs =
  let
    attributes =
      List.concat 
        [ [ title linkText
          , onWithOptions
              "click" { defaultOptions | preventDefault = True }
              <| Json.succeed
              <| NavTo url
          , href url
          ]
          , attrs
        ]
  in
    a attributes [ text linkText ]