Success! Looks like we've fixed this one. According to our records the fix was applied for
EXTJS-7470
in
a recent build.
-
[4.1.2] Border layout: expanding collapsed region caused iframe reloading
REQUIRED INFORMATION
Ext version tested:
Browser versions tested against:
Description:
- Expanding a region of Border layout caused iframe reloading in the center region.
- Generally, it is a known issue when ifram reloads when moved into another DOM node, but, I think, it should not happen in this case.
- It doesn't happen on collapsing.
- collapseMode: "mini" for the region helps to avoid this issue.
- animCollapse: false doesn't help.
Steps to reproduce the problem:
- Collapse the region
- Expand the region
The result that was expected:
The result that occurs instead:
Test Case:
Code:
<html>
<head>
<title>Border iframe reloading</title>
<link type="text/css" rel="stylesheet" href="../resources/css/ext-all.css" />
<script type="text/javascript" src="../ext-all-debug.js"></script>
<script type="text/javascript">
Ext.onReady(function () {
Ext.create("Ext.Viewport", {
renderTo: Ext.getBody(),
layout: "fit",
items: [{
layout: "border",
items: [{
width: 200,
region: "west",
collapsible: true,
animCollapse: false,
title: "East"
}, {
region: "center",
contentEl: "iframe1",
title: "Center"
}]
}]
});
});
</script>
</head>
<body>
<iframe id="iframe1" src="test.htm" class="x-hidden"></iframe>
</body>
</html>
HELPFUL INFORMATION
Operating System:
-
-
Sencha User
Hi,
I have the same problem, is there any advance or a fixed version.
In any case, when could we have a release with this bug fixed?
-
Try
Code:
Ext.override(Ext.layout.container.Border, {
isValidParent: function() {
return true;
}
});
-
Thank you, @Animal! It works well.
Please clarify is it just a workaround or a candidate to be a permanent fix?
-
Just a workaround.
The fix is to write isValidParent to correctly determine whether the border child item really does need moving somewhere else within the container.
It's complicated by the extra Splitter Components being automagically inserted between Components, and the extra weirdness of placeholder Components which are what you see as the collapsed "representation". They are all in there, and isValidParent just doesn't do a good job right now.
I have the ticket open it will be fixed in 4.2
-
Thank you for the details!
I see it has been marked fixed.
So, am I right to expect the fix in 4.1.3 or, maybe, 4.1.4? Or is 4.2 still actual?
-
4.1.3 is out. The code went into the 4.2 branch
-
Ok, thanks!
If you will have a chance, could you look at this, please?
http://www.sencha.com/forum/showthread.php?246801
Just I am interested in your opinion. I know you always have an independent opinion
(Apologize for a trick. Please just ignore if you wish.)
-
Sencha User
i think this problem still exists in IE 9. if I did panel.getLoader().load(), it throws a bunch of js errors in the URL provided. tested with other versions of IE and browsers, works fine.