/** * Loads a grid for managing languages. * * @class MODx.grid.Language * @extends MODx.grid.Grid * @param {Object} config An object of configuration properties * @xtype modx-grid-language */ MODx.grid.Language = function(config) { config = config || {}; Ext.applyIf(config,{ title: _('languages') ,id: 'modx-grid-language' ,url: MODx.config.connector_url+'system/language.php' ,baseParams: { action: 'system/language/getlist' } ,fields: ['id','name','menu'] ,width: '97%' ,paging: true ,autosave: true ,primaryKey: 'name' ,columns: [{ header: _('name') ,dataIndex: 'name' ,width: 200 ,sortable: true }] ,tbar: [{ text: _('language_create') ,handler: { xtype: 'modx-window-language-create' ,listeners: { 'success':{fn:function(o) { var r = o.a.result.object; this.refresh(); var g = Ext.getCmp('modx-grid-lexicon'); if (g) { g.setFilterParams(null,null,r.name); } },scope:this} } } ,scope: this }] }); MODx.grid.Language.superclass.constructor.call(this,config); }; Ext.extend(MODx.grid.Language,MODx.grid.Grid,{ duplicateLanguage: function(btn,e) { var df = Ext.Ajax.timeout; Ext.Ajax.timeout = 0; this.menu.record.new_name = _('duplicate_of')+this.menu.record.name; this.loadWindow(btn,e,{ xtype: 'modx-window-language-duplicate' ,record: this.menu.record ,listeners: { 'success': {fn:function(r) { Ext.Ajax.timeout = df; this.refresh(); var g = Ext.getCmp('modx-grid-lexicon'); if (g) { g.setFilterParams(null,null,r.name); } },scope:this} } }); } }); Ext.reg('modx-grid-language',MODx.grid.Language); /** * Generates the create language window. * * @class MODx.window.CreateLanguage * @extends MODx.Window * @param {Object} config An object of options. * @xtype modx-window-language-create */ MODx.window.CreateLanguage = function(config) { config = config || {}; var r = config.record; Ext.applyIf(config,{ title: _('language_create') ,url: MODx.config.connector_url ,action: 'system/language/create' ,fields: [{ xtype: 'textfield' ,fieldLabel: _('name') ,name: 'name' ,itemId: 'name' ,anchor: '100%' ,maxLength: 100 ,allowBlank: false }] }); MODx.window.CreateLanguage.superclass.constructor.call(this,config); }; Ext.extend(MODx.window.CreateLanguage,MODx.Window); Ext.reg('modx-window-language-create',MODx.window.CreateLanguage); MODx.window.DuplicateLanguage = function(config) { config = config || {}; var r = config.record; Ext.applyIf(config,{ title: _('language_duplicate') ,url: MODx.config.connector_url ,action: 'system/language/duplicate' ,fields: [{ xtype: 'statictextfield' ,fieldLabel: _('duplicate') ,name: 'name' ,itemId: 'name' ,anchor: '100%' ,maxLength: 100 ,allowBlank: false ,submitValue: true },{ xtype: 'textfield' ,fieldLabel: _('language_new_name') ,description: _('language_new_name_desc') ,name: 'new_name' ,itemId: 'new_name' ,anchor: '100%' ,allowBlank: false },{ xtype: 'xcheckbox' ,boxLabel: _('language_recursive') ,description: _('language_recursive_desc') ,name: 'recursive' ,itemId: 'recursive' ,inputValue: 1 ,checked: true }] }); MODx.window.DuplicateLanguage.superclass.constructor.call(this,config); }; Ext.extend(MODx.window.DuplicateLanguage,MODx.Window); Ext.reg('modx-window-language-duplicate',MODx.window.DuplicateLanguage);