I could give you the map function that does that given the current state
structure but I have absolutely no doubt that you can write it yourself.
Zero doubt. :)

I'll just give you this hint: if you don't want toggling, it is way simpler
and has no `if` in it. :)


On Sat, Sep 17, 2016 at 1:24 PM, Roni Hacohen <[email protected]> wrote:

> Cool!
>
> How can I implement a single selection ? :-)
>
> On Saturday, September 17, 2016 at 1:10:43 PM UTC+3, Peter Damoc wrote:
>>
>> Yes, with a map:
>>
>> case msg of
>>     DeploySelected deployment ->
>>         let
>>             toggleSelect (d, s) =
>>                 if d == deployment then
>>                     not s
>>                 else
>>                     s
>>         in
>>             { model | deployments = List.map toggleSelect model.deployments
>> }
>>
>>
>>
>> The above approach assumes multiple selections and a toggle state where
>> if you click again on something you deselect it.
>>
>>
>>
>>
>> On Sat, Sep 17, 2016 at 12:51 PM, Roni Hacohen <[email protected]>
>> wrote:
>>
>>> Peter, thank you for your answer!
>>>
>>> I was trying to do it that way, the problem is I'm not sure how to set
>>> the selected deployment as True when selected.
>>> How can I find an element in a List and change it? with a map maybe?
>>>
>>> On Saturday, September 17, 2016 at 12:43:38 PM UTC+3, Peter Damoc wrote:
>>>>
>>>> viewDeploy: (String, Bool) -> Html Msg
>>>> viewDeploy (deployment, isSelected) =
>>>>     li
>>>>       [ classList [("selected", isSelected)],  onClick (DeploySelected
>>>> deployment) ]
>>>>       [ text deployment ]
>>>>
>>>> viewDeployments : List (String, Bool) -> Html Msg
>>>> viewDeployments deployments =
>>>>     ul [] ( List.map viewDeploy deployments )
>>>>
>>>>
>>>> This is one way to do it.
>>>>
>>>>
>>>> On Sat, Sep 17, 2016 at 12:14 PM, Roni Hacohen <[email protected]>
>>>> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I'm wondering what is the best solution for my problem,
>>>>>
>>>>> I have a List of deployments, once the user choses a deployment he
>>>>> will get more details about it,
>>>>> the view looks like this:
>>>>>
>>>>> viewDeploy: String -> Html Msg
>>>>> viewDeploy deployment =
>>>>>     li
>>>>>       [onClick (DeploySelected deployment)] [ text deployment ]
>>>>>
>>>>> viewDeployments : List String -> Html Msg
>>>>> viewDeployments deployments =
>>>>>     ul [] ( List.map viewDeploy deployments )
>>>>>
>>>>>
>>>>> Now, I want to add a classList to the li that will change its color,
>>>>> what is the best way to mark that deployment as selected?
>>>>>
>>>>> Thanks!
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Elm Discuss" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> There is NO FATE, we are the creators.
>>>> blog: http://damoc.ro/
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Elm Discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> There is NO FATE, we are the creators.
>> blog: http://damoc.ro/
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Elm Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
There is NO FATE, we are the creators.
blog: http://damoc.ro/

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to