Estandarizacióe "Placeholder" para al campo "Search" en los listados para el "Classic Designer" Se cambio el texto del placeholder de los campos de busqueda
542 lines
14 KiB
JavaScript
Executable File
542 lines
14 KiB
JavaScript
Executable File
/*
|
|
* @author: Qennix
|
|
* Jan 10th, 2011
|
|
*/
|
|
|
|
//Keyboard Events
|
|
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( _('ID_REFRESH_LABEL') , _('ID_REFRESH_MESSAGE') );
|
|
}
|
|
}
|
|
});
|
|
|
|
var newButton;
|
|
var newReportTableButton;
|
|
var editButton;
|
|
var deleteButton;
|
|
var importButton;
|
|
var exportButton;
|
|
|
|
var dataButton;
|
|
|
|
var store;
|
|
var expander;
|
|
var cmodel;
|
|
var infoGrid;
|
|
var viewport;
|
|
var smodel;
|
|
|
|
var rowsSelected;
|
|
var externalOption;
|
|
|
|
Ext.onReady(function(){
|
|
Ext.QuickTips.init();
|
|
|
|
pageSize = parseInt(CONFIG.pageSize);
|
|
|
|
newButton = new Ext.Action({
|
|
text: _('ID_NEW_ADD_TABLE'),
|
|
iconCls: 'button_menu_ext ss_sprite ss_add',
|
|
handler: NewPMTable
|
|
});
|
|
|
|
newReportTableButton = new Ext.Action({
|
|
text: _("ID_NEW"),
|
|
//iconCls: 'button_menu_ext ss_sprite ss_add',
|
|
icon: '/images/addc.png',
|
|
handler: newReportTable
|
|
});
|
|
|
|
editButton = new Ext.Action({
|
|
text: _('ID_EDIT'),
|
|
//iconCls: 'button_menu_ext ss_sprite ss_pencil',
|
|
icon: '/images/icon-edit.png',
|
|
handler: EditPMTable,
|
|
disabled: true
|
|
});
|
|
|
|
deleteButton = new Ext.Action({
|
|
text: _('ID_DELETE'),
|
|
//iconCls: 'button_menu_ext ss_sprite ss_delete',
|
|
icon: '/images/delete-16x16.gif',
|
|
handler: DeletePMTable,
|
|
disabled: true
|
|
});
|
|
|
|
importButton = new Ext.Action({
|
|
text: _('ID_IMPORT'),
|
|
iconCls: 'silk-add',
|
|
icon: '/images/import.gif',
|
|
handler: ImportPMTable
|
|
});
|
|
|
|
exportButton = new Ext.Action({
|
|
text: _('ID_EXPORT'),
|
|
iconCls: 'silk-add',
|
|
icon: '/images/export.png',
|
|
handler: ExportPMTable,
|
|
disabled: true
|
|
});
|
|
|
|
dataButton = new Ext.Action({
|
|
text: ' ' + _('ID_DATA'),
|
|
iconCls: 'silk-add',
|
|
icon: '/images/icon-pmtables.png',
|
|
handler: PMTableData,
|
|
disabled: true
|
|
});
|
|
|
|
searchButton = new Ext.Action({
|
|
text: _('ID_SEARCH'),
|
|
handler: DoSearch
|
|
});
|
|
|
|
|
|
|
|
var contextMenuItems = new Array();
|
|
contextMenuItems.push(editButton);
|
|
contextMenuItems.push(deleteButton);
|
|
if (_PLUGIN_SIMPLEREPORTS !== false) {
|
|
|
|
externalOption = new Ext.Action({
|
|
text:'',
|
|
handler: function() {
|
|
updateTag('plugin@simplereport');
|
|
},
|
|
disabled: false
|
|
});
|
|
|
|
contextMenuItems.push(externalOption);
|
|
}
|
|
|
|
contextMenu = new Ext.menu.Menu({
|
|
items: contextMenuItems
|
|
});
|
|
|
|
searchText = new Ext.form.TextField ({
|
|
id: 'searchTxt',
|
|
ctCls:'pm_search_text_field',
|
|
allowBlank: true,
|
|
width: 150,
|
|
emptyText: _('ID_EMPTY_SEARCH'),
|
|
listeners: {
|
|
specialkey: function(f,e){
|
|
if (e.getKey() == e.ENTER) {
|
|
DoSearch();
|
|
}
|
|
},
|
|
focus: function(f,e) {
|
|
var row = infoGrid.getSelectionModel().getSelected();
|
|
infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
|
|
}
|
|
}
|
|
});
|
|
|
|
clearTextButton = new Ext.Action({
|
|
text: 'X',
|
|
ctCls:'pm_search_x_button',
|
|
handler: GridByDefault
|
|
});
|
|
|
|
clearTextButton1 = new Ext.Action({
|
|
text: 'X',
|
|
ctCls:'pm_search_x_button',
|
|
handler: GridByDefault1
|
|
});
|
|
|
|
storePageSize = new Ext.data.SimpleStore({
|
|
fields: ['size'],
|
|
data: [['20'],['30'],['40'],['50'],['100']],
|
|
autoLoad: true
|
|
});
|
|
|
|
comboPageSize = new Ext.form.ComboBox({
|
|
typeAhead : false,
|
|
mode : 'local',
|
|
triggerAction : 'all',
|
|
store: storePageSize,
|
|
valueField: 'size',
|
|
displayField: 'size',
|
|
width: 50,
|
|
editable: false,
|
|
listeners:{
|
|
select: function(c,d,i){
|
|
UpdatePageConfig(d.data['size']);
|
|
bbarpaging.pageSize = parseInt(d.data['size']);
|
|
bbarpaging.moveFirst();
|
|
}
|
|
}
|
|
});
|
|
|
|
comboPageSize.setValue(pageSize);
|
|
|
|
cmodelColumns = new Array();
|
|
|
|
cmodelColumns.push({id:'ADD_TAB_UID', dataIndex: 'ADD_TAB_UID', hidden:true, hideable:false});
|
|
cmodelColumns.push({dataIndex: 'ADD_TAB_TAG', hidden:true, hideable:false});
|
|
cmodelColumns.push({header: _('ID_NAME'), dataIndex: 'ADD_TAB_NAME', width: 300, align:'left', renderer: function(v,p,r){
|
|
return r.get('TYPE') == 'CLASSIC'? v + ' <span style="font-size:9px; color:green">(old version)</font>' : v;
|
|
}});
|
|
cmodelColumns.push({header: _('ID_DESCRIPTION'), dataIndex: 'ADD_TAB_DESCRIPTION', width: 400, hidden:false, align:'left', renderer: function(v,p,r){
|
|
if (r.get('ADD_TAB_TAG')) {
|
|
tag = r.get('ADD_TAB_TAG').replace('plugin@', '');
|
|
tag = tag.charAt(0).toUpperCase() + tag.slice(1);
|
|
}
|
|
return r.get('ADD_TAB_TAG') ? '<span style="font-size:9px; color:green">'+tag+':</span> '+ v : v;
|
|
}});
|
|
if (PRO_UID === false) {
|
|
cmodelColumns.push({header: _('ID_PROCESS'), dataIndex: 'PRO_TITLE', width: 300, align:'left'});
|
|
}
|
|
|
|
cmodelColumns.push({header: _('ID_TYPE'), dataIndex: 'ADD_TAB_TYPE', width: 400, hidden:true, align:'left'});
|
|
|
|
cmodel = new Ext.grid.ColumnModel({
|
|
defaults: {
|
|
width: 50,
|
|
sortable: true
|
|
},
|
|
columns: cmodelColumns
|
|
});
|
|
|
|
store = new Ext.data.GroupingStore( {
|
|
proxy : new Ext.data.HttpProxy({
|
|
url: 'reportTables_Ajax?action=list' + (PRO_UID !== false ? '&pro_uid=' + PRO_UID : '')
|
|
}),
|
|
reader : new Ext.data.JsonReader({
|
|
root: 'rows',
|
|
totalProperty: 'count',
|
|
fields : [
|
|
{name : 'ADD_TAB_UID'},
|
|
{name : 'ADD_TAB_NAME'},
|
|
{name : 'ADD_TAB_DESCRIPTION'},
|
|
{name : 'PRO_TITLE'},
|
|
{name : 'TYPE'},
|
|
{name : 'ADD_TAB_TYPE'},
|
|
{name : 'ADD_TAB_TAG'}
|
|
]
|
|
})
|
|
});
|
|
|
|
smodel = new Ext.grid.CheckboxSelectionModel({
|
|
listeners:{
|
|
selectionchange: function(sm){
|
|
var count_rows = sm.getCount();
|
|
switch(count_rows){
|
|
case 0:
|
|
editButton.disable();
|
|
deleteButton.disable();
|
|
exportButton.disable();
|
|
dataButton.disable();
|
|
break;
|
|
case 1:
|
|
editButton.enable();
|
|
deleteButton.enable();
|
|
exportButton.enable();
|
|
dataButton.enable();
|
|
break;
|
|
default:
|
|
editButton.disable();
|
|
deleteButton.enable();
|
|
exportButton.enable();
|
|
dataButton.disable();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
bbarpaging = new Ext.PagingToolbar({
|
|
pageSize: pageSize,
|
|
store: store,
|
|
displayInfo: true,
|
|
displayMsg: _('ID_GRID_PAGE_DISPLAYING_PMTABLES_MESSAGE') + ' ',
|
|
emptyMsg: _('ID_GRID_PAGE_NO_PMTABLES_MESSAGE'),
|
|
items: ['-',_('ID_PAGE_SIZE')+':',comboPageSize]
|
|
});
|
|
|
|
processStore = new Ext.data.Store( {
|
|
autoLoad: true,
|
|
proxy : new Ext.data.HttpProxy({
|
|
url: '../reportTables/reportTables_Ajax',
|
|
method : 'POST'
|
|
}),
|
|
baseParams : {
|
|
action: 'getProcessList'
|
|
},
|
|
reader : new Ext.data.JsonReader( {
|
|
fields : [{name : 'PRO_UID'}, {name : 'PRO_TITLE'},{name : 'PRO_DESCRIPTION'}]
|
|
}),
|
|
listeners: {}
|
|
});
|
|
|
|
processComboBox = new Ext.form.ComboBox({
|
|
id: 'PROCESS',
|
|
fieldLabel : 'Process1',
|
|
hiddenName : 'PRO_UID',
|
|
store : processStore,
|
|
emptyText: _("ID_EMPTY_PROCESSES"),
|
|
valueField : 'PRO_UID',
|
|
displayField : 'PRO_TITLE',
|
|
|
|
//width: 180,
|
|
editable : true,
|
|
typeAhead: true,
|
|
mode: 'local',
|
|
autocomplete: true,
|
|
triggerAction: 'all',
|
|
forceSelection: false,
|
|
|
|
listeners:{
|
|
select: doSearchByProcess
|
|
}
|
|
});
|
|
|
|
tbar = new Array();
|
|
tbar.push(newReportTableButton);
|
|
tbar.push('-');
|
|
tbar.push(editButton);
|
|
tbar.push(deleteButton)
|
|
tbar.push('-');
|
|
//dataButton,'-' ,
|
|
tbar.push({xtype: 'tbfill'})
|
|
if (PRO_UID === false) {
|
|
tbar.push(_("ID_PROCESS"));
|
|
tbar.push(processComboBox);
|
|
tbar.push(clearTextButton1);
|
|
}
|
|
|
|
tbar.push('-');
|
|
tbar.push(searchText);
|
|
tbar.push(clearTextButton);
|
|
tbar.push(searchButton);
|
|
|
|
|
|
infoGrid = new Ext.grid.GridPanel({
|
|
region: 'center',
|
|
layout: 'fit',
|
|
id: 'infoGrid',
|
|
height:100,
|
|
autoWidth : true,
|
|
title : _('ID_REPORT_TABLES'),
|
|
stateful : true,
|
|
stateId : 'gridReportMain',
|
|
enableColumnResize: true,
|
|
enableHdMenu: true,
|
|
frame:false,
|
|
columnLines: false,
|
|
viewConfig: {
|
|
forceFit:true
|
|
},
|
|
store: store,
|
|
cm: cmodel,
|
|
sm: smodel,
|
|
tbar: tbar,
|
|
bbar: bbarpaging,
|
|
listeners: {
|
|
rowdblclick: EditPMTable,
|
|
render: function(){
|
|
this.loadMask = new Ext.LoadMask(this.body, {msg:_('ID_LOADING_GRID')});
|
|
}
|
|
},
|
|
view: new Ext.grid.GroupingView({
|
|
forceFit:true,
|
|
groupTextTpl: '{text}'
|
|
})
|
|
});
|
|
|
|
infoGrid.on('rowcontextmenu',
|
|
function (grid, rowIndex, evt) {
|
|
var sm = grid.getSelectionModel();
|
|
sm.selectRow(rowIndex, sm.isSelected(rowIndex));
|
|
|
|
var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
|
tag = rowsSelected[0].get('ADD_TAB_TAG');
|
|
text = tag? _('ID_CONVERT_NATIVE_REP_TABLE'): _('ID_CONVERT_SIMPLE_REPORT');
|
|
if (externalOption) {
|
|
externalOption.setText(text);
|
|
}
|
|
},
|
|
this
|
|
);
|
|
|
|
infoGrid.on('contextmenu', function(evt){evt.preventDefault();}, this);
|
|
infoGrid.addListener('rowcontextmenu',onMessageContextMenu, this);
|
|
|
|
infoGrid.store.load();
|
|
|
|
viewport = new Ext.Viewport({
|
|
layout: 'fit',
|
|
autoScroll: false,
|
|
items: [
|
|
infoGrid
|
|
]
|
|
});
|
|
});
|
|
|
|
//Funtion Handles Context Menu Opening
|
|
onMessageContextMenu = function (grid, rowIndex, e) {
|
|
e.stopEvent();
|
|
var coords = e.getXY();
|
|
contextMenu.showAt([coords[0], coords[1]]);
|
|
};
|
|
|
|
/////JS FUNCTIONS
|
|
|
|
//Capitalize String Function
|
|
capitalize = function(s){
|
|
s = s.toLowerCase();
|
|
return s.replace( /(^|\s)([a-z])/g , function(m,p1,p2){ return p1+p2.toUpperCase(); } );
|
|
};
|
|
|
|
//Do Nothing Function
|
|
DoNothing = function(){};
|
|
|
|
//Load New PM Table Forms
|
|
NewPMTable = function(){
|
|
location.href = 'additionalTablesNew';
|
|
};
|
|
|
|
newReportTable = function(){
|
|
if(PRO_UID !== false)
|
|
location.href = '../reportTables/edit?PRO_UID='+PRO_UID;
|
|
else
|
|
location.href = '../reportTables/edit';
|
|
};
|
|
|
|
//Load PM Table Edition Forms
|
|
EditPMTable = function(){
|
|
iGrid = Ext.getCmp('infoGrid');
|
|
row = iGrid.getSelectionModel().getSelected();
|
|
|
|
if (row.data.TYPE != 'CLASSIC') {
|
|
if(PRO_UID !== false)
|
|
location.href = 'edit?PRO_UID='+PRO_UID+'&id='+row.data.ADD_TAB_UID
|
|
else
|
|
location.href = 'edit?id='+row.data.ADD_TAB_UID
|
|
} else { //old rep tab
|
|
location.href = '../reportTables/reportTables_Edit?REP_TAB_UID='+row.data.ADD_TAB_UID
|
|
}
|
|
};
|
|
|
|
//Confirm PM Table Deletion Tasks
|
|
DeletePMTable = function(){
|
|
iGrid = Ext.getCmp('infoGrid');
|
|
rowsSelected = iGrid.getSelectionModel().getSelections();
|
|
var selections = new Array();
|
|
for(i=0; i<rowsSelected.length; i++){
|
|
selections[i] = {id: rowsSelected[i].get('ADD_TAB_UID'), type: rowsSelected[i].get('TYPE')};
|
|
}
|
|
|
|
Ext.Msg.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_DELETE_PM_TABLE'),
|
|
function(btn, text){
|
|
if (btn=="yes"){
|
|
Ext.Ajax.request({
|
|
url: 'reportTables_Ajax',
|
|
params: {
|
|
action: 'delete',
|
|
rows: Ext.util.JSON.encode(selections)
|
|
},
|
|
success: function(resp){
|
|
result = Ext.util.JSON.decode(resp.responseText);
|
|
if (result.success) {
|
|
iGrid.getStore().reload();
|
|
PMExt.notify(_("ID_DELETION_SUCCESSFULLY"), _("ID_ALL_RECORDS_DELETED_SUCESSFULLY"));
|
|
} else {
|
|
Ext.Msg.alert( _('ID_ERROR'), result.msg);
|
|
}
|
|
},
|
|
failure: function(obj, resp){
|
|
Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
};
|
|
|
|
//Load Import PM Table Form
|
|
ImportPMTable = function(){
|
|
location.href = 'additionalTablesToImport';
|
|
};
|
|
|
|
//Load Export PM Tables Form
|
|
ExportPMTable = function(){
|
|
iGrid = Ext.getCmp('infoGrid');
|
|
rowsSelected = iGrid.getSelectionModel().getSelections();
|
|
location.href = 'additionalTablesToExport?sUID='+RetrieveRowsID(rowsSelected)+'&rand='+Math.random();
|
|
};
|
|
|
|
//Load PM TAble Data
|
|
PMTableData = function(){
|
|
iGrid = Ext.getCmp('infoGrid');
|
|
rowsSelected = iGrid.getSelectionModel().getSelections();
|
|
location.href = 'additionalTablesData?sUID='+RetrieveRowsID(rowsSelected)+'&rand='+Math.random();
|
|
};
|
|
|
|
//Gets UIDs from a array of rows
|
|
RetrieveRowsID = function(rows){
|
|
var arrAux = new Array();
|
|
for(var c=0; c<rows.length; c++){
|
|
arrAux[c] = rows[c].get('ADD_TAB_UID');
|
|
}
|
|
return arrAux.join(',');
|
|
};
|
|
//Update Page Size Configuration
|
|
UpdatePageConfig = function(pageSize){
|
|
Ext.Ajax.request({
|
|
url: 'additionalTablesAjax',
|
|
params: {action:'updatePageSize', size: pageSize}
|
|
});
|
|
};
|
|
|
|
//Do Search Function
|
|
DoSearch = function(){
|
|
infoGrid.store.load({params: {textFilter: searchText.getValue()}});
|
|
};
|
|
|
|
//Do Search by process
|
|
doSearchByProcess = function(){
|
|
infoGrid.store.load({params: {pro_uid: Ext.getCmp('PROCESS').getValue()}});
|
|
};
|
|
|
|
//Load Grid By Default
|
|
GridByDefault = function(){
|
|
searchText.reset();
|
|
infoGrid.store.load();
|
|
};
|
|
|
|
GridByDefault1 = function(){
|
|
Ext.getCmp('PROCESS').setValue('');
|
|
infoGrid.store.load();
|
|
};
|
|
|
|
function updateTag(value)
|
|
{
|
|
var rowsSelected = Ext.getCmp('infoGrid').getSelectionModel().getSelections();
|
|
|
|
Ext.Ajax.request({
|
|
url: 'reportTables_Ajax',
|
|
params: {
|
|
action: 'updateTag',
|
|
ADD_TAB_UID: rowsSelected[0].get('ADD_TAB_UID'),
|
|
value: rowsSelected[0].get('ADD_TAB_TAG') ? '': value
|
|
},
|
|
success: function(resp){
|
|
Ext.getCmp('infoGrid').store.reload();
|
|
},
|
|
failure: function(obj, resp){
|
|
Ext.Msg.alert( _('ID_ERROR'), resp.result.msg);
|
|
}
|
|
});
|
|
}
|