PDA

View Full Version : [CLOSED] LoadMask autoShow



bob4ever
8 Apr 2014, 11:50 PM
I think there is a bug with the autoShow property of the Ext.LoadMask class:

https://fiddle.sencha.com/#fiddle/4tn

Update:

Destroying the LoadMask will throw the warning:

"Attempted to remove a component that does not exist. Ext.container.Container: remove takes an argument of the component to remove. cmp.remove() is incorrect usage."

https://fiddle.sencha.com/#fiddle/4ts

mitchellsimoens
9 Apr 2014, 3:53 AM
Thanks for the report! I have opened a bug in our bug tracker.

Animal
10 Apr 2014, 2:21 PM
Is this a dupe of http://www.sencha.com/forum/showthread.php?283834 ?

That has a workaround and the code is fixed

Animal
10 Apr 2014, 2:37 PM
OK, try this override:



Ext.override(Ext.LoadMask, {
beforeDestroy: function() {
this.callParent(arguments);
// The ownerCt reference does not own this as a container, so
// the remove upon destroy must not be attempted.
this.ownerCt = null;
}
});

bob4ever
10 Apr 2014, 10:53 PM
Ok the override fix the warning on destroying the LoadMask.

But the autoShow property still doesn't work.

bob4ever
2 Jun 2014, 10:34 PM
The autoShow property still doesn't work in the release 5.0.0.970!

andreas-spindler
9 Sep 2014, 12:58 AM
Still doesn't with 5.0.1.1255

"Cannot read property 'disableTabbing' of undefined"

TABob
11 Sep 2014, 12:48 AM
Still doesn't with 5.0.1.1255

"Cannot read property 'disableTabbing' of undefined"


Getting the same error here too with 5.0.1.1255


I think this is actually a different bug to the one originally raised but after some investigation and stepping through the extjs code it looks like the problem is occurring because of the fact that the ownerCt memeber variable gets deleted if the mask is floating.

During the LoadMask constructor the render method calls 'wrapPrimaryEl' which in turn calls 'makeFloating'. The constructor of the Floating mixin ends up calling 'registerWithOwnerCt' which
deletes the ownerCt member variable. This then results in the error above because ownerCt is undefined at the point where it tries to execute the function 'disableTabbing' in the LoadMask 'show' method.

LoadMasks have never really worked properly. We had to override in our code in ExtJS 4 and now finding the same in ExtJS 5. Would be nice if they could finally get these working as intended.