PDA

View Full Version : LoadMasks stay in DOM after setLoading( false )



nothing
21 Nov 2013, 5:40 AM
There are multiple grids in my tabpanel. While the data is loading, I mark each grid with a load mask using
grid.setLoading( true );
After a grid has received its data, I remove the load mask using
grid.setLoading( false );

Problem: the load mask divs in the DOM stay.

1. Why do they stay in DOM?
2. How can I remove them from DOM safely? I have found different divs of classes "x-mask" and "x-mask-msg". I cannot find the connection between grid (view) and those load mask divs.

Example divs:


<div class="x-mask" style="z-index: 19001; width: 851px; height: 319px; right: auto; left: 279px; top: 1472px; visibility: hidden;" id="ext-gen1575"></div>


<div class="x-mask-msg x-layer x-mask-msg-default x-border-box" id="loadmask-1240" style="right: auto; left: 651px; top: 1616px; z-index: 19003; display: none;"><div id="loadmask-1240-msgEl" class=" x-mask-msg-inner"><div id="loadmask-1240-msgTextEl" class="x-mask-msg-text">Loading data...</div></div></div>

The problem is that altough they are "displayed: none" and "visibility: hidden" their height and position is active, causing the browser to use scrollbars for the empty space.

mitchellsimoens
3 Dec 2013, 1:10 PM
I believe loadmasks are changing in that instead of always rendered to <body> they are rendered to the component elements.