wsmith323
14 Apr 2008, 9:38 AM
I'm using ExtJS 2.0.2 on Safari 3.1 and Firefox 2.0.0.11 on Mac OSX 10.5.2
It seems that the following combination of conditions triggers a GridPanel rendering bug on Safari. Specifically, the last column gets squashed to almost nothing.
- GridPanel's viewConfig includes forceFit=true.
- GridPanel has at least 4 columns.
- GridPanel has at least 1 button.
- GridPanel is a region within a border layout.
The following code will reproduce the bug on Safari.
I have attached a screenshot of the bug on Safari, along with a screenshot of Firefox rendering it acceptably.
GridPanel_forceFit_borderLayout_button_bug.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
GridPanel forceFit borderLayout button bug
</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" href="js/extjs/2.0.2/resources/css/ext-all.css" />
<script type="text/javascript" src="js/extjs/2.0.2/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/extjs/2.0.2/ext-all-debug.js"></script>
<script type="text/javascript" src="GridPanel_forceFit_borderLayout_button_bug.js"></script>
</head>
<body>
</body>
</html>
GridPanel_forceFit_borderLayout_button_bug.js
Ext.onReady(function() {
var grid = new Ext.grid.GridPanel({
store: new Ext.data.SimpleStore({
fields: [{
name: 'field1',
}, {
name: 'field2',
}, {
name: 'field3',
}, {
name: 'field4',
}],
data: [
['data11', 'data12', 'data13', 'data14'],
['data11', 'data12', 'data13', 'data14'],
],
}),
columns: [
{
header: 'Header 1',
dataIndex: 'field1',
}, {
header: 'Header 2',
dataIndex: 'field2',
}, {
header: 'Header 3',
dataIndex: 'field3',
}, {
header: 'Header 4',
dataIndex: 'field4',
}],
buttons: [
{text: 'Button'},
],
region: 'west',
split: true,
width: 400,
viewConfig: {
forceFit: true,
},
});
var vp = new Ext.Viewport({
layout: 'border',
items: [grid, {
region: 'center',
html: 'Center',
}],
});
});
It seems that the following combination of conditions triggers a GridPanel rendering bug on Safari. Specifically, the last column gets squashed to almost nothing.
- GridPanel's viewConfig includes forceFit=true.
- GridPanel has at least 4 columns.
- GridPanel has at least 1 button.
- GridPanel is a region within a border layout.
The following code will reproduce the bug on Safari.
I have attached a screenshot of the bug on Safari, along with a screenshot of Firefox rendering it acceptably.
GridPanel_forceFit_borderLayout_button_bug.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>
GridPanel forceFit borderLayout button bug
</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" href="js/extjs/2.0.2/resources/css/ext-all.css" />
<script type="text/javascript" src="js/extjs/2.0.2/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="js/extjs/2.0.2/ext-all-debug.js"></script>
<script type="text/javascript" src="GridPanel_forceFit_borderLayout_button_bug.js"></script>
</head>
<body>
</body>
</html>
GridPanel_forceFit_borderLayout_button_bug.js
Ext.onReady(function() {
var grid = new Ext.grid.GridPanel({
store: new Ext.data.SimpleStore({
fields: [{
name: 'field1',
}, {
name: 'field2',
}, {
name: 'field3',
}, {
name: 'field4',
}],
data: [
['data11', 'data12', 'data13', 'data14'],
['data11', 'data12', 'data13', 'data14'],
],
}),
columns: [
{
header: 'Header 1',
dataIndex: 'field1',
}, {
header: 'Header 2',
dataIndex: 'field2',
}, {
header: 'Header 3',
dataIndex: 'field3',
}, {
header: 'Header 4',
dataIndex: 'field4',
}],
buttons: [
{text: 'Button'},
],
region: 'west',
split: true,
width: 400,
viewConfig: {
forceFit: true,
},
});
var vp = new Ext.Viewport({
layout: 'border',
items: [grid, {
region: 'center',
html: 'Center',
}],
});
});