multi-lang.js
上传用户:shuoshiled
上传日期:2018-01-28
资源大小:10124k
文件大小:3k
源码类别:

中间件编程

开发平台:

JavaScript

  1. /*!  * Ext JS Library 3.0.0  * Copyright(c) 2006-2009 Ext JS, LLC  * licensing@extjs.com  * http://www.extjs.com/license  */ 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));     
  2.     if (params.lang) {
  3.         // check if there's really a language with that language code
  4.         record = store.data.find(function(item, key){
  5.             if (item.data.code == params.lang) {
  6.                 return true;
  7.             }
  8.             return false;
  9.         });
  10.         // if language was found in store assign it as current value in combobox
  11.         if (record) {
  12.             combo.setValue(record.data.language);
  13.         }
  14.     }
  15.     /* 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}}); });