# HG changeset patch # User Benjamin Weber # Date 1666779757 -7200 # Wed Oct 26 12:22:37 2022 +0200 # Node ID 666157f0aeaa15eee98fd190f4f98c14b708b0d0 # Parent 14c248fe4cb2283e9b338837a0e7a6119718ace9 show scrapped condition while also showing rework and reqs complete conditions diff --git a/src/Views.elm b/src/Views.elm --- a/src/Views.elm +++ b/src/Views.elm @@ -137,11 +137,18 @@ squareToColor sq = let - incompleteReqs bc = - [ Background.color grey, Border.width 1, Border.color bc ] + borderType scr = + if scr then + Border.dashed - completeReqs bc = - [ Border.width 1, Border.color bc ] + else + Border.solid + + incompleteReqs bc scr = + [ Background.color grey, Border.width 1, Border.color bc, borderType scr ] + + completeReqs bc scr = + [ Border.width 1, Border.color bc, borderType scr ] optionalMega x = case x of @@ -152,11 +159,11 @@ Just n in case sq of - Square x Black bc -> - ( incompleteReqs bc, optionalMega x ) + Square x Black bc scr -> + ( incompleteReqs bc scr, optionalMega x ) - Square x White bc -> - ( completeReqs bc, optionalMega x ) + Square x White bc scr -> + ( completeReqs bc scr, optionalMega x ) PhantomSquare -> ( [], Nothing ) @@ -196,6 +203,10 @@ Color +type alias BorderType msg = + Element.Attribute msg + + type SquareVariant = Normal | Mega Int @@ -207,7 +218,7 @@ type Square - = Square SquareVariant SquareFilling BorderColor + = Square SquareVariant SquareFilling BorderColor Scrapped | PhantomSquare @@ -287,14 +298,21 @@ Black -toColorCombo : ( Scrapped, RequirementsCondition, ReworkCondition ) -> ( SquareFilling, BorderColor ) +toBorderType : Scrapped -> BorderType msg +toBorderType scr = + case scr of + True -> + Border.dashed + + False -> + Border.solid + + +toColorCombo : ( Scrapped, RequirementsCondition, ReworkCondition ) -> ( SquareFilling, BorderColor, Scrapped ) toColorCombo ( scr, req, rw ) = ( toFillingColor req - , if scr then - red - - else - toBorderColor rw + , toBorderColor rw + , scr ) @@ -316,8 +334,8 @@ counts = List.map (\( x, ys ) -> ( toColorCombo <| getThreeConditions x, (\z -> z + 1) <| List.length ys )) groups - perGroup ( ( sf, bc ), y ) = - List.concatMap (\( bs, n ) -> List.repeat n <| Square (Mega bs) sf bc) <| simplifyNumber smaller5 y + perGroup ( ( sf, bc, scr ), y ) = + List.concatMap (\( bs, n ) -> List.repeat n <| Square (Mega bs) sf bc scr) <| simplifyNumber smaller5 y in List.concatMap perGroup counts