github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/src/HoverState.elm (about) 1 module HoverState exposing 2 ( HoverState(..) 3 , TooltipPosition(..) 4 , hoveredElement 5 , isHovered 6 ) 7 8 import Browser.Dom 9 import Message.Message exposing (DomID) 10 11 12 type TooltipPosition 13 = Top Float Float 14 | Bottom Float Float Float 15 16 17 type HoverState 18 = NoHover 19 | Hovered DomID 20 | TooltipPending DomID 21 | Tooltip DomID Browser.Dom.Element 22 23 24 hoveredElement : HoverState -> Maybe DomID 25 hoveredElement hoverState = 26 case hoverState of 27 NoHover -> 28 Nothing 29 30 Hovered d -> 31 Just d 32 33 TooltipPending d -> 34 Just d 35 36 Tooltip d _ -> 37 Just d 38 39 40 isHovered : DomID -> HoverState -> Bool 41 isHovered domID hoverState = 42 case hoveredElement hoverState of 43 Nothing -> 44 False 45 46 Just d -> 47 d == domID