diff --git a/.github/workflows/python-test.yml b/.github/workflows/python-test.yml index 6d56e4d6..68cbb152 100644 --- a/.github/workflows/python-test.yml +++ b/.github/workflows/python-test.yml @@ -103,5 +103,5 @@ jobs: - name: Run tests run: | source .venv/bin/activate - pytest --headless -k "not test_versioning" + pytest --headless diff --git a/CHANGELOG.md b/CHANGELOG.md index bbcced94..43b7dc02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ Links "DE#nnn" prior to version 2.0 point to the Dash Enterprise closed-source D ### Fixed - [#346](https://github.com/plotly/dash-ag-grid/pull/346) Fixes issue [#347](https://github.com/plotly/dash-ag-grid/issues/347) where styling wasnt considering if the grid had rows without `data`. This is related to the alteration in [#332](https://github.com/plotly/dash-ag-grid/pull/332) - + - [#353](https://github.com/plotly/dash-ag-grid/pull/353) Adjustments for support of Dash 3 ## [31.3.0] - 2024-11-22 diff --git a/src/lib/fragments/AgGrid.react.js b/src/lib/fragments/AgGrid.react.js index fa4d8138..dd1adad3 100644 --- a/src/lib/fragments/AgGrid.react.js +++ b/src/lib/fragments/AgGrid.react.js @@ -648,9 +648,13 @@ export default class DashAgGrid extends Component { scrollTo, rowTransaction, updateColumnState, + loading_state, } = this.props; - if (this.state.gridApi && prevProps.loading_state.is_loading) { + if ( + this.state.gridApi && + (!loading_state || prevProps.loading_state?.is_loading) + ) { if ( this.props.columnState !== prevProps.columnState && !this.state.columnState_push @@ -769,12 +773,11 @@ export default class DashAgGrid extends Component { // Call the API to select rows unless the update was triggered by a selection made in the UI if ( !equals(selectedRows, prevProps.selectedRows) && - !this.selectionEventFired + !(loading_state && this.selectionEventFired) ) { if (!this.dataUpdates) { setTimeout(() => { if (!this.dataUpdates) { - this.pauseSelections = true; this.setSelection(selectedRows); } }, 10); @@ -870,6 +873,9 @@ export default class DashAgGrid extends Component { if (!isEmpty(filterModel)) { gridApi.setFilterModel(filterModel); } + setTimeout(() => { + this.dataUpdates = false; + }, 1); } } diff --git a/tests/test_sizing_buttons.py b/tests/test_sizing_buttons.py index 5e421251..4737c560 100644 --- a/tests/test_sizing_buttons.py +++ b/tests/test_sizing_buttons.py @@ -457,3 +457,4 @@ def selected(state): oldValue = dash_duo.find_element("#columnState").text dash_duo.driver.set_window_size(1000, 1000) + time.sleep(.2)