From e628d75540a5cecb14ca8f7cfa89bcdc6d370cdb Mon Sep 17 00:00:00 2001 From: pkupczyk <piotr.kupczyk@id.ethz.ch> Date: Wed, 9 Nov 2022 20:09:34 +0100 Subject: [PATCH] SSDM-13152 : Exports for master data and metadata UI - disable export button when "Selected Rows" option is chosen but there are no selected rows --- .../src/js/components/common/grid/Grid.jsx | 3 ++- .../src/js/components/common/grid/GridExports.jsx | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/openbis_ng_ui/src/js/components/common/grid/Grid.jsx b/openbis_ng_ui/src/js/components/common/grid/Grid.jsx index 554d272552f..d1d62ee8a2b 100644 --- a/openbis_ng_ui/src/js/components/common/grid/Grid.jsx +++ b/openbis_ng_ui/src/js/components/common/grid/Grid.jsx @@ -225,7 +225,7 @@ class Grid extends React.PureComponent { renderExports() { const { id, multiselectable } = this.props - const { rows, exportOptions } = this.state + const { rows, multiselectedRows, exportOptions } = this.state const exportable = this.controller.getExportable() @@ -239,6 +239,7 @@ class Grid extends React.PureComponent { disabled={rows.length === 0} exportOptions={exportOptions} multiselectable={multiselectable} + multiselectedRows={multiselectedRows} onExport={this.controller.handleExport} onExportOptionsChange={this.controller.handleExportOptionsChange} /> diff --git a/openbis_ng_ui/src/js/components/common/grid/GridExports.jsx b/openbis_ng_ui/src/js/components/common/grid/GridExports.jsx index 99cc2f708d3..40d60a67306 100644 --- a/openbis_ng_ui/src/js/components/common/grid/GridExports.jsx +++ b/openbis_ng_ui/src/js/components/common/grid/GridExports.jsx @@ -79,7 +79,14 @@ class GridExports extends React.PureComponent { render() { logger.log(logger.DEBUG, 'GridExports.render') - const { id, exportOptions, disabled, multiselectable, classes } = this.props + const { + id, + exportOptions, + disabled, + multiselectable, + multiselectedRows, + classes + } = this.props const { el } = this.state const rowsOptions = [ @@ -187,6 +194,10 @@ class GridExports extends React.PureComponent { id={id + '.trigger-exports-button-id'} label={messages.get(messages.EXPORT)} type='neutral' + disabled={ + exportOptions.rows === GridExportOptions.SELECTED_ROWS && + _.isEmpty(multiselectedRows) + } onClick={this.handleExport} /> </div> -- GitLab