Success! Looks like we've fixed this one. According to our records the fix was applied for
EXTJS-8763
in
4.2.0.663.
-
Sencha User
Drag&Drop (Portal, TabReorderer) causes IE9 hidding if IE9 has single tab
REQUIRED INFORMATION
Ext version tested:
Browser versions tested against:
DOCTYPE tested against:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Description:
- Drag&Drop (Portal, TabReorderer) causes IE9 hidding if IE9 has single tab and there are OS windows under browser
Steps to reproduce the problem:
- Open several windows in Windows 7 (i tested in Win7, not sure if problem is reproduced in other versions of Windows)
2) Open the following test case in IE9 (browser should have one tab only and must be on top of other windows)
3) Click on Tab2
The result that was expected:
The result that occurs instead:
- Switching tabs will send the browser window to the back or minimizes it.
Test Case:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Button Examples</title>
<script type="text/javascript" src="../../examples/shared/include-ext.js"></script>
<script type="text/javascript">
Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('Ext.ux', '../ux/');
Ext.require([
'Ext.tab.*',
'Ext.ux.TabReorderer'
]);
Ext.onReady(function () {
Ext.create("Ext.tab.Panel", {
plugins: Ext.create('Ext.ux.TabReorderer'),
renderTo: document.body,
items: [{
title: "Tab1"
}, {
title: "Tab2"
}],
activeTab: 0,
plain: true
});
});
</script>
</head>
<body>
</body>
</html>
HELPFUL INFORMATION
Operating System:
-
I'm not sure how this can be considered a framework bug. We have no control over what happens to the browser window or how the OS handles those interactions.
Twitter - @evantrimboli
Former Sencha framework engineer, available for consulting.
As of 2017-09-22 I am not employed by Sencha, all subsequent posts are my own and do not represent Sencha in any way.
-
Sencha User
Hi Evan,
Thanks for response
I don't agree with you because 4.1.3 version has no such defect (tested on the same computer)
The bug was introduced in 4.2 version only
Just run that test case with 4.1.3 and 4.2 version and you will see the difference
-
Hello,
I can add that it is also reproducible with a Calendar example if drag events and with these two examples:
../examples/dd/field-to-grid-dd.html
../examples/dd/dnd_with_dom.html
I don't state it is a framework bug. Maybe, it is an IE one.
But you have already baked directly in the framework a lot of fixes/workarounds of IE bugs|issues|quirks
-
Sencha User
I compared changes between 4.1.3 and 4.2 in DD classes and found that the issue is caused by the following code
File: src\dd\DragDrop.js
Function: handleMouseDown
Line 822 (for rev 489)
Code:
Ext.fly(activeEl).blur();
activeEl is 'Ext.Element.getActiveElement()'
That code was added with the following comment
// We're going to stop this event.
// But we need blurs to proceed so that editors still disappear when you click draggable things.
// Like column headers in a cell editing grid:
https://sencha.jira.com/browse/EXTJSIV-7802
-
Sencha User
Ext.Element.getActiveElement() returns document.body if no active elements but calling
Code:
document.body.blur();
causes that IE9 (witn single tab and on top of other OS windows) will be hidden
Just open IE9 and run in the console document.body.blur()