I'm running into a strange issue with my RowList component.
I have a RowList on a page with 1 row and multiple items within that row. Each item is made from a custom component (a simple group including a poster and a label). When each item is focussed i add a border to the bottom of the item and when selected it plays a video. This all works as expected, the problem is when i close the video and attempt to focus on the RowList again, it looks like all the items for the row have been added again and are stacked on top of the existing items. The previously selected item retains it's 'focused' state and shows the border even when scrolling through the other items in the row.
No re-fetching of the data is occurring and i even observed the content node of the RowList using the ObserveField method and verified that nothing was changing. The only thing that changed was the visibility being set from true to false and vice versa.
Anyone ever came across this or have any idea how to resolve it?
When you use ObserveField - make sure you are not telling it to observefield more than once. Remember to unobservefield if you need to tell it to observefield again or it will fire each time in succession incrementing. in other words if you have a routine which sets observefield, each time that routine runs it sets up an extra callback to it. The second time it will execute the callback twice, the third time it will execute it three times - it gets real messy. So either set it a single time in Init, or if you are manually setting it be sure to unset it/unobservefield when it executes. Without seeing the code involved I'm only guessing, but perhaps when the focus changes to the videoplayer you could unobserve the field that redraws the overlays, and when focus switches back to the rowlist observe the field again.