mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-01 13:39:22 +03:00
New thread list logic (step 3)
This commit is contained in:
parent
03d26bc4c6
commit
8a4bce3591
7 changed files with 103 additions and 51 deletions
|
|
@ -327,6 +327,7 @@
|
|||
var
|
||||
self = this,
|
||||
iUnseenCount = 0,
|
||||
oMessage = null,
|
||||
aMessageList = this.messageList(),
|
||||
oFromFolder = Cache.getFolderFromCacheList(sFromFolderFullNameRaw),
|
||||
oToFolder = '' === sToFolderFullNameRaw ? null : Cache.getFolderFromCacheList(sToFolderFullNameRaw || ''),
|
||||
|
|
@ -406,6 +407,56 @@
|
|||
{
|
||||
Cache.setFolderHash(sToFolderFullNameRaw, '');
|
||||
}
|
||||
|
||||
if ('' !== this.messageListThreadUid())
|
||||
{
|
||||
aMessageList = this.messageList();
|
||||
|
||||
if (aMessageList && 0 < aMessageList.length && !!_.find(aMessageList, function (oMessage) {
|
||||
return !!(oMessage && oMessage.deleted() && oMessage.uid === self.messageListThreadUid());
|
||||
}))
|
||||
{
|
||||
oMessage = _.find(aMessageList, function (oMessage) {
|
||||
return oMessage && !oMessage.deleted();
|
||||
});
|
||||
|
||||
if (oMessage && this.messageListThreadUid() !== Utils.pString(oMessage.uid))
|
||||
{
|
||||
this.messageListThreadUid(Utils.pString(oMessage.uid));
|
||||
|
||||
kn.setHash(Links.mailBox(
|
||||
FolderStore.currentFolderFullNameHash(),
|
||||
this.messageListPage(),
|
||||
this.messageListSearch(),
|
||||
this.messageListThreadUid()
|
||||
), true, true);
|
||||
}
|
||||
else if (!oMessage)
|
||||
{
|
||||
if (1 < this.messageListPage())
|
||||
{
|
||||
this.messageListPage(this.messageListPage() - 1);
|
||||
|
||||
kn.setHash(Links.mailBox(
|
||||
FolderStore.currentFolderFullNameHash(),
|
||||
this.messageListPage(),
|
||||
this.messageListSearch(),
|
||||
this.messageListThreadUid()
|
||||
), true, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.messageListThreadUid('');
|
||||
|
||||
kn.setHash(Links.mailBox(
|
||||
FolderStore.currentFolderFullNameHash(),
|
||||
this.messageListPageBeforeThread(),
|
||||
this.messageListSearch()
|
||||
), true, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
MessageUserStore.prototype.addBlockquoteSwitcherCallback = function ()
|
||||
|
|
@ -574,7 +625,7 @@
|
|||
oMessagesBodiesDom.append(oMessage.body);
|
||||
}
|
||||
|
||||
oMessage.storeDataToDom();
|
||||
oMessage.storeDataInDom();
|
||||
|
||||
if (bHasInternals)
|
||||
{
|
||||
|
|
@ -594,7 +645,7 @@
|
|||
if (oMessage.body)
|
||||
{
|
||||
oMessage.body.data('rl-cache-count', ++Globals.iMessageBodyCacheCount);
|
||||
oMessage.fetchDataToDom();
|
||||
oMessage.fetchDataFromDom();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -725,7 +776,6 @@
|
|||
oData.Result['@Collection'] && Utils.isArray(oData.Result['@Collection']))
|
||||
{
|
||||
var
|
||||
self = this,
|
||||
iIndex = 0,
|
||||
iLen = 0,
|
||||
iCount = 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue