Ext.require([
'*'
]);
Ext.onReady(function() {
var html = '
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed metus nibh, sodales a, '+
'porta at, vulputate eget, dui. Pellentesque ut nisl. Maecenas tortor turpis, interdum non, sodales non, iaculis ac, '+
'lacus. Vestibulum auctor, tortor quis iaculis malesuada, libero lectus bibendum purus, sit amet tincidunt quam turpis '+
'vel lacus. In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, cursus a, fringilla vel, urna.
'+
'Aliquam commodo ullamcorper erat. Nullam vel justo in neque porttitor laoreet. Aenean lacus dui, consequat eu, adipiscing '+
'eget, nonummy non, nisi. Morbi nunc est, dignissim non, ornare sed, luctus eu, massa. Vivamus eget quam. Vivamus tincidunt '+
'diam nec urna. Curabitur velit. Lorem ipsum dolor sit amet.
';
var configs = [{
title: 'Basic Panel',
collapsible:true,
width:400,
html: html
},{
width: 320,
height: 320,
title: 'Masked Panel with a really long title',
bodyStyle: "padding: 5px;",
html: 'Some content',
collapsible: true,
collapseDirection: Ext.Component.DIRECTION_LEFT,
listeners: {
render: function(p){
p.body.mask('Loading...');
},
delay: 50
}
},{
width: 150,
height: 150,
unstyled: true,
title: 'Panel with unstyled:true',
bodyPadding: 0,
html: 'Some content'
},{
width: 150,
height: 150,
border: false,
frame: true,
title: 'Panel with border:false',
html: 'Some content'
},{
title: 'Framed panel: Width 280/Height 180',
html: html,
collapsible: true,
frame: true,
autoScroll: true,
width: 280,
height: 180
},{
title : 'Panel as child',
width : 500,
height: 400,
layout: 'fit',
bodyStyle: 'padding:5px',
items: [
{
xtype: 'panel',
border: false,
layout: {
type: 'vbox',
align: 'stretch'
},
items: [
{
html: 'top, with no title',
height: 100,
margin: '0 0 5 0'
},{
xtype: 'panel',
title: 'test',
html: 'bottom',
flex: 1
}
]
}
]
},{
title : 'Framed panel as child',
width : 300,
height: 100,
html : null,
layout: 'fit',
items: [
{
xtype: 'panel',
title: 'Framed panel',
html : '123',
frame: true
}
]
},{
title : 'Framed panel with normal child',
width : 300,
height: 100,
html : null,
frame: true,
layout: 'fit',
items: [
{
xtype: 'panel',
title: 'Non-framed child',
html : 'Hello'
}
]
},{
title: 'Width 180/No Height',
animCollapse: true,
collapsible: true,
width: 180,
html: html
}];
Ext.each(configs, function(config) {
var element = Ext.getBody().createChild({cls: 'panel-container'});
Ext.widget('panel', Ext.applyIf(config, {
renderTo: element,
bodyPadding: 7
}));
});
});