--- /dev/null
+<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