I've encountered a strange problem that I hope the forum might be able to help with.
I have a panel with 2 cards, each with its own store-backed List object. When the user clicks on the list of the first card, we set the filter on the store of the second card and call setActiveCard() to switch to the 2nd card. The flow works well in the simulator and in desktop browser.
On the actual device (iPhone), there seems to be some kind of race condition going on, where the HTML for the 2nd list is not displaying at all. I traced the flow as follows:
- DataView calls refresh()
- refresh() calls this.tpl.overwrite()
this.tpl.overwrite(el, this.collectData(records, 0));
- overwrite() calls applyTemplate:
el.innerHTML = this.applyTemplate(values);
The really strange thing is, I've verified that applyTemplate is returning the correct HTML. But when I print out the value of el.innerHTML (immediately following applyTemplate) it is empty.
Is the browser reinitializing the innerHTML of the element asynchronously from the application flow somehow? How can I detect if this is the case?
Anyone seen this before?
Thanks in advance,