Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix and stabilize column widths and row heights calculations #11049

Merged
merged 16 commits into from
Jul 8, 2024

Conversation

budnix
Copy link
Member

@budnix budnix commented Jun 25, 2024

Context

The PR fixes a bug that caused the viewport position to be incorrectly calculated when the viewport was scrolled and the row or column had a non-standard width/height defined. The bug was that the width/height calculations were triggered after the calculators were created, which caused viewport misalignment. Values ​​calculated by the plugins were not taken into account when calculators calculated the viewport position (position of the wtSpreader element). The PR fixes this by moving the size calculations to a moment before calculators are created.

Other changes:

  • Stabilize calculating the first column width. Previously, the column width calculation skipped 1px when the viewport was not scrolled horizontally. After scrolling, it was ok. Excluding GhostTable from CSS rules fixed the issue (change);
  • Unified the API between AutoRowSize and AutoColumnSize plugins;
    • Added a new calculateVisibleRowsHeight method to the AutoRowSize plugin. The same method already existed in the second AutoColumnSize plugin;
    • Unify the clearCache method for both plugins.

How has this been tested?

I tested the changes locally and I covered the fix with new tests.

Types of changes

  • New feature or improvement (non-breaking change which adds functionality)

Related issue(s):

  1. fixes https://github.com/handsontable/dev-handsontable/issues/1888

Affected project(s):

  • handsontable

Checklist:

@budnix budnix self-assigned this Jun 25, 2024
Copy link

github-actions bot commented Jul 1, 2024

Launch the local version of documentation by running:

npm run docs:review 99027e0abba800fd641c7a0a27b6718487715948

@budnix budnix changed the title [wip] Change the column width calculations trigger places Fix and stabilize column width calculation Jul 2, 2024
Copy link

codesandbox-ci bot commented Jul 2, 2024

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 6351ab6:

Sandbox Source
handsontable-javascript-demo Configuration
handsontable-typescript-demo Configuration
handsontable-react-demo Configuration
handsontable-vue-2-demo Configuration
handsontable-vue-3-demo Configuration
handsontable-angular-demo Configuration

@budnix budnix changed the title Fix and stabilize column width calculation Fix and stabilize column widths and row heights calculations Jul 3, 2024
@budnix budnix marked this pull request as ready for review July 3, 2024 13:09
@budnix budnix requested a review from jansiegel July 3, 2024 13:09
@budnix budnix merged commit f5ad247 into develop Jul 8, 2024
24 of 25 checks passed
@budnix budnix deleted the feature/dev-issue-1888 branch July 8, 2024 08:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants