From e2da65b1f51f7c3f144f5f045bd70b66029f8a2e Mon Sep 17 00:00:00 2001
From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com>
Date: Wed, 3 Dec 2025 18:50:45 +0100
Subject: [PATCH 1/5] fix
---
src/dashboard/Data/Browser/DataBrowser.react.js | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js
index b06c4057a..820f55bde 100644
--- a/src/dashboard/Data/Browser/DataBrowser.react.js
+++ b/src/dashboard/Data/Browser/DataBrowser.react.js
@@ -1507,6 +1507,16 @@ export default class DataBrowser extends React.Component {
...other
} = this.props;
const { preventSchemaEdits, applicationId } = app;
+
+ // Calculate effective panel width based on actual displayed panels
+ // When panelCount > 1 but fewer panels are actually displayed, reduce width proportionally
+ let effectivePanelWidth = this.state.panelWidth;
+ if (this.state.panelCount > 1 && this.state.displayedObjectIds.length > 0 && this.state.displayedObjectIds.length < this.state.panelCount) {
+ // Width per panel = total width / configured panel count
+ // Effective width = width per panel * actual number of displayed panels
+ effectivePanelWidth = (this.state.panelWidth / this.state.panelCount) * this.state.displayedObjectIds.length;
+ }
+
return (
@@ -1535,7 +1545,7 @@ export default class DataBrowser extends React.Component {
selectedCells={this.state.selectedCells}
handleCellClick={this.handleCellClick}
isPanelVisible={this.state.isPanelVisible}
- panelWidth={this.state.panelWidth}
+ panelWidth={effectivePanelWidth}
isResizing={this.state.isResizing}
setShowAggregatedData={this.setShowAggregatedData}
showRowNumber={this.state.showRowNumber}
@@ -1547,7 +1557,7 @@ export default class DataBrowser extends React.Component {
/>
{this.state.isPanelVisible && (
Date: Wed, 3 Dec 2025 23:03:39 +0100
Subject: [PATCH 2/5] fix
---
src/dashboard/Data/Browser/DataBrowser.react.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js
index 820f55bde..f4611e9ed 100644
--- a/src/dashboard/Data/Browser/DataBrowser.react.js
+++ b/src/dashboard/Data/Browser/DataBrowser.react.js
@@ -1511,10 +1511,11 @@ export default class DataBrowser extends React.Component {
// Calculate effective panel width based on actual displayed panels
// When panelCount > 1 but fewer panels are actually displayed, reduce width proportionally
let effectivePanelWidth = this.state.panelWidth;
- if (this.state.panelCount > 1 && this.state.displayedObjectIds.length > 0 && this.state.displayedObjectIds.length < this.state.panelCount) {
+ if (this.state.panelCount > 1 && this.state.displayedObjectIds.length < this.state.panelCount) {
// Width per panel = total width / configured panel count
- // Effective width = width per panel * actual number of displayed panels
- effectivePanelWidth = (this.state.panelWidth / this.state.panelCount) * this.state.displayedObjectIds.length;
+ // Effective width = width per panel * actual number of displayed panels (or 1 if none)
+ const actualPanelCount = Math.max(this.state.displayedObjectIds.length, 1);
+ effectivePanelWidth = (this.state.panelWidth / this.state.panelCount) * actualPanelCount;
}
return (
From 9ac6eb0cb5f7e6350d97a21fca859e326fc05413 Mon Sep 17 00:00:00 2001
From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com>
Date: Thu, 4 Dec 2025 00:53:51 +0100
Subject: [PATCH 3/5] fix
---
src/dashboard/Data/Browser/DataBrowser.react.js | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js
index f4611e9ed..7b4d42c2a 100644
--- a/src/dashboard/Data/Browser/DataBrowser.react.js
+++ b/src/dashboard/Data/Browser/DataBrowser.react.js
@@ -1578,18 +1578,24 @@ export default class DataBrowser extends React.Component {
ref={this.setMultiPanelWrapperRef}
>
{(() => {
- // If no objects are displayed, show a single panel with "No object selected"
+ // If no objects are displayed, show a single panel
if (this.state.displayedObjectIds.length === 0) {
+ // If there's a selected object, show its data
+ const panelData = this.state.selectedObjectId
+ ? (this.state.multiPanelData[this.state.selectedObjectId] || this.props.AggregationPanelData)
+ : {};
+ const isLoading = this.state.selectedObjectId && this.props.isLoadingCloudFunction;
+
return (
From 4f38821104824f43fe43d16421ed445cf6a8644e Mon Sep 17 00:00:00 2001
From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com>
Date: Thu, 4 Dec 2025 00:59:09 +0100
Subject: [PATCH 4/5] fix
---
.../Data/Browser/DataBrowser.react.js | 22 ++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/dashboard/Data/Browser/DataBrowser.react.js b/src/dashboard/Data/Browser/DataBrowser.react.js
index 7b4d42c2a..6781a728c 100644
--- a/src/dashboard/Data/Browser/DataBrowser.react.js
+++ b/src/dashboard/Data/Browser/DataBrowser.react.js
@@ -383,15 +383,31 @@ export default class DataBrowser extends React.Component {
}
handleResizeStop(event, { size }) {
+ // Convert effective width back to full panel width when there are hidden panels
+ let newPanelWidth = size.width;
+ if (this.state.panelCount > 1 && this.state.displayedObjectIds.length < this.state.panelCount) {
+ const actualPanelCount = Math.max(this.state.displayedObjectIds.length, 1);
+ // Reverse the calculation: fullWidth = (effectiveWidth / actualPanelCount) * panelCount
+ newPanelWidth = (size.width / actualPanelCount) * this.state.panelCount;
+ }
+
this.setState({
isResizing: false,
- panelWidth: size.width,
+ panelWidth: newPanelWidth,
});
- window.localStorage?.setItem(AGGREGATION_PANEL_WIDTH, size.width);
+ window.localStorage?.setItem(AGGREGATION_PANEL_WIDTH, newPanelWidth);
}
handleResizeDiv(event, { size }) {
- this.setState({ panelWidth: size.width });
+ // Convert effective width back to full panel width when there are hidden panels
+ let newPanelWidth = size.width;
+ if (this.state.panelCount > 1 && this.state.displayedObjectIds.length < this.state.panelCount) {
+ const actualPanelCount = Math.max(this.state.displayedObjectIds.length, 1);
+ // Reverse the calculation: fullWidth = (effectiveWidth / actualPanelCount) * panelCount
+ newPanelWidth = (size.width / actualPanelCount) * this.state.panelCount;
+ }
+
+ this.setState({ panelWidth: newPanelWidth });
}
setShowAggregatedData(bool) {
From 004e764b4e26505562e3abd3417783709ec843e7 Mon Sep 17 00:00:00 2001
From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com>
Date: Thu, 4 Dec 2025 01:03:45 +0100
Subject: [PATCH 5/5] panel number in button
---
src/components/Toolbar/Toolbar.react.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/components/Toolbar/Toolbar.react.js b/src/components/Toolbar/Toolbar.react.js
index 9193d9669..17940e7ac 100644
--- a/src/components/Toolbar/Toolbar.react.js
+++ b/src/components/Toolbar/Toolbar.react.js
@@ -177,12 +177,12 @@ const Toolbar = props => {
{props.isPanelVisible ? (
<>
- Hide Panel
+ Hide {props.panelCount > 1 ? `${props.panelCount} Panels` : 'Panel'}
>
) : (
<>
- Show Panel
+ Show {props.panelCount > 1 ? `${props.panelCount} Panels` : 'Panel'}
>
)}