Skip to content

Commit 30925f3

Browse files
author
Madeline Trotter
authored
Fix table checkbox padding issues (#99)
* Fix table checkbox padding issues * Simplify maybe logic
1 parent 2206af9 commit 30925f3

File tree

2 files changed

+21
-15
lines changed

2 files changed

+21
-15
lines changed

src/Lumi/Components/Table.purs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -671,7 +671,7 @@ styles = jss
671671
{ position: "sticky"
672672
, left: "0"
673673
}
674-
, "&.selectable .sticky-column": { left: "45px" }
674+
, "&.selectable .sticky-column": { left: "44px" }
675675
, "&.selectable th:first-child, & th.sticky-column":
676676
{ zIndex: ziTableLockedColumnHeader
677677
}

src/Lumi/Components/Table/FilterDropdown.purs

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@ module Lumi.Components.Table.FilterDropdown where
22

33
import Prelude hiding (div)
44

5+
import Color (cssStringHSLA)
56
import Control.Alt ((<|>))
67
import Data.Array (drop, mapWithIndex, take, (!!))
78
import Data.Foldable (for_)
89
import Data.Maybe (Maybe(..), fromMaybe, maybe)
910
import Data.Nullable (Nullable, toMaybe)
1011
import Effect.Uncurried (EffectFn1, EffectFn2, mkEffectFn2, runEffectFn1, runEffectFn2)
11-
import Lumi.Components.Size (small)
12+
import Lumi.Components.Color (colors)
1213
import Lumi.Components.Icon (IconType(Rearrange), icon)
1314
import Lumi.Components.Input (CheckboxState(..), checkbox, input)
15+
import Lumi.Components.Size (small)
1416
import React.Basic (Component, JSX, createComponent, element, keyed, makeStateless)
1517
import React.Basic.DOM (CSS, css, div, text, unsafeCreateDOMComponent)
1618
import React.Basic.DOM.Events (targetChecked)
@@ -106,19 +108,23 @@ filterItem_ = makeStateless filterItemComponent render
106108
connectDragSource $ connectDropTarget $
107109
element (unsafeCreateDOMComponent "lumi-row")
108110
{ className: if item.hidden then "" else "active"
109-
, style: css
110-
{ padding: "0 8px 0 0"
111-
, alignItems: "center"
112-
, borderTop:
113-
if isOver && (fromMaybe false ((\dragItem -> dragItem.index > index) <$> maybeDragItem))
114-
then "2px solid #0044e4"
115-
else "2px solid transparent"
116-
, borderBottom:
117-
if isOver && (fromMaybe false ((\dragItem -> dragItem.index < index) <$> maybeDragItem))
118-
then "2px solid #0044e4"
119-
else "2px solid transparent"
120-
, opacity: if isDragging then 0.1 else 1.0
121-
}
111+
, style:
112+
let
113+
borderStyle :: (Int -> Int -> Boolean) -> String
114+
borderStyle compare' =
115+
if isOver && maybe false (\dragItem -> dragItem.index `compare'` index) maybeDragItem
116+
then "2px solid " <> cssStringHSLA colors.primary
117+
else "2px solid " <> cssStringHSLA colors.transparent
118+
borderTop = borderStyle (>)
119+
borderBottom = borderStyle (<)
120+
in
121+
css
122+
{ padding: "0 8px"
123+
, alignItems: "center"
124+
, borderTop
125+
, borderBottom
126+
, opacity: if isDragging then 0.1 else 1.0
127+
}
122128
, children:
123129
[ renderInput onChange items item
124130
, renderLabel item

0 commit comments

Comments
 (0)