Upgrade to ExtJS 3.0.0 - Released 07/06/2009
[extjs.git] / docs / source / multi-lang.html
diff --git a/docs/source/multi-lang.html b/docs/source/multi-lang.html
new file mode 100644 (file)
index 0000000..928607c
--- /dev/null
@@ -0,0 +1,130 @@
+<html>\r
+<head>\r
+  <title>The source code</title>\r
+    <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
+    <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
+</head>\r
+<body  onload="prettyPrint();">\r
+    <pre class="prettyprint lang-js">Ext.onReady(function(){
+    Ext.QuickTips.init();
+    Ext.form.Field.prototype.msgTarget = 'side';
+
+    /* Language chooser combobox  */
+    var store = new Ext.data.ArrayStore({
+        fields: ['code', 'language', 'charset'],
+        data : Ext.exampledata.languages // from languages.js
+    });
+    var combo = new Ext.form.ComboBox({
+        store: store,
+        displayField:'language',
+        typeAhead: true,
+        mode: 'local',
+        triggerAction: 'all',
+        emptyText: 'Select a language...',
+        selectOnFocus: true,
+        onSelect: function(record) {
+            window.location.search = Ext.urlEncode({"lang":record.get("code"),"charset":record.get("charset")});
+        }
+    });
+    combo.render('languages');
+
+    // get the selected language code parameter from url (if exists)
+    var params = Ext.urlDecode(window.location.search.substring(1));
+    \r
+    if (params.lang) {\r
+        // check if there's really a language with that language code\r
+        record = store.data.find(function(item, key){\r
+            if (item.data.code == params.lang) {\r
+                return true;\r
+            }\r
+            return false;\r
+        });\r
+        // if language was found in store assign it as current value in combobox\r
+        if (record) {\r
+            combo.setValue(record.data.language);\r
+        }\r
+    }\r
+
+    /* Email field */
+    var emailfield = new Ext.FormPanel({
+        labelWidth: 100, // label settings here cascade unless overridden
+        frame: true,
+        title: 'Email Field',
+        bodyStyle: 'padding:5px 5px 0',
+        width: 360,
+        defaults: {width: 220},
+        defaultType: 'textfield',
+
+        items: [
+            {
+                fieldLabel: 'Email',
+                name: 'email',
+                vtype: 'email'
+            }
+        ]
+    });
+    emailfield.render('emailfield');
+
+    /* Datepicker */
+    var datefield = new Ext.FormPanel({
+        labelWidth: 100, // label settings here cascade unless overridden
+        frame: true,
+        title: 'Datepicker',
+        bodyStyle: 'padding:5px 5px 0',
+        width: 360,
+        defaults: {width: 220},
+        defaultType: 'datefield',
+        items: [
+            {
+                fieldLabel: 'Date',
+                name: 'date'
+            }
+        ]
+    });
+    datefield.render('datefield');
+
+    // shorthand alias
+    var fm = Ext.form, Ed = Ext.grid.GridEditor;
+
+    var monthArray = Date.monthNames.map(function (e) { return [e]; });
+
+    var ds = new Ext.data.Store({
+        proxy: new Ext.ux.data.PagingMemoryProxy(monthArray),
+        reader: new Ext.data.ArrayReader({}, [
+            {name: 'month'}
+        ])
+    });
+
+    var cm = new Ext.grid.ColumnModel([{
+           header: "Months of the year",
+           dataIndex: 'month',
+           editor: new Ed(new fm.TextField({
+               allowBlank: false
+           })),
+           width: 240
+        }]);
+
+    cm.defaultSortable = true;
+
+    var grid = new Ext.grid.GridPanel({
+    width: 360,
+    height: 203,
+    title:'Month Browser',
+    store: ds,
+    cm: cm,
+    sm: new Ext.grid.RowSelectionModel({selectRow:Ext.emptyFn}),
+
+    bbar: new Ext.PagingToolbar({
+            pageSize: 6,
+            store: ds,
+            displayInfo: true
+        })
+    });
+    
+    grid.render('grid');
+
+    // trigger the data store load
+    ds.load({params:{start:0, limit:6}});
+});</pre>    \r
+</body>\r
+</html>
\ No newline at end of file