mirror of
https://github.com/NoRedInk/noredink-ui.git
synced 2024-12-15 17:02:51 +03:00
1647b2f358
There are places where we need the select to be as wide as possible. Since it seems like a sensible default to have all the selects expand, we take that approach. If we find out that this is harder, we can release use the old version.
75 lines
1.2 KiB
Elm
75 lines
1.2 KiB
Elm
module Examples.Select
|
|
exposing
|
|
( Msg
|
|
, State
|
|
, Value
|
|
, example
|
|
, init
|
|
, update
|
|
)
|
|
|
|
{-|
|
|
|
|
@docs Msg
|
|
@docs State
|
|
@docs Value
|
|
@docs example
|
|
@docs init
|
|
@docs update
|
|
|
|
-}
|
|
|
|
import Html
|
|
import ModuleExample exposing (Category(..), ModuleExample)
|
|
import Nri.Ui.Select.V2
|
|
|
|
|
|
{-| -}
|
|
type alias Value =
|
|
String
|
|
|
|
|
|
{-| -}
|
|
type Msg
|
|
= ConsoleLog String
|
|
|
|
|
|
{-| -}
|
|
type alias State value =
|
|
Nri.Ui.Select.V2.Config value
|
|
|
|
|
|
{-| -}
|
|
example : (Msg -> msg) -> State Value -> ModuleExample msg
|
|
example parentMessage state =
|
|
{ filename = "ui/src/Nri/Select.elm"
|
|
, category = Inputs
|
|
, content =
|
|
[ Html.map (parentMessage << ConsoleLog) (Nri.Ui.Select.V2.view state)
|
|
]
|
|
}
|
|
|
|
|
|
{-| -}
|
|
init : State Value
|
|
init =
|
|
{ current = ""
|
|
, choices =
|
|
[ { label = "Tacos", value = "Tacos" }
|
|
, { label = "Burritos", value = "Burritos" }
|
|
, { label = "Enchiladas", value = "Enchiladas" }
|
|
]
|
|
}
|
|
|
|
|
|
{-| -}
|
|
update : Msg -> State Value -> ( State Value, Cmd Msg )
|
|
update msg state =
|
|
case msg of
|
|
ConsoleLog message ->
|
|
let
|
|
_ =
|
|
Debug.log "SelectExample" message
|
|
in
|
|
( state, Cmd.none )
|