| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354 | 
							- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
- <html>
 
- <head>
 
-     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
-     <title>ExtJS Layout Examples</title>
 
-     <!-- Ext -->
 
-     <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
 
-     <script type="text/javascript" src="../../ext-all.js"></script>
 
-     <!-- example code -->
 
-     <link rel="stylesheet" type="text/css" href="layout-browser.css">
 
-     <!-- GC -->
 
-     <!-- page specific -->
 
-     <script type="text/javascript" src="layouts/basic.js"></script>
 
-     <script type="text/javascript" src="layouts/custom.js"></script>
 
-     <script type="text/javascript" src="layouts/combination.js"></script>
 
-     <script type="text/javascript" src="layout-browser.js"></script>
 
- </head>
 
- <body>
 
-     <div style="display:none;">
 
-         <!-- Start page content -->
 
-         <div id="start-div">
 
-             <div style="float:left;" ><img src="images/layout-icon.gif" /></div>
 
-             <div style="margin-left:100px;">
 
-                 <h2>Welcome!</h2>
 
-                 <p>There are many sample layouts to choose from that should give you a good head start in building your own
 
-                 application layout.  Just like the combination examples, you can mix and match most layouts as
 
-                 needed, so don't be afraid to experiment!</p>
 
-                 <p>Select a layout from the tree to the left to begin.</p>
 
-             </div>
 
-         </div>
 
-         <!-- Basic layouts -->
 
-         <div id="absolute-details">
 
-             <h2>Ext.layout.container.Absolute</h2>
 
-             <p>This is a simple layout style that allows you to position items within a container using
 
-             CSS-style absolute positioning via XY coordinates.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout: 'absolute',
 
- items:[{
 
-     title: 'Panel 1',
 
-     x: 50,
 
-     y: 50,
 
-     html: 'Positioned at x:50, y:50'
 
- }]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Absolute" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="accordion-details">
 
-             <h2>Ext.layout.container.Accordion</h2>
 
-             <p>Displays one panel at a time in a stacked layout.  No special config properties are required other
 
-             than the layout — all panels added to the container will be converted to accordion panels.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout: 'accordion',
 
- items:[{
 
-     title: 'Panel 1',
 
-     html: 'Content'
 
- },{
 
-     title: 'Panel 2',
 
-     id: 'panel2',
 
-     html: 'Content'
 
- }]
 
-             </code></pre>
 
-             <p>You can easily customize individual accordion panels by adding styles scoped to the panel by class or id.
 
-             For example, to style the panel with id 'panel2' above you could add rules like this:</p>
 
-             <pre><code>
 
- #panel2 .x-panel-body {
 
-     background:#ffe;
 
-     color:#15428B;
 
- }
 
- #panel2 .x-panel-header-text {
 
-     color:#555;
 
- }
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Accordion" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="anchor-details">
 
-             <h2>Ext.layout.container.Anchor</h2>
 
-             <p>Provides anchoring of contained items to the container's edges.  This type of layout is most commonly
 
-             seen within FormPanels (or any container with a FormLayout) where fields are sized relative to the
 
-             container without hard-coding their dimensions.</p>
 
-             <p>In this example, panels are anchored for example purposes so that you can easily see the effect.
 
-             If you resize the browser window, the anchored panels will automatically resize to maintain the
 
-             same relative dimensions.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout: 'anchor',
 
- items: [{
 
-     title: 'Panel 1',
 
-     height: 100,
 
-     anchor: '50%'
 
- },{
 
-     title: 'Panel 2',
 
-     height: 100,
 
-     anchor: '-100'
 
- },{
 
-     title: 'Panel 3',
 
-     anchor: '-10, -262'
 
- }]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Anchor" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="border-details">
 
-             <h2>Ext.layout.container.Border</h2>
 
-             <p>This Layout Browser page is already a border layout, and this example shows a separate border layout
 
-             nested within a region of the page's border layout.  Border layouts can be nested with just about any
 
-             level of complexity that you might need.</p>
 
-             <p>Every border layout <b>must</b> at least have a center region.  All other regions are optional.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout:'border',
 
