/*
* @author: Erik A. Ortiz
* Aug 20th, 2010
*/
new Ext.KeyMap(document, {
key: Ext.EventObject.F5,
fn: function(keycode, e) {
if (! e.ctrlKey) {
if (Ext.isIE) {
// IE6 doesn't allow cancellation of the F5 key, so trick it into
// thinking some other key was pressed (backspace in this case)
e.browserEvent.keyCode = 8;
}
e.stopEvent();
document.location = document.location;
}
else
Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
}
});
var removeOption;
var installOption;
var exportOption;
Ext.onReady(function(){
//Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
Ext.QuickTips.init();
installOption = new Ext.Action({
text: _('ID_LANG_INSTALL_UPDATE'),
iconCls: 'silk-add',
icon: '/images/import.gif',
handler: function(){
var w = new Ext.Window({
title: '',
width: 420,
height: 140,
modal: true,
autoScroll: false,
maximizable: false,
resizable: false,
items: [
new Ext.FormPanel({
/*renderTo: 'form-panel',*/
id:'uploader',
fileUpload: true,
width: 400,
frame: true,
title: _('ID_LAN_UPLOAD_TITLE'),
autoHeight: false,
bodyStyle: 'padding: 10px 10px 0 10px;',
labelWidth: 50,
defaults: {
anchor: '90%',
allowBlank: false,
msgTarget: 'side'
},
items: [{
xtype: 'fileuploadfield',
id: 'form-file',
emptyText: _('ID_LAN_FILE_WATER_LABEL'),
fieldLabel: _('ID_LAN_FILE'),
name: 'form[LANGUAGE_FILENAME]',
buttonText: '',
buttonCfg: {
iconCls: 'upload-icon'
}
}],
buttons: [{
text: _('ID_UPLOAD'),
handler: function(){
var uploader = Ext.getCmp('uploader');
if(uploader.getForm().isValid()){
uploader.getForm().submit({
url: 'languages_Import',
waitTitle:' ',
waitMsg: _('ID_UPLOADING_TRANSLATION_FILE'),
success: function(o, resp){
w.close();
infoGrid.store.reload();
Ext.MessageBox.show({
title: '',
width: 510,
height: 300,
msg: "
" + stringReplace("\\x0A", "
", resp.result.msg) + "
",
buttons: Ext.MessageBox.OK,
animEl: 'mb9',
fn: function(){},
icon: Ext.MessageBox.INFO
});
},
failure: function(o, resp){
w.close();
//alert('ERROR "'+resp.result.msg+'"');
Ext.MessageBox.show({title: '', msg: resp.result.msg, buttons:
Ext.MessageBox.OK, animEl: 'mb9', fn: function(){}, icon:
Ext.MessageBox.ERROR});
//setTimeout(function(){Ext.MessageBox.hide(); }, 2000);
}
});
}
}
}/*,{
text: 'Reset',
handler: function(){
uploader = Ext.getCmp('uploader');
uploader.getForm().reset();
}
}*/,{
text: _('ID_CANCEL'),
handler: function(){
w.close();
}
}]
})
]/*,
listeners:{
show:function() {
this.loadMask = new Ext.LoadMask(this.body, {
msg:'Loading. Please wait...'
});
}
}*/
});
w.show();
}
});
exportOption = new Ext.Action({
text: _('ID_EXPORT'),
iconCls: 'silk-add',
icon: '/images/export.png',
handler: function(){
iGrid = Ext.getCmp('infoGrid');
var rowSelected = iGrid.getSelectionModel().getSelected();
if( rowSelected ) {
location.href = 'languages_Export?LOCALE='+rowSelected.data.LOCALE+'&rand='+Math.random()
} else {
Ext.Msg.show({
title:'',
msg: _('ID_SELECT_LANGUAGE_FROM_LIST'),
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
}
});
removeOption = new Ext.Action({
text: _('ID_DELETE_LANGUAGE'),
iconCls: 'silk-add',
icon: '/images/delete-16x16.gif',
handler: function(){
iGrid = Ext.getCmp('infoGrid');
var rowSelected = iGrid.getSelectionModel().getSelected();
if( rowSelected ) {
langId = rowSelected.data.LAN_ID;
langName = rowSelected.data.LAN_NAME;
countryName = rowSelected.data.COUNTRY_NAME;
locale = rowSelected.data.LOCALE;
confirmMsg = _('ID_DELETE_LANGUAGE_CONFIRM');
confirmMsg = confirmMsg.replace('{0}', locale);
Ext.Msg.show({
title:'',
msg: confirmMsg,
buttons: Ext.Msg.YESNO,
fn: function(btn){
if( btn == 'yes' ) {
Ext.Ajax.request({
url: 'language_Ajax',
success: function(response){
infoGrid.store.reload();
Ext.Msg.show({
title:'',
msg: response.responseText,
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
},
failure: function(){},
params: {
'function': 'delete',
'LOCALE': locale,
'LAN_ID': langId
}
});
}
},
animEl: 'elId',
icon: Ext.MessageBox.QUESTION
});
} else {
Ext.Msg.show({
title:'',
msg: _('ID_DELETE_LANGUAGE_WARNING'),
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
}
});
var infoGrid = new Ext.grid.GridPanel( {
/*renderTo: 'list-panel',*/
region: 'center',
layout: 'fit',
id: 'infoGrid',
stripeRows : true,
autoHeight : true,
autoWidth : true,
title : '',
stateful : true,
stateId : 'gridSetupLanguage',
enableColumnHide: false,
enableColumnResize: true,
enableHdMenu: false,
collapsible: false,
animCollapse: false,
view: new Ext.grid.GroupingView({
forceFit:true,
//groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
groupTextTpl: '{text}'
}),
columns : [
{
dataIndex : 'LAN_FLAG',
id : 'LAN_FLAG',
header : '',
width : 30,
sortable : false,
renderer: function (value, p, r){
//return String.format("{0}", value, 'color:green;' );
var e = (value == 'international') ? 'png': 'gif';
return String.format("
", value, e);
}
}, {
dataIndex : 'LAN_ID',
id : 'LAN_ID',
header : '',
width : 35,
sortable : false,
hidden: true
}, {
dataIndex : 'LOCALE',
id : 'LOCALE',
header : _('ID_LAN_LOCALE'),
width : 60,
sortable : false
}, {
dataIndex : 'LAN_NAME',
header : _('ID_LAN_LANGUAGE'),
width : 120,
sortable : false,
hidden: true,
renderer: function (value, p, r){
if( r.data.DEFAULT == '1' )
return String.format(
"{0} ({1})",
value,
_('ID_LANG_PREDETERMINED')
);
else
return value;
}
}, {
dataIndex : 'COUNTRY_NAME',
header : _('ID_LAN_COUNTRY'),
width : 120,
sortable : false,
renderer: function (value, p, r){
if( r.data.LAN_FLAG == 'international' )
return String.format("({0})", value);
else
return value;
}
}, {
dataIndex : 'DATE',
header : _('ID_LAN_UPDATE_DATE'),
width : 120,
sortable : false
}, {
dataIndex : 'REV_DATE',
header : _('ID_LAN_REV_DATE'),
width : 110,
sortable : false
}, {
dataIndex : 'VERSION',
header : _('ID_LAN_VERSION'),
width : 40,
sortable : false
}, {
dataIndex : 'TRANSLATOR',
header : _('ID_LAN_TRANSLATOR'),
width : 150,
sortable : false,
hidden: false
}, {
dataIndex : 'NUM_RECORDS',
header : _('ID_LAN_NUM_RECORDS'),
width : 60,
sortable : false
}
],
store: new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
url: 'language_Ajax'
}),
reader : new Ext.data.JsonReader( {
root : 'data',
fields : [
{name : 'LAN_FLAG'},
{name : 'LAN_ID'},
{name : 'LOCALE'},
{name : 'LAN_NAME'},
{name : 'COUNTRY_NAME'},
{name : 'DATE'},
{name : 'REV_DATE'},
{name : 'VERSION'},
{name : 'TRANSLATOR'},
{name : 'NUM_RECORDS'}
]
}),
groupField:'LAN_NAME'
}),
tbar:[{
xtype: 'tbsplit',
text: _('ID_ACTIONS'),
menu: [removeOption]
}, '-', installOption, exportOption]
});
infoGrid.store.load({params: {"function":"languagesList"}});
//////////////////////store.load({params: {"function":"xml"}});
//infoGrid.render('list-panel');
//infoGrid.render(document.body);
//fp.render('form-panel');
var viewport = new Ext.Viewport({
layout: 'fit',
autoScroll: true,
items: [
infoGrid
]
});
});
capitalize = function(s){
s = s.toLowerCase();
return s.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
};