vaadin / vaadin/flow-components
[Grid] Extract Grid.Column to top-level GridColumn
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 129
- Forks
- 78
- Avg merge
- 17h 42m
- Merged PRs (30d)
- 196
Description
Describe your motivation
Column is a nested class that lives inside Grid and is approaching 800 lines, with the two classes totaling 5500 lines together. They also share some method names, so jumping between them is really hard. Extracting Grid.Column into a top-level GridColumn class would take a big chunk out of Grid and make both classes considerably easier to work with.
Describe alternatives you've considered
A slightly softer option that would also address the maintenance concern mentioned above is to move everything into a new package-private top-level Column class and make Grid.Column extend it. This would likely break binary compatibility for some methods like Column<T> setFlexGrow(int flexGrow), as their return type would erase to the new package-private class, but Grid.Column would stay in place, so the change would at least remain source-compatible.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Grid class and its nested Grid.Column implementation, then map the shared methods and compatibility concerns described in the issue. The work is done when Grid.Column has been extracted to a top-level GridColumn class while the affected API behavior and compatibility implications are addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- frontend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100