Friday, February 23, 2024
1 change · master
Code cleanup and technical improvements
List views in reporting, spreadsheets, and Studio now update their visible columns more reliably when related field values change. This reduces the chance that users see outdated or incorrectly hidden columns after data changes.
Original PR description
*account_reports,spreadsheet_edition,web_studio This commit is the counterpart of odoo/odoo#153998, where we stop computing list's columns in onWillUpdateProps. Using this hook is often a mistake, as it is only called when the component is re-rendered via a parent. With the fine-grained reactivity, it may happen that the renderer is re-rendered directly (e.g. because it is subscribed to a reactive object that changes). In this case, onWillUpdateProps isn't called, so we don't recompute the columns. Before this commit, this doesn't seem to be possible, but by removing the evalViewModifier props, which is the other change done by this commit, the problem occurs: if a column has a conditional column_invisible attribute, and a field used to evaluate the expression changes, the renderer is re-rendered, as it is the one who is subscribed, whereas before it was the parent (the one defining evalViewModifier). Preliminary ref for task 3649970