| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- <!DOCTYPE html>
 
- <html>
 
- <head>
 
-     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
-     <title>Test meta config and metachange event support</title>
 
-     <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
 
-     <link rel="stylesheet" type="text/css" href="../shared/example.css" />
 
-     <!-- GC -->
 
-     <script type="text/javascript" src="../../ext-all.js"></script>
 
-     <script type="text/javascript" src="../shared/examples.js"></script>
 
-     <script type="text/javascript" charset="utf-8">
 
-     Ext.Loader.setConfig({enabled: true});
 
-     Ext.require([
 
-         'Ext.grid.*',
 
-         'Ext.data.*',
 
-         'Ext.util.*',
 
-         'Ext.form.field.*'
 
-     ]);
 
-     Ext.define('MetaModel', {
 
-         extend: 'Ext.data.Model'
 
-     });
 
-     Ext.onReady(function(){
 
-         var metaStore = Ext.create('Ext.data.Store', {
 
-             model: 'MetaModel',
 
-             autoLoad: true,
 
-             proxy: {
 
-                 type: 'ajax',
 
-                 url: 'meta-config-basic.php',
 
-                 reader: {
 
-                     type: 'json',
 
-                     root: 'data'
 
-                 }
 
-             },
 
-             listeners: {
 
-                 'metachange': function(store, meta) {
 
-                     grid.reconfigure(store, meta.columns);
 
-                 }
 
-             }
 
-         });
 
-         var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
 
-             clicksToMoveEditor: 1,
 
-             autoCancel: false
 
-         });
 
-         var grid = Ext.create('Ext.grid.Panel', {
 
-             width: 800,
 
-             height: 300,
 
-             title: 'Meta Grid',
 
-             store: metaStore,
 
-             columns: [],
 
-             renderTo: 'grid-ct',
 
-             tbar: [{
 
-                 text: 'Reload Metadata',
 
-                 handler: function() {
 
-                     metaStore.load();
 
-                 }
 
-             }],
 
-             plugins: rowEditing
 
-         });
 
-     });
 
-     </script>
 
- </head>
 
- <body>
 
-     <h1>Basic Meta Configuration</h1>
 
-     <p>This example demonstrates reconfiguring a grid dynamically based on the metadata returned by the server<br>
 
-     (requires PHP). Click the "Reload Metadata" button to see a new randomized column set and data in the grid.</p>
 
-     <p>Note also that the grid is editable on double-click, and that the editors automatically update as well. See below for additional details.</p>
 
-     <div id="grid-ct" style="width:800px;height:300px;"></div>
 
-     <p style="margin-top:30px;">The server response is in this format:</p>
 
-     <pre><code>{
 
-   data: [{ ... }],
 
-   msg: "...",
 
-   total: 99,
 
-   metaData: {
 
-     fields: [{ ... }],
 
-     columns: [{ ... }],
 
-     idProperty: "id",
 
-     messageProperty: "msg",
 
-     root: "data"
 
-   }
 
- }
 
-     </code></pre>
 
-     <p>The store/model automatically read the <code>fields</code> config to reconfigure the data model, but you can add any
 
-     additional custom data into the <code>metaData</code> that you need. In this example we've added a <code>columns</code>
 
-     config that contains a grid-specific column configuration that can be passed to the <code>grid.reconfigure()</code> method
 
-     in the store's load event handler. You could easily add other widget-specific configurations into the response as well.</p>
 
- </body>
 
- </html>
 
 
  |