* Mail: Fix changing flags does not affect immidiately on mail list

This commit is contained in:
Hadi Nategh 2014-09-03 09:58:21 +00:00
parent 6e831aaad9
commit 8460b4d44a

View File

@ -1943,6 +1943,9 @@ app.classes.mail = AppJS.extend(
// Update cache & call callbacks - updates list
dataElem.data.class = classes.join(' ');
egw.dataStoreUID(msg.msg[i],dataElem.data);
//Refresh the nm rows after we told dataComponent about all changes, since the dataComponent doesn't talk to nm, we need to do it manually
this.updateFilter_data(msg.msg[i], _action.id, msg.activeFilters);
}
// Notify server of changes
@ -1971,6 +1974,54 @@ app.classes.mail = AppJS.extend(
//this.mail_refreshFolderStatus();
},
/**
* Update changes on filtered mail rows in nm, triggers manual refresh
*
* @param {type} _uid mail uid
* @param {type} _actionId action id sended by nm action
* @param {type} _filters activefilters
*/
updateFilter_data: function (_uid, _actionId, _filters)
{
var uid = _uid.replace('mail::','');
var action = '';
switch (_actionId)
{
case 'flagged':
action = 'flagged';
break;
case 'read':
if (_filters.filter == 'seen')
{
action = 'seen';
}
else if (_filters.filter == 'unseen')
{
action = 'unseen';
}
break;
case 'label1':
action = 'keyword1';
break;
case 'label2':
action = 'keyword2';
break;
case 'label3':
action = 'keyword3';
break;
case 'label4':
action = 'keyword4';
break;
case 'label4':
action = 'keyword4';
break;
}
if (action == _filters.filter)
{
egw.refresh('','mail',uid, 'delete');
}
},
/**
* Flag mail as 'read', 'unread', 'flagged' or 'unflagged'
*