[REF] components: introduce owl plugin for model#8845
Open
pro-odoo wants to merge 1 commit into
Open
Conversation
Collaborator
0a834f7 to
cac4800
Compare
This commit introduces a ModelPlugin (Owl plugin) provided once by the root Spreadsheet component to all its children. Components access the model with the useModel() hook, which returns a getter that subscribes the caller to a signal bumped on every model update event — so render invalidation stays scoped to components that actually read it. Note that the render is not yet fined-grained as we still use a render(true). This will be removed in the future. The consequence is that the model is not anymore in the env (the env will be removed in the future as well), so all actions of registries now takes the model in addition to the env. Task: 6280733
cac4800 to
4c53575
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This commit introduces a
ModelPlugin(Owl plugin) provided once by theroot
Spreadsheetcomponent to all its children. Components access themodel with the
useModel()hook, which returns a getter that subscribesthe caller to a signal bumped on every model
updateevent —so render invalidation stays scoped to components that actually read it.
Note that the render is not yet fined-grained as we still use a render(true). This
will be removed in the future.
The consequence is that the model is not anymore in the env (the env will
be removed in the future as well), so all actions of registries now takes the
model in addition to the env.
Task: 6280733