source: trunk/web/addons/job_monarch/lib/extjs/examples/locale/multi-lang.js @ 619

Last change on this file since 619 was 619, checked in by ramonb, 15 years ago

lib/:

  • added new AJAX dependancies: ExtJS, pChart, Lightbox2
File size: 3.4 KB
Line 
1/*
2 * Ext JS Library 2.2.1
3 * Copyright(c) 2006-2009, Ext JS, LLC.
4 * licensing@extjs.com
5 *
6 * http://extjs.com/license
7 */
8
9
10Ext.onReady(function(){
11    Ext.QuickTips.init();
12    Ext.form.Field.prototype.msgTarget = 'side';
13   
14    /* Language chooser combobox  */
15    var store = new Ext.data.SimpleStore({
16        fields: ['code', 'language', 'charset'],
17        data : Ext.exampledata.languages // from languages.js
18    });
19    var combo = new Ext.form.ComboBox({
20        store: store,
21        displayField:'language',
22        typeAhead: true,
23        mode: 'local',
24        triggerAction: 'all',
25        emptyText:'Select a language...',
26        selectOnFocus:true,
27        onSelect: function(record) {
28            window.location.search = Ext.urlEncode({"lang":record.get("code"),"charset":record.get("charset")});
29        }
30    });
31    combo.render('languages');
32
33    // get the selected language code parameter from url (if exists)
34    var params = Ext.urlDecode(window.location.search.substring(1));
35    if (params.lang) {
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){
39                return true;
40            }
41            return false;
42        });
43        // if language was found in store assign it as current value in combobox
44        if (record) {
45            combo.setValue(record.data.language);
46        }
47    }
48
49    /* Email field */
50    var emailfield = new Ext.FormPanel({
51        labelWidth: 100, // label settings here cascade unless overridden
52        frame:true,
53        title: 'Email Field',
54        bodyStyle:'padding:5px 5px 0',
55        width: 360,
56        defaults: {width: 220},
57        defaultType: 'textfield',
58
59        items: [{
60                fieldLabel: 'Email',
61                name: 'email',
62                vtype:'email'
63            }
64        ]
65    });
66    emailfield.render('emailfield');
67
68    /* Datepicker */
69    var datefield = new Ext.FormPanel({
70        labelWidth: 100, // label settings here cascade unless overridden
71        frame:true,
72        title: 'Datepicker',
73        bodyStyle:'padding:5px 5px 0',
74        width: 360,
75        defaults: {width: 220},
76        defaultType: 'datefield',
77
78        items: [{
79                fieldLabel: 'Date',
80                name: 'date'
81            }
82        ]
83    });
84    datefield.render('datefield');
85   
86    // shorthand alias
87    var fm = Ext.form, Ed = Ext.grid.GridEditor;
88    var monthArray = Date.monthNames.map(function (e) { return [e]; });   
89    var ds = new Ext.data.Store({
90                proxy: new Ext.data.PagingMemoryProxy(monthArray),
91                reader: new Ext.data.ArrayReader({}, [
92                        {name: 'month'}
93                ])
94    });
95    var cm = new Ext.grid.ColumnModel([{
96           header: "Months of the year",
97           dataIndex: 'month',
98           editor: new Ed(new fm.TextField({
99               allowBlank: false
100           })),
101           width: 240
102        }]);
103    cm.defaultSortable = true;
104    var grid = new Ext.grid.GridPanel({
105        el:'grid',
106        width: 360,
107        height: 203,
108        title:'Month Browser',
109        store: ds,
110        cm: cm,
111        sm: new Ext.grid.RowSelectionModel({selectRow:Ext.emptyFn}),
112
113        bbar: new Ext.PagingToolbar({
114            pageSize: 6,
115            store: ds,
116            displayInfo: true
117        })
118    })
119    grid.render();
120
121    // trigger the data store load
122    ds.load({params:{start:0, limit:6}});   
123});
Note: See TracBrowser for help on using the repository browser.