-
Notifications
You must be signed in to change notification settings - Fork 70
refactor: deprecate legacy grid APIs #7692
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
Conversation
e4bd90d
to
159d7d5
Compare
d0aa553
to
10dcfcb
Compare
Popular add-ons that are confirmed to require updates in Vaadin 25:
|
@vursen Would it make sense to add this information to the PRD or some other related epic to keep this information centralized and discoverable? |
@sissbruecker thanks, moved it to the PRD ticket: vaadin/platform#7843 (comment) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it possible to introduce the alterantive constructors so that they are mentioned in the deprecation notes? That way, users can start moving to the new API before they are removed in V25.
* @deprecated since 24.9. In Vaadin 25, this method will continue to exist | ||
* without the {@code updateQueueBuild} parameter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: should it be constructor instead of method?
* @deprecated since 24.9. In Vaadin 25, this method will continue to exist | |
* without the {@code updateQueueBuild} parameter. | |
* @deprecated since 24.9. In Vaadin 25, this constructor will continue to exist | |
* without the {@code updateQueueBuild} parameter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
Thanks, it looks like this is possible but only for Grid constructors. I've updated the PR. |
12e3280
to
83e0506
Compare
* @deprecated since 24.9. In Vaadin 25, this constructor will continue to | ||
* exist without the {@code updateQueueBuilder} parameter. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mention to the new constructor missing:
* @deprecated since 24.9. In Vaadin 25, this constructor will continue to | |
* exist without the {@code updateQueueBuilder} parameter. | |
* @deprecated since 24.9 and will be removed in Vaadin 25. Use | |
* {@link #Grid(Class, DataCommunicatorBuilder)} | |
* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, fixed.
|
Description
The PR deprecates the following internal APIs in Grid and TreeGrid as part of the HierarchicalDataCommunicator refactoring:
UpdateQueueData
UpdateQueue(UpdateQueueData data, int size)
UpdateQueue(Element element, int size)
UpdateQueue#getData()
GridArrayUpdater#setUpdateQueueData(data)
GridArrayUpdater#getUpdateQueueData()
Grid(beanType, updateQueueBuilder, dataCommunicatorBuilder)
Grid(beanType, dataCommunicatorBuilder)
Grid(beanType, updateQueueBuilder, dataCommunicatorBuilder, autoCreateColumns)
Grid(beanType, dataCommunicatorBuilder, autoCreateColumns)
Grid(pageSize, updateQueueBuilder, dataCommunicatorBuilder)
Grid(pageSize, dataCommunicatorBuilder)
Grid#createDefaultArrayUpdater(updateQueueFactory)
Grid#createDefaultArrayUpdater()
TreeGridArrayUpdater
GridArrayUpdater
TreeGrid(beanType, DataCommunicatorBuilder<T, TreeGridArrayUpdater> dataCommunicatorBuilder)
TreeGrid(beanType, DataCommunicatorBuilder<T, GridArrayUpdater> dataCommunicatorBuilder)
TreeGrid(pageSize, DataCommunicatorBuilder<T, TreeGridArrayUpdater> dataCommunicatorBuilder)
TreeGrid(pageSize, DataCommunicatorBuilder<T, GridArrayUpdater> dataCommunicatorBuilder)
Depends on
Fixes #7688
Why createDefaultArrayUpdater doesn't need updateQueueFactory:
The
createDefaultArrayUpdater
method used aupdateQueueFactory
to create either anUpdateQueue
in Grid or aTreeGridUpdateQueue
in TreeGrid, with the factory itself being constructed in the class constructor. However, this level of abstraction is unnecessary. Both Grid and TreeGrid can instantiate these directly withincreateDefaultArrayUpdater
, which already has access to all required class fields. No factory or builder is needed there.Type of change