From 9c3c8dcc0bfbf40b43fb28e8db62c7d0f7883f35 Mon Sep 17 00:00:00 2001 From: Jean Massucatto Date: Thu, 30 Apr 2026 09:56:51 -0300 Subject: [PATCH] =?UTF-8?q?fix(table):=20restore=20dropdown=20arrow=20visi?= =?UTF-8?q?bility=20on=20paginated=20table=20page=E2=80=A6=20(#39305)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/plugin-chart-table/src/Styles.tsx | 5 +++++ .../test/TableChart.test.tsx | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/superset-frontend/plugins/plugin-chart-table/src/Styles.tsx b/superset-frontend/plugins/plugin-chart-table/src/Styles.tsx index baa54df0198..19a037b0190 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/Styles.tsx +++ b/superset-frontend/plugins/plugin-chart-table/src/Styles.tsx @@ -98,6 +98,11 @@ export default styled.div` background-color: ${theme.colorBgLayout}; } + .dt-select-page-size .ant-select .ant-select-arrow { + color: ${theme.colorTextQuaternary}; + z-index: 11; + } + /* Controls and metrics */ .dt-controls { padding-bottom: 0.65em; diff --git a/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx b/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx index a043c67b39f..103e5e61a64 100644 --- a/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx +++ b/superset-frontend/plugins/plugin-chart-table/test/TableChart.test.tsx @@ -1937,6 +1937,25 @@ describe('plugin-chart-table', () => { expect(clearCall![0].extraFormData.filters).toEqual([]); }); + test('page size selector arrow stays above resize handles (#39305)', () => { + // .resize-handle elements in dashboard ResizableContainer sit at + // z-index: 10 — the page size arrow must stack above them or it + // gets covered on dashboard charts. + const { container } = render( + ProviderWrapper({ + children: ( + + ), + }), + ); + + const arrow = container.querySelector( + '.dt-select-page-size .ant-select .ant-select-arrow', + ); + expect(arrow).not.toBeNull(); + expect(getComputedStyle(arrow as HTMLElement).zIndex).toBe('11'); + }); + test('recalculates totals when user filters data', async () => { const formDataWithTotals = { ...testData.basic.formData,