хотя viewport не поддерживает autoScroll=true
, но мы все равно можем использовать его, вручную задав ширину дочерней панели mainCenterPanel по размеру, что заставляет viewport показывать содержимое при прокрутке.
layoutPanel = new Ext.Viewport({
layout: 'border',
border: false,
autoScroll: true,
items: [
<s:if test="%{isExternalView != true}">
new Ext.Panel({
region: 'north',
contentEl: 'bottomTbl',
border: false,
height: 37
}),
</s:if>
mainCenterPanel = new Ext.Panel({
id: 'mainCenterPanel',
region: 'center',
border: false,
layout: 'border',
bodyStyle: 'overflow-y: no;',
items: [
new Ext.Panel({
id: 'configPanelContainer',
region: 'north',
border: false,
height: 50,
layout: 'border',
items: [
new Ext.Panel({
region: 'north',
border: false,
contentEl: 'filterBar',
bodyStyle: 'padding:20px 20px 20px 20px'
}),
new Ext.Panel({
region: 'center',
layout: 'fit',
border: false,
bodyStyle: 'padding:0px 20px 20px 20px',
<s:if test="%{!licenseWatermarkEmpty}">bodyCssClass: '${licenseWatermark}',</s:if>
items: heatMapConfigsPanel
})
]
}),
new Ext.Panel({
id: 'heatmapChartPanel',
region: 'center',
border: false,
contentEl: 'analysisContainer',
listeners: {
scope: this,
resize: function(p, adjWidth, adjHeight, rawWidth, rawHeight) {
if ((p.getInnerWidth() < layoutPanelMinWidth) ||
(p.getInnerHeight() < layoutPanelMinHeight)) {
mainCenterPanel.setWidth(layoutPanelMinWidth);
mainCenterPanel.setHeight(mainCenterPanel.getHeight() - 20);
return;
}
}
}
})
]
})
]
});