Hybrid View

    Success! Looks like we've fixed this one. According to our records the fix was applied for EXTJS-8763 in 4.2.0.663.
  1. #1
    Sencha User
    Join Date
    Apr 2007
    Posts
    160
    Vote Rating
    0
    vladsch is on a distinguished road

      0  

    Default 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
    Ext.NET - ASP.NET for Ext JS
    MVC and WebForms
    Examples | Twitter

  2. #2
    Sencha - Ext JS Dev Team evant's Avatar
    Join Date
    Apr 2007
    Location
    Sydney, Australia
    Posts
    16,850
    Vote Rating
    610
    evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute evant has a reputation beyond repute

      0  

    Default


    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!

  3. #3
    Sencha User
    Join Date
    Apr 2007
    Posts
    160
    Vote Rating
    0
    vladsch is on a distinguished road

      0  

    Default


    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
    Ext.NET - ASP.NET for Ext JS
    MVC and WebForms
    Examples | Twitter

  4. #4
    Sencha User Daniil's Avatar
    Join Date
    Jun 2010
    Location
    Saint-Petersburg, Russia
    Posts
    974
    Vote Rating
    110
    Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all Daniil is a name known to all

      0  

    Default


    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
    Ext.NET - ASP.NET for Ext JS
    MVC and WebForms
    Examples | Twitter

  5. #5
    Sencha User
    Join Date
    Apr 2007
    Posts
    160
    Vote Rating
    0
    vladsch is on a distinguished road

      0  

    Default


    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
    Ext.NET - ASP.NET for Ext JS
    MVC and WebForms
    Examples | Twitter

  6. #6
    Sencha User
    Join Date
    Apr 2007
    Posts
    160
    Vote Rating
    0
    vladsch is on a distinguished road

      0  

    Default


    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()
    Ext.NET - ASP.NET for Ext JS
    MVC and WebForms
    Examples | Twitter

Thread Participants: 2