From 904842527eb3e92fc22410e2ca18896a5ed3d20d Mon Sep 17 00:00:00 2001 From: Jianchao Yang Date: Wed, 11 Mar 2020 12:49:39 -0700 Subject: [PATCH] fix(legacy-table): container height on tall headers (#398) * fix(legacy-table): container height on tall headers * fix(legacy-table): possible undefined lint error --- .../src/ReactDataTable.tsx | 12 ++++++++---- .../legacy-plugin-chart-table/birth_names.json | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-legacy-plugin-chart-table/src/ReactDataTable.tsx b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-legacy-plugin-chart-table/src/ReactDataTable.tsx index e48ef61980f6..d5956201c426 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-legacy-plugin-chart-table/src/ReactDataTable.tsx +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-legacy-plugin-chart-table/src/ReactDataTable.tsx @@ -185,9 +185,13 @@ export default function ReactDataTable(props: DataTableProps) { const dataTable = $root.find('table').DataTable(options); // adjust table height - const scrollHeadHeight = 34; - const paginationHeight = hasPagination ? 35 : 0; - const searchBarHeight = hasPagination || includeSearch ? 35 : 0; + const scrollHeadHeight = $root.find('.dataTables_scrollHead').height() || 0; + const paginationHeight = $root.find('.dataTables_paginate').height() || 0; + const searchBarHeight = + $root + .find('.dataTables_length,.dataTables_filter') + .closest('.row') + .height() || 0; const scrollBodyHeight = viewportHeight - scrollHeadHeight - paginationHeight - searchBarHeight; $root.find('.dataTables_scrollBody').css('max-height', scrollBodyHeight); @@ -238,7 +242,7 @@ export default function ReactDataTable(props: DataTableProps) { style={{ backgroundImage: keyIsMetric ? cellBar(key, val as number) : undefined, }} - title={keyIsMetric || percentMetricsSet.has(key) ? (val as string) : ''} + title={keyIsMetric || percentMetricsSet.has(key) ? String(val) : ''} > {isHtml ? null : text} diff --git a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugins-demo/storybook/stories/legacy-plugin-chart-table/birth_names.json b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugins-demo/storybook/stories/legacy-plugin-chart-table/birth_names.json index 91535a8b663a..90697999755a 100644 --- a/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugins-demo/storybook/stories/legacy-plugin-chart-table/birth_names.json +++ b/superset-frontend/temporary_superset_ui/superset-ui/plugins/superset-ui-plugins/packages/superset-ui-plugins-demo/storybook/stories/legacy-plugin-chart-table/birth_names.json @@ -168,7 +168,7 @@ "gender": "gender", "name": "name", "num": "num", - "state": "state", + "state": "state (this is a very very very long column)", "sum_boys": "sum_boys", "sum_girls": "sum_girls" },