Show alert count behind group

Signed-off-by: stuart nelson <stuartnelson3@gmail.com>
This commit is contained in:
stuart nelson 2019-05-07 10:55:41 +02:00
parent 7e0862f67c
commit 072365a44e
1 changed files with 45 additions and 31 deletions

View File

@ -102,39 +102,53 @@ alertGroup activeId activeLabels labels alerts =
let let
groupActive = groupActive =
activeLabels == Just labels activeLabels == Just labels
labels_ =
case labels of
[] ->
[ span [ class "btn btn-secondary mr-1 mb-3" ] [ text "Not grouped" ] ]
_ ->
List.map
(\( key, value ) ->
div [ class "btn-group mr-1 mb-3" ]
[ span
[ class "btn text-muted"
, style "user-select" "initial"
, style "-moz-user-select" "initial"
, style "-webkit-user-select" "initial"
, style "border-color" "#5bc0de"
]
[ text (key ++ "=\"" ++ value ++ "\"") ]
, button
[ class "btn btn-outline-info"
, onClick (AlertView.addLabelMsg ( key, value ))
, title "Filter by this label"
]
[ text "+" ]
]
)
labels
expandButton =
expandAlertGroup groupActive labels
|> Html.map (\msg -> MsgForAlertList (SetGroup msg))
alertCount =
List.length alerts
alertText =
if alertCount == 1 then
String.fromInt alertCount ++ " alert"
else
String.fromInt alertCount ++ " alerts"
alertEl =
[ span [ class "ml-1 mb-0" ] [ text alertText ] ]
in in
div [] div []
[ div [] [ div [] (expandButton :: labels_ ++ alertEl)
((expandAlertGroup groupActive labels
|> Html.map (\msg -> MsgForAlertList (SetGroup msg))
)
:: (case labels of
[] ->
[ span [ class "btn btn-secondary mr-1 mb-3" ] [ text "Not grouped" ] ]
_ ->
List.map
(\( key, value ) ->
div [ class "btn-group mr-1 mb-3" ]
[ span
[ class "btn text-muted"
, style "user-select" "initial"
, style "-moz-user-select" "initial"
, style "-webkit-user-select" "initial"
, style "border-color" "#5bc0de"
]
[ text (key ++ "=\"" ++ value ++ "\"") ]
, button
[ class "btn btn-outline-info"
, onClick (AlertView.addLabelMsg ( key, value ))
, title "Filter by this label"
]
[ text "+" ]
]
)
labels
)
)
, if groupActive then , if groupActive then
ul [ class "list-group mb-0 ml-5" ] (List.map (AlertView.view labels activeId) alerts) ul [ class "list-group mb-0 ml-5" ] (List.map (AlertView.view labels activeId) alerts)