- defaults: {
 
-     collapsible: true,
 
-     split: true,
 
-     bodyStyle: 'padding:15px'
 
- },
 
- items: [{
 
-     title: 'Footer',
 
-     region: 'south',
 
-     height: 150,
 
-     minSize: 75,
 
-     maxSize: 250,
 
-     cmargins: '5 0 0 0'
 
- },{
 
-     title: 'Navigation',
 
-     region:'west',
 
-     margins: '5 0 0 0',
 
-     cmargins: '5 5 0 0',
 
-     width: 175,
 
-     minSize: 100,
 
-     maxSize: 250
 
- },{
 
-     title: 'Main Content',
 
-     collapsible: false,
 
-     region:'center',
 
-     margins: '5 0 0 0'
 
- }]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Border" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="card-tabs-details">
 
-             <h2>Ext.layout.container.Card (TabPanel)</h2>
 
-             <p>The TabPanel component is an excellent example of a sophisticated card layout.  Each tab is just
 
-             a panel managed by the card layout such that only one is visible at a time.  In this case, configuration
 
-             is simple since we aren't actually building a card layout from scratch.  Don't forget to set the
 
-             activeItem config in order to default to the tab that should display first.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- xtype: 'tabpanel',
 
- activeTab: 0, // index or id
 
- items:[{
 
-     title: 'Tab 1',
 
-     html: 'This is tab 1 content.'
 
- },{
 
-     title: 'Tab 2',
 
-     html: 'This is tab 2 content.'
 
- },{
 
-     title: 'Tab 3',
 
-     html: 'This is tab 3 content.'
 
- }]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Card" target="_blank">Card layout API Reference</a></p>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.tab.Panel" target="_blank">TabPanel API Reference</a></p>
 
-         </div>
 
-         <div id="card-wizard-details">
 
-             <h2>Ext.layout.container.Card (Wizard)</h2>
 
-             <p>You can use a Card layout to create your own custom wizard-style screen.  The layout is a standard
 
-             CardLayout with a Toolbar at the bottom, and the developer must supply the navigation function
 
-             that implements the wizard's business logic (see the code in basic.js for details).</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout:'card',
 
- activeItem: 0, // index or id
 
- bbar: ['->', {
 
-     id: 'card-prev',
 
-     text: '&laquo; Previous'
 
- },{
 
-     id: 'card-next',
 
-     text: 'Next &raquo;'
 
- }],
 
- items: [{
 
-     id: 'card-0',
 
-     html: 'Step 1'
 
- },{
 
-     id: 'card-1',
 
-     html: 'Step 2'
 
- },{
 
-     id: 'card-2',
 
-     html: 'Step 3'
 
- }]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Card" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="column-details">
 
-             <h2>Ext.layout.container.Column</h2>
 
-             <p>This is a useful layout style when you need multiple columns that can have varying content height.
 
-             Any fixed-width column widths are calculated first, then any percentage-width columns specified using
 
-             the <tt>columnWidth</tt> config will be calculated based on remaining container width.  Percentages
 
-             should add up to 1 (100%) in order to fill the container.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout:'column',
 
- items: [{
 
-     title: 'Width = 25%',
 
-     columnWidth: .25,
 
-     html: 'Content'
 
- },{
 
-     title: 'Width = 75%',
 
-     columnWidth: .75,
 
-     html: 'Content'
 
- },{
 
-     title: 'Width = 250px',
 
-     width: 250,
 
-     html: 'Content'
 
- }]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Column" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="fit-details">
 
-             <h2>Ext.layout.container.Fit</h2>
 
-             <p>A very simple layout that simply fills the container with a single panel.  This is usually the best default
 
-             layout choice when you have no other specific layout requirements.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout:'fit',
 
- items: {
 
-     title: 'Fit Panel',
 
-     html: 'Content',
 
-     border: false
 
- }
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Fit" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="table-details">
 
-             <h2>Ext.layout.container.Table</h2>
 
-             <p>Outputs a standard HTML table as the layout container.  This is sometimes useful for complex layouts
 
