When I call setLoading on a component that was not rendered yet (e.g. new panel in tabpanel), the loading mask is not shown. Also after the component was rendered, the loading mask is not centered.
I could use workarounds to handle these situations, but I believe this should be handled in the ExtJS and not in the application.
Steps and code to reproduce the issue follows:
1. press the button "setLoading(true)" before clicking on the second tab
2. switch to the second tab, note that no loading mask is visible
3. switch back to the first tab and press the same button again
4. switch to the second tab, note that loading mask is not centered
I solved this by doing setLoading in afterrender of the viewport. The problem is because of that the child panel are rendered before the viewport. Viewport is the last one and when it is ready, all is ready.