PerformanceIMMO / elm-utils / Perfimmo.Form.FormField.FormMultiSelect

FormMultiSelect


type FormMultiSelect decoration
    = FormMultiSelect Multiselect.Model (List (Perfimmo.Form.FormField.Common.FormFieldInfo decoration))

Multiselect DOM backend element - can search a value - can select several values


type alias AvailableValues =
List ( String
, String 
}

Values available in the Multiselect


type alias SelectTag =
String

Give a name to the Multiselect


type alias SelectedValues =
List ( String
, String 
}

Values that are selected

init : AvailableValues -> SelectTag -> List (Perfimmo.Form.FormField.Common.FormFieldInfo decoration) -> FormMultiSelect decoration

initialize the Multiselect

FormMultiSelect.init [("1", "toto"), ("2", "titi")] "myMultiSelect" [FieldIsMandatory]

selectValues : SelectedValues -> FormMultiSelect decoration -> FormMultiSelect decoration

set several values as selected from availables values in the Multiselect

multiselect = FormMultiSelect.init [("1", "toto"), ("2", "titi")] "myMultiSelect" []
FormMultiSelect.selectValues [("2", "toto")] multiselect

update : Multiselect.Msg -> FormMultiSelect decoration -> ( FormMultiSelect decoration, Platform.Cmd.Cmd Multiselect.Msg, Maybe Multiselect.OutMsg )

update Multiselect with specific event (tagged as Msg). Should be use with Multiselect.view.

multiselect = FormMultiSelect.init [("1", "toto"), ("2", "titi")] "myMultiSelect" []
(newSelect, cmd, out) = FormMultiSelect.update (Multiselect.RemoveItem ("1", "toto")) multiselect

getSelectedValues : FormMultiSelect decoration -> SelectedValues

getSelectedValues

addInfo : Perfimmo.Form.FormField.Common.FormFieldInfo decoration -> FormMultiSelect decoration -> FormMultiSelect decoration

addInfo

removeInfo : Perfimmo.Form.FormField.Common.FormFieldInfo decoration -> FormMultiSelect decoration -> FormMultiSelect decoration

removeInfo

getInfos : FormMultiSelect decoration -> List (Perfimmo.Form.FormField.Common.FormFieldInfo decoration)

getInfos

view : FormMultiSelect decoration -> Html.Styled.Html Multiselect.Msg

give a Html view of the component

subscriptions : FormMultiSelect decoration -> Platform.Sub.Sub Multiselect.Msg

Allow the unfocus multiselect DOM Element

getMultiselectModel : FormMultiSelect decoration -> Multiselect.Model

allow to handle Multiselect things that is not handled by FormMultiSelect