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