mercurymedia/elm-smart-select/6.0.0

NOTE: the latest version is 8.0.0

SingleSelectRemote

A select component for a single selection with remote data.

Architecture

type SmartSelect msg a

The opaque type representing a particular smart select instance.

type Msg a

Opaque type representing cases to be passed to SingleSelectRemote.update

{ selectionMsg : ( a, Msg a ) -> msg
, internalMsg : Msg a -> msg
, idPrefix : String
}
-> SmartSelect msg a

Instantiates and returns a smart select.

  • selectionMsg takes a function that expects a tuple representing the selection and a SinglSelectRemote.Msg msg and returns an externally defined msg for handling selection.
  • internalMsg takes a function that expects a SingleSelectRemote.Msg and returns an externally defined msg.
  • idPrefix takes a string with a unique prefix
{ selected : Maybe a
, optionLabelFn : a -> String
, remoteSettings : RemoteSettings msg a
}
-> SmartSelect msg a
-> Html msg

The smart select view for selecting one option at a time with remote data.

  • selected takes the currently selected entity, if any.
  • optionLabelFn takes a function that expects an instance of the data being selected from and returns a string naming/labeling the instance, i.e. if it is a "Product" being selected, the label may be "Garden Hose".
  • remoteSettings takes the remoteSettings record (see the RemoteSettings type)
viewCustom : Config msg a -> SmartSelect msg a -> Html msg

The smart select view for selecting one option at a time with remote data. You have to pass a custom configuration here.

subscriptions : RemoteSettings msg a -> SmartSelect msg a -> Sub msg

Events external to the smart select to which it is subscribed.

Msg a
-> RemoteSettings msg a
-> SmartSelect msg a
-> ( SmartSelect msg a, Cmd msg )

Update the provided smart select and receive the updated select instance and a cmd to run.

updatePosition : SmartSelect msg a -> ( SmartSelect msg a, Cmd msg )

Triggers an update of the provided smart select's alignment