ExtJS Debugging "[E] Layout Launch Failed" (in custom component)

I developed a special kind of combo box that uses a grid instead of the standard combo-collector (mainly for buffered visualization with huge data sets). Now I'm trying to make it compatible with Ext 4.2.1, but I ran into this error:

[E] Layout run failed 

Please see the demo pages for test cases. The error occurs once for each combo, but only the first time it expands.

This error did not occur with 4.2.0 (see demo page with 4.2.0 ). The changes that I defined in 4.2.1 at that time concerned the query filter, not the rendering or layout ... However, I already encountered this error with 4.2.0 in a situation where the grid collector was sitting in the window, but it was in a codebase with a lot of overrides and used the isolated version of Ext4 ... So I just jumped that it doesn’t come from my component and disconnected it ( another demo page proves that it’s not enough to select an error in the grid selection window +) .

The error does not seem to have any side effects, but I feel bad.

Does anyone know what causes this, or, even better, what needs to be done to prevent it?

Or does someone well understand the Ext linking mechanism to give me some tips on how to track such an error? Or at least give me confidence that the error will remain harmless in any situation?

+7
javascript extjs extjs4
source share
5 answers

This was actually a Grid panel layout that failed because it was configured to compress the content, but there was no content at the time the layout started. The easiest way to fix this is to set the width on the panel (which is your picker), so it will no longer try to compress.

See my pull request: https://github.com/rixo/GridPicker/pull/3

I also suggest expanding the Picker field instead of Combobox, Combo does a lot of things that you probably don't need. See how I dealt with this in my MultiSelect ux: https://github.com/nohuhu/Ext.ux.form.field.MultiSelect

+23
source share

I got this error when (by mistake) I changed the panel layout:

 layout : fit 

to

 layout : { type: 'vbox', align: 'stretch' } 

In some cases, the panel had only one element, and in these cases an error occurred.

Hope this information is helpful to someone.

+1
source share

In most cases, the layout does not work due to the incorrect width / height configuration in combination with the layout settings.

The following forum post is useful for troubleshooting layout errors, especially in nested containers: https://www.sencha.com/forum/showthread.php?257244-vbox-layout-for-a-nested-tabpanel-fails-to- render-grid

+1
source share

Or there are two identical identifiers available in html. The identifier that you are going to make your component is already there.

I had a similar problem, and when I deleted one of them, a "card" will appear.

Hope someone wins.

0
source share

I received this message when I tried to add Ext.tree.Panel to a border layout panel. I added it as a west, and then another panel in the east. Extjs got scared that I was adding a tree to a western or eastern position and threw this error.

I added the tree panel to the center position, and this problem disappeared.

0
source share

All Articles