From ed577da466ebe2dad26a488a28ed49078144ccd1 Mon Sep 17 00:00:00 2001 From: vkovtun <viktor.kovtun@id.ethz.ch> Date: Fri, 15 Sep 2023 14:59:10 +0200 Subject: [PATCH] SSDM-13579: Removed page size and options from the copy/move dialog. --- .../src/js/components/common/grid/Grid.jsx | 19 +++---- .../js/components/common/grid/GridPaging.jsx | 49 ++++++++++--------- .../database/data-browser/LocationDialog.jsx | 3 ++ 3 files changed, 40 insertions(+), 31 deletions(-) diff --git a/ui-admin/src/js/components/common/grid/Grid.jsx b/ui-admin/src/js/components/common/grid/Grid.jsx index 6fb44d30fa4..5cdc08111e7 100644 --- a/ui-admin/src/js/components/common/grid/Grid.jsx +++ b/ui-admin/src/js/components/common/grid/Grid.jsx @@ -106,11 +106,9 @@ class Grid extends React.PureComponent { return <Loading loading={true}></Loading> } - const { id, classes } = this.props + const { id, classes, showHeaders } = this.props const { loading, rows } = this.state - let showHeaders = typeof this.props.showHeaders === 'boolean' - ? this.props.showHeaders - : true + const doShowHeaders = typeof showHeaders === 'boolean' ? showHeaders : true return ( <div @@ -128,7 +126,7 @@ class Grid extends React.PureComponent { <TableHead classes={{ root: classes.tableHead }}> {this.renderTitle()} {this.renderPagingAndConfigsAndExports()} - {showHeaders && this.renderHeaders()} + {doShowHeaders && this.renderHeaders()} {this.renderFilters()} {this.renderSelectionInfo()} </TableHead> @@ -169,7 +167,9 @@ class Grid extends React.PureComponent { } renderPagingAndConfigsAndExports() { - const { multiselectable, classes } = this.props + const { multiselectable, classes, showPaging, showConfigs } = this.props + const doShowPaging = typeof showPaging === 'boolean' ? showPaging : true + const doShowConfigs = typeof showConfigs === 'boolean' ? showConfigs : true const visibleColumns = this.controller.getVisibleColumns() @@ -181,15 +181,15 @@ class Grid extends React.PureComponent { content: classes.pagingAndConfigsAndExportsContent }} > - {this.renderPaging()} - {this.renderConfigs()} + {doShowPaging && this.renderPaging()} + {doShowConfigs && this.renderConfigs()} {this.renderExports()} </GridRowFullWidth> ) } renderPaging() { - const { id } = this.props + const { id, showRowsPerPage } = this.props const { page, pageSize, totalCount } = this.state return ( @@ -198,6 +198,7 @@ class Grid extends React.PureComponent { count={totalCount} page={page} pageSize={pageSize} + showRowsPerPage={showRowsPerPage} onPageChange={this.controller.handlePageChange} onPageSizeChange={this.controller.handlePageSizeChange} /> diff --git a/ui-admin/src/js/components/common/grid/GridPaging.jsx b/ui-admin/src/js/components/common/grid/GridPaging.jsx index 4921a957595..e44dacaa787 100644 --- a/ui-admin/src/js/components/common/grid/GridPaging.jsx +++ b/ui-admin/src/js/components/common/grid/GridPaging.jsx @@ -83,7 +83,8 @@ class GridPaging extends React.PureComponent { render() { logger.log(logger.DEBUG, 'GridPaging.render') - const { id, classes, count, page, pageSize } = this.props + const { id, classes, count, page, pageSize, showRowsPerPage } = this.props + const doShowRowsPerPage = typeof showRowsPerPage === 'boolean' ? showRowsPerPage : true return ( <div className={classes.container}> @@ -133,28 +134,32 @@ class GridPaging extends React.PureComponent { </IconButton> </div> <div className={classes.separator}></div> - <div id={id + '.page-size-id'} className={classes.pageSize}> - <FormControlLabel - control={ - <SelectField - value={pageSize} - options={GridPagingOptions.PAGE_SIZE_OPTIONS.map(pageSize => ({ - label: pageSize, - value: pageSize - }))} - onChange={this.handlePageSizeChange} - variant='standard' + {doShowRowsPerPage && [ + <div id={id + '.page-size-id'} key={id + '.page-size-id'} className={classes.pageSize}> + <FormControlLabel + control={ + <SelectField + value={pageSize} + options={GridPagingOptions.PAGE_SIZE_OPTIONS.map(pageSize => ({ + label: pageSize, + value: pageSize + }))} + onChange={this.handlePageSizeChange} + variant='standard' + /> + } + classes={{ + label: classes.pageSizeLabel, + labelPlacementStart: classes.pageSizeLabelPlacement + }} + label={messages.get(messages.ROWS_PER_PAGE)} + labelPlacement='start' /> - } - classes={{ - label: classes.pageSizeLabel, - labelPlacementStart: classes.pageSizeLabelPlacement - }} - label={messages.get(messages.ROWS_PER_PAGE)} - labelPlacement='start' - /> - </div> - <div className={classes.separator}></div> + </div>, + <div key={id + '.separator'} className={classes.separator}></div> + ] + } + </div> ) } diff --git a/ui-admin/src/js/components/database/data-browser/LocationDialog.jsx b/ui-admin/src/js/components/database/data-browser/LocationDialog.jsx index c05976d4f5e..4c1abaae887 100644 --- a/ui-admin/src/js/components/database/data-browser/LocationDialog.jsx +++ b/ui-admin/src/js/components/database/data-browser/LocationDialog.jsx @@ -167,6 +167,9 @@ class LocationDialog extends React.Component { multiselectable={false} loadSettings={null} showHeaders={false} + showPaging={true} + showConfigs={false} + showRowsPerPage={false} onSettingsChange={null} onError={this.onError} onRowDoubleClick={this.handleRowDoubleClick} -- GitLab