Closed PowerKiKi closed 6 years ago
This is required to allow this #10
I've this in mind for a while, will take the time to check it.
I had in mind a cache system to avoid creating component at all. But then I found out we must have a component to be able to validate its value (via isComponentValid()
), so my idea is no longer valid.
I think your idea to handle groupSelections
more carefully might be better after all. I'll let you do it, because it would probably be easier for you.
Done as explained before.
Selections attribute is now input only (no more two way binding). Two way binding cause ng-for to re-render the view, and reinitialized inputs causing what we want to avoid in this ticket.
When a new search value is entered all previously existing search values are re-evaluated. That means a few components are created and destroyed only to get their rendered value.
This might be OK for local things, but it becomes problematic when custom component need to fetch things over the network to render the value. That means every single new addition to the search will potentially trigger a few network requests to re-render previously available rendered strings. This is clearly visible in the GUI with string disappearing for a short time and make the GUI "jumps".
We must find a way to not need to re-render previously available string. Maybe via a custom cache.