-             where cell spanning is required, or when you want to allow the contents to flow naturally based on standard
 
-             browser table layout rules.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout: {
 
-     type: 'table',
 
-     columns: 4
 
- },
 
- items: [
 
-     {html:'1,1',rowspan:3},
 
-     {html:'1,2'},
 
-     {html:'1,3'},
 
-     {html:'2,2',colspan:2},
 
-     {html:'3,2'},
 
-     {html:'3,3'}
 
- ]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.Table" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="vbox-details">
 
-             <h2>Ext.layout.container.VBox</h2>
 
-             <p>A layout that allows for the vertical and horizontal stretching of child items, much like the container
 
-             layout with size management.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout: {
 
-     type: 'vbox'
 
-     align : 'stretch',
 
-     pack  : 'start',
 
- },
 
- items: [
 
-     {html:'panel 1', flex:1},
 
-     {html:'panel 2', height:150},
 
-     {html:'panel 3', flex:2}
 
- ]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.VBox" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <div id="hbox-details">
 
-             <h2>Ext.layout.container.HBox</h2>
 
-             <p>A layout that allows for the vertical and horizontal stretching of child items, much like the column
 
-             layout but can stretch items vertically.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout: {
 
-     type: 'hbox',
 
-     pack: 'start',
 
-     align: 'stretch'
 
- },
 
- items: [
 
-     {html:'panel 1', flex:1},
 
-     {html:'panel 2', width:150},
 
-     {html:'panel 3', flex:2}
 
- ]
 
-             </code></pre>
 
-             <p><a href="http://docs.sencha.com/ext-js/4-0/#/api/Ext.layout.container.HBox" target="_blank">API Reference</a></p>
 
-         </div>
 
-         <!-- Custom layouts -->
 
-         <div id="center-details">
 
-             <h2>Ext.ux.layout.Center</h2>
 
-             <p>This is a custom layout for centering contents within a container.  The only requirement is
 
-             that the container have a single child panel with a fixed width or a percentage ratio specified.
 
-             The child panel can then contain  any content, including other components, that will display
 
-             centered within the main container. To make the centered panel non-visual, remove the title
 
-             and add <tt>border:false</tt> to the child config.</p>
 
-             <p><b>Sample Config:</b></p>
 
-             <pre><code>
 
- layout:'ux.center',
 
- items: {
 
-     title: 'Centered Panel',
 
-     widthRatio: 0.75,
 
-     html: 'Some content'
 
- }
 
-             </code></pre>
 
-         </div>
 
-         <!-- Combination layouts -->
 
-         <div id="tabs-nested-layouts-details">
 
-             <h2>Tabs With Nested Layouts</h2>
 
-             <p>There are multiple levels of layout nesting within three different TabPanels in this example.
 
-             Each tab in a TabPanel can have its own separate layout.  As we can see, some have plain content,
 
-             while others contain full BorderLayouts.  There is also a fully-loaded grid nested down inside
 
-             the inner-most tab, showing that there is no limit to how complex your layout can be.</p>
 
-             <p>One of the trickiest aspects of deeply nested layouts is dealing with borders on all the
 
-             different panels used in the layout.  In this example, body padding and region margins are used
 
-             extensively to provide space between components so that borders can be displayed naturally in
 
-             most cases. A different approach would be to minimize padding and use the config properties
 
-             related to borders to turn borders on and off selectively to achieve a slightly different look
 
-             and feel.</p>
 
-         </div>
 
-         <div id="complex-details">
 
-             <h2>Complex Layout</h2>
 
-             <p></p>
 
-         </div>
 
-         <!-- Form layouts -->
 
-         <div id="abs-form-details">
 
-             <h2>Absolute Layout Form</h2>
 
-             <p>FormLayout supports absolute positioning in addition to standard anchoring for flexible control over
 
-             positioning of fields and labels in containers.  In this example, the top and left positions of the labels
 
-             and fields are positioned absolute, while the field widths are anchored to the right and/or bottom of the container.</p>
 
-         </div>
 
-     </div>
 
- </body>
 
- </html>
 
 
  |