3 * Copyright(c) 2006-2010 Ext JS, Inc.
5 * http://www.extjs.com/license
7 MultiLangDemo = function() {
8 // get the selected language code parameter from url (if exists)
9 var params = Ext.urlDecode(window.location.search.substring(1));
10 Ext.form.Field.prototype.msgTarget = 'side';
16 /* Language chooser combobox */
17 var store = new Ext.data.ArrayStore({
18 fields: ['code', 'language', 'charset'],
19 data : Ext.exampledata.languages // from languages.js
21 var combo = new Ext.form.ComboBox({
22 renderTo: 'languages',
24 displayField:'language',
28 emptyText: 'Select a language...',
30 onSelect: function(record) {
31 window.location.search = Ext.urlEncode({"lang":record.get("code"),"charset":record.get("charset")});
36 // check if there's really a language with that language code
37 record = store.data.find(function(item, key){
38 if (item.data.code == params.lang) {
43 // if language was found in store assign it as current value in combobox
45 combo.setValue(record.data.language);
50 var url = String.format("../../src/locale/ext-lang-{0}.js", params.lang);
54 success: this.onSuccess,
55 failure: this.onFailure,
62 onSuccess: function(response, opts) {
63 eval(response.responseText);
66 onFailure: function() {
67 Ext.Msg.alert('Failure', 'Failed to load locale file.');
70 setupDemo: function() {
72 var emailfield = new Ext.FormPanel({
73 renderTo: 'emailfield',
74 labelWidth: 100, // label settings here cascade unless overridden
77 bodyStyle: 'padding:5px 5px 0',
79 defaults: {width: 220},
80 defaultType: 'textfield',
90 var datefield = new Ext.FormPanel({
91 renderTo: 'datefield',
92 labelWidth: 100, // label settings here cascade unless overridden
95 bodyStyle: 'padding:5px 5px 0',
97 defaults: {width: 220},
98 defaultType: 'datefield',
106 var fm = Ext.form, Ed = Ext.grid.GridEditor;
108 var monthArray = Date.monthNames.map(function (e) { return [e]; });
110 var ds = new Ext.data.Store({
111 proxy: new Ext.ux.data.PagingMemoryProxy(monthArray),
112 reader: new Ext.data.ArrayReader({}, [
117 var cm = new Ext.grid.ColumnModel([{
118 header: "Months of the year",
120 editor: new Ed(new fm.TextField({
124 defaultSortable: true
127 var grid = new Ext.grid.GridPanel({
131 title:'Month Browser',
134 sm: new Ext.grid.RowSelectionModel({selectRow:Ext.emptyFn}),
136 bbar: new Ext.PagingToolbar({
143 // trigger the data store load
144 ds.load({params:{start:0, limit:6}});
149 Ext.onReady(MultiLangDemo.init, MultiLangDemo);