-
21 Dec 2011 10:58 AM #31
Evant please test the following test case against your fix in 4.1 if you have not already.
Given you have a different grid in different tabs of the same tab panel
And the inactive grid's store take several seconds to load
When the inactive grid tab becomes active before its store has finished loading
Then the load mask for that grid should become visible.
(Basically make sure the load mask you are not showing initially becomes visible if its component is activated before its data is completely loaded).
Thanks.
-
23 Dec 2011 5:24 PM #32
I've also been experiencing this issue, but the fix provided definitely works for me:
Hope to remove all these LoadMask-related overrides in 4.1!Code:Ext.override(Ext.view.AbstractView, { onMaskBeforeShow: function() { if(!this.el.isVisible(true)) { return false; } this.callOverridden(arguments); } });
-
8 Feb 2012 8:10 AM #33
Thought I'd share my discoveries here in case it's useful for someone. I'm creating an Ext.LoadMask directly (no store involved at all). Depending on what the user is doing, the target may no longer be visible, and I found that the posted workaround (overriding part of AbstractView) didn't work for me. Here's an example of what seems to be working for me in case anyone finds it useful.
Code:showMask = function () { var target = Ext.ComponentQuery.query('#tab2')[0]; var mask = new Ext.LoadMask(target, { msg: 'Hello', listeners: { beforeshow: function () { if (this.ownerCt) { return this.ownerCt.isVisible(); } else if (this.container) { return this.container.isVisible(); } else { return true; } } } }); mask.show(); };
-
9 Jul 2012 11:41 AM #34
Is anyone else seeing a regression with this defect in 4.1.1?
-
26 Jul 2012 6:36 AM #35
yes me. I have the problem that the loadmask is outside of the region from the panel.
-
26 Jul 2012 7:02 AM #36
use this
PHP Code:Ext
.define('Ext.bugs.view.AbstractView', {
override: 'Ext.view.AbstractView',
onMaskBeforeShow: function() {
var me = this;
if (!me.el.isVisible(true)) return false;
me.callParent(arguments);
}
});
-
26 Jul 2012 11:37 AM #37
this patch is not solving my problem. If the panel is empty because the template code is still not loaded the loadmask is displayed outside of the region. See attached screen-shot. After the first load of content inside of the panel the loadmask is inside of the region/panel.
P5-loadmask-1.jpg
-
4 Dec 2012 7:36 AM #38
This bug does not seem to be resolved.
Same issue with 4.1.3
-
5 Dec 2012 10:46 AM #39
I am still having problems with load masks appearing in the top left corner of my app or moving when I scroll a container in 4.1.1a and it doesn't sound like it has been fixed in 4.1.3. Are the developers aware of any issues related to load masks. Would it help if I created new bug reports?
-
15 Jan 2013 8:00 AM #40
I believe I am having this issue too: the loading message appears in the top-left corner instead of over the correct component when setLoading(true) is called on a component before the component becomes visible.
I am using version 4.1.1.1.
This override class provides a workaround, although it is probably not a complete fix and might have unintended side effects:
Code:Ext.define('patch.LoadMask', { override: 'Ext.LoadMask', onContainerShow: function(container){ this.callOverridden(arguments); if (this.getMaskTarget().isVisible()) { this.sizeMask(); } }, onContainerExpand: function(container){ this.callOverridden(arguments); if (this.getMaskTarget().isVisible()) { this.sizeMask(); } } });
Success! Looks like we've fixed this one. According to our records the fix was applied for
EXTJSIV-4632
in
TBD.


Reply With Quote