Aug 16, 2012, 9:19 AM
[CLOSED] TabPanel mask hides Windows
Hi,
When you have a tabpanel and floating non-modal windows and adds a tab inside tabpanel, loading mask of tab appears above window and difficult user to interact with window at the same time.
I have prepared a test case
Like you can see in the image mask of tabpanel is above window and you can not interact with window at this moment.
In v1.x with the same code mask appears behind window. I see that in extjs4 they added a z-index manager that could be the reason of this issue.
Any idea to solve it?
When you have a tabpanel and floating non-modal windows and adds a tab inside tabpanel, loading mask of tab appears above window and difficult user to interact with window at the same time.
I have prepared a test case
<script type="text/javascript">
function openWindow(url) {
var w = new Ext.Window({
renderTo: Ext.getBody(),
title: 'My Window',
modal: false,
resizable: true,
maximizable: false,
minimizable: false,
collapsible: false,
draggable: true,
isMinimized: false,
isMaximized: false,
minimizePosition: -1,
minWidth: 500,
minHeight: 500,
width: 500,
height: 500,
constrain: true,
loader: {
url: top.ResolveUrl(url),
renderer: 'frame',
disableCaching: true,
loadMask: {
showMask: true,
msg: Ext.String.format('Loading my window...')
},
}
});
w.show();
}
function openTab(url) {
if (Ext.isEmpty(url, false)) {
return;
}
var tp = Ext.getCmp("sampleTabPanel");
var tabId = url;
var tab = tp.getComponent(tabId);
if (!tab) {
tab = tp.add({
id: tabId,
title: 'My Tab',
closable: true,
closeAction: 'close',
loader: {
url: url,
renderer: 'frame',
noCache: true,
loadMask: {
showMask: true,
msg: 'Loading new tab...'
}
}
});
tp.setActiveTab(tab);
tab.addListener('activate', tab.syncSize);
} else {
tp.setActiveTab(tab);
tab.fireEvent('activate');
Ext.get(tab.tab.el).frame();
}
}
</script>
<ext:Button runat="server" Text="1 - Open Window">
<Listeners>
<Click Handler="openWindow('/Area/Sample/Detail');" />
</Listeners>
</ext:Button>
<ext:Button runat="server" Text="2 - Open Tab">
<Listeners>
<Click Handler="openTab('/Area/Sample/Detail');" />
</Listeners>
</ext:Button>
<ext:TabPanel ID="sampleTabPanel" runat="server" />
These are the steps to reproduce:- Open a window
- Move window above tabpanel
- Open a tab
Like you can see in the image mask of tabpanel is above window and you can not interact with window at this moment.
In v1.x with the same code mask appears behind window. I see that in extjs4 they added a z-index manager that could be the reason of this issue.
Any idea to solve it?
Last edited by softmachine2011; Aug 20, 2012 at 8:53 AM.