diff --git a/desktop/flipper-plugin/src/ui/DataList.tsx b/desktop/flipper-plugin/src/ui/DataList.tsx index 911311a44..3f30d9669 100644 --- a/desktop/flipper-plugin/src/ui/DataList.tsx +++ b/desktop/flipper-plugin/src/ui/DataList.tsx @@ -204,6 +204,7 @@ export const DataList: (( enableArrow: true, enableContextMenu: false, enableMultiSelect: false, + enableHorizontalScroll: false, idAttribute: 'id', titleAttribute: 'title', descriptionAttribute: 'description', diff --git a/desktop/flipper-plugin/src/ui/Layout.tsx b/desktop/flipper-plugin/src/ui/Layout.tsx index 67bc44909..2b14d72ed 100644 --- a/desktop/flipper-plugin/src/ui/Layout.tsx +++ b/desktop/flipper-plugin/src/ui/Layout.tsx @@ -10,13 +10,7 @@ import React, {CSSProperties, forwardRef} from 'react'; import styled from '@emotion/styled'; import {Container} from './Container'; -import { - normalizePadding, - normalizeSpace, - PaddingProps, - Spacing, - theme, -} from './theme'; +import {PaddingProps, Spacing} from './theme'; import {renderSplitLayout} from './renderSplitLayout'; diff --git a/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx b/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx index 55d29b917..6bdbe9ee4 100644 --- a/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx +++ b/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx @@ -57,6 +57,7 @@ interface DataTableBaseProps { columns: DataTableColumn[]; enableSearchbar?: boolean; enableAutoScroll?: boolean; + enableHorizontalScroll?: boolean; enableColumnHeaders?: boolean; enableMultiSelect?: boolean; enableContextMenu?: boolean; @@ -483,6 +484,10 @@ export function DataTable( extraActions={props.extraActions} /> )} + + ); + const columnHeaders = ( + {props.enableColumnHeaders && ( ( props.onRenderEmpty === undefined ? props.onRenderEmpty : props.onRenderEmpty; - const mainSection = props.scrollable ? ( - - {header} + let mainSection: JSX.Element; + if (props.scrollable) { + const dataSourceRenderer = ( > dataSource={dataSource} autoScroll={tableState.autoScroll && !dragging.current} @@ -518,21 +523,44 @@ export function DataTable( onUpdateAutoScroll={onUpdateAutoScroll} emptyRenderer={emptyRenderer} /> - - ) : ( - - {header} - > - dataSource={dataSource} - useFixedRowHeight={!tableState.usesWrapping} - defaultRowHeight={DEFAULT_ROW_HEIGHT} - context={renderingConfig} - itemRenderer={itemRenderer} - onKeyDown={onKeyDown} - emptyRenderer={emptyRenderer} - /> - - ); + ); + + mainSection = props.enableHorizontalScroll ? ( + + {header} + + + {columnHeaders} + {dataSourceRenderer} + + + + ) : ( + +
+ {header} + {columnHeaders} +
+ {dataSourceRenderer} +
+ ); + } else { + mainSection = ( + + {header} + {columnHeaders} + > + dataSource={dataSource} + useFixedRowHeight={!tableState.usesWrapping} + defaultRowHeight={DEFAULT_ROW_HEIGHT} + context={renderingConfig} + itemRenderer={itemRenderer} + onKeyDown={onKeyDown} + emptyRenderer={emptyRenderer} + /> + + ); + } return ( @@ -558,6 +586,7 @@ DataTable.defaultProps = { scrollable: true, enableSearchbar: true, enableAutoScroll: false, + enableHorizontalScroll: true, enableColumnHeaders: true, enableMultiSelect: true, enableContextMenu: true, diff --git a/desktop/plugins/public/logs/index.tsx b/desktop/plugins/public/logs/index.tsx index 59970aade..578b9f8f2 100644 --- a/desktop/plugins/public/logs/index.tsx +++ b/desktop/plugins/public/logs/index.tsx @@ -227,6 +227,7 @@ export function Component() { columns={plugin.columns} enableAutoScroll onRowStyle={getRowStyle} + enableHorizontalScroll={false} extraActions={ plugin.isConnected ? ( <> diff --git a/desktop/plugins/public/network/KeyValueTable.tsx b/desktop/plugins/public/network/KeyValueTable.tsx index 22907df2f..af292f645 100644 --- a/desktop/plugins/public/network/KeyValueTable.tsx +++ b/desktop/plugins/public/network/KeyValueTable.tsx @@ -40,6 +40,7 @@ export function KeyValueTable({items}: {items: KeyValueItem[]}) { records={items} enableSearchbar={false} scrollable={false} + enableHorizontalScroll={false} onCopyRows={handleCopyRows} /> );