mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-29 20:19:22 +03:00
This commit is contained in:
parent
c5d1e5e9c6
commit
f649ea05fd
4 changed files with 51 additions and 19 deletions
|
|
@ -11,6 +11,7 @@ import { AppUserStore } from 'Stores/User/App';
|
|||
import { AccountUserStore } from 'Stores/User/Account';
|
||||
import { FolderUserStore } from 'Stores/User/Folder';
|
||||
import { MessagelistUserStore } from 'Stores/User/Messagelist';
|
||||
import { MessageUserStore } from 'Stores/User/Message';
|
||||
import { ThemeStore } from 'Stores/Theme';
|
||||
|
||||
import { SystemDropDownUserView } from 'View/User/SystemDropDown';
|
||||
|
|
@ -20,6 +21,9 @@ import { MailMessageView } from 'View/User/MailBox/MessageView';
|
|||
|
||||
import { AbstractScreen } from 'Knoin/AbstractScreen';
|
||||
|
||||
import { MessageModel } from 'Model/Message';
|
||||
import { populateMessageBody } from 'Common/UtilsUser';
|
||||
|
||||
export class MailBoxUserScreen extends AbstractScreen {
|
||||
constructor() {
|
||||
var styleSheet = createElement('style');
|
||||
|
|
@ -69,17 +73,22 @@ export class MailBoxUserScreen extends AbstractScreen {
|
|||
* @param {string} search
|
||||
* @returns {void}
|
||||
*/
|
||||
onRoute(folderHash, page, search) {
|
||||
onRoute(folderHash, page, search, messageUid) {
|
||||
const folder = getFolderFromCacheList(getFolderFullName(folderHash.replace(/~([\d]+)$/, '')));
|
||||
if (folder) {
|
||||
let threadUid = folderHash.replace(/^.+~(\d+)$/, '$1');
|
||||
|
||||
FolderUserStore.currentFolder(folder);
|
||||
|
||||
MessagelistUserStore.page(1 > page ? 1 : page);
|
||||
MessagelistUserStore.listSearch(search);
|
||||
MessagelistUserStore.threadUid((folderHash === threadUid) ? 0 : pInt(threadUid));
|
||||
|
||||
if (messageUid) {
|
||||
let message = new MessageModel;
|
||||
message.folder = folderHash;
|
||||
message.uid = messageUid;
|
||||
MessageUserStore.message(message);
|
||||
populateMessageBody(MessageUserStore.message());
|
||||
} else {
|
||||
let threadUid = folderHash.replace(/^.+~(\d+)$/, '$1');
|
||||
MessagelistUserStore.threadUid((folderHash === threadUid) ? 0 : pInt(threadUid));
|
||||
}
|
||||
MessagelistUserStore.reload();
|
||||
}
|
||||
}
|
||||
|
|
@ -145,6 +154,10 @@ export class MailBoxUserScreen extends AbstractScreen {
|
|||
[/^([a-zA-Z0-9.~_-]+)\/(.+)\/?$/, { normalize_: (request, vals) =>
|
||||
[folder(request, vals), 1, decodeURI(pString(vals[1]))]
|
||||
}],
|
||||
// Message: {folder}/m{uid}(/{search})?
|
||||
[/^([a-zA-Z0-9.~_-]+)\/m([1-9][0-9]*)(?:\/(.+))?$/, { normalize_: (request, vals) =>
|
||||
[folder(request, vals), 1, pString(vals[2]), pString(vals[1])]
|
||||
}],
|
||||
// Page: {folder}/p{int}(/{search})?
|
||||
[/^([a-zA-Z0-9.~_-]+)\/p([1-9][0-9]*)(?:\/(.+))?$/, { normalize_: fNormS }]
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue