Details
-
Sub-task
-
Status: Closed
-
High
-
Resolution: Fixed
-
None
-
None
-
None
Description
When plugins are dynamically added or removed as a result of data changes in a DataProvider, this can conflict with the Ajax response.
The problem is that the onPopulate() method of the DataView is called during the render phase, i.e. after the initial request processing has taken place. It is possible that this method instantiates or destroys plugin instances. It can thus happen that a plugin is rendered though it is no longer visible.
A solution could be to provide an interface that can be used to do the instantiation and destruction during the initial processing of the request. During the render phase, no further changes should arise. It might be possible to implement this with a custom IItemReuseStrategy (say, the PluginReuseStrategy).