Descripcion:Al ver la previsualizacion de las notificaciones enviadas por caso, se pudo verificar que para el caso de IE no muestra la informacion. Se adjuntan imagenes donde se muestra el problema. El label del footer de la grilla esta mal ya que esta mostrando una etiqueta de process. Cuando visualizas un preview de un item y despues seleccionas otro item para visualizar sin cerrar el actual, los campos de la ventana se distorsionan ya que nuevamente se hace el llamado del metodo "show" del widget "Window". Solucion: El problema de visualizacion fue constatado para los casos en los cuales el cuerpo del mensaje es html y dentro de este se encuentra cierto <meta> que causa conflicto con IE in quirks mode, para corregir este problema se manda una cabecera especificamente para IE. Se cambio el label relacionado a procesos a uno de items. Para el problema de campos distorsionados dentro de una ventana se valido la existencia del widget para posteriormente removerlo y volverlo a crear. Resuelto para la version PM 2.5.2
537 lines
16 KiB
JavaScript
537 lines
16 KiB
JavaScript
/*
|
|
* @author: Douglas Medrano
|
|
* May 03, 2011
|
|
*/
|
|
//var windowMessage;
|
|
windowMessage = new Object();
|
|
function onResizeIframe(idIframe){
|
|
window.parent.tabIframeWidthFix2(idIframe);
|
|
}
|
|
|
|
function windowPreviewMessage(rowSelected) {
|
|
|
|
windowMessage = new Ext.Window({
|
|
title: '',
|
|
width: 600,
|
|
height: 420,
|
|
border: false,
|
|
layout : 'fit',
|
|
items:
|
|
[
|
|
{
|
|
xtype: 'form',
|
|
frame: true,
|
|
border: false,
|
|
defaults: {
|
|
width: 150
|
|
},
|
|
items: [
|
|
{
|
|
xtype: 'textfield',
|
|
fieldLabel: _("ID_FROM"),
|
|
id:'From',
|
|
anchor: '100%',
|
|
arrowAlign:'center',
|
|
readOnly: true,
|
|
name: 'From'
|
|
},
|
|
{
|
|
xtype: 'textfield',
|
|
fieldLabel: _("ID_TO"),
|
|
id: 'To',
|
|
anchor: '100%',
|
|
arrowAlign:'center',
|
|
readOnly: true,
|
|
name: 'To'
|
|
},
|
|
{
|
|
xtype: 'textfield',
|
|
fieldLabel: _('ID_SUBJECT'),
|
|
id: 'Subjet',
|
|
anchor: '100%',
|
|
arrowAlign:'center',
|
|
readOnly: true,
|
|
name: 'Subjet'
|
|
},
|
|
{
|
|
xtype: 'textfield',
|
|
fieldLabel: _("DATE_LABEL"),
|
|
id: 'date',
|
|
arrowAlign:'center',
|
|
readOnly: true,
|
|
name: 'Status'
|
|
},
|
|
{
|
|
name : 'body',
|
|
id:'body',
|
|
hideLabel:true,
|
|
xtype: 'htmleditor',
|
|
autoScroll: true,
|
|
readOnly: true,
|
|
x: 1,
|
|
y: 1,
|
|
enableAlignments:false,
|
|
enableColors:false,
|
|
enableFont:false,
|
|
enableFontSize:false,
|
|
enableFormat:false,
|
|
enableLinks:false,
|
|
enableLists:false,
|
|
enableSourceEdit:false,
|
|
anchor: '100%',
|
|
height: 260
|
|
}
|
|
]
|
|
}
|
|
]
|
|
});
|
|
|
|
//load fields from rowSelect
|
|
Ext.getCmp('From').setValue(rowSelected.data.APP_MSG_FROM);
|
|
Ext.getCmp('To').setValue(rowSelected.data.APP_MSG_TO);
|
|
Ext.getCmp('Subjet').setValue(rowSelected.data.APP_MSG_SUBJECT);
|
|
Ext.getCmp('date').setValue(rowSelected.data.APP_MSG_DATE);
|
|
Ext.getCmp('body').setValue(rowSelected.data.APP_MSG_BODY);
|
|
|
|
//show windows message
|
|
windowMessage.show(windowMessage);
|
|
|
|
}
|
|
|
|
function resendDialog(rowSelected) {
|
|
|
|
Ext.Msg.show({
|
|
title:'',
|
|
msg: _('ID_ARE_YOU_SURE_RESEND')+"?",
|
|
buttons: Ext.Msg.OKCANCEL,
|
|
icon: Ext.MessageBox.QUESTION,
|
|
fn: function(btn, text){
|
|
if(btn=='ok'){
|
|
//!dataGrid
|
|
var idMessage = rowSelected.data.ID_MESSAGE;
|
|
var subjectMessage = rowSelected.data.APP_MSG_SUBJECT;
|
|
var dateMessage = rowSelected.data.APP_MSG_DATE;
|
|
|
|
var tabName = 'sendMailMessage_'+idMessage;
|
|
var tabTitle = 'Resend('+subjectMessage+' '+dateMessage+')';
|
|
|
|
ActionTabFrameGlobal.tabName = tabName;
|
|
ActionTabFrameGlobal.tabTitle = tabTitle;
|
|
|
|
//window.parent.Actions.tabFrame(tabName);
|
|
var tabNameArray = tabName.split('_');
|
|
var APP_UID = tabNameArray[1];
|
|
var APP_MSG_UID = tabNameArray[2];
|
|
|
|
messageHistoryGridListMask = new Ext.LoadMask(Ext.getBody(), {msg:_('ID_LOADING')});
|
|
messageHistoryGridListMask.show();
|
|
|
|
var url = "caseMessageHistory_Ajax.php?actionAjax=sendMailMessage_JXP&APP_UID="+APP_UID+"&APP_MSG_UID="+APP_MSG_UID;
|
|
ajaxPostRequest(url,'caseMessageHistory_RSP');
|
|
|
|
}
|
|
|
|
},
|
|
animEl: 'elId'
|
|
});
|
|
}
|
|
|
|
|
|
|
|
function ajaxPostRequest(url, callback_function, id){
|
|
var d = new Date();
|
|
var time = d.getTime();
|
|
url= url + '&nocachetime='+time;
|
|
var return_xml=false;
|
|
var http_request = false;
|
|
|
|
if (window.XMLHttpRequest){ // Mozilla, Safari,...
|
|
http_request = new XMLHttpRequest();
|
|
if (http_request.overrideMimeType){
|
|
http_request.overrideMimeType('text/xml');
|
|
}
|
|
}
|
|
else if (window.ActiveXObject){// IE
|
|
try{
|
|
http_request = new ActiveXObject("Msxml2.XMLHTTP");
|
|
}
|
|
catch (e){
|
|
try{
|
|
http_request = new ActiveXObject("Microsoft.XMLHTTP");
|
|
}
|
|
catch (e){
|
|
|
|
}
|
|
}
|
|
}
|
|
if (!http_request){
|
|
alert(_('ID_BROWSER_NOT_SUPPORTED'));
|
|
return false;
|
|
}
|
|
|
|
http_request.onreadystatechange = function(){
|
|
if (http_request.readyState == 4){
|
|
if (http_request.status == 200){
|
|
if (return_xml){
|
|
eval(callback_function + '(http_request.responseXML)');
|
|
}
|
|
else{
|
|
eval(callback_function + '(http_request.responseText, \''+id+'\')');
|
|
}
|
|
}
|
|
else{
|
|
alert('Error found on request:(Code: ' + http_request.status + ')');
|
|
}
|
|
}
|
|
}
|
|
http_request.open('GET', url, true);
|
|
http_request.send(null);
|
|
}
|
|
|
|
var processesGrid;
|
|
var store;
|
|
var ActionTabFrameGlobal = '';
|
|
function toggleTable(tablename){
|
|
table= document.getElementById(tablename);
|
|
if(table.style.display == ''){
|
|
table.style.display = 'none';
|
|
}else{
|
|
table.style.display = '';
|
|
}
|
|
}
|
|
|
|
new Ext.KeyMap(
|
|
document,
|
|
{
|
|
key: Ext.EventObject.F5,
|
|
fn: function(keycode, e){
|
|
if (! e.ctrlKey){
|
|
if (Ext.isIE)
|
|
e.browserEvent.keyCode = 8;
|
|
e.stopEvent();
|
|
document.location = document.location;
|
|
}
|
|
else{
|
|
Ext.Msg.alert( _('ID_REFRESH_LABEL'), _('ID_REFRESH_MESSAGE'));
|
|
}
|
|
|
|
}
|
|
}
|
|
);
|
|
|
|
Ext.onReady(function(){
|
|
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
|
|
Ext.QuickTips.init();
|
|
|
|
messageHistoryGridList();
|
|
|
|
});
|
|
|
|
//!historyGridList|
|
|
//!!historyGridList|changeLog
|
|
function historyGridListChangeLogPanelBody_RSP(resp,id){
|
|
var historyGridListChangeLogPanel_id_ = Ext.getCmp('historyGridListChangeLogPanel_id');
|
|
historyGridListChangeLogPanel_id_.show();
|
|
var historyGridListChangeLogPanelBody_= document.getElementById('historyGridListChangeLogPanelBody_JXP');
|
|
historyGridListChangeLogPanelBody_.innerHTML= resp;
|
|
}
|
|
|
|
function historyGridListChangeLogPanelBody_JXP(){
|
|
//!historyGridListChangeLogGlobal
|
|
historyGridListChangeLogGlobal.idHistory = historyGridListChangeLogGlobal.idHistory;
|
|
|
|
//dataSystem
|
|
var idHistory = historyGridListChangeLogGlobal.idHistory;
|
|
|
|
var url = "caseHistory_Ajax.php?actionAjax=historyGridListChangeLogPanelBody_JXP&idHistory="+idHistory;
|
|
ajaxPostRequest(url,'historyGridListChangeLogPanelBody_RSP');
|
|
}
|
|
|
|
function historyGridListChangeLogPanel(){
|
|
var w = new Ext.Window({
|
|
//draggable: Ext.util.Draggable,
|
|
title: _('Change log'),
|
|
width: 920,
|
|
id:'historyGridListChangeLogPanel_id',
|
|
autoHeight: false,
|
|
height: 400,
|
|
modal: true,
|
|
//autoScroll: false,
|
|
maximizable: false,
|
|
resizable: false,
|
|
items:
|
|
[
|
|
{
|
|
xtype: 'box',
|
|
autoEl: { tag: 'div',html: '<div id="historyGridListChangeLogPanelBody_JXP" ></div>'}
|
|
},
|
|
{
|
|
name:'ajaxAction',
|
|
xtype:'hidden',
|
|
value:'uploadFileNewProcess'
|
|
}
|
|
]
|
|
});
|
|
historyGridListChangeLogPanelBody_JXP();
|
|
}
|
|
|
|
var historyGridListChangeLogGlobal = {};
|
|
historyGridListChangeLogGlobal.idHistory ='';
|
|
|
|
function historyGridListChangeLog(){
|
|
|
|
historyGridListChangeLogGlobal.idHistory = historyGridListChangeLogGlobal.idHistory;
|
|
var rowSelected = processesGrid.getSelectionModel().getSelected();
|
|
if( rowSelected ){
|
|
var idHistory = rowSelected.data.ID_HISTORY;
|
|
historyGridListChangeLogGlobal.idHistory = idHistory;
|
|
historyGridListChangeLogPanel();
|
|
}
|
|
else{
|
|
Ext.Msg.show({
|
|
title:'',
|
|
msg: TRANSLATIONS.ID_NO_SELECTION_WARNING,
|
|
buttons: Ext.Msg.INFO,
|
|
fn: function(){},
|
|
animEl: 'elId',
|
|
icon: Ext.MessageBox.INFO,
|
|
buttons: Ext.MessageBox.OK
|
|
});
|
|
}
|
|
|
|
}
|
|
//!!historyGridList|changeLog
|
|
|
|
function caseMessageHistory_RSP(response,id){
|
|
messageHistoryGridListMask.hide();
|
|
if(response==""){
|
|
|
|
Ext.Msg.show({
|
|
title:'',
|
|
msg: _('ID_MAIL_SENT_SUCCESSFULLY'),
|
|
buttons: Ext.Msg.INFO,
|
|
fn: function(){},
|
|
animEl: 'elId',
|
|
icon: Ext.MessageBox.INFO,
|
|
buttons: Ext.MessageBox.OK
|
|
});
|
|
|
|
Ext.destroy(Ext.getCmp('processesGrid'));
|
|
|
|
messageHistoryGridList();
|
|
}
|
|
else{
|
|
alert(response);
|
|
}
|
|
}
|
|
|
|
|
|
function messageHistoryGridList(){
|
|
store = new Ext.data.GroupingStore({
|
|
proxy : new Ext.data.HttpProxy
|
|
(
|
|
{
|
|
url: 'caseMessageHistory_Ajax.php?actionAjax=messageHistoryGridList_JXP'
|
|
}
|
|
),
|
|
|
|
reader : new Ext.data.JsonReader
|
|
(
|
|
{
|
|
totalProperty: 'totalCount',
|
|
root: 'data',
|
|
fields :
|
|
[
|
|
{name : 'ID_MESSAGE'},
|
|
{name : 'APP_MSG_TYPE'},
|
|
{name : 'APP_MSG_DATE'},
|
|
{name : 'APP_MSG_SUBJECT'},
|
|
{name : 'APP_MSG_FROM'},
|
|
{name : 'APP_MSG_TO'},
|
|
{name : 'APP_MSG_STATUS'},
|
|
{name : 'APP_MSG_BODY'},
|
|
{name : 'MSGS_HISTORY'}
|
|
|
|
]
|
|
}
|
|
)
|
|
});
|
|
|
|
var expander = new Ext.ux.grid.RowExpander({
|
|
tpl : new Ext.Template(
|
|
'<p><b>'+TRANSLATIONS.ID_PRO_DESCRIPTION+':</b> {PRO_DESCRIPTION}</p><br>'
|
|
)
|
|
});
|
|
|
|
|
|
startDateRender = function(v){
|
|
var dateString = "-";
|
|
if(v!="-"){
|
|
dateString = _DF(v,"m/d/Y H:i:s");
|
|
}
|
|
return dateString;
|
|
}
|
|
escapeHtml = function(v){
|
|
var pre = document.createElement('pre');
|
|
var text = document.createTextNode( v );
|
|
pre.appendChild(text);
|
|
return pre.innerHTML;
|
|
}
|
|
|
|
actionRenderingTranslation = function(v){
|
|
var actionTranslate = "";
|
|
if(v=="PAUSE"){
|
|
actionTranslate = _("ID_PAUSED");
|
|
}
|
|
else if(v=="CANCEL"){
|
|
actionTranslate = _("ID_CANCELLED");
|
|
}
|
|
else if(v=="IN_PROGRESS"){
|
|
actionTranslate = _("ID_IN_PROGRESS");
|
|
}
|
|
else if(v=="REASSIGN"){
|
|
actionTranslate = _("ID_REASSIGNED");
|
|
}
|
|
else if(v==""||v==null){
|
|
actionTranslate = _("ID_DERIVATED");
|
|
}
|
|
return actionTranslate;
|
|
};
|
|
|
|
|
|
var processesGrid = new Ext.grid.GridPanel({
|
|
region: 'center',
|
|
layout: 'fit',
|
|
id: 'processesGrid',
|
|
height:500,
|
|
//autoWidth : true,
|
|
width:'',
|
|
title : '',
|
|
stateful : true,
|
|
stateId : 'gridCaseMessageHistory',
|
|
enableColumnResize: true,
|
|
enableHdMenu: true,
|
|
frame:false,
|
|
//plugins: expander,
|
|
// cls : 'grid_with_checkbox',
|
|
columnLines: true,
|
|
viewConfig: {
|
|
forceFit:true
|
|
},
|
|
cm: new Ext.grid.ColumnModel({
|
|
defaults: {
|
|
width: 200,
|
|
sortable: true
|
|
},
|
|
columns: [
|
|
//expander,
|
|
{id:'ID_MESSAGE', dataIndex: 'ID_MESSAGE', hidden:true, hideable:false},
|
|
{header: _("ID_TYPE"), dataIndex: 'APP_MSG_TYPE', width: 70},
|
|
{header: _("ID_DATE_LABEL"), dataIndex: 'APP_MSG_DATE', width: 60, renderer: startDateRender},
|
|
{header: _("ID_SUBJECT"), dataIndex: 'APP_MSG_SUBJECT', width: 60},
|
|
{header: _("ID_FROM"), dataIndex: 'APP_MSG_FROM', width: 60, renderer: escapeHtml},
|
|
{header: _("ID_TO"), dataIndex: 'APP_MSG_TO', width: 60, renderer: escapeHtml},
|
|
{header: _("ID_STATUS"), dataIndex: 'APP_MSG_STATUS', width: 50},
|
|
{header: _("ID_APP_MSG_BODY"), dataIndex: 'APP_MSG_BODY', width: 50,hidden:true},
|
|
{id:'MSGS_HISTORY', dataIndex: 'MSGS_HISTORY', hidden:true, hideable:false},
|
|
{
|
|
// header: _("ID_RESEND"),
|
|
xtype: 'actioncolumn',
|
|
width: 60,
|
|
items: [
|
|
{
|
|
getClass: function(v, meta, rec) {
|
|
this.items[0].tooltip = _("ID_RESEND");
|
|
if (rec.get('MSGS_HISTORY') === 'RESEND') {
|
|
return 'button_menu_ext ss_sprite ss_email_attach';
|
|
} else {
|
|
return 'button_menu_ext ss_sprite ss_lock';
|
|
}
|
|
},
|
|
handler: function(grid, rowIndex, colIndex) {
|
|
var rec = store.getAt(rowIndex);
|
|
if (rec.get('MSGS_HISTORY') === 'RESEND') {
|
|
resendDialog(rec);
|
|
}
|
|
}
|
|
},
|
|
{
|
|
getClass: function(v, meta, rec) {
|
|
this.items[1].tooltip = _("ID_PREVIEW");
|
|
if (rec.get('MSGS_HISTORY') === 'VIEW' || rec.get('MSGS_HISTORY') === 'RESEND') {
|
|
return 'button_menu_ext ss_sprite ss_magnifier';
|
|
} else {
|
|
return 'button_menu_ext ss_sprite ss_cancel';
|
|
}
|
|
},
|
|
handler: function(grid, rowIndex, colIndex) {
|
|
var rec = store.getAt(rowIndex);
|
|
if (rec.get('MSGS_HISTORY') === 'VIEW' || rec.get('MSGS_HISTORY') === 'RESEND') {
|
|
if ( typeof windowMessage === 'object' && typeof windowMessage.close === 'function'){
|
|
windowMessage.close();
|
|
}
|
|
windowPreviewMessage(rec);
|
|
}
|
|
}
|
|
}
|
|
|
|
]
|
|
}
|
|
|
|
]
|
|
}),
|
|
store: store,
|
|
|
|
|
|
bbar: new Ext.PagingToolbar({
|
|
pageSize: 20,
|
|
store: store,
|
|
displayInfo: true,
|
|
displayMsg: _('ID_GRID_PAGE_DISPLAYING_ITEMS'),
|
|
emptyMsg: "",
|
|
items:[]
|
|
}),
|
|
listeners: {
|
|
render: function(){
|
|
this.loadMask = new Ext.LoadMask(this.body, {msg:'Loading...'});
|
|
processesGrid.getSelectionModel().on('rowselect', function(){
|
|
var rowSelected = processesGrid.getSelectionModel().getSelected();
|
|
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
processesGrid.store.load({params: {"actionAjax":"messageHistoryGridList_JXP"}});
|
|
|
|
processesGrid.store.on(
|
|
'load',
|
|
function()
|
|
{
|
|
//window.parent.resize_iframe();
|
|
},
|
|
this,
|
|
{
|
|
single: true
|
|
}
|
|
);
|
|
|
|
processesGrid.on('contextmenu', function (evt) {
|
|
evt.preventDefault();
|
|
}, this);
|
|
function emptyReturn(){
|
|
}
|
|
|
|
var viewport = new Ext.Viewport({
|
|
layout: 'border',
|
|
autoScroll: true,
|
|
items: [
|
|
processesGrid
|
|
]
|
|
});
|
|
}
|
|
//!historyGridList|
|
|
|
|
|
|
|