Hybrid View
-
20 Feb 2013 2:35 AM #1
Drag&Drop (Portal, TabReorderer) causes IE9 hidding if IE9 has single tab
Drag&Drop (Portal, TabReorderer) causes IE9 hidding if IE9 has single tab
REQUIRED INFORMATION
Ext version tested:- Ext 4.2.0 rev 489
Browser versions tested against:- IE9
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:- IE9 should be visible
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:- Win7
-
20 Feb 2013 2:44 AM #2
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.
Evan Trimboli
Sencha Developer
Twitter - @evantrimboli
Don't be afraid of the source code!
-
20 Feb 2013 2:52 AM #3
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
-
20 Feb 2013 3:10 AM #4
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
-
20 Feb 2013 3:20 AM #5
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)
activeEl is 'Ext.Element.getActiveElement()'Code:Ext.fly(activeEl).blur();
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
-
20 Feb 2013 3:40 AM #6
Ext.Element.getActiveElement() returns document.body if no active elements but calling
causes that IE9 (witn single tab and on top of other OS windows) will be hiddenCode:document.body.blur();
Just open IE9 and run in the console document.body.blur()
You found a bug! We've classified it as
EXTJSIV-8763
.
We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.


Reply With Quote