fix unread_msg variable in chat

This commit is contained in:
2014-09-16 20:42:52 +02:00
parent 4bd94abf96
commit 18ce551602
3 changed files with 28 additions and 16 deletions

View File

@@ -79,7 +79,7 @@ databap.pageInit = function()
//Page variables
self.tmp('sending_msg', 'boolean');
self.tmp('refresh', 'boolean');
self.vars2('unread_msg', 'object');
self.tmp('unread_msg', 'object');
self.tmp('news_period', 10*60*1000);
self.tmp('get_news', false);
self.tmp('last_message_id', '0');
@@ -104,7 +104,7 @@ databap.pageInit = function()
//Loading Chans
setChanButton();
databap.vars.chans_list[databap.consts.all_chan_id] = databap.consts.all_chan_text;
databap.vars.unread_msg[databap.consts.all_chan_text] = 0;
databap.tmp(['unread_msg', databap.consts.all_chan_text], 0);
joinChan(databap.consts.default_chan, true);
//window focus
@@ -226,9 +226,6 @@ function getNews()
function onPageFocus()
{
databap.vars.focus=true;
//iUnreadMessages -= databap.vars.unread_msg[currentChan()];
//databap.setTitle();
//debug('focused '+databap.vars.focus);
switchChan();
}
function onPageBlur()
@@ -377,8 +374,8 @@ function switchChan(sChanKeyName)
//Unread msg
if(databap.vars.focus)
{
databap.vars.unread_msg[sChanName] = 0;
databap.vars.unread_msg[databap.consts.all_chan_text] = 0;
databap.tmp(['unread_msg', sChanName], 0);
databap.tmp(['unread_msg', databap.consts.all_chan_text], 0);
}
syncUnreadMsg();
@@ -402,14 +399,14 @@ function syncUnreadMsg()
var iCountUnread = 0;
$.each
(
databap.vars.unread_msg,
databap.tmp('unread_msg'),
function(sChanName, iUnreadMsg)
{
iCountUnread += iUnreadMsg;
}
);
databap.setTitle((iCountUnread>0)?iCountUnread+' msg':'');
//Chan unread messages
var sChanUnreadId = '';
var sUnreadText = '';
@@ -420,7 +417,7 @@ function syncUnreadMsg()
function(sChanKeyName, sChanName)
{
sChanUnreadId = databap.consts.chanUnreadPrefix+sChanKeyName;
iCountUnread = databap.vars.unread_msg[sChanName];
iCountUnread = databap.tmp(['unread_msg', sChanName]);
sUnreadText = (iCountUnread > 0 && sChanName != currentChan())?'('+iCountUnread+')':'';
databap.getMainElem('#'+sChanUnreadId).text(sUnreadText);
}
@@ -432,7 +429,7 @@ function addChanTab(sChanKeyName, sChanName, sChanTabName, bLightUp)
//Add channel to list
sChanTabName = sChanTabName || sChanName;
databap.vars.chans_list[sChanKeyName] = sChanName;
databap.vars.unread_msg[sChanName] = 0;
databap.tmp(['unread_msg', sChanName], 0);
//Add channel tab
var sChanId = databap.consts.chanPrefix+sChanKeyName;
@@ -659,7 +656,8 @@ function refresh_chat(bReset)
'messages',
function(result)
{
var prevLastMsgId = self.tmp('last_message_id');;
var prevLastMsgId = self.tmp('last_message_id');
var sUnreadChanName, iUnreadCount;
updateUsersList = false;
if(prevLastMsgId < result.last_message_id || bReset)
{
@@ -675,7 +673,9 @@ function refresh_chat(bReset)
addMessage(message_info, bReset);
if(!bReset && message_info.msg_class!='C' /* && message_info.id_user!=databap.vars.user_id */)
{
databap.vars.unread_msg[getChanName(message_info.id_chan)]++;
sUnreadChanName = getChanName(message_info.id_chan);
iUnreadCount = databap.tmp(['unread_msg', sUnreadChanName]) || 0;
databap.tmp(['unread_msg', sUnreadChanName], iUnreadCount++);
}
}
);