From c9d4e8ec460e7d59b9f963ff6fe506a1ff4d75aa Mon Sep 17 00:00:00 2001 From: Eike Kettner Date: Thu, 17 Dec 2020 21:02:23 +0100 Subject: [PATCH] Fix selecting items in multi-edit mode For some to me unknown reason, changing the dom slightly (removing hidden elements), resulted in a different event dispatching. The cards while being attached to an event would reload the page as if the event is propagated. This happned by commit #8d7b3c7d in Home/View.elm. Adding the hidden nodes back into the dom, "fixed" it. This change now gives a better fix in assuring that every anchor has either a sensible `href` or an event and a `href #`. --- modules/webapp/src/main/elm/Comp/ItemCard.elm | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/webapp/src/main/elm/Comp/ItemCard.elm b/modules/webapp/src/main/elm/Comp/ItemCard.elm index 0de41d9e..e5eb1295 100644 --- a/modules/webapp/src/main/elm/Comp/ItemCard.elm +++ b/modules/webapp/src/main/elm/Comp/ItemCard.elm @@ -148,10 +148,13 @@ view cfg settings model item = cardAction = case cfg.selection of Data.ItemSelection.Inactive -> - Page.href (ItemDetailPage item.id) + [ Page.href (ItemDetailPage item.id) + ] Data.ItemSelection.Active ids -> - onClick (ToggleSelectItem ids item.id) + [ onClick (ToggleSelectItem ids item.id) + , href "#" + ] selectedDimmer = div @@ -162,8 +165,7 @@ view cfg settings model item = ] [ div [ class "content" ] [ a - [ cardAction - ] + cardAction [ i [ class "huge icons purple" ] [ i [ class "big circle outline icon" ] [] , i [ class "check icon" ] [] @@ -311,7 +313,7 @@ notesContent settings item = ] -mainContent : Attribute Msg -> String -> Bool -> UiSettings -> ViewConfig -> ItemLight -> Html Msg +mainContent : List (Attribute Msg) -> String -> Bool -> UiSettings -> ViewConfig -> ItemLight -> Html Msg mainContent cardAction cardColor isConfirmed settings _ item = let dirIcon = @@ -327,10 +329,7 @@ mainContent cardAction cardColor isConfirmed settings _ item = settings.cardSubtitleTemplate.template in a - [ class "content" - , href "#" - , cardAction - ] + (class "content" :: cardAction) [ if fieldHidden Data.Fields.Direction then div [ class "header" ] [ IT.render titlePattern item |> text @@ -419,7 +418,7 @@ mainTagsAndFields settings item = (renderFields ++ renderTags) -previewImage : UiSettings -> Attribute Msg -> Model -> ItemLight -> Html Msg +previewImage : UiSettings -> List (Attribute Msg) -> Model -> ItemLight -> Html Msg previewImage settings cardAction model item = let mainAttach = @@ -431,10 +430,11 @@ previewImage settings cardAction model item = |> Maybe.withDefault (Api.itemBasePreviewURL item.id) in a - [ class "image ds-card-image" - , Data.UiSettings.cardPreviewSize settings - , cardAction - ] + ([ class "image ds-card-image" + , Data.UiSettings.cardPreviewSize settings + ] + ++ cardAction + ) [ img [ class "preview-image" , src previewUrl