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}});
});