From d6017af7089d2b56c0d3d210260f4f0ccb7dd261 Mon Sep 17 00:00:00 2001 From: Anthony Scopatz Date: Wed, 16 Oct 2019 19:00:51 -0400 Subject: [PATCH] status --- xonsh/webconfig/elm-src/App.elm | 39 ++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/xonsh/webconfig/elm-src/App.elm b/xonsh/webconfig/elm-src/App.elm index 4cf7f4a07..3cfe6607f 100644 --- a/xonsh/webconfig/elm-src/App.elm +++ b/xonsh/webconfig/elm-src/App.elm @@ -1,23 +1,32 @@ import Browser import Html exposing (..) +import Html.Events exposing (onClick) +import String import Json.Decode import Json.Decode as Decode import Json.Encode as Encode import Bootstrap.Tab as Tab import Bootstrap.CDN as CDN import Bootstrap.Grid as Grid +import Bootstrap.ListGroup as ListGroup -- example with animation, you can drop the subscription part when not using animations type alias Model = - { tabState : Tab.State } + { tabState : Tab.State + , promptValue : String + } init : ( Model, Cmd Msg ) init = - ( { tabState = Tab.initialState }, Cmd.none ) + ( { tabState = Tab.initialState + , promptValue = "$" + } + , Cmd.none ) type Msg = TabMsg Tab.State + | PromptSelect String update : Msg -> Model -> ( Model, Cmd msg ) update msg model = @@ -26,18 +35,36 @@ update msg model = ( { model | tabState = state } , Cmd.none ) + PromptSelect value -> + ( { model | promptValue = value } + , Cmd.none + ) view : Model -> Html Msg view model = Tab.config TabMsg --|> Tab.withAnimation -- remember to wire up subscriptions when using this option - |> Tab.right + |> Tab.center |> Tab.items [ Tab.item - { id = "tabItem1" - , link = Tab.link [] [ text "Tab 1" ] - , pane = Tab.pane [] [ text "Tab 1 Content" ] + { id = "tabItemPrompt" + , link = Tab.link [] [ text "Prompt" ] + , pane = Tab.pane [] [ + text ("Current Prompt: " ++ model.promptValue) + , ListGroup.custom [ + ListGroup.button + [ ListGroup.attrs [ onClick (PromptSelect "$") ] + , ListGroup.info + ] + [ text "List item 1" ] + , ListGroup.button + [ ListGroup.attrs [ onClick (PromptSelect "#") ] + , ListGroup.warning + ] + [ text "List item 2" ] + ] + ] } , Tab.item { id = "tabItem2"