@@ -262,24 +262,8 @@ table = make component
262
262
then self.state.columns
263
263
else self.props.columns
264
264
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
283
267
{ node: tableRef
284
268
, render: \{ hasScrolledY, hasScrolledX } ->
285
269
R .table
@@ -426,14 +410,34 @@ table = make component
426
410
]
427
411
}
428
412
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
+ }
437
441
438
442
renderFilterDropdown { close, reorderItems, items, style } =
439
443
selectorRef (QuerySelector " lumi-filter-dropdown" ) \maybeMenuRef ->
@@ -609,11 +613,18 @@ styles :: JSS
609
613
styles = jss
610
614
{ " @global" :
611
615
{ " lumi-table" :
616
+ { width: " 100%"
617
+ , maxHeight: " 100%"
618
+ , display: " flex"
619
+ , flexFlow: " column"
620
+ , position: " relative"
621
+ }
622
+
623
+ , " lumi-table-inner" :
612
624
{ width: " 100%"
613
625
, maxHeight: " 100%"
614
626
, overflow: " auto"
615
627
, backgroundColor: cssStringHSLA colors.white
616
- , position: " relative"
617
628
, display: " block"
618
629
, whiteSpace: " nowrap"
619
630
0 commit comments