@@ -262,24 +262,8 @@ table = make component
262262 then self.state.columns
263263 else self.props.columns
264264 in
265- renderLumiTable \tableRef ->
266- [ if not self.state.showMenu
267- then empty
268- else guard (self.props.dropdownMenu) $ renderFilterDropdown
269- { close: closeMenu self
270- , reorderItems: setColumnSort self <<< map \{ name, hidden } ->
271- { name: ColumnName name
272- , hidden
273- }
274- , items: columns <#> \{ name, label, filterLabel, hidden } ->
275- { name: un ColumnName name
276- , label
277- , filterLabel
278- , hidden
279- }
280- , style: R .css self.state.menuStyle
281- }
282- , element scrollObserver
265+ renderLumiTable self columns \tableRef ->
266+ [ element scrollObserver
283267 { node: tableRef
284268 , render: \{ hasScrolledY, hasScrolledX } ->
285269 R .table
@@ -426,14 +410,34 @@ table = make component
426410 ]
427411 }
428412
429- renderLumiTable renderChildren =
430- selectorRef (QuerySelector " lumi-table" ) \maybeTableRef ->
431- element (R .unsafeCreateDOMComponent " lumi-table" )
432- { children:
433- case maybeTableRef of
434- Nothing -> []
435- Just tableRef -> renderChildren tableRef :: Array JSX
436- }
413+ renderLumiTable self columns renderChildren =
414+ element (R .unsafeCreateDOMComponent " lumi-table" )
415+ { children:
416+ [ if not self.state.showMenu
417+ then empty
418+ else guard (self.props.dropdownMenu) $ renderFilterDropdown
419+ { close: closeMenu self
420+ , reorderItems: setColumnSort self <<< map \{ name, hidden } ->
421+ { name: ColumnName name
422+ , hidden
423+ }
424+ , items: columns <#> \{ name, label, filterLabel, hidden } ->
425+ { name: un ColumnName name
426+ , label
427+ , filterLabel
428+ , hidden
429+ }
430+ , style: R .css self.state.menuStyle
431+ }
432+ , selectorRef (QuerySelector " lumi-table-inner" ) \maybeTableRef ->
433+ element (R .unsafeCreateDOMComponent " lumi-table-inner" )
434+ { children:
435+ case maybeTableRef of
436+ Nothing -> []
437+ Just tableRef -> renderChildren tableRef
438+ }
439+ ]
440+ }
437441
438442 renderFilterDropdown { close, reorderItems, items, style } =
439443 selectorRef (QuerySelector " lumi-filter-dropdown" ) \maybeMenuRef ->
@@ -609,11 +613,18 @@ styles :: JSS
609613styles = jss
610614 { " @global" :
611615 { " lumi-table" :
616+ { width: " 100%"
617+ , maxHeight: " 100%"
618+ , display: " flex"
619+ , flexFlow: " column"
620+ , position: " relative"
621+ }
622+
623+ , " lumi-table-inner" :
612624 { width: " 100%"
613625 , maxHeight: " 100%"
614626 , overflow: " auto"
615627 , backgroundColor: cssStringHSLA colors.white
616- , position: " relative"
617628 , display: " block"
618629 , whiteSpace: " nowrap"
619630
0 commit comments