PDA

View Full Version : Problem with



erno
10 Jun 2011, 2:07 AM
Hi guys,

I have following problem with my ExtJS app. In IE6 works every thing jsut perfect. In IE7 and IE8 I have a problem that all components in my ViewPort disapear when I show some dialogs (hence, not all). when I resize the window all components are visible again. kann someone help me with this please?

Thanks a lot,
erno

friend
10 Jun 2011, 11:27 AM
Sure, just supply a functional, well-formatted code sample, being sure to enclose it in code tags.

erno
26 Jun 2011, 11:15 PM
hi,

thnx for your response. the application is written for our customer and I cannot post the code here.maybe I could post some code segments if you would say what you need.

mcadirci
27 Jun 2011, 2:04 AM
Post a small code that you problem exists.

erno
27 Jun 2011, 3:09 AM
hi,

here are some parts of the code:



// document status filter dialog
docStatusFilterDialog = new Ext.Window({
id: 'docStatusFilterDialog',
title: 'Document-Status Filter',
modal: true,
layout: 'table',
layoutConfig: { columns: 1 },
shadow: false,
draggable: false,
width: 330,
height: 200,
closeAction: 'hide',
style: 'margin: 5px; padding: 5px;',
padding: '5px',
items: [
{
xtype: 'grid',
id: 'docStatusGrid',
ds: docStatusDS,
cm: docStatusCM,
sm: docStatusSM,
autoHeight : true,
listeners : {
viewready : function() {
initFilterCheckboxSelectionModel( defaultDocumentStatusFilterParameters, 'docStatusGrid', 'id' );
}
},
width: 295,
border: true
}
],
buttons: [
{
text: 'Apply',
handler: function() {
updateFilterPreferences('filter.status.document');
Ext.getCmp('docStatusFilterDialog').hide();
}
},
{
text: 'Cancel',
handler: function() {
Ext.getCmp('docStatusFilterDialog').hide();
}
}
]
});
this code is used to define a window with grid panel representing a filter with document types as grid list. when I click on a button to show this dialog in IE7 and IE8 it doesn't work as I described my problem in my post before.in IE6 works everything perfect.

here is the code of the button:




{
id: 'btnStatusFilter',
text: 'Status',
iconCls: 'icon-status',
handler: function() {
var buttonEl = Ext.getCmp( 'btnStatusFilter' ).getEl();
var dialogPosX = buttonEl.getLeft() - 280 + buttonEl.getWidth();
var dialogPosY = buttonEl.getTop() + buttonEl.getHeight();

docStatusFilterDialog.x = dialogPosX;
docStatusFilterDialog.y = dialogPosY;

docStatusFilterDialog.show();
}
}

when I resize a main window all componts appear again.

thnx

EDIT: I used the alert JS-Function to "debug" it - after I click on the ok button (Msg-Box) the components disappear - not before.

skirtle
28 Jun 2011, 12:45 PM
I had a go at running the code you provided but I couldn't see any obvious problems with IE8.

A few other thoughts to try to figure out the problem...


You're using component ids quite heavily. Are you sure you don't have an id collision anywhere? Personally I never use ids, they're too dangerous.
I assume there are more items in the pop-up window in the full code? Otherwise the use of a table layout is completely inappropriate.
Try replacing the grid with something simpler, like just a panel. Continue making simplifications like this to try to rule things out.
You didn't mention where exactly you included the alert() box. This is diagnostically interesting: alert() boxes interrupt the execution of the current thread, implying the problem is in some code that runs in the same execution cycle. Have you tried inserting a breakpoint instead and digging deeper into where the problem occurs? Make sure you use ext-all-debug.js for debugging issues like this.

erno
29 Jun 2011, 3:17 AM
Hi skirtle,

1. ids are unique - in IE6 the right dialog is always open. in IE7 and 8 as well after I resize the main window (IE).
2. thnx for the tip ;-)
3. I tried to do this as well - the same problem
4. unfortunatly I cannot debug - a problem with the environment. alert are the only thing I can use to debug the app

I really don't get it...

br,
errno

skirtle
29 Jun 2011, 3:58 AM
unfortunatly I cannot debug - a problem with the environment. alert are the only thing I can use to debug the app

That's a non-starter. IE8 has a built-in debugger, you don't even have to install it. If it's broken on your computer then borrow one off someone else.

The words 'the environment' sound very ominous. How do you connect to 'the environment'? I can't help but wonder whether 'a problem with the environment' is just another symptom of the true cause of the issue you're having.

erno
4 Jul 2011, 3:43 AM
Hi guys

problem solved!

I used viewport.doLayout() after dialog.show() function call and now it works.

thnx and br,
errno