From 618679fb58e442e6f408cde28bab5f9f284cea6c Mon Sep 17 00:00:00 2001 From: juhanikat Date: Tue, 16 Jun 2026 13:26:37 +0300 Subject: [PATCH 1/2] Change renderExtraExportMenuItems from a ReactNode to an array of ReactNodes --- .../src/components/CrossSearch/CrossSearchTable.tsx | 12 +++++------- frontend/src/components/Locality/LocalityTable.tsx | 2 +- frontend/src/components/Species/SpeciesTable.tsx | 2 +- frontend/src/components/TableView/TableToolBar.tsx | 4 ++-- frontend/src/components/TableView/TableView.tsx | 2 +- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/frontend/src/components/CrossSearch/CrossSearchTable.tsx b/frontend/src/components/CrossSearch/CrossSearchTable.tsx index 25764ab2..680c1109 100755 --- a/frontend/src/components/CrossSearch/CrossSearchTable.tsx +++ b/frontend/src/components/CrossSearch/CrossSearchTable.tsx @@ -1118,13 +1118,11 @@ export const CrossSearchTable = ({ selectorFn }: { selectorFn?: (newObject: Cros svgExport={svgExport} isError={isError} error={error} - renderExtraExportMenuItems={handleClose => ( - <> - - - - - )} + renderExtraExportMenuItems={[ + handleClose => , + handleClose => , + handleClose => , + ]} /> ) diff --git a/frontend/src/components/Locality/LocalityTable.tsx b/frontend/src/components/Locality/LocalityTable.tsx index e0734a7b..e376b371 100755 --- a/frontend/src/components/Locality/LocalityTable.tsx +++ b/frontend/src/components/Locality/LocalityTable.tsx @@ -522,7 +522,7 @@ export const LocalityTable = ({ selectorFn }: { selectorFn?: (newObject: Localit url="locality" kmlExport={kmlExport} svgExport={svgExport} - renderExtraExportMenuItems={handleClose => } + renderExtraExportMenuItems={[handleClose => ]} enableColumnFilterModes={true} tableRowAction={handleLocalityRowActionClick} /> diff --git a/frontend/src/components/Species/SpeciesTable.tsx b/frontend/src/components/Species/SpeciesTable.tsx index 50db8641..d37981a6 100755 --- a/frontend/src/components/Species/SpeciesTable.tsx +++ b/frontend/src/components/Species/SpeciesTable.tsx @@ -567,7 +567,7 @@ export const SpeciesTable = ({ selectorFn }: { selectorFn?: (id: Species) => voi tableRowAction={handleSpeciesRowActionClick} filterFns={synonymFilterFns} renderRowActionExtras={renderCommentAction} - renderExtraExportMenuItems={handleClose => } + renderExtraExportMenuItems={[handleClose => ]} /> ({ showNewButton?: boolean hideLeftButtons?: boolean columnVisibilityGroups?: ColumnVisibilityGroup[] - renderExtraExportMenuItems?: (handleClose: () => void) => ReactNode + renderExtraExportMenuItems?: Array<{ (handleClose: () => void): ReactNode }> }) => { const { previousTableUrls, setPreviousTableUrls } = usePageContext() const { notify, setMessage: setNotificationMessage } = useNotify() @@ -317,7 +317,7 @@ export const TableToolBar = ({ )} - {renderExtraExportMenuItems ? renderExtraExportMenuItems(handleClose) : null} + {renderExtraExportMenuItems?.map((renderFn, index) =>
{renderFn(handleClose)}
)} {kmlExport && ( ({ error?: FetchBaseQueryError | SerializedError filterFns?: Record> renderRowActionExtras?: ({ row }: { row: MRT_Row }) => ReactNode - renderExtraExportMenuItems?: (handleClose: () => void) => ReactNode + renderExtraExportMenuItems?: Array<{ (handleClose: () => void): ReactNode }> paginationPlacement?: 'top' | 'bottom' | 'both' tableContainerMaxHeight?: string | number columnVisibilityGroups?: ColumnVisibilityGroup[] From 081d805885faed1e46924590751d6d9a78b47980 Mon Sep 17 00:00:00 2001 From: juhanikat Date: Tue, 16 Jun 2026 13:58:04 +0300 Subject: [PATCH 2/2] update typing and extramenuitem rendering --- frontend/src/components/TableView/TableToolBar.tsx | 10 +++++++--- frontend/src/components/TableView/TableView.tsx | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/TableView/TableToolBar.tsx b/frontend/src/components/TableView/TableToolBar.tsx index 2688345a..81400cad 100644 --- a/frontend/src/components/TableView/TableToolBar.tsx +++ b/frontend/src/components/TableView/TableToolBar.tsx @@ -5,7 +5,7 @@ import { ContactForm } from '../DetailView/common/ContactForm' import FileDownloadIcon from '@mui/icons-material/FileDownload' import ViewColumnIcon from '@mui/icons-material/ViewColumn' import '../../styles/TableToolBar.css' -import { useState, type ReactNode } from 'react' +import { Fragment, useState, type ReactNode } from 'react' import { Link, useLocation } from 'react-router-dom' import AddCircleIcon from '@mui/icons-material/AddCircle' import { CrossSearchExportMenuItem } from '../CrossSearch/CrossSearchExportMenuItem' @@ -50,7 +50,7 @@ export const TableToolBar = ({ showNewButton?: boolean hideLeftButtons?: boolean columnVisibilityGroups?: ColumnVisibilityGroup[] - renderExtraExportMenuItems?: Array<{ (handleClose: () => void): ReactNode }> + renderExtraExportMenuItems?: ((handleClose: () => void) => ReactNode)[] }) => { const { previousTableUrls, setPreviousTableUrls } = usePageContext() const { notify, setMessage: setNotificationMessage } = useNotify() @@ -317,7 +317,11 @@ export const TableToolBar = ({ )} - {renderExtraExportMenuItems?.map((renderFn, index) =>
{renderFn(handleClose)}
)} + {renderExtraExportMenuItems + ? renderExtraExportMenuItems.map((renderFn, index) => ( + {renderFn(handleClose)} + )) + : null} {kmlExport && ( ({ error?: FetchBaseQueryError | SerializedError filterFns?: Record> renderRowActionExtras?: ({ row }: { row: MRT_Row }) => ReactNode - renderExtraExportMenuItems?: Array<{ (handleClose: () => void): ReactNode }> + renderExtraExportMenuItems?: ((handleClose: () => void) => ReactNode)[] paginationPlacement?: 'top' | 'bottom' | 'both' tableContainerMaxHeight?: string | number columnVisibilityGroups?: ColumnVisibilityGroup[]