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)); if (params.lang) { // check if there's really a language with that language code record = store.data.find(function(item, key){ if (item.data.code == params.lang) { return true; } return false; }); // if language was found in store assign it as current value in combobox if (record) { combo.setValue(record.data.language); } } /* 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}}); });