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

[two_dimensional_scrollables] TableView #4536

Merged
merged 31 commits into from
Aug 17, 2023
Merged

Conversation

Piinks
Copy link
Contributor

@Piinks Piinks commented Jul 21, 2023

Design doc: flutter.dev/go/table-view

Fixes flutter/flutter#87370
Fixes flutter/flutter#30770

This adds a new package: two_dimensional_scrollables - a package for widgets that scroll in two dimensions.

The first widget in the collection here is TableView.

Screen.Recording.2023-07-24.at.2.46.23.PM.mov

TableView is built on top of the 2D scrolling foundation that lives in the Flutter framework.

Other widgets that will be included in this package in the future are TreeView and TreeTableView.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Jul 26, 2023
These tweaks came from flutter/packages#4536

- The TwoDimensionalChildBuilderDelegate asserts that maxXIndex and maxYIndex are null or >= 0
- The TwoDimensionalChildDelegate setter in RenderTwoDimensionalViewport has a covariant to allow type safety for subclasses of RenderTwoDimensionalViewport implementing with other subclasses of TwoDimensionalChildDelegate

I'd like to cherry pick this so flutter/packages#4536 will not have to wait for it to reach stable.
@Piinks Piinks requested a review from goderbauer July 27, 2023 19:33
Piinks added a commit to Piinks/flutter that referenced this pull request Jul 27, 2023
These tweaks came from flutter/packages#4536

- The TwoDimensionalChildBuilderDelegate asserts that maxXIndex and maxYIndex are null or >= 0
- The TwoDimensionalChildDelegate setter in RenderTwoDimensionalViewport has a covariant to allow type safety for subclasses of RenderTwoDimensionalViewport implementing with other subclasses of TwoDimensionalChildDelegate

I'd like to cherry pick this so flutter/packages#4536 will not have to wait for it to reach stable.
LouiseHsu pushed a commit to LouiseHsu/flutter that referenced this pull request Jul 31, 2023
These tweaks came from flutter/packages#4536

- The TwoDimensionalChildBuilderDelegate asserts that maxXIndex and maxYIndex are null or >= 0
- The TwoDimensionalChildDelegate setter in RenderTwoDimensionalViewport has a covariant to allow type safety for subclasses of RenderTwoDimensionalViewport implementing with other subclasses of TwoDimensionalChildDelegate

I'd like to cherry pick this so flutter/packages#4536 will not have to wait for it to reach stable.
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 1, 2023
These tweaks came from flutter/packages#4536

- The TwoDimensionalChildBuilderDelegate asserts that maxXIndex and maxYIndex are null or >= 0
- The TwoDimensionalChildDelegate setter in RenderTwoDimensionalViewport has a covariant to allow type safety for subclasses of RenderTwoDimensionalViewport implementing with other subclasses of TwoDimensionalChildDelegate

I'd like to cherry pick this so flutter/packages#4536 will not have to wait for it to reach stable.
vashworth pushed a commit to vashworth/flutter that referenced this pull request Aug 2, 2023
These tweaks came from flutter/packages#4536

- The TwoDimensionalChildBuilderDelegate asserts that maxXIndex and maxYIndex are null or >= 0
- The TwoDimensionalChildDelegate setter in RenderTwoDimensionalViewport has a covariant to allow type safety for subclasses of RenderTwoDimensionalViewport implementing with other subclasses of TwoDimensionalChildDelegate

I'd like to cherry pick this so flutter/packages#4536 will not have to wait for it to reach stable.
@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 17, 2023
@auto-submit auto-submit bot merged commit 4c16f3e into flutter:main Aug 17, 2023
jopmiddelkamp pushed a commit to Beans-BV/flutter_packages that referenced this pull request Aug 18, 2023
Design doc: [flutter.dev/go/table-view](https://docs.google.com/document/d/15ecTZE1g3WeswLGFWrnEgMP6SyL6jDRdxOgPsczOcV0/edit?usp=sharing&resourcekey=0-yNd_qFhiPjz6z2TgezWc0A)

Fixes flutter/flutter#87370
Fixes flutter/flutter#30770

This adds a new package: `two_dimensional_scrollables` - a package for widgets that scroll in two dimensions.

The first widget in the collection here is TableView. 

https://github.com/flutter/packages/assets/16964204/8103001a-77dc-489f-9e75-278972f66f30

TableView is built on top of the 2D scrolling foundation that lives in the Flutter framework.

Other widgets that will be included in this package in the future are TreeView and TreeTableView.
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 18, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 18, 2023
flutter/packages@3b602e7...4c16f3e

2023-08-17 katelovett@google.com [two_dimensional_scrollables] TableView (flutter/packages#4536)
2023-08-17 stuartmorgan@google.com [ci] Update minimums for 3.13 stable (flutter/packages#4731)
2023-08-17 10687576+bparrishMines@users.noreply.github.com Update stable version to efbf63d (flutter/packages#4730)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 24, 2023
…ate (#132764)

Found in flutter/packages#4536

The max x and max y index  should allow for a case where there are no children in the viewport. This should be CP'd into stable once it lands.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: two_dimensional_scrollables Issues pertaining to the two_dimensional_scrollables package platform-android platform-ios platform-linux platform-macos platform-web platform-windows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Lazy Table DataTable - make scrollable, set background colour and fix/freeze header row and first column
3 participants