diff --git a/packages/web/src/datagrid/DataGrid.js b/packages/web/src/datagrid/DataGrid.js index 125bd4585..abe6750b9 100644 --- a/packages/web/src/datagrid/DataGrid.js +++ b/packages/web/src/datagrid/DataGrid.js @@ -27,13 +27,14 @@ export default function DataGrid(props) { const [selection, setSelection] = React.useState([]); const [formSelection, setFormSelection] = React.useState(null); const [grider, setGrider] = React.useState(null); + const [collapsedWidgets, setCollapsedWidgets] = React.useState([]); // const [formViewData, setFormViewData] = React.useState(null); const isFormView = !!(config && config.isFormView); return ( - + {!isFormView && ( @@ -44,7 +45,7 @@ export default function DataGrid(props) { )} - + {isFormView ? ( ) : ( @@ -60,7 +61,7 @@ export default function DataGrid(props) { ) : ( diff --git a/packages/web/src/widgets/WidgetColumnBar.js b/packages/web/src/widgets/WidgetColumnBar.js index ee13f6096..2f666bfd5 100644 --- a/packages/web/src/widgets/WidgetColumnBar.js +++ b/packages/web/src/widgets/WidgetColumnBar.js @@ -40,7 +40,7 @@ function WidgetContainer({ widget, visible, splitterVisible, parentHeight, initi ); } -export default function WidgetColumnBar({ children }) { +export default function WidgetColumnBar({ children, onChangeCollapsedWidgets = undefined }) { const childArray = _.isArray(children) ? children : [children]; const [refNode, dimensions] = useDimensions(); const [collapsedWidgets, setCollapsedWidgets] = React.useState(() => @@ -53,6 +53,9 @@ export default function WidgetColumnBar({ children }) { if (collapsedWidgets.includes(name)) setCollapsedWidgets(collapsedWidgets.filter((x) => x != name)); else setCollapsedWidgets([...collapsedWidgets, name]); }; + React.useEffect(() => { + if (onChangeCollapsedWidgets) onChangeCollapsedWidgets(collapsedWidgets); + }, [onChangeCollapsedWidgets, collapsedWidgets]); return (