diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/Table.tsx b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/Table.tsx index f66e31d7aa..bfe577d910 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/Table.tsx +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/Table.tsx @@ -32,6 +32,8 @@ const defaultProps = { onRemoveFilter: NOOP, }; +const SEARCH_BAR_HEIGHT = 40; + export type TableProps = Props & Readonly; type InternalTableProps = TableProps & WithStylesProps; @@ -174,8 +176,10 @@ class TableVis extends React.PureComponent { } }); + const tableHeight = includeSearch ? height - SEARCH_BAR_HEIGHT : height; + return ( - <> +
{includeSearch && (
@@ -200,14 +204,17 @@ class TableVis extends React.PureComponent { zebra rowHeight={heightType} renderers={renderers} - height={height} + height={tableHeight} /> - +
); } } export default withStyles(({ unit }) => ({ + container: { + display: 'grid', + }, searchBar: { alignItems: 'baseline', display: 'flex', diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/index.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/index.ts index 91f96e92d7..8e76a14253 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/index.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/index.ts @@ -24,6 +24,8 @@ import buildQuery from './buildQuery'; import TableFormData from './TableFormData'; Core.initialize({ name: 'superset-datatable' }); +const { aesthetic } = Core; +aesthetic.globals = {}; export default class TableChartPlugin extends ChartPlugin { constructor() { diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/legacy/index.ts b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/legacy/index.ts index 592dabec08..1c18e9f403 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/legacy/index.ts +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/legacy/index.ts @@ -22,6 +22,8 @@ import transformProps from './transformProps'; import createMetadata from '../createMetadata'; Core.initialize({ name: 'superset-datatable' }); +const { aesthetic } = Core; +aesthetic.globals = {}; export default class TableChartPlugin extends ChartPlugin { constructor() { diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/renderer.tsx b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/renderer.tsx index 61d80d793e..a91b558b66 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/renderer.tsx +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugin-chart-table/src/renderer.tsx @@ -51,6 +51,28 @@ export const getRenderer = ({ const isMetric = column.type === 'metric'; let Parent; + const boxStyle: CSSProperties = { + backgroundColor: + enableFilter && isSelected({ key: keyName, value }) ? SELECTION_COLOR : undefined, + cursor: isMetric ? 'default' : 'pointer', + margin: '0px -16px', + }; + + const boxContainerStyle: CSSProperties = { + alignItems: 'center', + display: 'flex', + height: HEIGHT_TO_PX[heightType], + margin: '0px 16px', + position: 'relative', + textAlign: isMetric ? 'right' : 'left', + }; + + const FullCellBackgroundWrapper = ({ children }: { children: React.ReactNode }) => ( +
+
{children}
+
+ ); + if (isMetric) { let left = 0; let width = 0; @@ -66,21 +88,8 @@ export const getRenderer = ({ width = Math.round((Math.abs(value) / tot) * 100); } const color = colorPositiveNegative && value < 0 ? NEGATIVE_COLOR : POSITIVE_COLOR; - Parent = ({ children }: { children: React.ReactNode }) => { - const boxStyle: CSSProperties = { - backgroundColor: - enableFilter && isSelected({ key: keyName, value }) ? SELECTION_COLOR : undefined, - margin: '0px -16px', - }; - const boxContainerStyle: CSSProperties = { - alignItems: 'center', - display: 'flex', - height: HEIGHT_TO_PX[heightType], - margin: '0px 16px', - position: 'relative', - textAlign: isMetric ? 'right' : 'left', - }; + Parent = ({ children }: { children: React.ReactNode }) => { const barStyle: CSSProperties = { background: color, borderRadius: 3, @@ -91,24 +100,28 @@ export const getRenderer = ({ }; return ( -
-
-
-
{children}
-
-
+ +
+
{children}
+ ); }; } else { - Parent = ({ children }: { children: React.ReactNode }) => <>{children}; + Parent = ({ children }: { children: React.ReactNode }) => ( + {children} + ); } return (
{column.format ? column.format(value) : value}